@@ -226,6 +226,7 @@ void sctp_endpoint_hold(struct sctp_endpoint *ep)
{
refcount_inc(&ep->base.refcnt);
}
+EXPORT_SYMBOL_GPL(sctp_endpoint_hold);
/* Release a reference to an endpoint and clean up if there are
* no more references.
@@ -235,6 +236,7 @@ void sctp_endpoint_put(struct sctp_endpoint *ep)
if (refcount_dec_and_test(&ep->base.refcnt))
sctp_endpoint_destroy(ep);
}
+EXPORT_SYMBOL_GPL(sctp_endpoint_put);
/* Is this the endpoint we are looking for? */
struct sctp_endpoint *sctp_endpoint_is_match(struct sctp_endpoint *ep,
net/sctp/diag.c for instance is built into its own separate module (sctp_diag.ko) and requires the use of sctp_endpoint_{hold,put}() in order to prevent a recently found use-after-free issue. Cc: Vlad Yasevich <vyasevich@gmail.com> Cc: Neil Horman <nhorman@tuxdriver.com> Cc: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Jakub Kicinski <kuba@kernel.org> Cc: lksctp developers <linux-sctp@vger.kernel.org> Cc: "H.P. Yarroll" <piggy@acm.org> Cc: Karl Knutson <karl@athena.chicago.il.us> Cc: Jon Grimm <jgrimm@us.ibm.com> Cc: Xingang Guo <xingang.guo@intel.com> Cc: Hui Huang <hui.huang@nokia.com> Cc: Sridhar Samudrala <sri@us.ibm.com> Cc: Daisy Chang <daisyc@us.ibm.com> Cc: Ryan Layer <rmlayer@us.ibm.com> Cc: Kevin Gao <kevin.gao@intel.com> Cc: linux-sctp@vger.kernel.org Cc: netdev@vger.kernel.org Signed-off-by: Lee Jones <lee.jones@linaro.org> --- net/sctp/endpointola.c | 2 ++ 1 file changed, 2 insertions(+)