aboutsummaryrefslogtreecommitdiffstats
diff options
authorEric Dumazet <edumazet@google.com>2025-06-04 13:38:26 +0000
committerJakub Kicinski <kuba@kernel.org>2025-06-05 08:03:38 -0700
commit3cae906e1a6184cdc9e4d260e4dbdf9a118d94ad (patch)
tree5e51a6764ba52a95092f624121ba1d08b570f0d5
parent7632fedb266d93ed0ed9f487133e6c6314a9b2d1 (diff)
downloadlinux-3cae906e1a6184cdc9e4d260e4dbdf9a118d94ad.tar.gz
calipso: unlock rcu before returning -EAFNOSUPPORT
syzbot reported that a recent patch forgot to unlock rcu in the error path. Adopt the convention that netlbl_conn_setattr() is already using. Fixes: 6e9f2df1c550 ("calipso: Don't call calipso functions for AF_INET sk.") Reported-by: syzbot <syzkaller@googlegroups.com> Signed-off-by: Eric Dumazet <edumazet@google.com> Cc: Kuniyuki Iwashima <kuniyu@amazon.com> Acked-by: Paul Moore <paul@paul-moore.com> Link: https://patch.msgid.link/20250604133826.1667664-1-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r--net/netlabel/netlabel_kapi.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
index 6ea16138582c0b..33b77084a4e5f3 100644
--- a/net/netlabel/netlabel_kapi.c
+++ b/net/netlabel/netlabel_kapi.c
@@ -1165,8 +1165,10 @@ int netlbl_conn_setattr(struct sock *sk,
break;
#if IS_ENABLED(CONFIG_IPV6)
case AF_INET6:
- if (sk->sk_family != AF_INET6)
- return -EAFNOSUPPORT;
+ if (sk->sk_family != AF_INET6) {
+ ret_val = -EAFNOSUPPORT;
+ goto conn_setattr_return;
+ }
addr6 = (struct sockaddr_in6 *)addr;
entry = netlbl_domhsh_getentry_af6(secattr->domain,