Code: Select all
a/arch/powerpc/Makefile
+CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4)
-CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4
Code: Select all
a/arch/powerpc/Makefile
+CFLAGS-$(CONFIG_GENERIC_CPU) += $(call cc-option,-mcpu=power5,-mcpu=power4)
-CFLAGS-$(CONFIG_GENERIC_CPU) += -mcpu=power4
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
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 start
Code: Select all
git bisect good 4fe89d07dcc2804c8b562f6c7896a45643d34b2f
Code: Select all
git bisect bad 9abf2313adc1ca1b6180c508c25f22f9395cc780
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
Code: Select all
Bisecting: 3062 revisions left to test after this (roughly 12 steps)
[ab0c23b535f3f9d8345d8ad4c18c0a8594459d55] MAINTAINERS: add RISC-V's patchwork
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
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
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
Code: Select all
Bisecting: 193 revisions left to test after this (roughly 8 steps)
[9511b5a033e99070ae1f54cd3c0aa3d10eae7c26] Merge branch 'topic/ppc-kvm' into next
Code: Select all
Bisecting: 96 revisions left to test after this (roughly 7 steps)
[b997b2f57cae396448bb62c428efa4b112dd90ed] powerpc/mm: Reduce redundancy in pgtable.h
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
Code: Select all
Bisecting: 23 revisions left to test after this (roughly 5 steps)
[6556fd1a1e9fcd180348c4368d2387bdc6a17613] powerpc: Cleanup idle for e500
Code: Select all
Bisecting: 11 revisions left to test after this (roughly 4 steps)
[c2e7a19827eec443a7cbe85e8d959052412d6dc3] powerpc: Use generic fallocate compatibility syscall
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
Code: Select all
Bisecting: 2 revisions left to test after this (roughly 2 steps)
[620f5c59c8617d623428c03414a022fca4e9eea2] powerpc/64s: Fix comment on interrupt handler prologue
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
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(-)
Code: Select all
git revert c2e7a19827eec443a7cbe85e8d959052412d6dc3
Code: Select all
diff -rupN a b > 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)
Great! Thanks a lot for testing!
Hi Peter,