block: limit block time caching to in_task() context
authorJens Axboe <axboe@kernel.dk>
Tue, 12 Mar 2024 21:58:41 +0000 (15:58 -0600)
committerJens Axboe <axboe@kernel.dk>
Wed, 13 Mar 2024 20:12:53 +0000 (14:12 -0600)
commitb874d4aae58b92144ec2c8fa5dc0a27c98388fcc
treed723bc722655adb7460ff8dc321814f022d7ce9a
parent259f7d5e2baf87fcbb4fabc46526c9c47fed1914
block: limit block time caching to in_task() context

We should not have any callers of this from non-task context, but Jakub
ran [1] into one from blk-iocost. Rather than risk running into others,
or future ones, just limit blk_time_get_ns() to when it is called from
a task. Any other usage is invalid.

[1] https://lore.kernel.org/lkml/CAHk-=wiOaBLqarS2uFhM1YdwOvCX4CZaWkeyNDY1zONpbYw2ig@mail.gmail.com/

Fixes: da4c8c3d0975 ("block: cache current nsec time in struct blk_plug")
Reported-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
block/blk.h