Revision e7d316a02f683864a12389f8808570e37fb90aa3 authored by Subash Abhinov Kasiviswanathan on 25 August 2016, 22:16:51 UTC, committed by Linus Torvalds on 27 August 2016, 00:39:35 UTC
We have scripts which write to certain fields on 3.18 kernels but this seems to be failing on 4.4 kernels. An entry which we write to here is xfrm_aevent_rseqth which is u32. echo 4294967295 > /proc/sys/net/core/xfrm_aevent_rseqth Commit 230633d109e3 ("kernel/sysctl.c: detect overflows when converting to int") prevented writing to sysctl entries when integer overflow occurs. However, this does not apply to unsigned integers. Heinrich suggested that we introduce a new option to handle 64 bit limits and set min as 0 and max as UINT_MAX. This might not work as it leads to issues similar to __do_proc_doulongvec_minmax. Alternatively, we would need to change the datatype of the entry to 64 bit. static int __do_proc_doulongvec_minmax(void *data, struct ctl_table { i = (unsigned long *) data; //This cast is causing to read beyond the size of data (u32) vleft = table->maxlen / sizeof(unsigned long); //vleft is 0 because maxlen is sizeof(u32) which is lesser than sizeof(unsigned long) on x86_64. Introduce a new proc handler proc_douintvec. Individual proc entries will need to be updated to use the new handler. [akpm@linux-foundation.org: coding-style fixes] Fixes: 230633d109e3 ("kernel/sysctl.c:detect overflows when converting to int") Link: http://lkml.kernel.org/r/1471479806-5252-1-git-send-email-subashab@codeaurora.org Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Kees Cook <keescook@chromium.org> Cc: "David S. Miller" <davem@davemloft.net> Cc: Ingo Molnar <mingo@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
1 parent 8582fb5
File | Mode | Size |
---|---|---|
6lowpan_i.h | -rw-r--r-- | 970 bytes |
Kconfig | -rw-r--r-- | 2.7 KB |
Makefile | -rw-r--r-- | 831 bytes |
core.c | -rw-r--r-- | 4.3 KB |
debugfs.c | -rw-r--r-- | 8.0 KB |
iphc.c | -rw-r--r-- | 36.1 KB |
ndisc.c | -rw-r--r-- | 6.7 KB |
nhc.c | -rw-r--r-- | 5.3 KB |
nhc.h | -rw-r--r-- | 4.3 KB |
nhc_dest.c | -rw-r--r-- | 860 bytes |
nhc_fragment.c | -rw-r--r-- | 868 bytes |
nhc_ghc_ext_dest.c | -rw-r--r-- | 880 bytes |
nhc_ghc_ext_frag.c | -rw-r--r-- | 892 bytes |
nhc_ghc_ext_hop.c | -rw-r--r-- | 868 bytes |
nhc_ghc_ext_route.c | -rw-r--r-- | 885 bytes |
nhc_ghc_icmpv6.c | -rw-r--r-- | 823 bytes |
nhc_ghc_udp.c | -rw-r--r-- | 781 bytes |
nhc_hop.c | -rw-r--r-- | 843 bytes |
nhc_ipv6.c | -rw-r--r-- | 807 bytes |
nhc_mobility.c | -rw-r--r-- | 868 bytes |
nhc_routing.c | -rw-r--r-- | 855 bytes |
nhc_udp.c | -rw-r--r-- | 5.7 KB |
Computing file changes ...