lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 28 May 2020 13:59:06 +0800 From: Xin Long <lucien.xin@...il.com> To: Jonas Falkevik <jonas.falkevik@...il.com> Cc: Marcelo Ricardo Leitner <marcelo.leitner@...il.com>, Neil Horman <nhorman@...driver.com>, Vlad Yasevich <vyasevich@...il.com>, davem <davem@...emloft.net>, Jakub Kicinski <kuba@...nel.org>, linux-sctp@...r.kernel.org, network dev <netdev@...r.kernel.org>, LKML <linux-kernel@...r.kernel.org> Subject: Re: [PATCH v2] sctp: check assoc before SCTP_ADDR_{MADE_PRIM,ADDED} event On Wed, May 27, 2020 at 5:57 PM Jonas Falkevik <jonas.falkevik@...il.com> wrote: > > Make sure SCTP_ADDR_{MADE_PRIM,ADDED} are sent only for associations > that have been established. > > These events are described in rfc6458#section-6.1 > SCTP_PEER_ADDR_CHANGE: > This tag indicates that an address that is > part of an existing association has experienced a change of > state (e.g., a failure or return to service of the reachability > of an endpoint via a specific transport address). > > Signed-off-by: Jonas Falkevik <jonas.falkevik@...il.com> Reviewed-by: Xin Long <lucien.xin@...il.com> > --- > Changes in v2: > - Check asoc state to be at least established. > Instead of associd being SCTP_FUTURE_ASSOC. > - Common check for all peer addr change event > > net/sctp/ulpevent.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/net/sctp/ulpevent.c b/net/sctp/ulpevent.c > index c82dbdcf13f2..77d5c36a8991 100644 > --- a/net/sctp/ulpevent.c > +++ b/net/sctp/ulpevent.c > @@ -343,6 +343,9 @@ void sctp_ulpevent_nofity_peer_addr_change(struct sctp_transport *transport, > struct sockaddr_storage addr; > struct sctp_ulpevent *event; > > + if (asoc->state < SCTP_STATE_ESTABLISHED) > + return; > + > memset(&addr, 0, sizeof(struct sockaddr_storage)); > memcpy(&addr, &transport->ipaddr, transport->af_specific->sockaddr_len); > > -- > 2.25.4 >
Powered by blists - more mailing lists