[PATCH 2/2] powerpc/ptrace: Disable array-bounds warning with gcc8
This masks the new gcc8 warning regset.h:270:4: error: 'memcpy' offset [-527, -529] is out of the bounds [0, 16] of object 'vrsave' with type 'union ' Signed-off-by: Khem Raj <raj.k...@gmail.com> Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> Cc: linuxppc-dev@lists.ozlabs.org --- arch/powerpc/kernel/Makefile | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 7ac5a68ad6b1..ab159a34704a 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -4,6 +4,7 @@ # CFLAGS_ptrace.o+= -DUTS_MACHINE='"$(UTS_MACHINE)"' $(call cc-disable-warning, attribute-alias) +CFLAGS_ptrace.o+= $(call cc-disable-warning, array-bounds) CFLAGS_syscalls.o += $(call cc-disable-warning, attribute-alias) subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror -- 2.17.0
[PATCH 1/2] powerpc: Disable attribute-alias warnings from gcc8
Fixes alias between functions of incompatible types warnings which are new with gcc8 Signed-off-by: Khem Raj <raj.k...@gmail.com> Cc: Benjamin Herrenschmidt <b...@kernel.crashing.org> Cc: linuxppc-dev@lists.ozlabs.org --- arch/powerpc/kernel/Makefile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/kernel/Makefile b/arch/powerpc/kernel/Makefile index 2b4c40b255e4..7ac5a68ad6b1 100644 --- a/arch/powerpc/kernel/Makefile +++ b/arch/powerpc/kernel/Makefile @@ -3,7 +3,8 @@ # Makefile for the linux kernel. # -CFLAGS_ptrace.o+= -DUTS_MACHINE='"$(UTS_MACHINE)"' +CFLAGS_ptrace.o+= -DUTS_MACHINE='"$(UTS_MACHINE)"' $(call cc-disable-warning, attribute-alias) +CFLAGS_syscalls.o += $(call cc-disable-warning, attribute-alias) subdir-ccflags-$(CONFIG_PPC_WERROR) := -Werror -- 2.17.0
[PATCH V2] powerpc/ptrace: Fix out of bounds array access warning
gcc-6 correctly warns about a out of bounds access arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}' [-Warray-bounds] offsetof(struct thread_fp_state, fpr[32][0])); ^ check the end of array instead of beginning of next element to fix this Signed-off-by: Khem Raj <raj.k...@gmail.com> Cc: Kees Cook <keesc...@chromium.org> Cc: Michael Ellerman <m...@ellerman.id.au> Cc: Segher Boessenkool <seg...@kernel.crashing.org> --- Changes from v1 to v2: - Check for fpr[32] instead of fpr[31][1] arch/powerpc/kernel/ptrace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index 30a03c0..060b140 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c @@ -377,7 +377,7 @@ static int fpr_get(struct task_struct *target, const struct user_regset *regset, #else BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != -offsetof(struct thread_fp_state, fpr[32][0])); +offsetof(struct thread_fp_state, fpr[32])); return user_regset_copyout(, , , , >thread.fp_state, 0, -1); @@ -405,7 +405,7 @@ static int fpr_set(struct task_struct *target, const struct user_regset *regset, return 0; #else BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != -offsetof(struct thread_fp_state, fpr[32][0])); +offsetof(struct thread_fp_state, fpr[32])); return user_regset_copyin(, , , , >thread.fp_state, 0, -1); -- 2.8.0 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH] powerpc/ptrace: Fix out of bounds array access warning
gcc-6 correctly warns about a out of bounds access arch/powerpc/kernel/ptrace.c:407:24: warning: index 32 denotes an offset greater than size of 'u64[32][1] {aka long long unsigned int[32][1]}' [-Warray-bounds] offsetof(struct thread_fp_state, fpr[32][0])); ^ check the end of array instead of beginning of next element to fix this Signed-off-by: Khem Raj <raj.k...@gmail.com> Cc: Kees Cook <keesc...@chromium.org> Cc: Michael Ellerman <m...@ellerman.id.au> --- arch/powerpc/kernel/ptrace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/powerpc/kernel/ptrace.c b/arch/powerpc/kernel/ptrace.c index 30a03c0..269f80f 100644 --- a/arch/powerpc/kernel/ptrace.c +++ b/arch/powerpc/kernel/ptrace.c @@ -377,7 +377,7 @@ static int fpr_get(struct task_struct *target, const struct user_regset *regset, #else BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != -offsetof(struct thread_fp_state, fpr[32][0])); +offsetof(struct thread_fp_state, fpr[31][1])); return user_regset_copyout(, , , , >thread.fp_state, 0, -1); @@ -405,7 +405,7 @@ static int fpr_set(struct task_struct *target, const struct user_regset *regset, return 0; #else BUILD_BUG_ON(offsetof(struct thread_fp_state, fpscr) != -offsetof(struct thread_fp_state, fpr[32][0])); +offsetof(struct thread_fp_state, fpr[31][1])); return user_regset_copyin(, , , , >thread.fp_state, 0, -1); -- 2.8.0 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev