sockets: Add hhook in sonewconn for inheriting OSD specific data

Added HHOOK_SOCKET_NEWCONN and bumped HHOOK_SOCKET_LAST

Reviewed by:	glebius, tuexen
Obtained from:	Juniper Networks, Inc.
Differential Revision:	https://reviews.freebsd.org/D44632
This commit is contained in:
Stephen J. Kiernan 2024-04-08 21:31:34 -04:00
parent fb8a8333b4
commit 81b4d1c4d4
2 changed files with 9 additions and 1 deletions

View file

@ -769,6 +769,13 @@ solisten_clone(struct socket *head)
so->so_fibnum = head->so_fibnum;
so->so_proto = head->so_proto;
so->so_cred = crhold(head->so_cred);
if (V_socket_hhh[HHOOK_SOCKET_NEWCONN]->hhh_nhooks > 0) {
if (hhook_run_socket(so, head, HHOOK_SOCKET_NEWCONN)) {
sodealloc(so);
log(LOG_DEBUG, "%s: hhook run failed\n", __func__);
return (NULL);
}
}
#ifdef MAC
mac_socket_newconn(head, so);
#endif

View file

@ -414,7 +414,8 @@ MALLOC_DECLARE(M_SONAME);
#define HHOOK_FILT_SOREAD 4
#define HHOOK_FILT_SOWRITE 5
#define HHOOK_SOCKET_CLOSE 6
#define HHOOK_SOCKET_LAST HHOOK_SOCKET_CLOSE
#define HHOOK_SOCKET_NEWCONN 7
#define HHOOK_SOCKET_LAST HHOOK_SOCKET_NEWCONN
struct socket_hhook_data {
struct socket *so;