# git rev-parse -q --verify c74386d50fbaf4a54fd3fe560f1abc709c0cff4b^{commit} c74386d50fbaf4a54fd3fe560f1abc709c0cff4b already have revision, skipping fetch # git checkout -q -f -B kisskb c74386d50fbaf4a54fd3fe560f1abc709c0cff4b # git clean -qxdf # < git log -1 # commit c74386d50fbaf4a54fd3fe560f1abc709c0cff4b # Author: David Howells # Date: Tue Nov 19 21:00:36 2019 +0000 # # afs: Fix missing timeout reset # # In afs_wait_for_call_to_complete(), rather than immediately aborting an # operation if a signal occurs, the code attempts to wait for it to # complete, using a schedule timeout of 2*RTT (or min 2 jiffies) and a # check that we're still receiving relevant packets from the server before # we consider aborting the call. We may even ping the server to check on # the status of the call. # # However, there's a missing timeout reset in the event that we do # actually get a packet to process, such that if we then get a couple of # short stalls, we then time out when progress is actually being made. # # Fix this by resetting the timeout any time we get something to process. # If it's the failure of the call then the call state will get changed and # we'll exit the loop shortly thereafter. # # A symptom of this is data fetches and stores failing with EINTR when # they really shouldn't. # # Fixes: bc5e3a546d55 ("rxrpc: Use MSG_WAITALL to tell sendmsg() to temporarily ignore signals") # Signed-off-by: David Howells # Reviewed-by: Marc Dionne # Signed-off-by: Linus Torvalds # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-gcc --version # < /opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux-ld --version # < git log --format=%s --max-count=1 c74386d50fbaf4a54fd3fe560f1abc709c0cff4b # < make -s -j 24 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 defconfig # make -s -j 24 ARCH=um O=/kisskb/build/linus_um-defconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 /kisskb/src/arch/um/os-Linux/signal.c: In function 'sig_handler_common': /kisskb/src/arch/um/os-Linux/signal.c:51:1: warning: the frame size of 2960 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ /kisskb/src/arch/um/os-Linux/signal.c: In function 'timer_real_alarm_handler': /kisskb/src/arch/um/os-Linux/signal.c:95:1: warning: the frame size of 2960 bytes is larger than 1024 bytes [-Wframe-larger-than=] } ^ LINK linux Completed OK # rm -rf /kisskb/build/linus_um-defconfig_um-x86_64 # Build took: 0:00:48.118562