WSL2-Linux-Kernel/net/netfilter
Ilia.Gavrilov eb720f669b netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
[ Upstream commit f188d30087 ]

ct_sip_parse_numerical_param() returns only 0 or 1 now.
But process_register_request() and process_register_response() imply
checking for a negative value if parsing of a numerical header parameter
failed.
The invocation in nf_nat_sip() looks correct:
 	if (ct_sip_parse_numerical_param(...) > 0 &&
 	    ...) { ... }

Make the return value of the function ct_sip_parse_numerical_param()
a tristate to fix all the cases
a) return 1 if value is found; *val is set
b) return 0 if value is not found; *val is unchanged
c) return -1 on error; *val is undefined

Found by InfoTeCS on behalf of Linux Verification Center
(linuxtesting.org) with SVACE.

Fixes: 0f32a40fc9 ("[NETFILTER]: nf_conntrack_sip: create signalling expectations")
Signed-off-by: Ilia.Gavrilov <Ilia.Gavrilov@infotecs.ru>
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Florian Westphal <fw@strlen.de>
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-07-23 13:46:56 +02:00
..
ipset netfilter: ipset: Add schedule point in call_ad(). 2023-06-14 11:13:02 +02:00
ipvs ipvs: align inner_mac_header for encapsulation 2023-06-28 10:29:48 +02:00
Kconfig netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y 2022-09-05 10:30:11 +02:00
Makefile netfilter: add netfilter hooks to SRv6 data plane 2021-08-30 01:51:36 +02:00
core.c Remove DECnet support from kernel 2023-06-21 15:59:15 +02:00
nf_conncount.c
nf_conntrack_acct.c
nf_conntrack_amanda.c
nf_conntrack_broadcast.c
nf_conntrack_core.c netfilter: conntrack: fix NULL pointer dereference in nf_confirm_cthelper 2023-06-14 11:13:02 +02:00
nf_conntrack_ecache.c netfilter: ecache: remove nf_exp_event_notifier structure 2021-08-25 12:50:38 +02:00
nf_conntrack_expect.c netfilter: conntrack: convert to refcount_t api 2022-04-27 14:39:01 +02:00
nf_conntrack_extend.c
nf_conntrack_ftp.c
nf_conntrack_h323_asn1.c
nf_conntrack_h323_main.c
nf_conntrack_h323_types.c
nf_conntrack_helper.c netfilter: conntrack: Add and use nf_ct_set_auto_assign_helper_warned() 2022-04-08 14:23:42 +02:00
nf_conntrack_irc.c netfilter: nf_conntrack_irc: Tighten matching on DCC message 2022-09-28 11:11:46 +02:00
nf_conntrack_labels.c
nf_conntrack_netbios_ns.c
nf_conntrack_netlink.c netfilter: conntrack: define variables exp_nat_nla_policy and any_addr with CONFIG_NF_NAT 2023-06-09 10:32:26 +02:00
nf_conntrack_pptp.c
nf_conntrack_proto.c
nf_conntrack_proto_dccp.c netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one 2023-07-23 13:46:56 +02:00
nf_conntrack_proto_generic.c
nf_conntrack_proto_gre.c
nf_conntrack_proto_icmp.c
nf_conntrack_proto_icmpv6.c netfilter: conntrack: set icmpv6 redirects as RELATED 2022-12-31 13:14:14 +01:00
nf_conntrack_proto_sctp.c netfilter: conntrack: unify established states for SCTP paths 2023-02-01 08:27:30 +01:00
nf_conntrack_proto_tcp.c netfilter: conntrack: work around exceeded receive window 2022-09-15 11:30:01 +02:00
nf_conntrack_proto_udp.c netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream state 2021-11-18 19:16:21 +01:00
nf_conntrack_sane.c
nf_conntrack_seqadj.c
nf_conntrack_sip.c netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value. 2023-07-23 13:46:56 +02:00
nf_conntrack_snmp.c
nf_conntrack_standalone.c netfilter: conntrack: fix possible bug_on with enable_hooks=1 2023-05-24 17:36:41 +01:00
nf_conntrack_tftp.c
nf_conntrack_timeout.c
nf_conntrack_timestamp.c
nf_dup_netdev.c
nf_flow_table_core.c netfilter: flowtable: fix stuck flows on cleanup due to pending work 2022-08-31 17:16:42 +02:00
nf_flow_table_inet.c netfilter: flowtable: Fix QinQ and pppoe support for inet table 2022-04-08 14:23:40 +02:00
nf_flow_table_ip.c netfilter: flowtable: move dst_check to packet path 2022-05-25 09:57:33 +02:00
nf_flow_table_offload.c netfilter: flowtable: really fix NAT IPv6 offload 2022-12-31 13:14:36 +01:00
nf_hooks_lwtunnel.c netfilter: add netfilter hooks to SRv6 data plane 2021-08-30 01:51:36 +02:00
nf_internals.h
nf_log.c
nf_log_syslog.c netfilter: nf_log: incorrect offset to network header 2022-07-21 21:24:23 +02:00
nf_nat_amanda.c
nf_nat_core.c netfilter: nat: include zone id in nat table hash again 2021-09-21 03:46:55 +02:00
nf_nat_ftp.c
nf_nat_helper.c
nf_nat_irc.c
nf_nat_masquerade.c netfilter: nf_nat_masquerade: defer conntrack walk to work queue 2021-09-21 03:46:56 +02:00
nf_nat_proto.c
nf_nat_redirect.c
nf_nat_sip.c
nf_nat_tftp.c
nf_queue.c netfilter: nf_queue: handle socket prefetch 2022-03-08 19:12:45 +01:00
nf_sockopt.c
nf_synproxy_core.c ip: Fix data-races around sysctl_ip_default_ttl. 2022-07-29 17:25:09 +02:00
nf_tables_api.c netfilter: nf_tables: drop map element references from preparation phase 2023-07-23 13:46:44 +02:00
nf_tables_core.c netfilter: nft_cmp: optimize comparison for 16-bytes 2022-08-31 17:16:41 +02:00
nf_tables_offload.c netfilter: nf_tables: bail out early if hardware offload is not supported 2022-06-14 18:36:17 +02:00
nf_tables_trace.c netfilter: nf_tables: convert pktinfo->tprot_set to flags field 2022-07-12 16:34:55 +02:00
nfnetlink.c netfilter: nfnetlink: skip error delivery on batch in case of ENOMEM 2023-06-21 15:59:16 +02:00
nfnetlink_acct.c
nfnetlink_cthelper.c
nfnetlink_cttimeout.c
nfnetlink_hook.c Remove DECnet support from kernel 2023-06-21 15:59:15 +02:00
nfnetlink_log.c netfilter: fix regression in looped (broad|multi)cast's MAC handling 2021-12-29 12:28:40 +01:00
nfnetlink_osf.c netfilter: nfnetlink_osf: fix module autoload 2023-06-28 10:29:49 +02:00
nfnetlink_queue.c netfilter: nf_queue: do not allow packet truncation below transport header offset 2022-08-03 12:03:53 +02:00
nft_bitwise.c netfilter: nf_tables: upfront validation of data via nft_data_init() 2022-08-31 17:16:41 +02:00
nft_byteorder.c
nft_chain_filter.c netfilter: nf_tables: always release netdev hooks from notifier 2023-05-24 17:36:41 +01:00
nft_chain_nat.c
nft_chain_route.c
nft_cmp.c netfilter: nf_tables: upfront validation of data via nft_data_init() 2022-08-31 17:16:41 +02:00
nft_compat.c netfilter: log: work around missing softdep backend module 2021-09-21 03:46:56 +02:00
nft_connlimit.c
nft_counter.c
nft_ct.c netfilter: conntrack: Fix data-races around ct mark 2022-12-02 17:41:04 +01:00
nft_dup_netdev.c netfilter: nf_tables_offload: incorrect flow offload action array size 2022-03-02 11:47:51 +01:00
nft_dynset.c netfilter: nf_tables: deactivate anonymous set from preparation phase 2023-05-11 23:00:40 +09:00
nft_exthdr.c netfilter: nft_payload: don't allow th access for fragments 2022-07-12 16:34:56 +02:00
nft_fib.c
nft_fib_inet.c
nft_fib_netdev.c
nft_flow_offload.c netfilter: flowtable: fix TCP flow teardown 2022-05-25 09:57:33 +02:00
nft_fwd_netdev.c netfilter: nf_tables_offload: incorrect flow offload action array size 2022-03-02 11:47:51 +01:00
nft_hash.c
nft_immediate.c netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain 2023-06-28 10:29:48 +02:00
nft_last.c
nft_limit.c
nft_log.c
nft_lookup.c netfilter: nf_tables: deactivate anonymous set from preparation phase 2023-05-11 23:00:40 +09:00
nft_masq.c netfilter: nft_masq: correct length for loading protocol registers 2023-03-22 13:31:23 +01:00
nft_meta.c netfilter: nf_tables: convert pktinfo->tprot_set to flags field 2022-07-12 16:34:55 +02:00
nft_nat.c netfilter: nft_nat: correct length for loading protocol registers 2023-03-22 13:31:23 +01:00
nft_numgen.c netfilter: use get_random_u32 instead of prandom 2022-06-29 09:03:21 +02:00
nft_objref.c netfilter: nf_tables: deactivate anonymous set from preparation phase 2023-05-11 23:00:40 +09:00
nft_osf.c netfilter: nft_osf: restrict osf to ipv4, ipv6 and inet families 2022-08-31 17:16:41 +02:00
nft_payload.c netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits 2023-01-18 11:48:46 +01:00
nft_queue.c
nft_quota.c netfilter: nf_tables: honor NLM_F_CREATE and NLM_F_EXCL in event notification 2021-10-02 12:00:17 +02:00
nft_range.c netfilter: nf_tables: upfront validation of data via nft_data_init() 2022-08-31 17:16:41 +02:00
nft_redir.c netfilter: nft_redir: correct value of inet type `.maxattrs` 2023-03-22 13:31:23 +01:00
nft_reject.c
nft_reject_inet.c
nft_reject_netdev.c
nft_rt.c
nft_set_bitmap.c netfilter: nf_tables: drop map element references from preparation phase 2023-07-23 13:46:44 +02:00
nft_set_hash.c netfilter: nf_tables: drop map element references from preparation phase 2023-07-23 13:46:44 +02:00
nft_set_pipapo.c netfilter: nf_tables: drop map element references from preparation phase 2023-07-23 13:46:44 +02:00
nft_set_pipapo.h
nft_set_pipapo_avx2.c nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups 2021-12-14 10:57:06 +01:00
nft_set_pipapo_avx2.h
nft_set_rbtree.c netfilter: nf_tables: drop map element references from preparation phase 2023-07-23 13:46:44 +02:00
nft_socket.c netfilter: nft_socket: only do sk lookups when indev is available 2022-05-09 09:14:43 +02:00
nft_synproxy.c netfilter: nft_synproxy: unregister hooks on init error path 2022-02-23 12:03:10 +01:00
nft_tproxy.c netfilter: nft_tproxy: restrict to prerouting hook 2023-02-22 12:57:05 +01:00
nft_tunnel.c netfilter: nft_tunnel: restrict it to netdev family 2022-08-31 17:16:41 +02:00
nft_xfrm.c
utils.c
x_tables.c netfilter: x_tables: never register tables by default 2021-08-09 10:22:01 +02:00
xt_AUDIT.c
xt_CHECKSUM.c
xt_CLASSIFY.c
xt_CONNSECMARK.c
xt_CT.c netfilter: conntrack: convert to refcount_t api 2022-04-27 14:39:01 +02:00
xt_DSCP.c
xt_HL.c
xt_HMARK.c
xt_IDLETIMER.c netfilter: xt_IDLETIMER: fix panic that occurs when timer_type has garbage value 2021-10-07 19:35:57 +02:00
xt_LED.c
xt_LOG.c netfilter: log: work around missing softdep backend module 2021-09-21 03:46:56 +02:00
xt_MASQUERADE.c
xt_NETMAP.c
xt_NFLOG.c netfilter: log: work around missing softdep backend module 2021-09-21 03:46:56 +02:00
xt_NFQUEUE.c
xt_RATEEST.c
xt_REDIRECT.c
xt_SECMARK.c
xt_TCPMSS.c
xt_TCPOPTSTRIP.c
xt_TEE.c
xt_TPROXY.c
xt_TRACE.c
xt_addrtype.c
xt_bpf.c bpf: Refactor BPF_PROG_RUN into a function 2021-08-17 00:45:07 +02:00
xt_cgroup.c
xt_cluster.c
xt_comment.c
xt_connbytes.c
xt_connlabel.c
xt_connlimit.c
xt_connmark.c netfilter: conntrack: Fix data-races around ct mark 2022-12-02 17:41:04 +01:00
xt_conntrack.c
xt_cpu.c
xt_dccp.c
xt_devgroup.c
xt_dscp.c
xt_ecn.c
xt_esp.c
xt_hashlimit.c
xt_helper.c
xt_hl.c
xt_ipcomp.c
xt_iprange.c
xt_ipvs.c
xt_l2tp.c
xt_length.c
xt_limit.c
xt_mac.c
xt_mark.c
xt_multiport.c
xt_nat.c
xt_nfacct.c
xt_osf.c netfilter: nfnetlink_osf: fix module autoload 2023-06-28 10:29:49 +02:00
xt_owner.c
xt_physdev.c
xt_pkttype.c
xt_policy.c
xt_quota.c
xt_rateest.c
xt_realm.c
xt_recent.c
xt_repldata.h
xt_sctp.c
xt_set.c
xt_socket.c netfilter: xt_socket: missing ifdef CONFIG_IP6_NF_IPTABLES dependency 2022-03-02 11:47:51 +01:00
xt_state.c
xt_statistic.c
xt_string.c
xt_tcpmss.c
xt_tcpudp.c
xt_time.c
xt_u32.c