Prevent from passing NULL pointer to tcp_v6_md5_do_lookup()
Subsystems (3)
PATCH 3/3 Prevent from passing NULL pointer to tcp_v6_md5_do_lookup()
If skb->sk == NULL when calling tcp_v6_md5_do_lookup(), kernel will panic. Don't let this thing happen.
Signed-off-by Gui Jianfeng <[email protected]>
--- net/ipv6/tcp_ipv6.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-)
net/ipv6/tcp_ipv6.c +5 -3
@@ -69,7 +69,8 @@#include <linux/scatterlist.h> static void tcp_v6_send_reset (struct sock *sk,struct sk_buff *skb); -static void tcp_v6_reqsk_send_ack (struct sk_buff *skb,struct request_sock *req); +static void tcp_v6_reqsk_send_ack (struct sock *sk,struct sk_buff *skb, +struct request_sock *req);static int tcp_v6_do_rcv (struct sock *sk,struct sk_buff *skb);
@@ -1138,10 +1139,11 @@ static void tcp_v6_timewait_ack(struct sock *sk, struct sk_buff *skb)inet_twsk_put (tw); } -static void tcp_v6_reqsk_send_ack (struct sk_buff *skb,struct request_sock *req) +static void tcp_v6_reqsk_send_ack (struct sock *sk,struct sk_buff *skb, +struct request_sock *req) {tcp_v6_send_ack (skb,tcp_rsk (req)->snt_isn +1 ,tcp_rsk (req)->rcv_isn +1 , req->rcv_wnd, req->ts_recent, -tcp_v6_md5_do_lookup (skb->sk, &ipv6_hdr (skb)->daddr)); +tcp_v6_md5_do_lookup (sk, &ipv6_hdr (skb)->daddr)); }
Signature · 1 line
1.5.3