Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1466079 > unrolled thread

[PATCH 3.12 082/100] netlabel: add address family checks to netlbl_{sock,req}_delattr()

Started byJiri Slaby <jslaby@suse.cz>
First post2016-08-19 09:20 +0200
Last post2016-08-19 09:20 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 3.12 082/100] netlabel: add address family checks to netlbl_{sock,req}_delattr() Jiri Slaby <jslaby@suse.cz> - 2016-08-19 09:20 +0200

#1466079 — [PATCH 3.12 082/100] netlabel: add address family checks to netlbl_{sock,req}_delattr()

FromJiri Slaby <jslaby@suse.cz>
Date2016-08-19 09:20 +0200
Subject[PATCH 3.12 082/100] netlabel: add address family checks to netlbl_{sock,req}_delattr()
Message-ID<s7MfU-2xj-11@gated-at.bofh.it>
From: Paul Moore <paul@paul-moore.com>

3.12-stable review patch.  If anyone has any objections, please let me know.

===============

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 | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/net/netlabel/netlabel_kapi.c b/net/netlabel/netlabel_kapi.c
index 96a458e12f60..b7aa36fa522f 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;
+	}
 }
 
 /**
@@ -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;
+	}
 }
 
 /**
-- 
2.9.3

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web