From: Bart Van Assche <bvanassche@acm.org>
To: Caleb Sander Mateos <csander@purestorage.com>
Cc: Jens Axboe <axboe@kernel.dk>, Christoph Hellwig <hch@lst.de>,
Damien Le Moal <dlemoal@kernel.org>,
Marco Elver <elver@google.com>,
linux-block@vger.kernel.org, Ming Lei <ming.lei@redhat.com>,
Nathan Chancellor <nathan@kernel.org>
Subject: Re: [PATCH 11/14] ublk: Fix the lock context annotations
Date: Wed, 4 Mar 2026 15:36:40 -0600 [thread overview]
Message-ID: <4510c313-9019-4901-8711-42400070f4fc@acm.org> (raw)
In-Reply-To: <CADUfDZrYu42KbiBNoXtuHUKAuXFxovydLRvNrXAEw9hL6puXiw@mail.gmail.com>
On 3/4/26 3:03 PM, Caleb Sander Mateos wrote:
> On Wed, Mar 4, 2026 at 12:55 PM Bart Van Assche <bvanassche@acm.org> wrote:
>> @@ -3581,6 +3584,7 @@ static void ublk_batch_revert_prep_cmd(struct
>> ublk_batch_io_iter *iter,
>> static int ublk_batch_prep_io(struct ublk_queue *ubq,
>> const struct ublk_batch_io_data *data,
>> const struct ublk_elem_header *elem)
>> + __must_hold(&data->ub->mutex)
>> {
>> struct ublk_io *io = &ubq->ios[elem->tag];
>> const struct ublk_batch_io *uc = &data->header;
>
> Sure, these annotations all look correct. But it's not clear to me how
> you're deciding which functions need an annotation. Is clang just
> unable to see that ub->mutex is held here because the function is
> called indirectly through a function pointer?
Clang performs more strict checking of lock context annotations than
sparse. If a function is annotated with __must_hold(), sparse only uses
the information from that annotation while checking the implementation
of that function. Clang not only checks the implementation but also
checks the caller(s).
Thanks,
Bart.
next prev parent reply other threads:[~2026-03-04 21:36 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-04 19:48 [PATCH 00/14] Enable lock context analysis Bart Van Assche
2026-03-04 19:48 ` [PATCH 01/14] drbd: Balance RCU calls in drbd_adm_dump_devices() Bart Van Assche
2026-03-04 20:25 ` Damien Le Moal
2026-03-04 20:59 ` Bart Van Assche
2026-03-04 19:48 ` [PATCH 02/14] blk-ioc: Prepare for enabling thread-safety analysis Bart Van Assche
2026-03-05 10:10 ` Jan Kara
2026-03-05 12:46 ` Bart Van Assche
2026-03-05 13:18 ` Marco Elver
2026-03-05 14:35 ` Bart Van Assche
2026-03-05 20:30 ` Marco Elver
2026-03-04 19:48 ` [PATCH 03/14] block: Make the lock context annotations compatible with Clang Bart Van Assche
2026-03-04 20:03 ` Tejun Heo
2026-03-04 20:29 ` Bart Van Assche
2026-03-04 20:58 ` Tejun Heo
2026-03-04 21:34 ` Bart Van Assche
2026-03-04 21:45 ` Tejun Heo
2026-03-04 21:46 ` Tejun Heo
2026-03-04 19:48 ` [PATCH 04/14] aoe: Add a lock context annotation Bart Van Assche
2026-03-04 19:48 ` [PATCH 05/14] drbd: Make the lock context annotations compatible with Clang Bart Van Assche
2026-03-09 10:08 ` Christoph Böhmwalder
2026-03-09 23:15 ` Bart Van Assche
2026-03-11 20:42 ` Christoph Böhmwalder
2026-03-04 19:48 ` [PATCH 06/14] loop: Add lock context annotations Bart Van Assche
2026-03-04 19:48 ` [PATCH 07/14] nbd: " Bart Van Assche
2026-03-04 19:48 ` [PATCH 08/14] null_blk: Add more " Bart Van Assche
2026-03-04 19:48 ` [PATCH 09/14] rbd: Add " Bart Van Assche
2026-03-04 19:48 ` [PATCH 10/14] rnbd: Add more " Bart Van Assche
2026-03-06 13:09 ` Marco Elver
2026-03-06 14:11 ` Bart Van Assche
2026-03-04 19:48 ` [PATCH 11/14] ublk: Fix the " Bart Van Assche
2026-03-04 20:43 ` Caleb Sander Mateos
2026-03-04 20:55 ` Bart Van Assche
2026-03-04 21:03 ` Caleb Sander Mateos
2026-03-04 21:36 ` Bart Van Assche [this message]
2026-03-04 19:48 ` [PATCH 12/14] zloop: Add a " Bart Van Assche
2026-03-04 19:48 ` [PATCH 13/14] zram: Add " Bart Van Assche
2026-03-05 1:23 ` Sergey Senozhatsky
2026-03-04 19:48 ` [PATCH 14/14] block: Enable lock context analysis for all block drivers Bart Van Assche
2026-03-05 1:33 ` Sergey Senozhatsky
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=4510c313-9019-4901-8711-42400070f4fc@acm.org \
--to=bvanassche@acm.org \
--cc=axboe@kernel.dk \
--cc=csander@purestorage.com \
--cc=dlemoal@kernel.org \
--cc=elver@google.com \
--cc=hch@lst.de \
--cc=linux-block@vger.kernel.org \
--cc=ming.lei@redhat.com \
--cc=nathan@kernel.org \
/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.