On Mon, May 26, 2025 at 3:38 PM Benjamin Poirier <benjamin.poirier@xxxxxxxxx> wrote: > > On 2025-05-26 14:25 -0400, Xin Long wrote: > > On Mon, May 26, 2025 at 1:47 AM Christoph Hellwig <hch@xxxxxx> wrote: > > > > > > sctp_do_peeloff is only used inside of net/sctp/socket.c, > > > so mark it static. > > > > > > Signed-off-by: Christoph Hellwig <hch@xxxxxx> > > > --- > > > include/net/sctp/sctp.h | 2 -- > > > net/sctp/socket.c | 4 ++-- > > > 2 files changed, 2 insertions(+), 4 deletions(-) > > > > > > diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h > > > index d8da764cf6de..e96d1bd087f6 100644 > > > --- a/include/net/sctp/sctp.h > > > +++ b/include/net/sctp/sctp.h > > > @@ -364,8 +364,6 @@ sctp_assoc_to_state(const struct sctp_association *asoc) > > > /* Look up the association by its id. */ > > > struct sctp_association *sctp_id2assoc(struct sock *sk, sctp_assoc_t id); > > > > > > -int sctp_do_peeloff(struct sock *sk, sctp_assoc_t id, struct socket **sockp); > > > - > > > /* A macro to walk a list of skbs. */ > > > #define sctp_skb_for_each(pos, head, tmp) \ > > > skb_queue_walk_safe(head, pos, tmp) > > > diff --git a/net/sctp/socket.c b/net/sctp/socket.c > > > index 53725ee7ba06..da048e386476 100644 > > > --- a/net/sctp/socket.c > > > +++ b/net/sctp/socket.c > > > @@ -5627,7 +5627,8 @@ static int sctp_getsockopt_autoclose(struct sock *sk, int len, char __user *optv > > > } > > > > > > /* Helper routine to branch off an association to a new socket. */ > > > -int sctp_do_peeloff(struct sock *sk, sctp_assoc_t id, struct socket **sockp) > > > +static int sctp_do_peeloff(struct sock *sk, sctp_assoc_t id, > > > + struct socket **sockp) > > > { > > > struct sctp_association *asoc = sctp_id2assoc(sk, id); > > > struct sctp_sock *sp = sctp_sk(sk); > > > @@ -5675,7 +5676,6 @@ int sctp_do_peeloff(struct sock *sk, sctp_assoc_t id, struct socket **sockp) > > > > > > return err; > > > } > > > -EXPORT_SYMBOL(sctp_do_peeloff); > > > > > I believe sctp_do_peeloff() was exported specifically to allow usage > > outside of the core SCTP code. See: > > > > commit 0343c5543b1d3ffa08e6716d82afb62648b80eba > > Author: Benjamin Poirier <benjamin.poirier@xxxxxxxxx> > > Date: Thu Mar 8 05:55:58 2012 +0000 > > > > sctp: Export sctp_do_peeloff > > > > Thanks for digging that up. The purpose was of course for the commit > that followed: > 2f2d76cc3e93 dlm: Do not allocate a fd for peeloff (v3.4-rc1) > > Since that usage was removed in > ee44b4bc054a dlm: use sctp 1-to-1 API (v4.3-rc1) > > I don't see a problem with marking sctp_do_peeloff() static again. > > > While there’s no known in-tree usage beyond SCTP itself, we can’t be > > sure whether this function has been used by out-of-tree kernel modules. > > The mainline kernel does not need to cater to out-of-tree users. Thank you for chiming in. I didn't know it was exported for the in-tree kernel dlm, and this patch should be applied to net-next. Acked-by: Xin Long <lucien.xin@xxxxxxxxx>