From: Heinrich Schuchardt <xypron.glpk@gmx.de>
To: Sean Fu <fxinrong@gmail.com>,
Andrey Ryabinin <ryabinin.a.a@gmail.com>,
Ulrich Obergfell <uobergfe@redhat.com>,
"Steven Rostedt (Red Hat)" <rostedt@goodmis.org>,
Prarit Bhargava <prarit@redhat.com>,
Eric B Munson <emunson@akamai.com>,
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Johannes Weiner <hannes@cmpxchg.org>,
"Eric W. Biederman" <ebiederm@xmission.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
Don Zickus <dzickus@redhat.com>,
David Rientjes <rientjes@google.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] kernel/sysctl.c: If "count" including the terminating byte '\0' the write system call should retrun success.
Date: Tue, 25 Aug 2015 22:39:57 +0200 [thread overview]
Message-ID: <55DCD29D.902@gmx.de> (raw)
In-Reply-To: <CAGk-QBt147T_A-BuPn1M2rHkQaCn0_RXgZvx3Zbf9L3_7CDQtQ@mail.gmail.com>
On 24.08.2015 10:56, Sean Fu wrote:
> when the input argument "count" including the terminating byte "\0",
> The write system call return EINVAL on proc file.
> But it return success on regular file.
>
> E.g. Writting two bytes ("1\0") to "/proc/sys/net/ipv4/conf/eth0/rp_filter".
> write(fd, "1\0", 2) return EINVAL.
Reading through kernel/sysctl.c it looks like you are allowing
"1\01" to be used to pass two integers or two longs.
This is not what you describe as target of your patch.
Parameter tr returned from proc_get_long should be checked in
__do_proc_dointvec,
__do_proc_doulongvec_minmax.
Best regards
Heinrich Schuchardt
>
> Signed-off-by: Sean Fu <fxinrong@gmail.com>
> ---
> kernel/sysctl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/kernel/sysctl.c b/kernel/sysctl.c
> index 19b62b5..c2b0594 100644
> --- a/kernel/sysctl.c
> +++ b/kernel/sysctl.c
> @@ -2004,7 +2004,7 @@ static int do_proc_dointvec_conv(bool *negp,
> unsigned long *lvalp,
> return 0;
> }
>
> -static const char proc_wspace_sep[] = { ' ', '\t', '\n' };
> +static const char proc_wspace_sep[] = { ' ', '\t', '\n', '\0' };
>
> static int __do_proc_dointvec(void *tbl_data, struct ctl_table *table,
> int write, void __user *buffer,
>
next prev parent reply other threads:[~2015-08-25 20:40 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-24 8:56 [PATCH] kernel/sysctl.c: If "count" including the terminating byte '\0' the write system call should retrun success Sean Fu
2015-08-24 12:27 ` Eric W. Biederman
2015-08-24 15:33 ` Sean Fu
2015-08-24 20:44 ` Andrew Morton
2015-08-24 21:24 ` Heinrich Schuchardt
2015-08-24 16:59 ` Steven Rostedt
2015-08-25 0:57 ` Sean Fu
2015-08-25 2:24 ` Eric W. Biederman
2015-08-25 7:50 ` Sean Fu
2015-08-25 14:15 ` Steven Rostedt
2015-08-25 16:44 ` Sean Fu
2015-08-25 17:33 ` Austin S Hemmelgarn
2015-08-25 19:05 ` Steven Rostedt
2015-08-26 15:48 ` Sean Fu
2015-08-26 20:36 ` Steven Rostedt
2015-08-27 0:17 ` Sean Fu
2015-08-27 2:32 ` Steven Rostedt
2015-08-27 8:32 ` Sean Fu
2015-08-28 3:31 ` Sean Fu
2015-09-08 3:11 ` Sean Fu
2015-09-08 15:17 ` Steven Rostedt
2015-09-08 16:19 ` Eric W. Biederman
2015-09-08 16:36 ` Steven Rostedt
2015-09-11 9:05 ` Sean Fu
2015-09-11 13:49 ` Steven Rostedt
2015-09-11 17:01 ` Eric W. Biederman
2015-09-13 12:39 ` Sean Fu
2015-09-13 16:44 ` Eric W. Biederman
2015-09-15 9:30 ` Sean Fu
2015-09-15 14:11 ` Eric W. Biederman
2015-09-13 20:05 ` Steven Rostedt
2015-09-15 9:10 ` Sean Fu
2015-09-15 13:51 ` Steven Rostedt
2015-08-25 3:12 ` Sean Fu
2015-08-25 20:39 ` Heinrich Schuchardt [this message]
2015-08-26 9:30 ` Sean Fu
2015-08-27 0:32 ` Sean Fu
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=55DCD29D.902@gmx.de \
--to=xypron.glpk@gmx.de \
--cc=akpm@linux-foundation.org \
--cc=dzickus@redhat.com \
--cc=ebiederm@xmission.com \
--cc=emunson@akamai.com \
--cc=fxinrong@gmail.com \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paulmck@linux.vnet.ibm.com \
--cc=prarit@redhat.com \
--cc=rientjes@google.com \
--cc=rostedt@goodmis.org \
--cc=ryabinin.a.a@gmail.com \
--cc=tglx@linutronix.de \
--cc=uobergfe@redhat.com \
/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