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 |
---|---|---|
Kconfig | -rw-r--r-- | 2.9 KB |
Makefile | -rw-r--r-- | 1.7 KB |
bat_algo.c | -rw-r--r-- | 3.6 KB |
bat_algo.h | -rw-r--r-- | 1.1 KB |
bat_iv_ogm.c | -rw-r--r-- | 64.5 KB |
bat_iv_ogm.h | -rw-r--r-- | 846 bytes |
bat_v.c | -rw-r--r-- | 11.2 KB |
bat_v.h | -rw-r--r-- | 1.3 KB |
bat_v_elp.c | -rw-r--r-- | 16.2 KB |
bat_v_elp.h | -rw-r--r-- | 1.3 KB |
bat_v_ogm.c | -rw-r--r-- | 26.1 KB |
bat_v_ogm.h | -rw-r--r-- | 1.3 KB |
bitarray.c | -rw-r--r-- | 3.1 KB |
bitarray.h | -rw-r--r-- | 1.9 KB |
bridge_loop_avoidance.c | -rw-r--r-- | 59.7 KB |
bridge_loop_avoidance.h | -rw-r--r-- | 3.2 KB |
debugfs.c | -rw-r--r-- | 10.8 KB |
debugfs.h | -rw-r--r-- | 1.7 KB |
distributed-arp-table.c | -rw-r--r-- | 35.5 KB |
distributed-arp-table.h | -rw-r--r-- | 4.7 KB |
fragmentation.c | -rw-r--r-- | 15.5 KB |
fragmentation.h | -rw-r--r-- | 1.8 KB |
gateway_client.c | -rw-r--r-- | 24.0 KB |
gateway_client.h | -rw-r--r-- | 1.8 KB |
gateway_common.c | -rw-r--r-- | 7.3 KB |
gateway_common.h | -rw-r--r-- | 1.6 KB |
hard-interface.c | -rw-r--r-- | 21.9 KB |
hard-interface.h | -rw-r--r-- | 2.8 KB |
hash.c | -rw-r--r-- | 1.9 KB |
hash.h | -rw-r--r-- | 4.7 KB |
icmp_socket.c | -rw-r--r-- | 10.4 KB |
icmp_socket.h | -rw-r--r-- | 1.1 KB |
log.c | -rw-r--r-- | 5.2 KB |
log.h | -rw-r--r-- | 3.4 KB |
main.c | -rw-r--r-- | 17.4 KB |
main.h | -rw-r--r-- | 10.4 KB |
multicast.c | -rw-r--r-- | 39.5 KB |
multicast.h | -rw-r--r-- | 2.2 KB |
netlink.c | -rw-r--r-- | 10.2 KB |
netlink.h | -rw-r--r-- | 1.0 KB |
network-coding.c | -rw-r--r-- | 58.5 KB |
network-coding.h | -rw-r--r-- | 3.6 KB |
originator.c | -rw-r--r-- | 39.0 KB |
originator.h | -rw-r--r-- | 4.3 KB |
packet.h | -rw-r--r-- | 21.1 KB |
routing.c | -rw-r--r-- | 33.9 KB |
routing.h | -rw-r--r-- | 2.2 KB |
send.c | -rw-r--r-- | 20.1 KB |
send.h | -rw-r--r-- | 4.1 KB |
soft-interface.c | -rw-r--r-- | 32.7 KB |
soft-interface.h | -rw-r--r-- | 1.6 KB |
sysfs.c | -rw-r--r-- | 30.4 KB |
sysfs.h | -rw-r--r-- | 2.0 KB |
tp_meter.c | -rw-r--r-- | 42.9 KB |
tp_meter.h | -rw-r--r-- | 1.1 KB |
translation-table.c | -rw-r--r-- | 114.6 KB |
translation-table.h | -rw-r--r-- | 2.6 KB |
tvlv.c | -rw-r--r-- | 18.9 KB |
tvlv.h | -rw-r--r-- | 2.2 KB |
types.h | -rw-r--r-- | 55.6 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...