From f277746e13261e139cbb7a3bbd74dfe104326182 Mon Sep 17 00:00:00 2001 From: Gleb Smirnoff Date: Fri, 12 Aug 2022 12:08:18 -0700 Subject: [PATCH] protosw: change prototype for pr_control For some reason protosw.h is used during world complation and userland is not aware of caddr_t, a relic from the first version of C. Broken buildworld is good reason to get rid of yet another caddr_t in kernel. Fixes: 886fc1e80490fb03e72e306774766cbb2c733ac6 --- sys/kern/uipc_socket.c | 2 +- sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h | 2 +- sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h | 4 ++-- sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h | 2 +- sys/netgraph/bluetooth/include/ng_btsocket_sco.h | 2 +- sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c | 2 +- sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c | 2 +- sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c | 2 +- sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c | 2 +- sys/netgraph/bluetooth/socket/ng_btsocket_sco.c | 2 +- sys/netinet/in.c | 2 +- sys/netinet/in_var.h | 2 +- sys/netinet6/in6.c | 2 +- sys/netinet6/in6_var.h | 2 +- sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c | 8 -------- sys/sys/protosw.h | 6 +++--- 16 files changed, 18 insertions(+), 26 deletions(-) diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index e9fe4dfd7feb1e..bbca2d8663d750 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -3725,7 +3725,7 @@ pru_connect2_notsupp(struct socket *so1, struct socket *so2) } int -pru_control_notsupp(struct socket *so, u_long cmd, caddr_t data, +pru_control_notsupp(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { diff --git a/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h b/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h index 21ed3928b5ff6b..7d4da8d4ce4521 100644 --- a/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h +++ b/sys/netgraph/bluetooth/include/ng_btsocket_hci_raw.h @@ -74,7 +74,7 @@ int ng_btsocket_hci_raw_bind (struct socket *, struct sockaddr *, struct thread *); int ng_btsocket_hci_raw_connect (struct socket *, struct sockaddr *, struct thread *); -int ng_btsocket_hci_raw_control (struct socket *, u_long, caddr_t, +int ng_btsocket_hci_raw_control (struct socket *, u_long, void *, struct ifnet *, struct thread *); int ng_btsocket_hci_raw_ctloutput (struct socket *, struct sockopt *); void ng_btsocket_hci_raw_detach (struct socket *); diff --git a/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h b/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h index 34df9179c860f8..43482c6ca5f67d 100644 --- a/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h +++ b/sys/netgraph/bluetooth/include/ng_btsocket_l2cap.h @@ -102,7 +102,7 @@ int ng_btsocket_l2cap_raw_bind (struct socket *, struct sockaddr *, struct thread *); int ng_btsocket_l2cap_raw_connect (struct socket *, struct sockaddr *, struct thread *); -int ng_btsocket_l2cap_raw_control (struct socket *, u_long, caddr_t, +int ng_btsocket_l2cap_raw_control (struct socket *, u_long, void *, struct ifnet *, struct thread *); void ng_btsocket_l2cap_raw_detach (struct socket *); int ng_btsocket_l2cap_raw_disconnect (struct socket *); @@ -198,7 +198,7 @@ int ng_btsocket_l2cap_bind (struct socket *, struct sockaddr *, struct thread *); int ng_btsocket_l2cap_connect (struct socket *, struct sockaddr *, struct thread *); -int ng_btsocket_l2cap_control (struct socket *, u_long, caddr_t, +int ng_btsocket_l2cap_control (struct socket *, u_long, void *, struct ifnet *, struct thread *); int ng_btsocket_l2cap_ctloutput (struct socket *, struct sockopt *); void ng_btsocket_l2cap_detach (struct socket *); diff --git a/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h b/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h index 179b6518eb33d6..ea0928d250445d 100644 --- a/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h +++ b/sys/netgraph/bluetooth/include/ng_btsocket_rfcomm.h @@ -323,7 +323,7 @@ int ng_btsocket_rfcomm_bind (struct socket *, struct sockaddr *, struct thread *); int ng_btsocket_rfcomm_connect (struct socket *, struct sockaddr *, struct thread *); -int ng_btsocket_rfcomm_control (struct socket *, u_long, caddr_t, +int ng_btsocket_rfcomm_control (struct socket *, u_long, void *, struct ifnet *, struct thread *); int ng_btsocket_rfcomm_ctloutput (struct socket *, struct sockopt *); void ng_btsocket_rfcomm_detach (struct socket *); diff --git a/sys/netgraph/bluetooth/include/ng_btsocket_sco.h b/sys/netgraph/bluetooth/include/ng_btsocket_sco.h index 001be86d0a5fd9..7a0b0a272f8161 100644 --- a/sys/netgraph/bluetooth/include/ng_btsocket_sco.h +++ b/sys/netgraph/bluetooth/include/ng_btsocket_sco.h @@ -113,7 +113,7 @@ int ng_btsocket_sco_bind (struct socket *, struct sockaddr *, struct thread *); int ng_btsocket_sco_connect (struct socket *, struct sockaddr *, struct thread *); -int ng_btsocket_sco_control (struct socket *, u_long, caddr_t, +int ng_btsocket_sco_control (struct socket *, u_long, void *, struct ifnet *, struct thread *); int ng_btsocket_sco_ctloutput (struct socket *, struct sockopt *); void ng_btsocket_sco_detach (struct socket *); diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c index 03894464a69a3c..ef8e835d032344 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_hci_raw.c @@ -1031,7 +1031,7 @@ ng_btsocket_hci_raw_connect(struct socket *so, struct sockaddr *nam, */ int -ng_btsocket_hci_raw_control(struct socket *so, u_long cmd, caddr_t data, +ng_btsocket_hci_raw_control(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { ng_btsocket_hci_raw_pcb_p pcb = so2hci_raw_pcb(so); diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c index 34d1d69f408f4c..e4e75327c1ac79 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c @@ -2280,7 +2280,7 @@ ng_btsocket_l2cap_connect(struct socket *so, struct sockaddr *nam, */ int -ng_btsocket_l2cap_control(struct socket *so, u_long cmd, caddr_t data, +ng_btsocket_l2cap_control(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { return (EINVAL); diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c index 7674c23f25cc06..6536413db7ffb4 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c @@ -784,7 +784,7 @@ ng_btsocket_l2cap_raw_connect(struct socket *so, struct sockaddr *nam, */ int -ng_btsocket_l2cap_raw_control(struct socket *so, u_long cmd, caddr_t data, +ng_btsocket_l2cap_raw_control(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { ng_btsocket_l2cap_raw_pcb_p pcb = so2l2cap_raw_pcb(so); diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c b/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c index 7bdf9c95c53d4f..ac504483b0a8a3 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c @@ -637,7 +637,7 @@ ng_btsocket_rfcomm_connect(struct socket *so, struct sockaddr *nam, */ int -ng_btsocket_rfcomm_control(struct socket *so, u_long cmd, caddr_t data, +ng_btsocket_rfcomm_control(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { return (EINVAL); diff --git a/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c b/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c index 92898dad324543..3960f4cdb6bc38 100644 --- a/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c +++ b/sys/netgraph/bluetooth/socket/ng_btsocket_sco.c @@ -1445,7 +1445,7 @@ ng_btsocket_sco_connect(struct socket *so, struct sockaddr *nam, */ int -ng_btsocket_sco_control(struct socket *so, u_long cmd, caddr_t data, +ng_btsocket_sco_control(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { return (EINVAL); diff --git a/sys/netinet/in.c b/sys/netinet/in.c index e394af68ac23f2..79074045616031 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -324,7 +324,7 @@ in_socktrim(struct sockaddr_in *ap) * Generic internet control operations (ioctl's). */ int -in_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, +in_control(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { struct ifreq *ifr = (struct ifreq *)data; diff --git a/sys/netinet/in_var.h b/sys/netinet/in_var.h index c3f936b444dc02..40e1c1a23c40aa 100644 --- a/sys/netinet/in_var.h +++ b/sys/netinet/in_var.h @@ -444,7 +444,7 @@ int in_joingroup_locked(struct ifnet *, const struct in_addr *, int in_leavegroup(struct in_multi *, /*const*/ struct in_mfilter *); int in_leavegroup_locked(struct in_multi *, /*const*/ struct in_mfilter *); -int in_control(struct socket *, u_long, caddr_t, struct ifnet *, +int in_control(struct socket *, u_long, void *, struct ifnet *, struct thread *); int in_addprefix(struct in_ifaddr *); int in_scrubprefix(struct in_ifaddr *, u_int); diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index a69758678b4c11..3386e0463637d8 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -246,7 +246,7 @@ struct in6_ndifreq32 { #endif int -in6_control(struct socket *so, u_long cmd, caddr_t data, +in6_control(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td) { struct in6_ifreq *ifr = (struct in6_ifreq *)data; diff --git a/sys/netinet6/in6_var.h b/sys/netinet6/in6_var.h index 1c8e78edd46cfe..92e94e730c3345 100644 --- a/sys/netinet6/in6_var.h +++ b/sys/netinet6/in6_var.h @@ -881,7 +881,7 @@ int ip6_setmoptions(struct inpcb *, struct sockopt *); #define IN6_IFAUPDATE_DADDELAY 0x1 /* first time to configure an address */ int in6_mask2len(struct in6_addr *, u_char *); -int in6_control(struct socket *, u_long, caddr_t, struct ifnet *, +int in6_control(struct socket *, u_long, void *, struct ifnet *, struct thread *); int in6_update_ifa(struct ifnet *, struct in6_aliasreq *, struct in6_ifaddr *, int); diff --git a/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c b/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c index 4305b42f1c003e..8382854e24e283 100644 --- a/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c +++ b/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c @@ -1575,13 +1575,6 @@ sdp_ctlinput(int cmd, struct sockaddr *sa, void *vip) sdp_pcbnotifyall(faddr, inetctlerrmap[cmd], sdp_notify); } -static int -sdp_control(struct socket *so, u_long cmd, caddr_t data, struct ifnet *ifp, - struct thread *td) -{ - return (EOPNOTSUPP); -} - static void sdp_keepalive_timeout(void *data) { @@ -1923,7 +1916,6 @@ struct pr_usrreqs sdp_usrreqs = { .pru_attach = sdp_attach, .pru_bind = sdp_bind, .pru_connect = sdp_connect, - .pru_control = sdp_control, .pru_detach = sdp_detach, .pru_disconnect = sdp_disconnect, .pru_listen = sdp_listen, diff --git a/sys/sys/protosw.h b/sys/sys/protosw.h index 78c25e6e77f642..1f48ef9ef55f01 100644 --- a/sys/sys/protosw.h +++ b/sys/sys/protosw.h @@ -79,8 +79,8 @@ typedef int pr_bind_t(struct socket *, struct sockaddr *, struct thread *); typedef int pr_connect_t(struct socket *, struct sockaddr *, struct thread *); typedef int pr_connect2_t(struct socket *, struct socket *); -typedef int pr_control_t(struct socket *, u_long, caddr_t, struct ifnet *, - struct thread *); +typedef int pr_control_t(struct socket *, unsigned long, void *, + struct ifnet *, struct thread *); typedef void pr_detach_t(struct socket *); typedef int pr_disconnect_t(struct socket *); typedef int pr_listen_t(struct socket *, int, struct thread *); @@ -272,7 +272,7 @@ int pru_connect_notsupp(struct socket *so, struct sockaddr *nam, int pru_connectat_notsupp(int fd, struct socket *so, struct sockaddr *nam, struct thread *td); int pru_connect2_notsupp(struct socket *so1, struct socket *so2); -int pru_control_notsupp(struct socket *so, u_long cmd, caddr_t data, +int pru_control_notsupp(struct socket *so, u_long cmd, void *data, struct ifnet *ifp, struct thread *td); int pru_disconnect_notsupp(struct socket *so); int pru_listen_notsupp(struct socket *so, int backlog, struct thread *td);