On 10/11/2021 7:35 AM, Sahithi Singam wrote:
From: Sahithi Singam <sahithi.sin...@oracle.com
<mailto:sahithi.sin...@oracle.com>>
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: ela...@gmail.com <mailto:ela...@gmail.com>
Signed-off-by: Sahithi Singam <sahithi.sin...@oracle.com
<mailto:sahithi.sin...@oracle.com>>
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/20211008235830.127167-1-ferruh.yi...@intel.com/
If they are same, would you be OK to continue with above one?