On Mon, 19 Aug 2024, gregkh@xxxxxxxxxxxxxxxxxxx wrote: > > The patch below does not apply to the 5.10-stable tree. > If someone wants it applied there, or to any other stable or longterm > tree, then please email the backport, including the original git commit > id to <stable@xxxxxxxxxxxxxxx>. > > To reproduce the conflict and resubmit, you may use the following commands: > > git fetch https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/ linux-5.10.y > git checkout FETCH_HEAD > git cherry-pick -x 1e1fd567d32fcf7544c6e09e0e5bc6c650da6e23 > # <resolve conflicts, build, test, etc.> > git commit -s > git send-email --to '<stable@xxxxxxxxxxxxxxx>' --in-reply-to '2024081926-dumpling-ecard-9941@gregkh' --subject-prefix 'PATCH 5.10.y' HEAD^.. > > Possible dependencies: > > 1e1fd567d32f ("dm suspend: return -ERESTARTSYS instead of -EINTR") > > thanks, > > greg k-h > > ------------------ original commit in Linus's tree ------------------ > > >From 1e1fd567d32fcf7544c6e09e0e5bc6c650da6e23 Mon Sep 17 00:00:00 2001 > From: Mikulas Patocka <mpatocka@xxxxxxxxxx> > Date: Tue, 13 Aug 2024 12:38:51 +0200 > Subject: [PATCH] dm suspend: return -ERESTARTSYS instead of -EINTR > > This commit changes device mapper, so that it returns -ERESTARTSYS > instead of -EINTR when it is interrupted by a signal (so that the ioctl > can be restarted). > > The manpage signal(7) says that the ioctl function should be restarted if > the signal was handled with SA_RESTART. > > Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> > Cc: stable@xxxxxxxxxxxxxxx > > diff --git a/drivers/md/dm.c b/drivers/md/dm.c > index 97fab2087df8..87bb90303435 100644 > --- a/drivers/md/dm.c > +++ b/drivers/md/dm.c > @@ -2737,7 +2737,7 @@ static int dm_wait_for_bios_completion(struct mapped_device *md, unsigned int ta > break; > > if (signal_pending_state(task_state, current)) { > - r = -EINTR; > + r = -ERESTARTSYS; > break; > } > > @@ -2762,7 +2762,7 @@ static int dm_wait_for_completion(struct mapped_device *md, unsigned int task_st > break; > > if (signal_pending_state(task_state, current)) { > - r = -EINTR; > + r = -ERESTARTSYS; > break; > } > > Hi. Here I'm sending the updated patch for 5.10 and newer stable branches. Mikulas commit 1e1fd567d32fcf7544c6e09e0e5bc6c650da6e23 Author: Mikulas Patocka <mpatocka@xxxxxxxxxx> Date: Tue Aug 13 12:38:51 2024 +0200 dm suspend: return -ERESTARTSYS instead of -EINTR This commit changes device mapper, so that it returns -ERESTARTSYS instead of -EINTR when it is interrupted by a signal (so that the ioctl can be restarted). The manpage signal(7) says that the ioctl function should be restarted if the signal was handled with SA_RESTART. Signed-off-by: Mikulas Patocka <mpatocka@xxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx --- drivers/md/dm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) Index: linux-stable/drivers/md/dm.c =================================================================== --- linux-stable.orig/drivers/md/dm.c +++ linux-stable/drivers/md/dm.c @@ -2255,7 +2255,7 @@ static int dm_wait_for_bios_completion(s break; if (signal_pending_state(task_state, current)) { - r = -EINTR; + r = -ERESTARTSYS; break; } @@ -2280,7 +2280,7 @@ static int dm_wait_for_completion(struct break; if (signal_pending_state(task_state, current)) { - r = -EINTR; + r = -ERESTARTSYS; break; }