gtp: fix a potential NULL pointer dereference
[ Upstream commit defd8b3c37b0f9cb3e0f60f47d3d78d459d57fda ] When sockfd_lookup() fails, gtp_encap_enable_socket() returns a NULL pointer, but its callers only check for error pointers thus miss the NULL pointer case. Fix it by returning an error pointer with the error code carried from sockfd_lookup(). (I found this bug during code inspection.) Fixes: 1e3a3abd8b28 ("gtp: make GTP sockets in gtp_newlink optional") Cc: Andreas Schultz <aschultz@tpip.net> Cc: Harald Welte <laforge@gnumonks.org> Signed-off-by: Cong Wang <cong.wang@bytedance.com> Reviewed-by: Simon Horman <horms@kernel.org> Reviewed-by: Pablo Neira Ayuso <pablo@netfilter.org> Link: https://patch.msgid.link/20240825191638.146748-1-xiyou.wangcong@gmail.com Signed-off-by: Jakub Kicinski <kuba@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
ef4f72282f
commit
fa13bd9705
1 changed files with 1 additions and 1 deletions
|
@ -801,7 +801,7 @@ static struct sock *gtp_encap_enable_socket(int fd, int type,
|
||||||
sock = sockfd_lookup(fd, &err);
|
sock = sockfd_lookup(fd, &err);
|
||||||
if (!sock) {
|
if (!sock) {
|
||||||
pr_debug("gtp socket fd=%d not found\n", fd);
|
pr_debug("gtp socket fd=%d not found\n", fd);
|
||||||
return NULL;
|
return ERR_PTR(err);
|
||||||
}
|
}
|
||||||
|
|
||||||
sk = sock->sk;
|
sk = sock->sk;
|
||||||
|
|
Loading…
Add table
Reference in a new issue