* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-11-30 10:01 [PATCH net] net/mlx5: DR, prevent potential error pointer dereference Dan Carpenter
@ 2024-12-03 0:25 ` Yevgeny Kliteynik
2024-12-03 9:32 ` Mateusz Polchlopek
2024-12-05 9:02 ` Kalesh Anakkur Purayil
2 siblings, 0 replies; 10+ messages in thread
From: Yevgeny Kliteynik @ 2024-12-03 0:25 UTC (permalink / raw)
To: Dan Carpenter
Cc: Saeed Mahameed, Leon Romanovsky, Tariq Toukan, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On 30-Nov-24 12:01, Dan Carpenter wrote:
> The dr_domain_add_vport_cap() function genereally returns NULL on error
> but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
> retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
> and if it's and -ENOMEM then the error pointer is propogated back and
> eventually dereferenced in dr_ste_v0_build_src_gvmi_qpn_tag().
>
> Fixes: 11a45def2e19 ("net/mlx5: DR, Add support for SF vports")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
> .../net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c
> index 3d74109f8230..a379e8358f82 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c
> @@ -297,6 +297,8 @@ dr_domain_add_vport_cap(struct mlx5dr_domain *dmn, u16 vport)
> if (ret) {
> mlx5dr_dbg(dmn, "Couldn't insert new vport into xarray (%d)\n", ret);
> kvfree(vport_caps);
> + if (ret != -EBUSY)
> + return NULL;
> return ERR_PTR(ret);
> }
>
Thanks Dan,
Reviewed-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-11-30 10:01 [PATCH net] net/mlx5: DR, prevent potential error pointer dereference Dan Carpenter
2024-12-03 0:25 ` Yevgeny Kliteynik
@ 2024-12-03 9:32 ` Mateusz Polchlopek
2024-12-03 9:39 ` Dan Carpenter
2024-12-05 9:02 ` Kalesh Anakkur Purayil
2 siblings, 1 reply; 10+ messages in thread
From: Mateusz Polchlopek @ 2024-12-03 9:32 UTC (permalink / raw)
To: Dan Carpenter, Yevgeny Kliteynik
Cc: Saeed Mahameed, Leon Romanovsky, Tariq Toukan, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On 11/30/2024 11:01 AM, Dan Carpenter wrote:
> The dr_domain_add_vport_cap() function genereally returns NULL on error
Typo. Should be "generally"
> but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
> retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
Please remove unnecessary space.
> and if it's and -ENOMEM then the error pointer is propogated back and
> eventually dereferenced in dr_ste_v0_build_src_gvmi_qpn_tag().
>
> Fixes: 11a45def2e19 ("net/mlx5: DR, Add support for SF vports")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
> ---
> .../net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c
> index 3d74109f8230..a379e8358f82 100644
> --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c
> +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c
> @@ -297,6 +297,8 @@ dr_domain_add_vport_cap(struct mlx5dr_domain *dmn, u16 vport)
> if (ret) {
> mlx5dr_dbg(dmn, "Couldn't insert new vport into xarray (%d)\n", ret);
> kvfree(vport_caps);
> + if (ret != -EBUSY)
> + return NULL;
> return ERR_PTR(ret);
> }
>
When applied those comments please add my RB tag.
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-12-03 9:32 ` Mateusz Polchlopek
@ 2024-12-03 9:39 ` Dan Carpenter
2024-12-03 9:44 ` Yevgeny Kliteynik
0 siblings, 1 reply; 10+ messages in thread
From: Dan Carpenter @ 2024-12-03 9:39 UTC (permalink / raw)
To: Mateusz Polchlopek
Cc: Yevgeny Kliteynik, Saeed Mahameed, Leon Romanovsky, Tariq Toukan,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On Tue, Dec 03, 2024 at 10:32:13AM +0100, Mateusz Polchlopek wrote:
>
>
> On 11/30/2024 11:01 AM, Dan Carpenter wrote:
> > The dr_domain_add_vport_cap() function genereally returns NULL on error
>
> Typo. Should be "generally"
>
Sure.
> > but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
> > retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
>
> Please remove unnecessary space.
>
What are you talking about?
regards,
dan carpenter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-12-03 9:39 ` Dan Carpenter
@ 2024-12-03 9:44 ` Yevgeny Kliteynik
2024-12-03 9:49 ` Dan Carpenter
2024-12-03 10:02 ` Mateusz Polchlopek
0 siblings, 2 replies; 10+ messages in thread
From: Yevgeny Kliteynik @ 2024-12-03 9:44 UTC (permalink / raw)
To: Dan Carpenter, Mateusz Polchlopek
Cc: Saeed Mahameed, Leon Romanovsky, Tariq Toukan, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On 03-Dec-24 11:39, Dan Carpenter wrote:
> On Tue, Dec 03, 2024 at 10:32:13AM +0100, Mateusz Polchlopek wrote:
>>
>>
>> On 11/30/2024 11:01 AM, Dan Carpenter wrote:
>>> The dr_domain_add_vport_cap() function genereally returns NULL on error
>>
>> Typo. Should be "generally"
>>
>
> Sure.
>
>>> but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
>>> retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
>>
>> Please remove unnecessary space.
>>
>
> What are you talking about?
Oh, I see it :)
Double space between "retry." and "The"
-- YK
> regards,
> dan carpenter
>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-12-03 9:44 ` Yevgeny Kliteynik
@ 2024-12-03 9:49 ` Dan Carpenter
2024-12-03 10:02 ` Mateusz Polchlopek
1 sibling, 0 replies; 10+ messages in thread
From: Dan Carpenter @ 2024-12-03 9:49 UTC (permalink / raw)
To: Yevgeny Kliteynik
Cc: Mateusz Polchlopek, Saeed Mahameed, Leon Romanovsky, Tariq Toukan,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On Tue, Dec 03, 2024 at 11:44:12AM +0200, Yevgeny Kliteynik wrote:
> On 03-Dec-24 11:39, Dan Carpenter wrote:
> > On Tue, Dec 03, 2024 at 10:32:13AM +0100, Mateusz Polchlopek wrote:
> > >
> > >
> > > On 11/30/2024 11:01 AM, Dan Carpenter wrote:
> > > > The dr_domain_add_vport_cap() function genereally returns NULL on error
> > >
> > > Typo. Should be "generally"
> > >
> >
> > Sure.
> >
> > > > but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
> > > > retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
> > >
> > > Please remove unnecessary space.
> > >
> >
> > What are you talking about?
>
> Oh, I see it :)
> Double space between "retry." and "The"
I'm old. I'm still using fixed width fonts in my editor so I still use
the old school rules.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-12-03 9:44 ` Yevgeny Kliteynik
2024-12-03 9:49 ` Dan Carpenter
@ 2024-12-03 10:02 ` Mateusz Polchlopek
2024-12-05 8:32 ` Leon Romanovsky
1 sibling, 1 reply; 10+ messages in thread
From: Mateusz Polchlopek @ 2024-12-03 10:02 UTC (permalink / raw)
To: Yevgeny Kliteynik, Dan Carpenter
Cc: Saeed Mahameed, Leon Romanovsky, Tariq Toukan, Andrew Lunn,
David S. Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On 12/3/2024 10:44 AM, Yevgeny Kliteynik wrote:
> On 03-Dec-24 11:39, Dan Carpenter wrote:
>> On Tue, Dec 03, 2024 at 10:32:13AM +0100, Mateusz Polchlopek wrote:
>>>
>>>
>>> On 11/30/2024 11:01 AM, Dan Carpenter wrote:
>>>> The dr_domain_add_vport_cap() function genereally returns NULL on error
>>>
>>> Typo. Should be "generally"
>>>
>>
>> Sure.
>>
>>>> but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
>>>> retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
>>>
>>> Please remove unnecessary space.
>>>
>>
>> What are you talking about?
>
> Oh, I see it :)
> Double space between "retry." and "The"
>
> -- YK
>
Yup, exactly. Sorry, I could point it.
>> regards,
>> dan carpenter
>>
>>
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-12-03 10:02 ` Mateusz Polchlopek
@ 2024-12-05 8:32 ` Leon Romanovsky
2024-12-05 8:53 ` Mateusz Polchlopek
0 siblings, 1 reply; 10+ messages in thread
From: Leon Romanovsky @ 2024-12-05 8:32 UTC (permalink / raw)
To: Mateusz Polchlopek
Cc: Yevgeny Kliteynik, Dan Carpenter, Saeed Mahameed, Tariq Toukan,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On Tue, Dec 03, 2024 at 11:02:15AM +0100, Mateusz Polchlopek wrote:
>
>
> On 12/3/2024 10:44 AM, Yevgeny Kliteynik wrote:
> > On 03-Dec-24 11:39, Dan Carpenter wrote:
> > > On Tue, Dec 03, 2024 at 10:32:13AM +0100, Mateusz Polchlopek wrote:
> > > >
> > > >
> > > > On 11/30/2024 11:01 AM, Dan Carpenter wrote:
> > > > > The dr_domain_add_vport_cap() function genereally returns NULL on error
> > > >
> > > > Typo. Should be "generally"
> > > >
> > >
> > > Sure.
> > >
> > > > > but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
> > > > > retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
> > > >
> > > > Please remove unnecessary space.
> > > >
> > >
> > > What are you talking about?
> >
> > Oh, I see it :)
> > Double space between "retry." and "The"
> >
> > -- YK
> >
>
> Yup, exactly. Sorry, I could point it.
Double space after period is perfectly valid typographic style. It is
with us for last 250 years.
Thanks
>
>
> > > regards,
> > > dan carpenter
> > >
> > >
> >
>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-12-05 8:32 ` Leon Romanovsky
@ 2024-12-05 8:53 ` Mateusz Polchlopek
0 siblings, 0 replies; 10+ messages in thread
From: Mateusz Polchlopek @ 2024-12-05 8:53 UTC (permalink / raw)
To: Leon Romanovsky
Cc: Yevgeny Kliteynik, Dan Carpenter, Saeed Mahameed, Tariq Toukan,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
On 12/5/2024 9:32 AM, Leon Romanovsky wrote:
> On Tue, Dec 03, 2024 at 11:02:15AM +0100, Mateusz Polchlopek wrote:
>>
>>
>> On 12/3/2024 10:44 AM, Yevgeny Kliteynik wrote:
>>> On 03-Dec-24 11:39, Dan Carpenter wrote:
>>>> On Tue, Dec 03, 2024 at 10:32:13AM +0100, Mateusz Polchlopek wrote:
>>>>>
>>>>>
>>>>> On 11/30/2024 11:01 AM, Dan Carpenter wrote:
>>>>>> The dr_domain_add_vport_cap() function genereally returns NULL on error
>>>>>
>>>>> Typo. Should be "generally"
>>>>>
>>>>
>>>> Sure.
>>>>
>>>>>> but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
>>>>>> retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
>>>>>
>>>>> Please remove unnecessary space.
>>>>>
>>>>
>>>> What are you talking about?
>>>
>>> Oh, I see it :)
>>> Double space between "retry." and "The"
>>>
>>> -- YK
>>>
>>
>> Yup, exactly. Sorry, I could point it.
>
> Double space after period is perfectly valid typographic style. It is
> with us for last 250 years.
>
> Thanks
>
Cool, thanks for explanation and please forget about this unnecessary
nitpick :)
Thanks
>>
>>
>>>> regards,
>>>> dan carpenter
>>>>
>>>>
>>>
>>
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH net] net/mlx5: DR, prevent potential error pointer dereference
2024-11-30 10:01 [PATCH net] net/mlx5: DR, prevent potential error pointer dereference Dan Carpenter
2024-12-03 0:25 ` Yevgeny Kliteynik
2024-12-03 9:32 ` Mateusz Polchlopek
@ 2024-12-05 9:02 ` Kalesh Anakkur Purayil
2 siblings, 0 replies; 10+ messages in thread
From: Kalesh Anakkur Purayil @ 2024-12-05 9:02 UTC (permalink / raw)
To: Dan Carpenter
Cc: Yevgeny Kliteynik, Saeed Mahameed, Leon Romanovsky, Tariq Toukan,
Andrew Lunn, David S. Miller, Eric Dumazet, Jakub Kicinski,
Paolo Abeni, Muhammad Sammar, netdev, linux-rdma, linux-kernel,
kernel-janitors
[-- Attachment #1: Type: text/plain, Size: 769 bytes --]
On Sat, Nov 30, 2024 at 3:31 PM Dan Carpenter <dan.carpenter@linaro.org> wrote:
>
> The dr_domain_add_vport_cap() function genereally returns NULL on error
> but sometimes we want it to return ERR_PTR(-EBUSY) so the caller can
> retry. The problem here is that "ret" can be either -EBUSY or -ENOMEM
> and if it's and -ENOMEM then the error pointer is propogated back and
> eventually dereferenced in dr_ste_v0_build_src_gvmi_qpn_tag().
>
> Fixes: 11a45def2e19 ("net/mlx5: DR, Add support for SF vports")
> Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
couple of typos in commit log?
s/propogated/propagated
s/genereally/generally
LGTM otherwise
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
--
Regards,
Kalesh A P
[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 4239 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread