All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: Michal Nazarewicz <mina86@mina86.com>,
	Ingo Molnar <mingo@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Joe Perches <joe@perches.com>, Josh Hunt <johunt@akamai.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Rusty Russell <rusty@rustcorp.com.au>,
	Daniel Walter <dwalter@google.com>,
	David Rientjes <rientjes@google.com>,
	Kees Cook <keescook@chromium.org>,
	"David S. Miller" <davem@davemloft.net>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Aaron Tomlin <atomlin@redhat.com>,
	Prarit Bhargava <prarit@redhat.com>,
	Eric B Munson <emunson@akamai.com>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
	Sam Ravnborg <sam@ravnborg.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 3/3] sysctl: detect overflows when converting to int
Date: Wed, 01 Apr 2015 19:31:50 +0200	[thread overview]
Message-ID: <551C2B86.6080204@gmx.de> (raw)
In-Reply-To: <20150331154554.a0c878277c6d912db39316f9@linux-foundation.org>

On 01.04.2015 00:45, Andrew Morton wrote:
> On Sun, 29 Mar 2015 21:28:29 +0200 Heinrich Schuchardt <xypron.glpk@gmx.de> wrote:
> 
>> When converting unsigned long to int overflows may occur.
>> These currently are not detected when writing to the sysctl
>> file system.
>>
>> E.g. on a system where int has 32 bits and long has 64 bits
>>   echo 0x800001234 > /proc/sys/kernel/threads-max
>> has the same effect as
>>   echo 0x1234 > /proc/sys/kernel/threads-max
>>
>> The patch adds the missing check in do_proc_dointvec_conv.
>>
>> With the patch an overflow will result in an error EINVAL when
>> writing to the the sysctl file system.
> 
> hm, why fix this?  There's a small risk of breaking
> accidentally-working userspace, but I expect we can live with that.
> 
> But how big a problem is this, really?  This behaviour is quite
> expected, after all.
> 

The typical user of a Linux system has never read the Kernel code and
possibly has limited programming experience.
Furthermore in Documentation/sysctl/kernel.txt there is no hint that
only 32-bit integers can be used.
So why should this typical user expect that on a 64-bit system
+3000000000 is considered a negative number?

Now that we know this is a bug why shouldn't we fix it?

Best regards

Heinrich


  reply	other threads:[~2015-04-01 17:33 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-29 19:28 [PATCH 0/3] sysctl: detect overflows when setting integers Heinrich Schuchardt
2015-03-29 19:28 ` [PATCH 1/3] lib/kstrtox.c: functions returning end of string Heinrich Schuchardt
2015-03-29 19:28 ` [PATCH 2/3] sysctl: detect overflows in proc_get_long Heinrich Schuchardt
2015-03-29 19:28 ` [PATCH 3/3] sysctl: detect overflows when converting to int Heinrich Schuchardt
2015-03-31 17:12   ` Fwd: " Heinrich Schuchardt
2015-03-31 22:45   ` Andrew Morton
2015-04-01 17:31     ` Heinrich Schuchardt [this message]
2015-06-08 22:41       ` Kees Cook

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=551C2B86.6080204@gmx.de \
    --to=xypron.glpk@gmx.de \
    --cc=akpm@linux-foundation.org \
    --cc=atomlin@redhat.com \
    --cc=davem@davemloft.net \
    --cc=dwalter@google.com \
    --cc=emunson@akamai.com \
    --cc=hannes@cmpxchg.org \
    --cc=joe@perches.com \
    --cc=johunt@akamai.com \
    --cc=keescook@chromium.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@rasmusvillemoes.dk \
    --cc=mina86@mina86.com \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=prarit@redhat.com \
    --cc=rientjes@google.com \
    --cc=rostedt@goodmis.org \
    --cc=rusty@rustcorp.com.au \
    --cc=sam@ravnborg.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.