The branch main has been updated by glebius:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=f277746e13261e139cbb7a3bbd74dfe104326182

commit f277746e13261e139cbb7a3bbd74dfe104326182
Author:     Gleb Smirnoff <[email protected]>
AuthorDate: 2022-08-12 19:08:18 +0000
Commit:     Gleb Smirnoff <[email protected]>
CommitDate: 2022-08-12 19:08:18 +0000

    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 e9fe4dfd7feb..bbca2d8663d7 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 21ed3928b5ff..7d4da8d4ce45 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 34df9179c860..43482c6ca5f6 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 179b6518eb33..ea0928d25044 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 001be86d0a5f..7a0b0a272f81 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 03894464a69a..ef8e835d0323 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 34d1d69f408f..e4e75327c1ac 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 7674c23f25cc..6536413db7ff 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 7bdf9c95c53d..ac504483b0a8 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 92898dad3245..3960f4cdb6bc 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 e394af68ac23..790740456160 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 c3f936b444dc..40e1c1a23c40 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 a69758678b4c..3386e0463637 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 1c8e78edd46c..92e94e730c33 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 4305b42f1c00..8382854e24e2 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 78c25e6e77f6..1f48ef9ef55f 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);

Reply via email to