# git rev-parse -q --verify 625d3449788f85569096780592549d0340e9c0c7^{commit} 625d3449788f85569096780592549d0340e9c0c7 already have revision, skipping fetch # git checkout -q -f -B kisskb 625d3449788f85569096780592549d0340e9c0c7 # git clean -qxdf # < git log -1 # commit 625d3449788f85569096780592549d0340e9c0c7 # Author: Jason A. Donenfeld # Date: Sun Jun 21 21:02:22 2020 -0600 # # Revert "kernel/printk: add kmsg SEEK_CUR handling" # # This reverts commit 8ece3b3eb576a78d2e67ad4c3a80a39fa6708809. # # This commit broke userspace. Bash uses ESPIPE to determine whether or # not the file should be read using "unbuffered I/O", which means reading # 1 byte at a time instead of 128 bytes at a time. I used to use bash to # read through kmsg in a really quite nasty way: # # while read -t 0.1 -r line 2>/dev/null || [[ $? -ne 142 ]]; do # echo "SARU $line" # done < /dev/kmsg # # This will show all lines that can fit into the 128 byte buffer, and skip # lines that don't. That's pretty awful, but at least it worked. # # With this change, bash now tries to do 1-byte reads, which means it # skips all the lines, which is worse than before. # # Now, I don't really care very much about this, and I'm already look for # a workaround. But I did just spend an hour trying to figure out why my # scripts were broken. Either way, it makes no difference to me personally # whether this is reverted, but it might be something to consider. If you # declare that "trying to read /dev/kmsg with bash is terminally stupid # anyway," I might be inclined to agree with you. But do note that bash # uses lseek(fd, 0, SEEK_CUR)==>ESPIPE to determine whether or not it's # reading from a pipe. # # Cc: Bruno Meneguele # Cc: Sergey Senozhatsky # Cc: Steven Rostedt # Cc: David Laight # Cc: Sergey Senozhatsky # Cc: Petr Mladek # Signed-off-by: Jason A. Donenfeld # 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 625d3449788f85569096780592549d0340e9c0c7 # < make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 allmodconfig # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_KCOV=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_GCC_PLUGIN_CYC_COMPLEXITY=n # Added to kconfig CONFIG_GCC_PLUGIN_SANCOV=n # Added to kconfig CONFIG_GCC_PLUGIN_LATENT_ENTROPY=n # Added to kconfig CONFIG_GCC_PLUGIN_STRUCTLEAK=n # Added to kconfig CONFIG_GCC_PLUGIN_RANDSTRUCT=n # Added to kconfig CONFIG_UML_NET=n # Added to kconfig CONFIG_UML_NET_ETHERTAP=n # Added to kconfig CONFIG_UML_NET_TUNTAP=n # Added to kconfig CONFIG_UML_NET_SLIP=n # Added to kconfig CONFIG_UML_NET_DAEMON=n # Added to kconfig CONFIG_UML_NET_VDE=n # Added to kconfig CONFIG_UML_NET_MCAST=n # Added to kconfig CONFIG_UML_NET_PCAP=n # Added to kconfig CONFIG_UML_NET_SLIRP=n # Added to kconfig CONFIG_GCOV_KERNEL=n # Added to kconfig CONFIG_DEBUG_INFO_BTF=n # < make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 help # make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 olddefconfig .config:4285:warning: override: reassigning to symbol UML_NET_ETHERTAP .config:4287:warning: override: reassigning to symbol UML_NET_SLIP .config:4290:warning: override: reassigning to symbol UML_NET_MCAST .config:4292:warning: override: reassigning to symbol UML_NET_SLIRP # make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_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 2976 bytes is larger than 2048 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 2048 bytes [-Wframe-larger-than=] } ^ /kisskb/src/lib/lz4/lz4hc_compress.c: In function 'LZ4HC_compress_generic': /kisskb/src/lib/lz4/lz4hc_compress.c:579:1: warning: the frame size of 2144 bytes is larger than 2048 bytes [-Wframe-larger-than=] } ^ drivers/clk/clk-hsdk-pll.o: In function `hsdk_pll_clk_probe': /kisskb/src/drivers/clk/clk-hsdk-pll.c:322: undefined reference to `devm_ioremap_resource' collect2: error: ld returned 1 exit status make[1]: *** [/kisskb/src/Makefile:1139: vmlinux] Error 1 make: *** [Makefile:185: __sub-make] Error 2 Command 'make -s -j 48 ARCH=um O=/kisskb/build/linus_um-allmodconfig_um-x86_64 CROSS_COMPILE=/opt/cross/kisskb/fe-x86-64-core-i7-2017.05/bin/x86_64-linux- SUBARCH=x86_64 ' returned non-zero exit status 2 # rm -rf /kisskb/build/linus_um-allmodconfig_um-x86_64 # Build took: 0:05:57.466297