Hi All,
I bisected today because Void is recovering after a reboot. Memory space is released again.
About bisecting:
Git bisect is like a little wizard that walks you through recent commits, asks you if they are good or bad, and narrows down the broken commit.
Git bisect starts with the midpoint commit. The midpoint commit is between the initial good commit and the initial bad commit.
If the midpoint commit was good, you know the commit that introduced the change is between your midpoint and the initial bad commit.
If the midpoint commit was bad, you know the commit that introduced the change is between your midpoint and the initial good commit.
After that git bisect selects a new midpoint in the area where the commit was bad. And this is repeated over and over again till the bad commit has been found.
-
Code: Select all
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
or Code: Select all
git clone --depth=1 git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git a
-
-
Code: Select all
git bisect good 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
(Good: Linux 6.0)
-
Code: Select all
git bisect bad 9abf2313adc1ca1b6180c508c25f22f9395cc780
(Bad: Linux 6.1-rc1
Output:
Code: Select all
Bisecting: 6125 revisions left to test after this (roughly 13 steps)
[18fd049731e67651009f316195da9281b756f2cf] Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux
- git bisect good
Output:
Code: Select all
Bisecting: 3062 revisions left to test after this (roughly 12 steps)
[ab0c23b535f3f9d8345d8ad4c18c0a8594459d55] MAINTAINERS: add RISC-V's patchwork
- git bisect good
Output:
Code: Select all
Bisecting: 1527 revisions left to test after this (roughly 11 steps)
[27bc50fc90647bbf7b734c3fc306a5e61350da53] Merge tag 'mm-stable-2022-10-08' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
- git bisect bad
Output:
Code: Select all
Bisecting: 766 revisions left to test after this (roughly 10 steps)
[ada3bfb6492a6d0d3eca50f3b61315fe032efc72] Merge tag 'tpmdd-next-v6.1-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd
- git bisect bad
Output:
Code: Select all
Bisecting: 379 revisions left to test after this (roughly 9 steps)
[7f6dcffb44ad246e3211c6aeaba8a625e2766836] Merge tag 'sched-rt-2022-10-05' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
- git bisect bad
Output:
Code: Select all
Bisecting: 193 revisions left to test after this (roughly 8 steps)
[9511b5a033e99070ae1f54cd3c0aa3d10eae7c26] Merge branch 'topic/ppc-kvm' into next
- git bisect bad
Output:
Code: Select all
Bisecting: 96 revisions left to test after this (roughly 7 steps)
[b997b2f57cae396448bb62c428efa4b112dd90ed] powerpc/mm: Reduce redundancy in pgtable.h
- git bisect good
Output:
Code: Select all
Bisecting: 48 revisions left to test after this (roughly 6 steps)
[b19448fe846baad689ff51a991ebfc74b4b5e0a8] powerpc: Add support for early debugging via Serial 16550 console
- git bisect bad
Output:
Code: Select all
Bisecting: 23 revisions left to test after this (roughly 5 steps)
[6556fd1a1e9fcd180348c4368d2387bdc6a17613] powerpc: Cleanup idle for e500
- git bisect good
Output:
Code: Select all
Bisecting: 11 revisions left to test after this (roughly 4 steps)
[c2e7a19827eec443a7cbe85e8d959052412d6dc3] powerpc: Use generic fallocate compatibility syscall
- git bisect bad
Output:
Code: Select all
Bisecting: 5 revisions left to test after this (roughly 3 steps)
[2b1dac4b5f97ea88fb01dfcab7fc24500b5dea95] powerpc/64s: Use {ZEROIZE,SAVE,REST}_GPRS macros in sc, scv 0 handlers
- git bisect good
Output:
Code: Select all
Bisecting: 2 revisions left to test after this (roughly 2 steps)
[620f5c59c8617d623428c03414a022fca4e9eea2] powerpc/64s: Fix comment on interrupt handler prologue
- git bisect good
Output:
Code: Select all
Bisecting: 0 revisions left to test after this (roughly 1 step)
[43d5de2b67d7f4a8478820005152f7f689608f2f] asm-generic: compat: Support BE for long long args in 32-bit ABIs
- git bisect good
Output:
Code: Select all
c2e7a19827eec443a7cbe85e8d959052412d6dc3 is the first bad commit
commit c2e7a19827eec443a7cbe85e8d959052412d6dc3
Author: Rohan McLure <rmclure@linux.ibm.com>
Date: Wed Sep 21 16:55:50 2022 +1000
powerpc: Use generic fallocate compatibility syscall
The powerpc fallocate compat syscall handler is identical to the
generic implementation provided by commit 59c10c52f573f ("riscv:
compat: syscall: Add compat_sys_call_table implementation"), and as
such can be removed in favour of the generic implementation.
A future patch series will replace more architecture-defined syscall
handlers with generic implementations, dependent on introducing generic
implementations that are compatible with powerpc and arm's parameter
reorderings.
Reported-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rohan McLure <rmclure@linux.ibm.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20220921065605.1051927-11-rmclure@linux.ibm.com
arch/powerpc/include/asm/syscalls.h | 2 --
arch/powerpc/include/asm/unistd.h | 1 +
arch/powerpc/kernel/sys_ppc32.c | 7 -------
3 files changed, 1 insertion(+), 9 deletions(-)
Result:
c2e7a19827eec443a7cbe85e8d959052412d6dc3 (powerpc: Use generic fallocate compatibility syscall) is the first bad commit.
Unfortunately I wasn't able to revert the first bad commit.
Code: Select all
git revert c2e7a19827eec443a7cbe85e8d959052412d6dc3
But I was able to create a patch for reverting the bad commit.
syscall.patch:
Code: Select all
diff -rupN a/arch/powerpc/include/asm/syscalls.h b/arch/powerpc/include/asm/syscalls.h
--- a/arch/powerpc/include/asm/syscalls.h 2022-10-30 13:53:28.956001116 +0100
+++ b/arch/powerpc/include/asm/syscalls.h 2022-10-30 13:55:39.166300756 +0100
@@ -15,6 +15,7 @@
#include <asm/unistd.h>
#include <asm/ucontext.h>
+long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2, u32 len1, u32 len2);
#ifndef CONFIG_ARCH_HAS_SYSCALL_WRAPPER
long sys_ni_syscall(void);
#else
diff -rupN a/arch/powerpc/include/asm/unistd.h b/arch/powerpc/include/asm/unistd.h
--- a/arch/powerpc/include/asm/unistd.h 2022-10-30 13:53:28.957001103 +0100
+++ b/arch/powerpc/include/asm/unistd.h 2022-10-30 13:56:44.851441888 +0100
@@ -45,7 +45,6 @@
#define __ARCH_WANT_SYS_UTIME
#define __ARCH_WANT_SYS_NEWFSTATAT
#define __ARCH_WANT_COMPAT_STAT
-#define __ARCH_WANT_COMPAT_FALLOCATE
#define __ARCH_WANT_COMPAT_SYS_SENDFILE
#endif
#define __ARCH_WANT_SYS_FORK
diff -rupN a/arch/powerpc/kernel/sys_ppc32.c b/arch/powerpc/kernel/sys_ppc32.c
--- a/arch/powerpc/kernel/sys_ppc32.c 2022-10-30 13:53:28.967000972 +0100
+++ b/arch/powerpc/kernel/sys_ppc32.c 2022-10-30 13:58:28.993078689 +0100
@@ -97,6 +97,13 @@ PPC32_SYSCALL_DEFINE4(ppc_truncate64,
return ksys_truncate(path, merge_64(len1, len2));
}
+long compat_sys_fallocate(int fd, int mode, u32 offset1, u32 offset2,
+ u32 len1, u32 len2)
+{
+ return ksys_fallocate(fd, mode, merge_64(offset1, offset2),
+ merge_64(len1, len2));
+}
+
PPC32_SYSCALL_DEFINE4(ppc_ftruncate64,
unsigned int, fd, u32, reg4,
unsigned long, len1, unsigned long, len2)
I compiled the kernel with this patch. After that the kernel works without any problems.
I reported this issue to the Linuxppc-dev mailing list today.
Link:
Issues with the first PowerPC updates for the kernel 6.1
Cheers,
Christian