2022-12-26 09:38:38

by Daniil Tatianin

[permalink] [raw]
Subject: [RESEND PATCH net v1] drivers/net/bonding/bond_3ad: return when there's no aggregator

Otherwise we would dereference a NULL aggregator pointer when calling
__set_agg_ports_ready on the line below.

Found by Linux Verification Center (linuxtesting.org) with the SVACE
static analysis tool.

Signed-off-by: Daniil Tatianin <[email protected]>
---
drivers/net/bonding/bond_3ad.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/bonding/bond_3ad.c b/drivers/net/bonding/bond_3ad.c
index acb6ff0be5ff..320e5461853f 100644
--- a/drivers/net/bonding/bond_3ad.c
+++ b/drivers/net/bonding/bond_3ad.c
@@ -1520,6 +1520,7 @@ static void ad_port_selection_logic(struct port *port, bool *update_slave_arr)
slave_err(bond->dev, port->slave->dev,
"Port %d did not find a suitable aggregator\n",
port->actor_port_number);
+ return;
}
}
/* if all aggregator's ports are READY_N == TRUE, set ready=TRUE
--
2.25.1


2022-12-30 02:31:17

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [RESEND PATCH net v1] drivers/net/bonding/bond_3ad: return when there's no aggregator

On Mon, 26 Dec 2022 11:43:53 +0300 Daniil Tatianin wrote:
> Otherwise we would dereference a NULL aggregator pointer when calling
> __set_agg_ports_ready on the line below.

Fixes tag, please?

2022-12-30 09:05:45

by Daniil Tatianin

[permalink] [raw]
Subject: Re: [RESEND PATCH net v1] drivers/net/bonding/bond_3ad: return when there's no aggregator

On 12/30/22 5:22 AM, Jakub Kicinski wrote:
> On Mon, 26 Dec 2022 11:43:53 +0300 Daniil Tatianin wrote:
>> Otherwise we would dereference a NULL aggregator pointer when calling
>> __set_agg_ports_ready on the line below.
>
> Fixes tag, please?
Looks like this code was introduced with the initial git import.
Would that still be useful?

2022-12-31 05:43:57

by Jakub Kicinski

[permalink] [raw]
Subject: Re: [RESEND PATCH net v1] drivers/net/bonding/bond_3ad: return when there's no aggregator

On Fri, 30 Dec 2022 11:44:02 +0300 Daniil Tatianin wrote:
> On 12/30/22 5:22 AM, Jakub Kicinski wrote:
> > On Mon, 26 Dec 2022 11:43:53 +0300 Daniil Tatianin wrote:
> >> Otherwise we would dereference a NULL aggregator pointer when calling
> >> __set_agg_ports_ready on the line below.
> >
> > Fixes tag, please?
> Looks like this code was introduced with the initial git import.
> Would that still be useful?

yessir, the point is to let backporters know how far the bug goes.
The initial import is our local equivalent of infinity, for all
practical purposes.

2023-01-02 10:26:21

by Daniil Tatianin

[permalink] [raw]
Subject: Re: [RESEND PATCH net v1] drivers/net/bonding/bond_3ad: return when there's no aggregator

On 12/31/22 6:55 AM, Jakub Kicinski wrote:
> On Fri, 30 Dec 2022 11:44:02 +0300 Daniil Tatianin wrote:
>> On 12/30/22 5:22 AM, Jakub Kicinski wrote:
>>> On Mon, 26 Dec 2022 11:43:53 +0300 Daniil Tatianin wrote:
>>>> Otherwise we would dereference a NULL aggregator pointer when calling
>>>> __set_agg_ports_ready on the line below.
>>>
>>> Fixes tag, please?
>> Looks like this code was introduced with the initial git import.
>> Would that still be useful?
>
> yessir, the point is to let backporters know how far the bug goes.
> The initial import is our local equivalent of infinity, for all
> practical purposes.
Gotcha, thanks for letting me know!