Message ID | 20221108140614.12968-1-yuehaibing@huawei.com (mailing list archive) |
---|---|
State | Awaiting Upstream |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | [v2] net/mlx5e: Use kvfree() in mlx5e_accel_fs_tcp_create() | expand |
On 11/8/2022 4:06 PM, YueHaibing wrote: > 'accel_tcp' is allocted by kvzalloc(), which should freed by kvfree(). > > Fixes: f52f2faee581 ("net/mlx5e: Introduce flow steering API") > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > --- > v2: fix the same issue in mlx5e_accel_fs_tcp_destroy() and a commit log typo > --- > drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c > index 285d32d2fd08..d7c020f72401 100644 > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c > @@ -365,7 +365,7 @@ void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs) > for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) > accel_fs_tcp_destroy_table(fs, i); > > - kfree(accel_tcp); > + kvfree(accel_tcp); > mlx5e_fs_set_accel_tcp(fs, NULL); > } > > @@ -397,7 +397,7 @@ int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) > err_destroy_tables: > while (--i >= 0) > accel_fs_tcp_destroy_table(fs, i); > - kfree(accel_tcp); > + kvfree(accel_tcp); > mlx5e_fs_set_accel_tcp(fs, NULL); > return err; > } Reviewed-by: Tariq Toukan <tariqt@nvidia.com> Thanks for your patch.
On Tue, Nov 8, 2022 at 9:58 AM Tariq Toukan <ttoukan.linux@gmail.com> wrote: > > > > On 11/8/2022 4:06 PM, YueHaibing wrote: > > 'accel_tcp' is allocted by kvzalloc(), which should freed by kvfree(). > > > > Fixes: f52f2faee581 ("net/mlx5e: Introduce flow steering API") > > Signed-off-by: YueHaibing <yuehaibing@huawei.com> > > --- > > v2: fix the same issue in mlx5e_accel_fs_tcp_destroy() and a commit log typo > > --- > > drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c > > index 285d32d2fd08..d7c020f72401 100644 > > --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c > > +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c > > @@ -365,7 +365,7 @@ void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs) > > for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) > > accel_fs_tcp_destroy_table(fs, i); > > > > - kfree(accel_tcp); > > + kvfree(accel_tcp); > > mlx5e_fs_set_accel_tcp(fs, NULL); > > } > > > > @@ -397,7 +397,7 @@ int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) > > err_destroy_tables: > > while (--i >= 0) > > accel_fs_tcp_destroy_table(fs, i); > > - kfree(accel_tcp); > > + kvfree(accel_tcp); > > mlx5e_fs_set_accel_tcp(fs, NULL); > > return err; > > } > > Reviewed-by: Tariq Toukan <tariqt@nvidia.com> > > Thanks for your patch. Although this structure is 64 bytes... Not sure why kvmalloc() has been used for this small chunk.
On 11/8/2022 9:45 PM, Eric Dumazet wrote: > On Tue, Nov 8, 2022 at 9:58 AM Tariq Toukan <ttoukan.linux@gmail.com> wrote: >> >> >> >> On 11/8/2022 4:06 PM, YueHaibing wrote: >>> 'accel_tcp' is allocted by kvzalloc(), which should freed by kvfree(). >>> >>> Fixes: f52f2faee581 ("net/mlx5e: Introduce flow steering API") >>> Signed-off-by: YueHaibing <yuehaibing@huawei.com> >>> --- >>> v2: fix the same issue in mlx5e_accel_fs_tcp_destroy() and a commit log typo >>> --- >>> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 4 ++-- >>> 1 file changed, 2 insertions(+), 2 deletions(-) >>> >>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c >>> index 285d32d2fd08..d7c020f72401 100644 >>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c >>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c >>> @@ -365,7 +365,7 @@ void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs) >>> for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) >>> accel_fs_tcp_destroy_table(fs, i); >>> >>> - kfree(accel_tcp); >>> + kvfree(accel_tcp); >>> mlx5e_fs_set_accel_tcp(fs, NULL); >>> } >>> >>> @@ -397,7 +397,7 @@ int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) >>> err_destroy_tables: >>> while (--i >= 0) >>> accel_fs_tcp_destroy_table(fs, i); >>> - kfree(accel_tcp); >>> + kvfree(accel_tcp); >>> mlx5e_fs_set_accel_tcp(fs, NULL); >>> return err; >>> } >> >> Reviewed-by: Tariq Toukan <tariqt@nvidia.com> >> >> Thanks for your patch. > > Although this structure is 64 bytes... Not sure why kvmalloc() has > been used for this small chunk. It's a small chunk indeed. Unnecessary usage of kvmalloc. Although it's not critical (used only in slowpath), it'd be nice to clean it up and directly call kzalloc, instead of aligning the kfree(). YueHaibing, can you please submit a v3 for this? Regards, Tariq
On 2022/11/10 15:31, Tariq Toukan wrote: > > > On 11/8/2022 9:45 PM, Eric Dumazet wrote: >> On Tue, Nov 8, 2022 at 9:58 AM Tariq Toukan <ttoukan.linux@gmail.com> wrote: >>> >>> >>> >>> On 11/8/2022 4:06 PM, YueHaibing wrote: >>>> 'accel_tcp' is allocted by kvzalloc(), which should freed by kvfree(). >>>> >>>> Fixes: f52f2faee581 ("net/mlx5e: Introduce flow steering API") >>>> Signed-off-by: YueHaibing <yuehaibing@huawei.com> >>>> --- >>>> v2: fix the same issue in mlx5e_accel_fs_tcp_destroy() and a commit log typo >>>> --- >>>> drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 4 ++-- >>>> 1 file changed, 2 insertions(+), 2 deletions(-) >>>> >>>> diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c >>>> index 285d32d2fd08..d7c020f72401 100644 >>>> --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c >>>> +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c >>>> @@ -365,7 +365,7 @@ void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs) >>>> for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) >>>> accel_fs_tcp_destroy_table(fs, i); >>>> >>>> - kfree(accel_tcp); >>>> + kvfree(accel_tcp); >>>> mlx5e_fs_set_accel_tcp(fs, NULL); >>>> } >>>> >>>> @@ -397,7 +397,7 @@ int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) >>>> err_destroy_tables: >>>> while (--i >= 0) >>>> accel_fs_tcp_destroy_table(fs, i); >>>> - kfree(accel_tcp); >>>> + kvfree(accel_tcp); >>>> mlx5e_fs_set_accel_tcp(fs, NULL); >>>> return err; >>>> } >>> >>> Reviewed-by: Tariq Toukan <tariqt@nvidia.com> >>> >>> Thanks for your patch. >> >> Although this structure is 64 bytes... Not sure why kvmalloc() has >> been used for this small chunk. > > It's a small chunk indeed. Unnecessary usage of kvmalloc. > > Although it's not critical (used only in slowpath), it'd be nice to clean it up and directly call kzalloc, instead of aligning the kfree(). > > YueHaibing, can you please submit a v3 for this? Sure, will resend. > > Regards, > Tariq > .
diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c index 285d32d2fd08..d7c020f72401 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c @@ -365,7 +365,7 @@ void mlx5e_accel_fs_tcp_destroy(struct mlx5e_flow_steering *fs) for (i = 0; i < ACCEL_FS_TCP_NUM_TYPES; i++) accel_fs_tcp_destroy_table(fs, i); - kfree(accel_tcp); + kvfree(accel_tcp); mlx5e_fs_set_accel_tcp(fs, NULL); } @@ -397,7 +397,7 @@ int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) err_destroy_tables: while (--i >= 0) accel_fs_tcp_destroy_table(fs, i); - kfree(accel_tcp); + kvfree(accel_tcp); mlx5e_fs_set_accel_tcp(fs, NULL); return err; }
'accel_tcp' is allocted by kvzalloc(), which should freed by kvfree(). Fixes: f52f2faee581 ("net/mlx5e: Introduce flow steering API") Signed-off-by: YueHaibing <yuehaibing@huawei.com> --- v2: fix the same issue in mlx5e_accel_fs_tcp_destroy() and a commit log typo --- drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)