From: Bart Van Assche <bvanassche@acm.org>
To: "Martin K . Petersen" <martin.petersen@oracle.com>
Cc: Marco Elver <elver@google.com>,
linux-scsi@vger.kernel.org, Bart Van Assche <bvanassche@acm.org>
Subject: [PATCH v4 0/6] Enable lock context analysis in the SCSI core and UFS driver
Date: Fri, 31 Jul 2026 14:52:05 -0700 [thread overview]
Message-ID: <cover.1785534655.git.bvanassche@acm.org> (raw)
Hi Martin,
This patch series enables lock context analysis for the SCSI core and the UFS
driver. The advantages are as follows:
- The compiler (only Clang) verifies whether the lock and unlock calls match
what has been declared via __must_hold(), __acquires() or __releases().
This is useful for catching locking bugs in error paths.
- Support for __guarded_by() is enabled. If a member variable is annotated
with __guarded_by(lock), the compiler will issue a warning if that member
variable is accessed without holding 'lock'.
Additionally, a patch is included that suppresses KCSAN complaints about SCSI
host state changes.
More information about lock context analysis is available in the cover letter of
[PATCH v5 00/36] Compiler-Based Context- and Locking-Analysis
(https://lore.kernel.org/lkml/20251219154418.3592607-1-elver@google.com/).
Please consider this patch series for the next merge window.
Thanks,
Bart.
Changes compared to v3:
- Left out all changes except those for the SCSI core and the UFS driver.
Changes compared to v2:
- Added patch "scsi: core: Pass the SCSI host pointer directly".
- Corrected several annotations that had missing or extra ampersands (&).
- Reduced the number of __assume_ctx_lock() statements.
Changes compared to v1:
- Split patch "Enable lock context analysis" into one patch per driver.
Bart Van Assche (6):
ufs: core: Set task state before io_schedule_timeout()
ufs: core: Enable lock context analysis
scsi: core: Pass the SCSI host pointer directly
scsi: core: Add lock context annotations
scsi: core: Protect host state changes with the host lock
scsi: core: Enable lock context analysis
drivers/scsi/Makefile | 22 ++++++++++
drivers/scsi/device_handler/Makefile | 3 ++
drivers/scsi/hosts.c | 16 ++++---
drivers/scsi/megaraid/megaraid_sas_base.c | 2 +-
drivers/scsi/mpi3mr/mpi3mr_os.c | 2 +-
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 2 +-
drivers/scsi/qla4xxx/ql4_os.c | 6 +--
drivers/scsi/scsi_lib.c | 3 +-
drivers/scsi/scsi_scan.c | 52 ++++++++++++++---------
drivers/scsi/scsi_sysfs.c | 7 +--
drivers/ufs/core/Makefile | 2 +
drivers/ufs/core/ufs-debugfs.c | 8 +++-
drivers/ufs/core/ufshcd.c | 15 +++++++
drivers/ufs/host/Makefile | 2 +
include/scsi/scsi_host.h | 23 +++++++---
15 files changed, 116 insertions(+), 49 deletions(-)
next reply other threads:[~2026-07-31 21:52 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-31 21:52 Bart Van Assche [this message]
2026-07-31 21:52 ` [PATCH v4 1/6] ufs: core: Set task state before io_schedule_timeout() Bart Van Assche
2026-07-31 21:52 ` [PATCH v4 2/6] ufs: core: Enable lock context analysis Bart Van Assche
2026-07-31 21:52 ` [PATCH v4 3/6] scsi: core: Pass the SCSI host pointer directly Bart Van Assche
2026-07-31 21:52 ` [PATCH v4 4/6] scsi: core: Add lock context annotations Bart Van Assche
2026-07-31 22:07 ` sashiko-bot
2026-07-31 21:52 ` [PATCH v4 5/6] scsi: core: Protect host state changes with the host lock Bart Van Assche
2026-07-31 22:05 ` sashiko-bot
2026-07-31 21:52 ` [PATCH v4 6/6] scsi: core: Enable lock context analysis Bart Van Assche
2026-07-31 22:05 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1785534655.git.bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=elver@google.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.