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
History
File Mode Size
ipset
ipvs
Kconfig -rw-r--r-- 48.0 KB
Makefile -rw-r--r-- 8.0 KB
core.c -rw-r--r-- 11.3 KB
nf_conntrack_acct.c -rw-r--r-- 3.0 KB
nf_conntrack_amanda.c -rw-r--r-- 6.0 KB
nf_conntrack_broadcast.c -rw-r--r-- 2.1 KB
nf_conntrack_core.c -rw-r--r-- 51.2 KB
nf_conntrack_ecache.c -rw-r--r-- 9.6 KB
nf_conntrack_expect.c -rw-r--r-- 18.1 KB
nf_conntrack_extend.c -rw-r--r-- 4.7 KB
nf_conntrack_ftp.c -rw-r--r-- 16.6 KB
nf_conntrack_h323_asn1.c -rw-r--r-- 19.7 KB
nf_conntrack_h323_main.c -rw-r--r-- 54.3 KB
nf_conntrack_h323_types.c -rw-r--r-- 87.8 KB
nf_conntrack_helper.c -rw-r--r-- 14.7 KB
nf_conntrack_irc.c -rw-r--r-- 7.7 KB
nf_conntrack_l3proto_generic.c -rw-r--r-- 2.0 KB
nf_conntrack_labels.c -rw-r--r-- 2.3 KB
nf_conntrack_netbios_ns.c -rw-r--r-- 2.2 KB
nf_conntrack_netlink.c -rw-r--r-- 82.4 KB
nf_conntrack_pptp.c -rw-r--r-- 18.2 KB
nf_conntrack_proto.c -rw-r--r-- 12.6 KB
nf_conntrack_proto_dccp.c -rw-r--r-- 28.9 KB
nf_conntrack_proto_generic.c -rw-r--r-- 5.9 KB
nf_conntrack_proto_gre.c -rw-r--r-- 12.2 KB
nf_conntrack_proto_sctp.c -rw-r--r-- 28.3 KB
nf_conntrack_proto_tcp.c -rw-r--r-- 52.6 KB
nf_conntrack_proto_udp.c -rw-r--r-- 10.1 KB
nf_conntrack_proto_udplite.c -rw-r--r-- 10.9 KB
nf_conntrack_sane.c -rw-r--r-- 5.6 KB
nf_conntrack_seqadj.c -rw-r--r-- 6.3 KB
nf_conntrack_sip.c -rw-r--r-- 45.1 KB
nf_conntrack_snmp.c -rw-r--r-- 2.2 KB
nf_conntrack_standalone.c -rw-r--r-- 15.3 KB
nf_conntrack_tftp.c -rw-r--r-- 3.8 KB
nf_conntrack_timeout.c -rw-r--r-- 1.5 KB
nf_conntrack_timestamp.c -rw-r--r-- 2.6 KB
nf_dup_netdev.c -rw-r--r-- 957 bytes
nf_internals.h -rw-r--r-- 727 bytes
nf_log.c -rw-r--r-- 12.1 KB
nf_log_common.c -rw-r--r-- 5.1 KB
nf_nat_amanda.c -rw-r--r-- 2.4 KB
nf_nat_core.c -rw-r--r-- 24.0 KB
nf_nat_ftp.c -rw-r--r-- 3.9 KB
nf_nat_helper.c -rw-r--r-- 6.2 KB
nf_nat_irc.c -rw-r--r-- 3.4 KB
nf_nat_proto_common.c -rw-r--r-- 3.1 KB
nf_nat_proto_dccp.c -rw-r--r-- 2.9 KB
nf_nat_proto_sctp.c -rw-r--r-- 2.4 KB
nf_nat_proto_tcp.c -rw-r--r-- 2.4 KB
nf_nat_proto_udp.c -rw-r--r-- 2.1 KB
nf_nat_proto_udplite.c -rw-r--r-- 2.8 KB
nf_nat_proto_unknown.c -rw-r--r-- 1.5 KB
nf_nat_redirect.c -rw-r--r-- 3.3 KB
nf_nat_sip.c -rw-r--r-- 19.4 KB
nf_nat_tftp.c -rw-r--r-- 1.4 KB
nf_queue.c -rw-r--r-- 5.0 KB
nf_sockopt.c -rw-r--r-- 3.8 KB
nf_synproxy_core.c -rw-r--r-- 9.9 KB
nf_tables_api.c -rw-r--r-- 114.8 KB
nf_tables_core.c -rw-r--r-- 6.6 KB
nf_tables_inet.c -rw-r--r-- 2.4 KB
nf_tables_netdev.c -rw-r--r-- 5.7 KB
nf_tables_trace.c -rw-r--r-- 7.1 KB
nfnetlink.c -rw-r--r-- 13.2 KB
nfnetlink_acct.c -rw-r--r-- 12.9 KB
nfnetlink_cthelper.c -rw-r--r-- 16.7 KB
nfnetlink_cttimeout.c -rw-r--r-- 15.9 KB
nfnetlink_log.c -rw-r--r-- 28.1 KB
nfnetlink_queue.c -rw-r--r-- 37.6 KB
nft_bitwise.c -rw-r--r-- 3.8 KB
nft_byteorder.c -rw-r--r-- 4.7 KB
nft_cmp.c -rw-r--r-- 5.2 KB
nft_compat.c -rw-r--r-- 20.4 KB
nft_counter.c -rw-r--r-- 5.0 KB
nft_ct.c -rw-r--r-- 11.9 KB
nft_dup_netdev.c -rw-r--r-- 2.5 KB
nft_dynset.c -rw-r--r-- 7.0 KB
nft_exthdr.c -rw-r--r-- 3.5 KB
nft_fwd_netdev.c -rw-r--r-- 2.6 KB
nft_hash.c -rw-r--r-- 9.3 KB
nft_immediate.c -rw-r--r-- 3.4 KB
nft_limit.c -rw-r--r-- 6.1 KB
nft_log.c -rw-r--r-- 5.1 KB
nft_lookup.c -rw-r--r-- 4.6 KB
nft_masq.c -rw-r--r-- 2.7 KB
nft_meta.c -rw-r--r-- 10.1 KB
nft_nat.c -rw-r--r-- 7.4 KB
nft_payload.c -rw-r--r-- 8.9 KB
nft_queue.c -rw-r--r-- 3.3 KB
nft_rbtree.c -rw-r--r-- 7.9 KB
nft_redir.c -rw-r--r-- 2.8 KB
nft_reject.c -rw-r--r-- 2.8 KB
nft_reject_inet.c -rw-r--r-- 3.7 KB
x_tables.c -rw-r--r-- 41.2 KB
xt_AUDIT.c -rw-r--r-- 5.1 KB
xt_CHECKSUM.c -rw-r--r-- 1.8 KB
xt_CLASSIFY.c -rw-r--r-- 2.0 KB
xt_CONNSECMARK.c -rw-r--r-- 3.6 KB
xt_CT.c -rw-r--r-- 10.7 KB
xt_DSCP.c -rw-r--r-- 4.0 KB
xt_HL.c -rw-r--r-- 3.7 KB
xt_HMARK.c -rw-r--r-- 9.1 KB
xt_IDLETIMER.c -rw-r--r-- 7.6 KB
xt_LED.c -rw-r--r-- 5.5 KB
xt_LOG.c -rw-r--r-- 2.8 KB
xt_NETMAP.c -rw-r--r-- 4.7 KB
xt_NFLOG.c -rw-r--r-- 1.9 KB
xt_NFQUEUE.c -rw-r--r-- 3.8 KB
xt_RATEEST.c -rw-r--r-- 4.6 KB
xt_REDIRECT.c -rw-r--r-- 3.0 KB
xt_SECMARK.c -rw-r--r-- 3.2 KB
xt_TCPMSS.c -rw-r--r-- 8.9 KB
xt_TCPOPTSTRIP.c -rw-r--r-- 4.0 KB
xt_TEE.c -rw-r--r-- 4.0 KB
xt_TPROXY.c -rw-r--r-- 17.1 KB
xt_TRACE.c -rw-r--r-- 1.1 KB
xt_addrtype.c -rw-r--r-- 6.6 KB
xt_bpf.c -rw-r--r-- 1.8 KB
xt_cgroup.c -rw-r--r-- 3.6 KB
xt_cluster.c -rw-r--r-- 5.0 KB
xt_comment.c -rw-r--r-- 1.0 KB
xt_connbytes.c -rw-r--r-- 4.5 KB
xt_connlabel.c -rw-r--r-- 2.6 KB
xt_connlimit.c -rw-r--r-- 12.5 KB
xt_connmark.c -rw-r--r-- 4.4 KB
xt_conntrack.c -rw-r--r-- 9.7 KB
xt_cpu.c -rw-r--r-- 1.5 KB
xt_dccp.c -rw-r--r-- 4.4 KB
xt_devgroup.c -rw-r--r-- 2.2 KB
xt_dscp.c -rw-r--r-- 2.8 KB
xt_ecn.c -rw-r--r-- 4.4 KB
xt_esp.c -rw-r--r-- 2.6 KB
xt_hashlimit.c -rw-r--r-- 24.7 KB
xt_helper.c -rw-r--r-- 2.4 KB
xt_hl.c -rw-r--r-- 2.3 KB
xt_ipcomp.c -rw-r--r-- 2.8 KB
xt_iprange.c -rw-r--r-- 3.8 KB
xt_ipvs.c -rw-r--r-- 4.2 KB
xt_l2tp.c -rw-r--r-- 9.0 KB
xt_length.c -rw-r--r-- 1.8 KB
xt_limit.c -rw-r--r-- 5.9 KB
xt_mac.c -rw-r--r-- 1.7 KB
xt_mark.c -rw-r--r-- 2.1 KB
xt_multiport.c -rw-r--r-- 4.6 KB
xt_nat.c -rw-r--r-- 4.5 KB
xt_nfacct.c -rw-r--r-- 2.0 KB
xt_osf.c -rw-r--r-- 9.8 KB
xt_owner.c -rw-r--r-- 3.6 KB
xt_physdev.c -rw-r--r-- 4.1 KB
xt_pkttype.c -rw-r--r-- 1.6 KB
xt_policy.c -rw-r--r-- 4.7 KB
xt_quota.c -rw-r--r-- 1.9 KB
xt_rateest.c -rw-r--r-- 3.7 KB
xt_realm.c -rw-r--r-- 1.4 KB
xt_recent.c -rw-r--r-- 19.4 KB
xt_repldata.h -rw-r--r-- 1.6 KB
xt_sctp.c -rw-r--r-- 5.0 KB
xt_set.c -rw-r--r-- 20.5 KB
xt_socket.c -rw-r--r-- 14.7 KB
xt_state.c -rw-r--r-- 2.0 KB
xt_statistic.c -rw-r--r-- 2.5 KB
xt_string.c -rw-r--r-- 2.5 KB
xt_tcpmss.c -rw-r--r-- 2.5 KB
xt_tcpudp.c -rw-r--r-- 5.6 KB
xt_time.c -rw-r--r-- 8.1 KB
xt_u32.c -rw-r--r-- 2.7 KB

back to top