mbox series

[net,V6,0/3] Fixes for IPsec over bonding

Message ID 20240823031056.110999-1-jianbol@nvidia.com (mailing list archive)
Headers show
Series Fixes for IPsec over bonding | expand

Message

Jianbo Liu Aug. 23, 2024, 3:10 a.m. UTC
Hi,

This patchset provides bug fixes for IPsec over bonding driver.

It adds the missing xdo_dev_state_free API, and fixes "scheduling while
atomic" by using mutex lock instead.

Series generated against:
commit c07ff8592d57 ("netem: fix return value if duplicate enqueue fails")

Thanks!
Jianbo

V6
- Add netdev_hold/netdev_put to prevent real_dev from being freed for
  bond_ipsec_add_sa, bond_ipsec_del_sa and bond_ipsec_free_sa.

V5:
- Rebased.
- Removed state deletion/free in bond_ipsec_add_sa_all() added before,
  as real_dev is not set to NULL in Nikolay's patch. 

V4:
- Add to all patches: Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>.
- Update commit message in patch 1 (Jakub).

V3:
- Add RCU read lock/unlock for bond_ipsec_add_sa, bond_ipsec_del_sa and bond_ipsec_free_sa.

V2:
- Rebased on top of latest net branch.
- Squashed patch #2 into #1 per Hangbin comment.
- Addressed Hangbin's comments.
- Patch #3 (was #4): Addressed comments by Paolo.

Jianbo Liu (3):
  bonding: implement xdo_dev_state_free and call it after deletion
  bonding: extract the use of real_device into local variable
  bonding: change ipsec_lock from spin lock to mutex

 drivers/net/bonding/bond_main.c | 159 +++++++++++++++++++++-----------
 include/net/bonding.h           |   2 +-
 2 files changed, 106 insertions(+), 55 deletions(-)

Comments

Jay Vosburgh Aug. 23, 2024, 8:33 p.m. UTC | #1
Jianbo Liu <jianbol@nvidia.com> wrote:

>Hi,
>
>This patchset provides bug fixes for IPsec over bonding driver.
>
>It adds the missing xdo_dev_state_free API, and fixes "scheduling while
>atomic" by using mutex lock instead.
>
>Series generated against:
>commit c07ff8592d57 ("netem: fix return value if duplicate enqueue fails")
>
>Thanks!
>Jianbo

	I am not sufficiently familiar with the innards of IPsec to
comment on whether or not those aspects are correct, but the the other
changes look good to me.

	For the series:

Acked-by: Jay Vosburgh <jv@jvosburgh.net>

	-J

>V6
>- Add netdev_hold/netdev_put to prevent real_dev from being freed for
>  bond_ipsec_add_sa, bond_ipsec_del_sa and bond_ipsec_free_sa.
>
>V5:
>- Rebased.
>- Removed state deletion/free in bond_ipsec_add_sa_all() added before,
>  as real_dev is not set to NULL in Nikolay's patch. 
>
>V4:
>- Add to all patches: Reviewed-by: Hangbin Liu <liuhangbin@gmail.com>.
>- Update commit message in patch 1 (Jakub).
>
>V3:
>- Add RCU read lock/unlock for bond_ipsec_add_sa, bond_ipsec_del_sa and bond_ipsec_free_sa.
>
>V2:
>- Rebased on top of latest net branch.
>- Squashed patch #2 into #1 per Hangbin comment.
>- Addressed Hangbin's comments.
>- Patch #3 (was #4): Addressed comments by Paolo.
>
>Jianbo Liu (3):
>  bonding: implement xdo_dev_state_free and call it after deletion
>  bonding: extract the use of real_device into local variable
>  bonding: change ipsec_lock from spin lock to mutex
>
> drivers/net/bonding/bond_main.c | 159 +++++++++++++++++++++-----------
> include/net/bonding.h           |   2 +-
> 2 files changed, 106 insertions(+), 55 deletions(-)
>
>-- 
>2.21.0
>

---
	-Jay Vosburgh, jv@jvosburgh.net
patchwork-bot+netdevbpf@kernel.org Aug. 27, 2024, 8:20 p.m. UTC | #2
Hello:

This series was applied to netdev/net.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 23 Aug 2024 06:10:53 +0300 you wrote:
> Hi,
> 
> This patchset provides bug fixes for IPsec over bonding driver.
> 
> It adds the missing xdo_dev_state_free API, and fixes "scheduling while
> atomic" by using mutex lock instead.
> 
> [...]

Here is the summary with links:
  - [net,V6,1/3] bonding: implement xdo_dev_state_free and call it after deletion
    https://git.kernel.org/netdev/net/c/ec13009472f4
  - [net,V6,2/3] bonding: extract the use of real_device into local variable
    https://git.kernel.org/netdev/net/c/907ed83a7583
  - [net,V6,3/3] bonding: change ipsec_lock from spin lock to mutex
    https://git.kernel.org/netdev/net/c/2aeeef906d5a

You are awesome, thank you!