]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
netlabel: add address family checks to netlbl_{sock,req}_delattr()
authorPaul Moore <paul@paul-moore.com>
Mon, 6 Jun 2016 19:17:20 +0000 (15:17 -0400)
committerJiri Slaby <jslaby@suse.cz>
Fri, 19 Aug 2016 07:51:17 +0000 (09:51 +0200)
commit 0e0e36774081534783aa8eeb9f6fbddf98d3c061 upstream.

It seems risky to always rely on the caller to ensure the socket's
address family is correct before passing it to the NetLabel kAPI,
especially since we see at least one LSM which didn't. Add address
family checks to the *_delattr() functions to help prevent future
problems.

Reported-by: Maninder Singh <maninder1.s@samsung.com>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
net/netlabel/netlabel_kapi.c

index 96a458e12f60ada2186c08ebbafe22c6e68ba06e..b7aa36fa522f9dd7225e07cba3df4602a87c060a 100644 (file)
@@ -700,7 +700,11 @@ socket_setattr_return:
  */
 void netlbl_sock_delattr(struct sock *sk)
 {
-       cipso_v4_sock_delattr(sk);
+       switch (sk->sk_family) {
+       case AF_INET:
+               cipso_v4_sock_delattr(sk);
+               break;
+       }
 }
 
 /**
@@ -863,7 +867,11 @@ req_setattr_return:
 */
 void netlbl_req_delattr(struct request_sock *req)
 {
-       cipso_v4_req_delattr(req);
+       switch (req->rsk_ops->family) {
+       case AF_INET:
+               cipso_v4_req_delattr(req);
+               break;
+       }
 }
 
 /**