Commit bd97a59
nvme-auth: use workqueue dedicated to authentication
NVMe In-Band authentication uses two kinds of works: chap->auth_work and
ctrl->dhchap_auth_work. The latter work flushes or cancels the former
work. However, the both works are queued to the same workqueue nvme-wq.
It results in the lockdep WARNING as follows:
WARNING: possible recursive locking detected
6.2.0-rc4+ #1 Not tainted
--------------------------------------------
kworker/u16:7/69 is trying to acquire lock:
ffff902d52e65548 ((wq_completion)nvme-wq){+.+.}-{0:0}, at: start_flush_work+0x2c5/0x380
but task is already holding lock:
ffff902d52e65548 ((wq_completion)nvme-wq){+.+.}-{0:0}, at: process_one_work+0x210/0x410
To avoid the WARNING, introduce a new workqueue nvme-auth-wq dedicated
to chap->auth_work.
Reported-by: Daniel Wagner <[email protected]>
Link: https://lore.kernel.org/linux-nvme/[email protected]/
Fixes: f50fff7 ("nvme: implement In-Band authentication")
Signed-off-by: Shin'ichiro Kawasaki <[email protected]>
Tested-by: Daniel Wagner <[email protected]>
Reviewed-by: Hannes Reinecke <[email protected]>
Signed-off-by: Christoph Hellwig <[email protected]>1 parent 6fbf13c commit bd97a59
1 file changed
+12
-2
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| 48 | + | |
| 49 | + | |
48 | 50 | | |
49 | 51 | | |
50 | 52 | | |
| |||
866 | 868 | | |
867 | 869 | | |
868 | 870 | | |
869 | | - | |
| 871 | + | |
870 | 872 | | |
871 | 873 | | |
872 | 874 | | |
| |||
1008 | 1010 | | |
1009 | 1011 | | |
1010 | 1012 | | |
| 1013 | + | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
| 1017 | + | |
1011 | 1018 | | |
1012 | 1019 | | |
1013 | 1020 | | |
1014 | | - | |
| 1021 | + | |
1015 | 1022 | | |
1016 | 1023 | | |
1017 | 1024 | | |
| |||
1021 | 1028 | | |
1022 | 1029 | | |
1023 | 1030 | | |
| 1031 | + | |
| 1032 | + | |
1024 | 1033 | | |
1025 | 1034 | | |
1026 | 1035 | | |
1027 | 1036 | | |
1028 | 1037 | | |
1029 | 1038 | | |
1030 | 1039 | | |
| 1040 | + | |
1031 | 1041 | | |
0 commit comments