Messages in this thread | | | Date | Wed, 30 Nov 2016 13:33:58 -0800 | From | Andrew Morton <> | Subject | Re: [PATCH] kernel/sysctl: return -EINVAL if write invalid val to ulong type sysctl |
| |
On Wed, 30 Nov 2016 18:30:52 +0800 Yisheng Xie <xieyisheng1@huawei.com> wrote:
> I tried to echo an invalid value to an unsigned long type sysctl on > 4.9.0-rc6: > linux:~# cat /proc/sys/vm/user_reserve_kbytes > 131072 > linux:~# echo -1 > /proc/sys/vm/user_reserve_kbytes > linux:~# cat /proc/sys/vm/user_reserve_kbytes > 131072 > > The echo operation got error and the value do not write to > user_reserve_kbytes, however, user do not know it until checking > the value again. > > This patch return -EINVAL when write an invalid value to unsigned > long type sysctl to make user know what happened without > checking its value once more, just as what proc_douintvec do.
hmpf.
# echo 18446744073709551615 > /proc/sys/vm/user_reserve_kbytes # cat /proc/sys/vm/user_reserve_kbytes 18446744073709551615
I think that when taking in an unsigned long the kernel should simply treat -1 as 0xffffffff (or 0xffffffffffffffff). It's natural and normal and everyone knows what it means?
| |