https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8861249c740f

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1704319

Title:
  [Bug] Crystal Ridge - 4.12 - device-dax: fix sysfs attribute deadlock

Status in intel:
  Fix Released
Status in linux package in Ubuntu:
  Fix Released
Status in linux source package in Artful:
  Fix Released

Bug description:
  Description:

  
  Usage of device_lock() for dax_region attributes is unnecessary and
  deadlock prone. It's unnecessary because the order of registration /
  un-registration guarantees that drvdata is always valid. It's deadlock
  prone because it sets up this situation:

  ndctl D 0 2170 2082 0x00000000
  Call Trace:
  __schedule+0x31f/0x980
  schedule+0x3d/0x90
  schedule_preempt_disabled+0x15/0x20
  __mutex_lock+0x402/0x980
  ? __mutex_lock+0x158/0x980
  ? align_show+0x2b/0x80 [dax]
  ? kernfs_seq_start+0x2f/0x90
  mutex_lock_nested+0x1b/0x20
  align_show+0x2b/0x80 [dax]
  dev_attr_show+0x20/0x50

  ndctl D 0 2186 2079 0x00000000
  Call Trace:
  __schedule+0x31f/0x980
  schedule+0x3d/0x90
  __kernfs_remove+0x1f6/0x340
  ? kernfs_remove_by_name_ns+0x45/0xa0
  ? remove_wait_queue+0x70/0x70
  kernfs_remove_by_name_ns+0x45/0xa0
  remove_files.isra.1+0x35/0x70
  sysfs_remove_group+0x44/0x90
  sysfs_remove_groups+0x2e/0x50
  dax_region_unregister+0x25/0x40 [dax]
  devm_action_release+0xf/0x20
  release_nodes+0x16d/0x2b0
  devres_release_all+0x3c/0x60
  device_release_driver_internal+0x17d/0x220
  device_release_driver+0x12/0x20
  unbind_store+0x112/0x160

  ndctl/2170 is trying to acquire the device_lock() to read an attribute,
  and ndctl/2186 is holding the device_lock() while trying to drain all
  active attribute readers.

  
  Target Kernel:4.12
  Target Release: 17.10

To manage notifications about this bug go to:
https://bugs.launchpad.net/intel/+bug/1704319/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to