diff options
author | Mike Snitzer <snitzer@kernel.org> | 2024-10-23 23:34:42 +0300 |
---|---|---|
committer | Anna Schumaker <anna.schumaker@oracle.com> | 2024-11-04 18:24:19 +0300 |
commit | bc2940869508b7b956a757a26d3b1ebf9546790e (patch) | |
tree | ae7c602b94a639683c5259e0853992986bc59305 /tools/perf/scripts/python/export-to-sqlite.py | |
parent | 40f45ab3814f2aff1ddada629c910aad982fc8e1 (diff) | |
download | linux-bc2940869508b7b956a757a26d3b1ebf9546790e.tar.xz |
nfs_common: fix localio to cope with racing nfs_local_probe()
Fix the possibility of racing nfs_local_probe() resulting in:
list_add double add: new=ffff8b99707f9f58, prev=ffff8b99707f9f58, next=ffffffffc0f30000.
------------[ cut here ]------------
kernel BUG at lib/list_debug.c:35!
Add nfs_uuid_init() to properly initialize all nfs_uuid_t members
(particularly its list_head).
Switch to returning bool from nfs_uuid_begin(), returns false if
nfs_uuid_t is already in-use (its list_head is on a list). Update
nfs_local_probe() to return early if the nfs_client's cl_uuid
(nfs_uuid_t) is in-use.
Also, switch nfs_uuid_begin() from using list_add_tail_rcu() to
list_add_tail() -- rculist was used in an earlier version of the
localio code that had a lockless nfs_uuid_lookup interface.
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
Diffstat (limited to 'tools/perf/scripts/python/export-to-sqlite.py')
0 files changed, 0 insertions, 0 deletions