diff options
author | Jeffle Xu <jefflexu@linux.alibaba.com> | 2020-11-04 06:57:56 +0300 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2020-12-05 02:04:35 +0300 |
commit | 985eabdcfe3aad1aea6fc195dafff503f303aa3a (patch) | |
tree | 563e26950b3471f537ab1abb2e10fe4d902ca87e /drivers/md/dm-verity-verify-sig.c | |
parent | 65f33b35722952fa076811d5686bfd8a611a80fa (diff) | |
download | linux-985eabdcfe3aad1aea6fc195dafff503f303aa3a.tar.xz |
dm: remove unnecessary current->bio_list check when submitting split bio
The depth-first splitting is introduced in commit 18a25da84354 ("dm:
ensure bio submission follows a depth-first tree walk"), which is used
to fix the potential deadlock in case of the misordering handling of
bios caused by bio_list. There're two paths submitting split bios,
dm_wq_work() from worker thread and submit_bio() from application. Back
upon that time, dm_wq_work() thread calls __split_and_process_bio()
directly and thus will not trigger this issue since bio_list doesn't
exist here. So this issue will only be triggered from application
calling submit_bio(), and the fix has to check if current->bio_list is
non-NULL to distinguish this case.
However since commit 0c2915b8c6db1 ("dm: fix missing imposition of
queue_limits from dm_wq_work() thread"), dm_wq_work() thread calls
submit_bio_noacct() and thus also uses bio_list. Since then all entries
into __split_and_process_bio() are under protection of bio_list, and
thus the checking of current->bio_list when determinning if the
depth-first principle should be used, seems kind of nonsense. After all
the checking always succeeds now.
Fixes: 0c2915b8c6db1 ("dm: fix missing imposition of queue_limits from dm_wq_work() thread")
Signed-off-by: Jeffle Xu <jefflexu@linux.alibaba.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Diffstat (limited to 'drivers/md/dm-verity-verify-sig.c')
0 files changed, 0 insertions, 0 deletions