summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2016-06-06 15:17:20 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2016-08-20 18:09:22 +0200
commit4a3e88a02e71cbc1dacfb958d8bffe0547d8fa2e (patch)
treec68e1e4260de8ccd9cb9d382d29f0fd1d8bfaea6
parent225ecdbca37ab7b8a6ec38e72739980c80c218e7 (diff)
downloadlinux-stable-4a3e88a02e71cbc1dacfb958d8bffe0547d8fa2e.tar.gz
linux-stable-4a3e88a02e71cbc1dacfb958d8bffe0547d8fa2e.tar.bz2
linux-stable-4a3e88a02e71cbc1dacfb958d8bffe0547d8fa2e.zip
netlabel: add address family checks to netlbl_{sock,req}_delattr()
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: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/netlabel/netlabel_kapi.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
index 28cddc85b700..bfa2b6d5b5cf 100644
--- a/net/netlabel/netlabel_kapi.c
+++ b/net/netlabel/netlabel_kapi.c
@@ -824,7 +824,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;
+ }
}
/**
@@ -987,7 +991,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;
+ }
}
/**