summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorPaul Moore <paul@paul-moore.com>2016-06-06 15:17:20 -0400
committerWilly Tarreau <w@1wt.eu>2016-08-27 11:40:37 +0200
commitfb85c52515a65aa9763c0c480b9bbbb9de6e08ca (patch)
tree60e3bf78ba8fc14d58b3c89ea9392317066a99e0 /net
parent60a8744f15d8bdcab6dc4f21728d8e9cb5e8880f (diff)
downloadlinux-fb85c52515a65aa9763c0c480b9bbbb9de6e08ca.tar.gz
linux-fb85c52515a65aa9763c0c480b9bbbb9de6e08ca.tar.bz2
linux-fb85c52515a65aa9763c0c480b9bbbb9de6e08ca.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. Cc: <stable@vger.kernel.org> Reported-by: Maninder Singh <maninder1.s@samsung.com> Signed-off-by: Paul Moore <paul@paul-moore.com> Signed-off-by: Willy Tarreau <w@1wt.eu>
Diffstat (limited to 'net')
-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 7c94aedd0912..5b1fbe45ff0b 100644
--- a/net/netlabel/netlabel_kapi.c
+++ b/net/netlabel/netlabel_kapi.c
@@ -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;
+ }
}
/**
@@ -879,7 +883,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;
+ }
}
/**