)]}'
{
  "commit": "5e5e95a86ea3aa15d83654ec3752451959a689e6",
  "tree": "d7c53621ed310302cf1a614db33df0ddbd424f9b",
  "parents": [
    "616588959db12f1e1184d068cab4ada71dcb60a6"
  ],
  "author": {
    "name": "Dave Chinner",
    "email": "dchinner@redhat.com",
    "time": "Wed Dec 06 10:43:38 2023 +1100"
  },
  "committer": {
    "name": "Dave Chinner",
    "email": "david@fromorbit.com",
    "time": "Wed Dec 06 10:43:38 2023 +1100"
  },
  "message": "hlist-bl: introduced nested locking for dm-snap\n\nTesting with lockdep enabled threw this warning from generic/081 in\nfstests:\n\n[ 2369.724151] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 2369.725805] WARNING: possible recursive locking detected\n[ 2369.727125] 6.7.0-rc2-dgc+ #1952 Not tainted\n[ 2369.728647] --------------------------------------------\n[ 2369.730197] systemd-udevd/389493 is trying to acquire lock:\n[ 2369.732378] ffff888116a1a320 (\u0026(et-\u003etable + i)-\u003elock){+.+.}-{2:2}, at: snapshot_map+0x13e/0x7f0\n[ 2369.736197]\n               but task is already holding lock:\n[ 2369.738657] ffff8881098a4fd0 (\u0026(et-\u003etable + i)-\u003elock){+.+.}-{2:2}, at: snapshot_map+0x136/0x7f0\n[ 2369.742118]\n               other info that might help us debug this:\n[ 2369.744403]  Possible unsafe locking scenario:\n\n[ 2369.746814]        CPU0\n[ 2369.747675]        ----\n[ 2369.748496]   lock(\u0026(et-\u003etable + i)-\u003elock);\n[ 2369.749877]   lock(\u0026(et-\u003etable + i)-\u003elock);\n[ 2369.751241]\n                *** DEADLOCK ***\n\n[ 2369.753173]  May be due to missing lock nesting notation\n\n[ 2369.754963] 4 locks held by systemd-udevd/389493:\n[ 2369.756124]  #0: ffff88811b3a1f48 (mapping.invalidate_lock#2){++++}-{3:3}, at: page_cache_ra_unbounded+0x69/0x190\n[ 2369.758516]  #1: ffff888121ceff10 (\u0026md-\u003eio_barrier){.+.+}-{0:0}, at: dm_get_live_table+0x52/0xd0\n[ 2369.760888]  #2: ffff888110240078 (\u0026s-\u003elock#2){++++}-{3:3}, at: snapshot_map+0x12e/0x7f0\n[ 2369.763254]  #3: ffff8881098a4fd0 (\u0026(et-\u003etable + i)-\u003elock){+.+.}-{2:2}, at: snapshot_map+0x136/0x7f0\n[ 2369.765896]\n               stack backtrace:\n[ 2369.767429] CPU: 3 PID: 389493 Comm: systemd-udevd Not tainted 6.7.0-rc2-dgc+ #1952\n[ 2369.770203] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014\n[ 2369.773771] Call Trace:\n[ 2369.774657]  \u003cTASK\u003e\n[ 2369.775494]  dump_stack_lvl+0x5c/0xc0\n[ 2369.776765]  dump_stack+0x10/0x20\n[ 2369.778031]  print_deadlock_bug+0x220/0x2f0\n[ 2369.779568]  __lock_acquire+0x1255/0x2180\n[ 2369.781013]  lock_acquire+0xb9/0x2c0\n[ 2369.782456]  ? snapshot_map+0x13e/0x7f0\n[ 2369.783927]  ? snapshot_map+0x136/0x7f0\n[ 2369.785240]  _raw_spin_lock+0x34/0x70\n[ 2369.786413]  ? snapshot_map+0x13e/0x7f0\n[ 2369.787482]  snapshot_map+0x13e/0x7f0\n[ 2369.788462]  ? lockdep_init_map_type+0x75/0x250\n[ 2369.789650]  __map_bio+0x1d7/0x200\n[ 2369.790364]  dm_submit_bio+0x17d/0x570\n[ 2369.791387]  __submit_bio+0x4a/0x80\n[ 2369.792215]  submit_bio_noacct_nocheck+0x108/0x350\n[ 2369.793357]  submit_bio_noacct+0x115/0x450\n[ 2369.794334]  submit_bio+0x43/0x60\n[ 2369.795112]  mpage_readahead+0xf1/0x130\n[ 2369.796037]  ? blkdev_write_begin+0x30/0x30\n[ 2369.797007]  blkdev_readahead+0x15/0x20\n[ 2369.797893]  read_pages+0x5c/0x230\n[ 2369.798703]  page_cache_ra_unbounded+0x143/0x190\n[ 2369.799810]  force_page_cache_ra+0x9a/0xc0\n[ 2369.800754]  page_cache_sync_ra+0x2e/0x50\n[ 2369.801704]  filemap_get_pages+0x112/0x630\n[ 2369.802696]  ? __lock_acquire+0x413/0x2180\n[ 2369.803663]  filemap_read+0xfc/0x3a0\n[ 2369.804527]  ? __might_sleep+0x42/0x70\n[ 2369.805443]  blkdev_read_iter+0x6d/0x150\n[ 2369.806370]  vfs_read+0x1a6/0x2d0\n[ 2369.807148]  ksys_read+0x71/0xf0\n[ 2369.807936]  __x64_sys_read+0x19/0x20\n[ 2369.808810]  do_syscall_64+0x3c/0xe0\n[ 2369.809746]  entry_SYSCALL_64_after_hwframe+0x63/0x6b\n[ 2369.810914] RIP: 0033:0x7f9f14dbb03d\n\nTurns out that dm-snap holds two hash-bl locks at the same time,\nso we need nesting semantics to ensure lockdep understands what is\ngoing on.\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "bf7a574499a34d3aba7d23cc93507abe4fca528d",
      "old_mode": 33188,
      "old_path": "drivers/md/dm-snap.c",
      "new_id": "cd97d5cb295d3211fa8ccdbd02dee671b50c0820",
      "new_mode": 33188,
      "new_path": "drivers/md/dm-snap.c"
    },
    {
      "type": "modify",
      "old_id": "990ad8e24e0b8083206a419bdf274a1232308bad",
      "old_mode": 33188,
      "old_path": "include/linux/list_bl.h",
      "new_id": "0e3e60c1056357832601797ab043d51c530b4cd8",
      "new_mode": 33188,
      "new_path": "include/linux/list_bl.h"
    }
  ]
}
