diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-19 19:24:05 -1000 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2026-10-20 08:05:08 -1000 |
| commit | 05fb07c40e0013ba5ae373c6ea1bcc622eaea7f0 (patch) | |
| tree | 5090767aeb5f56f85b5b336bdab20e25da54f74b /scripts/Makefile.thinlto | |
| parent | e0d5fa9ae40bedfce4a7b7b2f6ec22096650ffdf (diff) | |
| download | linux-05fb07c40e0013ba5ae373c6ea1bcc622eaea7f0.tar.gz linux-05fb07c40e0013ba5ae373c6ea1bcc622eaea7f0.zip | |
vdpa_sim: disable page faults around vringh_need_notify_iotlb()
When vdpa_sim runs with use_va (the default), its rings live in user
memory, and vringh reads the ring's flags and event index with
__get_user() through the user address. The net and block simulators
call vringh_need_notify_iotlb() with bottom halves disabled, so those
reads happen in atomic context.
That only works today because __get_user() has no might_fault() check: a
fault is not handled in atomic context and simply comes back as -EFAULT.
Make that explicit with pagefault_disable() around the call, so vringh
can use the normal user accessors without complaint. Only the
notification check needs this: the rest of the ring processing runs in
the same kthread without bottom halves disabled, and can fault normally.
Tested-and-acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
