On 10/11/2021 7:35 AM, Sahithi Singam wrote:
From: Sahithi Singam <[email protected] <mailto:[email protected]>>Async user request changes resulted in a kernel deadlock when used with linux kernel version>= 5.12. Starting from linux kernel version 5.12, a new global semaphore dev_addr_sem was introduced in dev_set_mac_address_user() function that should be acquired and released along with rtnl_lock when a mac address set request was received from userspace. When a mac address set request is received on KNI interface, before sending request to userspace, kni code is releasing rtnl_lock without releasing dev_addr_sem semaphore. After receiving a response it is again trying to hold rtnl_lock. These changes were added as part of async user request changes to fix a kernel deadlock with bifurcated devices. This code is resulting in deadlock as kni is just releasing rtnl_lock without releasing semaphore while mac address set request on some other deviceĀ could have acquired rtnl_lock and could be waiting for dev_addr_sem held by the current device. As a solution, support async user request changes based on a module parameter. This will limit kernel deadlock issue to users using KNI over bifurcated devices with kernel versions >= 5.12. Bugzilla ID: 816 Fixes: 631217c76135 ("kni: fix kernel deadlock with bifurcated device") Cc: [email protected] <mailto:[email protected]> Signed-off-by: Sahithi Singam <[email protected] <mailto:[email protected]>>
Hi Sahithi, Since the patch is in html format, it is not detected by patchwork and we missed it. Can you please check if this patch different from the one I have sent for same purpose: https://patches.dpdk.org/project/dpdk/patch/[email protected]/ If they are same, would you be OK to continue with above one?

