board/arcturus/ppc-ucp1020 new gcc-6.x Linux kernel build fix
PATCH 1/1 board/arcturus/ppc-ucp1020 new gcc-6.x Linux kernel build fix
Add the Linux-3.18 patch "powerpc/ptrace: Fix out of bounds array access warning" to the board/arcturus/ppc-ucp1020 BSP
" 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"
--- ...ce-Fix-out-of-bounds-array-access-warning.patch | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 board/arcturus/ppc-ucp1020/patches/linux/0003-powerpc-ptrace-Fix-out-of-bounds-array-access-warning.patch
board/arcturus/ppc-ucp1020/patches/linux/0003-powerpc-ptrace-Fix-out-of-bounds-array-access-warning.patch new file +52 -0
@@ -0,0 +1,52 @@ +From 35b7ce4f8f290794d3b89db7461e8c568b5defa1 Mon Sep 17 00:00:00 2001 +From: Khem Raj <[email protected]> +Date: Mon, 25 Apr 2016 09:19:17 -0700 +Subject: powerpc/ptrace: Fix out of bounds array access warning + +commit 1e407ee3b21f981140491d5b8a36422979ca246f upstream. + +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 <[email protected]> +Cc: Kees Cook <[email protected]> +Cc: Michael Ellerman <[email protected]> +Cc: Segher Boessenkool <[email protected]> +Tested-by: Aaro Koskinen <[email protected]> +Acked-by: Olof Johansson <[email protected]> +Cc: Arnd Bergmann <[email protected]> +Signed-off-by: Michael Ellerman <[email protected]> +Signed-off-by: Greg Kroah-Hartman <[email protected]> +--- + 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 f21897b..93f200f 100644 +--- a/arch/powerpc/kernel/ptrace.c ++++ b/arch/powerpc/kernel/ptrace.c +@@ -376,7 +376,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(&pos, &count, &kbuf, &ubuf, + &target->thread.fp_state, 0, -1); +@@ -404,7 +404,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(&pos, &count, &kbuf, &ubuf, + &target->thread.fp_state, 0, -1); +-- +cgit v1.1
Signature · 1 line
2.11.0
PATCH 1/1 board/arcturus/ppc-ucp1020 new gcc-6.x Linux kernel build fix
Hello,
Quoted 11 lines · Oleksandr Zhadan
Add the Linux-3.18 patch "powerpc/ptrace: Fix out of bounds array access warning" to the board/arcturus/ppc-ucp1020 BSP
" 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 Oleksandr Zhadan <[email protected]>
Do you have a good reason to stick with the 4.1 Linux kernel in this defconfig, instead of upgrading to a newer kernel version that has commit 1e407ee3b21f981140491d5b8a36422979ca246f ? For example, using Linux 4.9 would solve this.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 board/arcturus/ppc-ucp1020 new gcc-6.x Linux kernel build fix
Hello,
Quoted 11 lines · Thomas Petazzoni
Hello,
Quoted 8 lines · Oleksandr Zhadan
Add the Linux-3.18 patch "powerpc/ptrace: Fix out of bounds array access warning" to the board/arcturus/ppc-ucp1020 BSP
" 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])); ^
Quoted 7 lines
Quoted 3 lines
check the end of array instead of beginning of next element to fix this"
Signed-off-by Oleksandr Zhadan <[email protected]>Do you have a good reason to stick with the 4.1 Linux kernel in this defconfig, instead of upgrading to a newer kernel version that has commit
1e407ee3b21f981140491d5b8a36422979ca246f? For example, using Linux 4.9 would solve this.
Yes, uprating to newer kernel is on our list. And we know that it is a fix there.
But, It will take some time to re-test all ours and our existing customers apps. And as usually we do not have that time now ;-). For now we would like to fix uCP1020 buildroot build in any way: or by downgrading GCC or with that Linux-3.18 patch.
Please apply any of the patches and when we will be ready we will send another, new "kernel patch".
Thank you,
Oleks
Quoted 4 lines
Best regards,
Thomas
Signature · 5 lines
Oleksandr Zhadan Sr. Software Engineer Arcturus Networks T 416 621-0125 x235 F 416 621-0190
PATCH 1/1 board/arcturus/ppc-ucp1020 new gcc-6.x Linux kernel build fix
Hello,
Quoted 8 lines · Oleksandr G Zhadan
Yes, uprating to newer kernel is on our list. And we know that it is a fix there.
But, It will take some time to re-test all ours and our existing customers apps. And as usually we do not have that time now ;-). For now we would like to fix uCP1020 buildroot build in any way: or by downgrading GCC or with that Linux-3.18 patch.
Please apply any of the patches and when we will be ready we will send another, new "kernel patch".
OK. As long as upgrading to a newer kernel is on your list, I'm fine with having this patch as a temporary solution.
Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
PATCH 1/1 board/arcturus/ppc-ucp1020 new gcc-6.x Linux kernel build fix
Hello,
Thank you Thomas !
Now will wait for your decision on other path: [Buildroot][PATCH v4 1/1] configs/arcturus_ucls1012a: new defconfig
Kind Regards,
Oleks
Quoted 18 lines · Thomas Petazzoni
Hello,
Quoted 8 lines · Oleksandr G Zhadan
Yes, uprating to newer kernel is on our list. And we know that it is a fix there.
But, It will take some time to re-test all ours and our existing customers apps. And as usually we do not have that time now ;-). For now we would like to fix uCP1020 buildroot build in any way: or by downgrading GCC or with that Linux-3.18 patch.
Please apply any of the patches and when we will be ready we will send another, new "kernel patch".OK. As long as upgrading to a newer kernel is on your list, I'm fine with having this patch as a temporary solution.
Thanks!
Thomas
Signature · 4 lines
Oleksandr Zhadan Arcturus Networks T 416 621-0125 x235 F 416 621-0190
Thomas Petazzoni
AppliedPATCH 1/1 board/arcturus/ppc-ucp1020 new gcc-6.x Linux kernel build fix
In reply to Oleksandr ZhadanHello,
Quoted 8 lines · Oleksandr Zhadan
Add the Linux-3.18 patch "powerpc/ptrace: Fix out of bounds array access warning" to the board/arcturus/ppc-ucp1020 BSP
" 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])); ^
Quoted 7 lines
check the end of array instead of beginning of next element to fix this"
Signed-off-by Oleksandr Zhadan <[email protected]>--- ...ce-Fix-out-of-bounds-array-access-warning.patch | 52 ++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 board/arcturus/ppc-ucp1020/patches/linux/0003-powerpc-ptrace-Fix-out-of-bounds-array-access-warning.patch
Applied to master, after tweaking the commit log. Thanks!
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com