[PATCH 2/2] powerpc/ptrace: Disable array-bounds warning with gcc8

2018-05-04 Thread Khem Raj
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

2018-05-04 Thread Khem Raj
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

2016-04-25 Thread Khem Raj
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

2016-04-25 Thread Khem Raj
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