# 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/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux-ld --version # < git log --format=%s --max-count=1 c74386d50fbaf4a54fd3fe560f1abc709c0cff4b # < make -s -j 8 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- randconfig KCONFIG_SEED=0x2EC32004 # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # yes \n | make -s -j 8 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- oldconfig yes: standard output: Broken pipe # make -s -j 8 ARCH=arm64 O=/kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-8.1.0-nolibc/aarch64-linux/bin/aarch64-linux- Completed OK # rm -rf /kisskb/build/linus-rand_arm64-randconfig_arm64-gcc8 # Build took: 0:12:38.495240