Subject: Re: Are xfrm state_add/delete() calls serialized?

From: Leon Romanovsky <[email-masked]>
Date: Mon, 19 Sep 2022 12:29:53 +0300

On Mon, Sep 12, 2022 at 03:10:12PM +0000, Bharat Bhushan wrote:
> Hi All,
> 
> Have a very basic query related to .xdo_dev_state_add()/delete() ops supported by netdev driver. Can .xdo_dev_state_add()/delete() execute from other core while already in process of handling .xdo_dev_state_add()/delete() on one core? Or these calls are always serialized by stack?

It is protected from userspace callers with xfrm_cfg_mutex in xfrm_netlink_rcv().
However, stack triggered deletion can be in parallel. There is a lock
for that specific SA that is going to be deleted, and it is not global.

> Wanted to know if we need proper locking while handling these ops in driver.
> 
> Thanks
> -Bharat