* [PATCH] dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
@ 2022-03-27 5:55 Xiaomeng Tong
2022-03-27 18:58 ` Vladimir Oltean
0 siblings, 1 reply; 5+ messages in thread
From: Xiaomeng Tong @ 2022-03-27 5:55 UTC (permalink / raw)
To: andrew
Cc: vivien.didelot, olteanv, davem, kuba, pabeni, netdev,
linux-kernel, Xiaomeng Tong, stable
The bug is here:
return rule;
The list iterator value 'rule' will *always* be set and non-NULL
by list_for_each_entry(), so it is incorrect to assume that the
iterator value will be NULL if the list is empty or no element
is found.
To fix the bug, return 'rule' when found, otherwise return NULL.
Cc: stable@vger.kernel.org
Fixes: ae7a5aff783c7 ("net: dsa: bcm_sf2: Keep copy of inserted rules")
Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
---
drivers/net/dsa/bcm_sf2_cfp.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/dsa/bcm_sf2_cfp.c b/drivers/net/dsa/bcm_sf2_cfp.c
index a7e2fcf2df2c..edbe5e7f1cb6 100644
--- a/drivers/net/dsa/bcm_sf2_cfp.c
+++ b/drivers/net/dsa/bcm_sf2_cfp.c
@@ -567,14 +567,14 @@ static void bcm_sf2_cfp_slice_ipv6(struct bcm_sf2_priv *priv,
static struct cfp_rule *bcm_sf2_cfp_rule_find(struct bcm_sf2_priv *priv,
int port, u32 location)
{
- struct cfp_rule *rule = NULL;
+ struct cfp_rule *rule;
list_for_each_entry(rule, &priv->cfp.rules_list, next) {
if (rule->port == port && rule->fs.location == location)
- break;
+ return rule;
}
- return rule;
+ return NULL;
}
static int bcm_sf2_cfp_rule_cmp(struct bcm_sf2_priv *priv, int port,
--
2.17.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH] dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
2022-03-27 5:55 [PATCH] dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator Xiaomeng Tong
@ 2022-03-27 18:58 ` Vladimir Oltean
2022-03-28 2:35 ` Xiaomeng Tong
2022-03-28 2:51 ` Florian Fainelli
0 siblings, 2 replies; 5+ messages in thread
From: Vladimir Oltean @ 2022-03-27 18:58 UTC (permalink / raw)
To: Xiaomeng Tong, Florian Fainelli
Cc: andrew, vivien.didelot, davem, kuba, pabeni, netdev,
linux-kernel, stable
On Sun, Mar 27, 2022 at 01:55:47PM +0800, Xiaomeng Tong wrote:
> The bug is here:
> return rule;
>
> The list iterator value 'rule' will *always* be set and non-NULL
> by list_for_each_entry(), so it is incorrect to assume that the
> iterator value will be NULL if the list is empty or no element
> is found.
>
> To fix the bug, return 'rule' when found, otherwise return NULL.
>
> Cc: stable@vger.kernel.org
> Fixes: ae7a5aff783c7 ("net: dsa: bcm_sf2: Keep copy of inserted rules")
> Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
> ---
The change looks correct, but from a process standpoint for next time
(a) you should have copied Florian, the driver's maintainer (which I did now)
who appears on the top of the list in the output of ./get_maintainer.pl
(b) networking bugfixes that apply to the "net" tree shouldn't need
stable@vger.kernel.org copied, instead just target the patch against
the https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
tree and mark the subject prefix as "[PATCH net]".
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
> drivers/net/dsa/bcm_sf2_cfp.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/dsa/bcm_sf2_cfp.c b/drivers/net/dsa/bcm_sf2_cfp.c
> index a7e2fcf2df2c..edbe5e7f1cb6 100644
> --- a/drivers/net/dsa/bcm_sf2_cfp.c
> +++ b/drivers/net/dsa/bcm_sf2_cfp.c
> @@ -567,14 +567,14 @@ static void bcm_sf2_cfp_slice_ipv6(struct bcm_sf2_priv *priv,
> static struct cfp_rule *bcm_sf2_cfp_rule_find(struct bcm_sf2_priv *priv,
> int port, u32 location)
> {
> - struct cfp_rule *rule = NULL;
> + struct cfp_rule *rule;
>
> list_for_each_entry(rule, &priv->cfp.rules_list, next) {
> if (rule->port == port && rule->fs.location == location)
> - break;
> + return rule;
> }
>
> - return rule;
> + return NULL;
> }
>
> static int bcm_sf2_cfp_rule_cmp(struct bcm_sf2_priv *priv, int port,
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
2022-03-27 18:58 ` Vladimir Oltean
@ 2022-03-28 2:35 ` Xiaomeng Tong
2022-03-28 2:51 ` Florian Fainelli
1 sibling, 0 replies; 5+ messages in thread
From: Xiaomeng Tong @ 2022-03-28 2:35 UTC (permalink / raw)
To: olteanv
Cc: andrew, davem, f.fainelli, kuba, linux-kernel, netdev, pabeni,
stable, vivien.didelot, xiam0nd.tong
On Sun, 27 Mar 2022 21:58:05 +0300, Vladimir Oltean wrote:
> On Sun, Mar 27, 2022 at 01:55:47PM +0800, Xiaomeng Tong wrote:
> > The bug is here:
> > return rule;
> >
> > The list iterator value 'rule' will *always* be set and non-NULL
> > by list_for_each_entry(), so it is incorrect to assume that the
> > iterator value will be NULL if the list is empty or no element
> > is found.
> >
> > To fix the bug, return 'rule' when found, otherwise return NULL.
> >
> > Cc: stable@vger.kernel.org
> > Fixes: ae7a5aff783c7 ("net: dsa: bcm_sf2: Keep copy of inserted rules")
> > Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
> > ---
>
> The change looks correct, but from a process standpoint for next time
> (a) you should have copied Florian, the driver's maintainer (which I did now)
> who appears on the top of the list in the output of ./get_maintainer.pl
> (b) networking bugfixes that apply to the "net" tree shouldn't need
> stable@vger.kernel.org copied, instead just target the patch against
> the https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
> tree and mark the subject prefix as "[PATCH net]".
>
> Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Thank you for your patient review and good suggestion, i got it.
I'm sorry I forgot to copy Florian.
--
Xiaomeng tong
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
2022-03-27 18:58 ` Vladimir Oltean
2022-03-28 2:35 ` Xiaomeng Tong
@ 2022-03-28 2:51 ` Florian Fainelli
2022-03-28 3:34 ` Xiaomeng Tong
1 sibling, 1 reply; 5+ messages in thread
From: Florian Fainelli @ 2022-03-28 2:51 UTC (permalink / raw)
To: Vladimir Oltean, Xiaomeng Tong
Cc: andrew, vivien.didelot, davem, kuba, pabeni, netdev,
linux-kernel, stable
On 3/27/2022 11:58 AM, Vladimir Oltean wrote:
> On Sun, Mar 27, 2022 at 01:55:47PM +0800, Xiaomeng Tong wrote:
>> The bug is here:
>> return rule;
>>
>> The list iterator value 'rule' will *always* be set and non-NULL
>> by list_for_each_entry(), so it is incorrect to assume that the
>> iterator value will be NULL if the list is empty or no element
>> is found.
>>
>> To fix the bug, return 'rule' when found, otherwise return NULL.
>>
>> Cc: stable@vger.kernel.org
>> Fixes: ae7a5aff783c7 ("net: dsa: bcm_sf2: Keep copy of inserted rules")
>> Signed-off-by: Xiaomeng Tong <xiam0nd.tong@gmail.com>
>> ---
>
> The change looks correct, but from a process standpoint for next time
> (a) you should have copied Florian, the driver's maintainer (which I did now)
> who appears on the top of the list in the output of ./get_maintainer.pl
> (b) networking bugfixes that apply to the "net" tree shouldn't need
> stable@vger.kernel.org copied, instead just target the patch against
> the https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git
> tree and mark the subject prefix as "[PATCH net]".
>
> Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
If you could please resubmit with the subject being:
net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
and add Vladimir's and my tag below:
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
That would be great! Thanks
--
Florian
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH] dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
2022-03-28 2:51 ` Florian Fainelli
@ 2022-03-28 3:34 ` Xiaomeng Tong
0 siblings, 0 replies; 5+ messages in thread
From: Xiaomeng Tong @ 2022-03-28 3:34 UTC (permalink / raw)
To: f.fainelli
Cc: andrew, davem, kuba, linux-kernel, netdev, olteanv, pabeni,
stable, vivien.didelot, xiam0nd.tong
On Sun, 27 Mar 2022 19:51:39 -0700, Florian Fainelli wrote:
> If you could please resubmit with the subject being:
>
> net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator
>
> and add Vladimir's and my tag below:
>
> Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
>
> That would be great! Thanks
I have resubmited as your suggestion, please check it, thank you.
--
Xiaomeng Tong
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-03-28 3:34 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-27 5:55 [PATCH] dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator Xiaomeng Tong
2022-03-27 18:58 ` Vladimir Oltean
2022-03-28 2:35 ` Xiaomeng Tong
2022-03-28 2:51 ` Florian Fainelli
2022-03-28 3:34 ` Xiaomeng Tong
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).