Messages in this thread | | | Date | Thu, 13 Aug 2009 16:45:57 +0800 | From | Amerigo Wang <> | Subject | Re: [PATCH] fs/proc/task_mmu.c v1: fix clear_refs_write() input sanity check |
| |
On Wed, Aug 12, 2009 at 10:20:28PM -0700, Vincent Li wrote: >On Thu, 13 Aug 2009, Amerigo Wang wrote: > >> On Wed, Aug 12, 2009 at 04:29:54PM -0700, Vincent Li wrote: >> >v1 fix the compiling errors and keep the type variable name. >> > >> >Andrew Morton pointed out similar string hacking and obfuscated check for zero-length input >> >at the end of the function, David Rientjes suggested to use strict_strtol to replace >> >simple_strtol, this patch cover above suggestions, add removing of leading and trailing >> >whitespace from user input. It does not change function behavious. >> > >> >> >> Sorry, what real benefits can we get from this patch? > >It removes the redundant and weird zero-length check at the end of the >function since the the function already check the returning value of >simple_strtol, if it is zero-length input, the function should already >return error -EINVAL. Also using strict_strtol would only accept ascii >numbers, not something like: >>echo 1foo > /proc/pid/clear_refs >
IIRC, many /proc files can accept input like this...
I sent a patch some time ago to "fix" this, but Andrew pointed out that things like "1foo" can be hackish. :-/
> >> >> If this is really necessary, why not other files similar to 'clear_refs'? >> > >I did the same to other functions, but Andrew pointed out making changes >without fully understanding the patch impact would be risky and break >existing applications, So I need to fully understand what those functions >do before I make any changes. >
I can't find any strong reason why this one is differernt from others in accepting input like "1foo"...
| |