Re: [PATCH] ntfs: use fatal_signal_pending() for fallocate interruption checks
From: Hyunchul Lee
Date: Mon Sep 07 2026 - 06:01:09 EST
2026년 9월 7일 (월) 오후 12:57, Hongling Zeng <zenghongling@xxxxxxxxxx>님이 작성:
>
> The fallocate implementation uses signal checks to let a long allocation
> loop abort early. However, signal_pending() also returns true for
> TIF_NOTIFY_SIGNAL, which io_uring uses to deliver task_work completions
> to the submitting task.
>
> generic/616 is an io_uring fsx soak test that issues fsx-style
> read/write requests through io_uring and calls fallocate() directly in
> between. A pending io_uring task_work notification can therefore make
> signal_pending() true inside ntfs_attr_fallocate() even though no real
> signal was delivered.
>
> That caused the previous signal-interruption patch to return -EINTR for
> an io_uring notification, which fsx treats as a fatal failure. Switch
> both checks to fatal_signal_pending() so only fatal signals interrupt
> the allocation loop. A real fatal signal still returns -EINTR, and any
> other error still takes precedence.
>
> Fixes: 4dc8f4ee2d46 ("ntfs: handle signal interruption in fallocate")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Hongling Zeng <zenghongling@xxxxxxxxxx>
Looks good to me.
Reviewed-by: Hyunchul Lee <hyc.lee@xxxxxxxxx>
--
Thanks,
Hyunchul