From a8fb633c78607115ba1cd039eafa49800876cab1 Mon Sep 17 00:00:00 2001 From: Arun Kumar Neelakantam Date: Fri, 28 Dec 2018 17:26:17 +0530 Subject: [PATCH] net: qrtr: Check function pointer before calling sk_error_report callback function called without validating cause the NULL pointer dereference. Validate function pointer before using for error report. Change-Id: I19d04f85a5457f3857623088f8e0578514f0c395 Signed-off-by: Arun Kumar Neelakantam --- net/qrtr/qrtr.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/net/qrtr/qrtr.c b/net/qrtr/qrtr.c index 72e573aed1d0..8f2320410e38 100644 --- a/net/qrtr/qrtr.c +++ b/net/qrtr/qrtr.c @@ -796,7 +796,8 @@ static void qrtr_reset_ports(void) sock_hold(&ipc->sk); ipc->sk.sk_err = ENETRESET; - ipc->sk.sk_error_report(&ipc->sk); + if (ipc->sk.sk_error_report) + ipc->sk.sk_error_report(&ipc->sk); sock_put(&ipc->sk); } } @@ -893,7 +894,8 @@ static int qrtr_local_enqueue(struct qrtr_node *node, struct sk_buff *skb, if (sk && sk->sk_err == ENETRESET) { sock_hold(sk); sk->sk_err = ENETRESET; - sk->sk_error_report(sk); + if (sk->sk_error_report) + sk->sk_error_report(sk); sock_put(sk); kfree_skb(skb); return 0;