hooks.c (08dbc7a66af2321661173c04d872eba44003cc13) hooks.c (0b811db2cb2aabc910e53d34ebb95a15997c33e7)
1/*
2 * NSA Security-Enhanced Linux (SELinux) security module
3 *
4 * This file contains the SELinux hook function implementations.
5 *
6 * Authors: Stephen Smalley, <sds@tycho.nsa.gov>
7 * Chris Vance, <cvance@nai.com>
8 * Wayne Salamon, <wsalamon@nai.com>

--- 1457 unchanged lines hidden (view full) ---

1466 case PF_VSOCK:
1467 return SECCLASS_VSOCK_SOCKET;
1468 case PF_KCM:
1469 return SECCLASS_KCM_SOCKET;
1470 case PF_QIPCRTR:
1471 return SECCLASS_QIPCRTR_SOCKET;
1472 case PF_SMC:
1473 return SECCLASS_SMC_SOCKET;
1/*
2 * NSA Security-Enhanced Linux (SELinux) security module
3 *
4 * This file contains the SELinux hook function implementations.
5 *
6 * Authors: Stephen Smalley, <sds@tycho.nsa.gov>
7 * Chris Vance, <cvance@nai.com>
8 * Wayne Salamon, <wsalamon@nai.com>

--- 1457 unchanged lines hidden (view full) ---

1466 case PF_VSOCK:
1467 return SECCLASS_VSOCK_SOCKET;
1468 case PF_KCM:
1469 return SECCLASS_KCM_SOCKET;
1470 case PF_QIPCRTR:
1471 return SECCLASS_QIPCRTR_SOCKET;
1472 case PF_SMC:
1473 return SECCLASS_SMC_SOCKET;
1474 case PF_XDP:
1475 return SECCLASS_XDP_SOCKET;
1476#if PF_MAX > 45
1474#if PF_MAX > 44
1477#error New address family defined, please update this function.
1478#endif
1479 }
1480 }
1481
1482 return SECCLASS_SOCKET;
1483}
1484

--- 3081 unchanged lines hidden (view full) ---

4566 sksec->sctp_assoc_state = SCTP_ASSOC_UNSET;
4567
4568 err = selinux_netlbl_socket_post_create(sock->sk, family);
4569 }
4570
4571 return err;
4572}
4573
1475#error New address family defined, please update this function.
1476#endif
1477 }
1478 }
1479
1480 return SECCLASS_SOCKET;
1481}
1482

--- 3081 unchanged lines hidden (view full) ---

4564 sksec->sctp_assoc_state = SCTP_ASSOC_UNSET;
4565
4566 err = selinux_netlbl_socket_post_create(sock->sk, family);
4567 }
4568
4569 return err;
4570}
4571
4572static int selinux_socket_socketpair(struct socket *socka,
4573 struct socket *sockb)
4574{
4575 struct sk_security_struct *sksec_a = socka->sk->sk_security;
4576 struct sk_security_struct *sksec_b = sockb->sk->sk_security;
4577
4578 sksec_a->peer_sid = sksec_b->sid;
4579 sksec_b->peer_sid = sksec_a->sid;
4580
4581 return 0;
4582}
4583
4574/* Range of port numbers used to automatically bind.
4575 Need to determine whether we should perform a name_bind
4576 permission check between the socket and the port number. */
4577
4578static int selinux_socket_bind(struct socket *sock, struct sockaddr *address, int addrlen)
4579{
4580 struct sock *sk = sock->sk;
4581 u16 family;

--- 2414 unchanged lines hidden (view full) ---

6996 LSM_HOOK_INIT(inode_setsecctx, selinux_inode_setsecctx),
6997 LSM_HOOK_INIT(inode_getsecctx, selinux_inode_getsecctx),
6998
6999 LSM_HOOK_INIT(unix_stream_connect, selinux_socket_unix_stream_connect),
7000 LSM_HOOK_INIT(unix_may_send, selinux_socket_unix_may_send),
7001
7002 LSM_HOOK_INIT(socket_create, selinux_socket_create),
7003 LSM_HOOK_INIT(socket_post_create, selinux_socket_post_create),
4584/* Range of port numbers used to automatically bind.
4585 Need to determine whether we should perform a name_bind
4586 permission check between the socket and the port number. */
4587
4588static int selinux_socket_bind(struct socket *sock, struct sockaddr *address, int addrlen)
4589{
4590 struct sock *sk = sock->sk;
4591 u16 family;

--- 2414 unchanged lines hidden (view full) ---

7006 LSM_HOOK_INIT(inode_setsecctx, selinux_inode_setsecctx),
7007 LSM_HOOK_INIT(inode_getsecctx, selinux_inode_getsecctx),
7008
7009 LSM_HOOK_INIT(unix_stream_connect, selinux_socket_unix_stream_connect),
7010 LSM_HOOK_INIT(unix_may_send, selinux_socket_unix_may_send),
7011
7012 LSM_HOOK_INIT(socket_create, selinux_socket_create),
7013 LSM_HOOK_INIT(socket_post_create, selinux_socket_post_create),
7014 LSM_HOOK_INIT(socket_socketpair, selinux_socket_socketpair),
7004 LSM_HOOK_INIT(socket_bind, selinux_socket_bind),
7005 LSM_HOOK_INIT(socket_connect, selinux_socket_connect),
7006 LSM_HOOK_INIT(socket_listen, selinux_socket_listen),
7007 LSM_HOOK_INIT(socket_accept, selinux_socket_accept),
7008 LSM_HOOK_INIT(socket_sendmsg, selinux_socket_sendmsg),
7009 LSM_HOOK_INIT(socket_recvmsg, selinux_socket_recvmsg),
7010 LSM_HOOK_INIT(socket_getsockname, selinux_socket_getsockname),
7011 LSM_HOOK_INIT(socket_getpeername, selinux_socket_getpeername),

--- 276 unchanged lines hidden ---
7015 LSM_HOOK_INIT(socket_bind, selinux_socket_bind),
7016 LSM_HOOK_INIT(socket_connect, selinux_socket_connect),
7017 LSM_HOOK_INIT(socket_listen, selinux_socket_listen),
7018 LSM_HOOK_INIT(socket_accept, selinux_socket_accept),
7019 LSM_HOOK_INIT(socket_sendmsg, selinux_socket_sendmsg),
7020 LSM_HOOK_INIT(socket_recvmsg, selinux_socket_recvmsg),
7021 LSM_HOOK_INIT(socket_getsockname, selinux_socket_getsockname),
7022 LSM_HOOK_INIT(socket_getpeername, selinux_socket_getpeername),

--- 276 unchanged lines hidden ---