1- From 2afce693dedb3bc54648665488d346bbc17ab73a Mon Sep 17 00:00:00 2001
1+ From ded9cc7856982681ac78e57bd0bd56989536ee3b Mon Sep 17 00:00:00 2001
22From: Sergio Lopez <slp@redhat.com>
33Date: Thu, 19 May 2022 22:38:26 +0200
4- Subject: [PATCH 09/32 ] Transparent Socket Impersonation implementation
4+ Subject: [PATCH 10/33 ] Transparent Socket Impersonation implementation
55
66Transparent Socket Impersonation (AF_TSI) is an address family that
77provides sockets presenting two simultaneous personalities, one of
@@ -31,11 +31,11 @@ Signed-off-by: Matej Hrica <mhrica@redhat.com>
3131 net/socket.c | 3 +
3232 net/tsi/Kconfig | 7 +
3333 net/tsi/Makefile | 4 +
34- net/tsi/af_tsi.c | 1571 +++++++++++++++++++++++++++
34+ net/tsi/af_tsi.c | 1577 +++++++++++++++++++++++++++
3535 net/tsi/af_tsi.h | 107 ++
3636 security/selinux/hooks.c | 8 +-
3737 security/selinux/include/classmap.h | 3 +-
38- 10 files changed, 1710 insertions(+), 3 deletions(-)
38+ 10 files changed, 1716 insertions(+), 3 deletions(-)
3939 create mode 100644 net/tsi/Kconfig
4040 create mode 100644 net/tsi/Makefile
4141 create mode 100644 net/tsi/af_tsi.c
@@ -128,10 +128,10 @@ index 000000000000..8b3cf74116a5
128128+ tsi-y := af_tsi.o
129129diff --git a/net/tsi/af_tsi.c b/net/tsi/af_tsi.c
130130new file mode 100644
131- index 000000000000..e266f968405b
131+ index 000000000000..3d2bcd8d2ba4
132132--- /dev/null
133133+++ b/net/tsi/af_tsi.c
134- @@ -0,0 +1,1571 @@
134+ @@ -0,0 +1,1577 @@
135135+ /* SPDX-License-Identifier: GPL-2.0-only */
136136+ /*
137137+ * Transparent Socket Impersonation Driver
@@ -908,11 +908,13 @@ index 000000000000..e266f968405b
908908+ struct sock *sk = sock->sk;
909909+ struct tsi_sock *tsk;
910910+ struct socket *isocket;
911+ + struct socket *vsocket;
911912+ int err;
912913+
913914+ lock_sock(sk);
914915+ tsk = tsi_sk(sock->sk);
915916+ isocket = tsk->isocket;
917+ + vsocket = tsk->vsocket;
916918+
917919+ switch (tsk->status) {
918920+ case S_HYBRID:
@@ -924,7 +926,11 @@ index 000000000000..e266f968405b
924926+ }
925927+ break;
926928+ case S_VSOCK:
927- + err = -EOPNOTSUPP;
929+ + if (vsocket) {
930+ + err = vsocket->ops->ioctl(vsocket, cmd, arg);
931+ + } else {
932+ + err = -EOPNOTSUPP;
933+ + }
928934+ break;
929935+ }
930936+
0 commit comments