# git rev-parse -q --verify 453f5db0619e2ad64076aab16ff5a00e0f7c53a2^{commit} 453f5db0619e2ad64076aab16ff5a00e0f7c53a2 already have revision, skipping fetch # git checkout -q -f -B kisskb 453f5db0619e2ad64076aab16ff5a00e0f7c53a2 # git clean -qxdf # < git log -1 # commit 453f5db0619e2ad64076aab16ff5a00e0f7c53a2 # Merge: b106bcf0f99a d05cb470663a # Author: Linus Torvalds # Date: Sat Dec 30 11:37:35 2023 -0800 # # Merge tag 'trace-v6.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace # # Pull tracing fixes from Steven Rostedt: # # - Fix readers that are blocked on the ring buffer when buffer_percent # is 100%. They are supposed to wake up when the buffer is full, but # because the sub-buffer that the writer is on is never considered # "dirty" in the calculation, dirty pages will never equal nr_pages. # Add +1 to the dirty count in order to count for the sub-buffer that # the writer is on. # # - When a reader is blocked on the "snapshot_raw" file, it is to be # woken up when a snapshot is done and be able to read the snapshot # buffer. But because the snapshot swaps the buffers (the main one with # the snapshot one), and the snapshot reader is waiting on the old # snapshot buffer, it was not woken up (because it is now on the main # buffer after the swap). Worse yet, when it reads the buffer after a # snapshot, it's not reading the snapshot buffer, it's reading the live # active main buffer. # # Fix this by forcing a wakeup of all readers on the snapshot buffer # when a new snapshot happens, and then update the buffer that the # reader is reading to be back on the snapshot buffer. # # - Fix the modification of the direct_function hash. There was a race # when new functions were added to the direct_function hash as when it # moved function entries from the old hash to the new one, a direct # function trace could be hit and not see its entry. # # This is fixed by allocating the new hash, copy all the old entries # onto it as well as the new entries, and then use rcu_assign_pointer() # to update the new direct_function hash with it. # # This also fixes a memory leak in that code. # # - Fix eventfs ownership # # * tag 'trace-v6.7-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: # ftrace: Fix modification of direct_function hash while in use # tracing: Fix blocked reader of snapshot buffer # ring-buffer: Fix wake ups when buffer_percent is set to 100 # eventfs: Fix file and directory uid and gid ownership # < /opt/cross/kisskb/korg/gcc-12.2.0-nolibc/riscv64-linux/bin/riscv64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-12.2.0-nolibc/riscv64-linux/bin/riscv64-linux-ld --version # < git log --format=%s --max-count=1 453f5db0619e2ad64076aab16ff5a00e0f7c53a2 # make -s -j 40 ARCH=riscv O=/kisskb/build/linus_defconfig_riscv-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/riscv64-linux/bin/riscv64-linux- defconfig # < make -s -j 40 ARCH=riscv O=/kisskb/build/linus_defconfig_riscv-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/riscv64-linux/bin/riscv64-linux- help # make -s -j 40 ARCH=riscv O=/kisskb/build/linus_defconfig_riscv-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/riscv64-linux/bin/riscv64-linux- olddefconfig # make -s -j 40 ARCH=riscv O=/kisskb/build/linus_defconfig_riscv-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/riscv64-linux/bin/riscv64-linux- Completed OK # rm -rf /kisskb/build/linus_defconfig_riscv-gcc12 # Build took: 0:01:41.009604