From: Bob Bennett <robert.bennett@ca.com>
To: linux-kernel@vger.kernel.org
Subject: Re: Reading large /proc entry from kernel module
Date: Wed, 9 Mar 2005 15:17:07 +0000 (UTC) [thread overview]
Message-ID: <loom.20050309T161017-339@post.gmane.org> (raw)
In-Reply-To: 200503081445.56237.ks@cs.aau.dk
Kristian Sørensen <ks <at> cs.aau.dk> writes:
>
> Hi all!
>
> I have some trouble reading a 2346 byte /proc entry from our Umbrella kernel
> module.
> if (count != UMB_POLICY_SIZE) {
> printk("Umbrella: Error - /proc/umbrella is of invalid size\n");
> return -EFAULT;
> if (copy_from_user(lbuf, buffer, count)) {
> kfree(lbuf);
> kfree(policy);
> return -EFAULT;
> }
>
> strcpy(policy, lbuf);
> umb_parse_proc(policy);
>
> }
>
> Now that everything works, I want to write a string of excactly 2346
> characters to the /proc/umbrella file. However when I make the
> copy_from_user, I only get the first 1003 characters (
> - Do you have a pointer to where I do this thing wrong?
>
> What is the limit regarding the size of writing a /proc entry? (we consider
> importing binary public keys to the kernel this way in the future).
>
> Best regards,
> Kristian.
>
What makes you think you only have 1003 bytes? If UMB_POLICY_SIZE is defined as
2346, then user space must have written that amount. Probably the problem is
that you used strcpy() to copy the data from lbuf to policy, and there is a null
character after 1003 bytes. It is an unnecessary extra step to allocate two
buffers (lbuf & policy) and copy data from one to the other. Why not just pass
lbuff to umb_parse_proc()??
Regards,
Bob Bennett
next prev parent reply other threads:[~2005-03-09 19:21 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-08 13:45 Reading large /proc entry from kernel module Kristian Sørensen
2005-03-08 23:04 ` Peter Chubb
2005-03-08 23:31 ` Kristian Sørensen
2005-03-09 15:17 ` Bob Bennett [this message]
2005-03-09 21:59 ` Kristian Sørensen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=loom.20050309T161017-339@post.gmane.org \
--to=robert.bennett@ca.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox