Message ID | f5a0c541d1e47f66d3513ab7974a6e9262ebe09d.1518431346.git.lucien.xin@gmail.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
Series | [net] sctp: do not pr_err for the duplicated node in transport rhlist | expand |
On Mon, Feb 12, 2018 at 06:29:06PM +0800, Xin Long wrote: > The pr_err in sctp_hash_transport was supposed to report a sctp bug > for using rhashtable/rhlist. > > The err '-EEXIST' introduced in Commit cd2b70875058 ("sctp: check > duplicate node before inserting a new transport") doesn't belong > to that case. > > So just return -EEXIST back without pr_err any kmsg. > > Fixes: cd2b70875058 ("sctp: check duplicate node before inserting a new transport") > Reported-by: Wei Chen <weichen@redhat.com> > Signed-off-by: Xin Long <lucien.xin@gmail.com> Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> > --- > net/sctp/input.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/net/sctp/input.c b/net/sctp/input.c > index 141c9c4..0247cc4 100644 > --- a/net/sctp/input.c > +++ b/net/sctp/input.c > @@ -897,15 +897,12 @@ int sctp_hash_transport(struct sctp_transport *t) > rhl_for_each_entry_rcu(transport, tmp, list, node) > if (transport->asoc->ep == t->asoc->ep) { > rcu_read_unlock(); > - err = -EEXIST; > - goto out; > + return -EEXIST; > } > rcu_read_unlock(); > > err = rhltable_insert_key(&sctp_transport_hashtable, &arg, > &t->node, sctp_hash_params); > - > -out: > if (err) > pr_err_once("insert transport fail, errno %d\n", err); > > -- > 2.1.0 >
On Mon, Feb 12, 2018 at 06:29:06PM +0800, Xin Long wrote: > The pr_err in sctp_hash_transport was supposed to report a sctp bug > for using rhashtable/rhlist. > > The err '-EEXIST' introduced in Commit cd2b70875058 ("sctp: check > duplicate node before inserting a new transport") doesn't belong > to that case. > > So just return -EEXIST back without pr_err any kmsg. > > Fixes: cd2b70875058 ("sctp: check duplicate node before inserting a new transport") > Reported-by: Wei Chen <weichen@redhat.com> > Signed-off-by: Xin Long <lucien.xin@gmail.com> > --- > net/sctp/input.c | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/net/sctp/input.c b/net/sctp/input.c > index 141c9c4..0247cc4 100644 > --- a/net/sctp/input.c > +++ b/net/sctp/input.c > @@ -897,15 +897,12 @@ int sctp_hash_transport(struct sctp_transport *t) > rhl_for_each_entry_rcu(transport, tmp, list, node) > if (transport->asoc->ep == t->asoc->ep) { > rcu_read_unlock(); > - err = -EEXIST; > - goto out; > + return -EEXIST; > } > rcu_read_unlock(); > > err = rhltable_insert_key(&sctp_transport_hashtable, &arg, > &t->node, sctp_hash_params); > - > -out: > if (err) > pr_err_once("insert transport fail, errno %d\n", err); > > -- > 2.1.0 > > Acked-by: Neil Horman <nhorman@tuxdriver.com>
From: Xin Long <lucien.xin@gmail.com> Date: Mon, 12 Feb 2018 18:29:06 +0800 > The pr_err in sctp_hash_transport was supposed to report a sctp bug > for using rhashtable/rhlist. > > The err '-EEXIST' introduced in Commit cd2b70875058 ("sctp: check > duplicate node before inserting a new transport") doesn't belong > to that case. > > So just return -EEXIST back without pr_err any kmsg. > > Fixes: cd2b70875058 ("sctp: check duplicate node before inserting a new transport") > Reported-by: Wei Chen <weichen@redhat.com> > Signed-off-by: Xin Long <lucien.xin@gmail.com> Applied and queued up for -stable.
diff --git a/net/sctp/input.c b/net/sctp/input.c index 141c9c4..0247cc4 100644 --- a/net/sctp/input.c +++ b/net/sctp/input.c @@ -897,15 +897,12 @@ int sctp_hash_transport(struct sctp_transport *t) rhl_for_each_entry_rcu(transport, tmp, list, node) if (transport->asoc->ep == t->asoc->ep) { rcu_read_unlock(); - err = -EEXIST; - goto out; + return -EEXIST; } rcu_read_unlock(); err = rhltable_insert_key(&sctp_transport_hashtable, &arg, &t->node, sctp_hash_params); - -out: if (err) pr_err_once("insert transport fail, errno %d\n", err);
The pr_err in sctp_hash_transport was supposed to report a sctp bug for using rhashtable/rhlist. The err '-EEXIST' introduced in Commit cd2b70875058 ("sctp: check duplicate node before inserting a new transport") doesn't belong to that case. So just return -EEXIST back without pr_err any kmsg. Fixes: cd2b70875058 ("sctp: check duplicate node before inserting a new transport") Reported-by: Wei Chen <weichen@redhat.com> Signed-off-by: Xin Long <lucien.xin@gmail.com> --- net/sctp/input.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)