Use the newly created LSM-hook for socketpair(). The default hook
return-value is 0, so behavior stays the same unless LSMs start using
this hook.

Acked-by: Serge Hallyn <se...@hallyn.com>
Signed-off-by: Tom Gundersen <t...@jklm.no>
Signed-off-by: David Herrmann <dh.herrm...@gmail.com>
---
 net/socket.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/net/socket.c b/net/socket.c
index f10f1d947c78..667a7b397134 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -1420,6 +1420,13 @@ int __sys_socketpair(int family, int type, int protocol, 
int __user *usockvec)
                goto out;
        }
 
+       err = security_socket_socketpair(sock1, sock2);
+       if (unlikely(err)) {
+               sock_release(sock2);
+               sock_release(sock1);
+               goto out;
+       }
+
        err = sock1->ops->socketpair(sock1, sock2);
        if (unlikely(err < 0)) {
                sock_release(sock2);
-- 
2.17.0

Reply via email to