[OE-core] [PATCH 22/42] linux-yocto: Fix build on ppc with gcc-6

Bruce Ashfield bruce.ashfield at gmail.com
Thu May 12 13:28:58 UTC 2016


On Thu, May 12, 2016 at 12:31 AM, Bruce Ashfield <bruce.ashfield at gmail.com>
wrote:

>
>
> On Wed, May 11, 2016 at 5:55 PM, Khem Raj <raj.khem at gmail.com> wrote:
>
>> On Wed, May 11, 2016 at 2:36 PM, Bruce Ashfield
>> <bruce.ashfield at gmail.com> wrote:
>> >
>> >
>> > On Wed, May 11, 2016 at 5:30 PM, Khem Raj <raj.khem at gmail.com> wrote:
>> >>
>> >> On Wed, May 11, 2016 at 2:27 PM, Bruce Ashfield
>> >> <bruce.ashfield at gmail.com> wrote:
>> >> >
>> >> >
>> >> > On Wed, May 11, 2016 at 1:35 PM, Khem Raj <raj.khem at gmail.com>
>> wrote:
>> >> >>
>> >> >> Signed-off-by: Khem Raj <raj.khem at gmail.com>
>> >> >
>> >> >
>> >> >
>> >> > These shouldn't be carried out of tree. So can you drop the
>> linux-yocto
>> >> > changes from the
>> >> > series, and I'll look at getting them integrated later.
>> >>
>> >> I could but, this series switches to using gcc6 which will start to
>> fail.
>> >
>> >
>> > I can coordinate the fix. We just don't carry patches like this for
>> linux
>> > yocto. As you
>> > can see, your series will no longer apply with the consolidated pull
>> > requests that
>> > I just sent.
>>
>> Just include these patches in your pull request and send a v2. I will
>> then drop it from my list.
>> since these patches should work fine with older gcc as well your
>> changes then can go in first
>> or along with my changes.
>>
>
> Sounds good. I'll have them out first thing in the morning Thursday.
>

The patches are not integrated into linux-yocto-4.4 and I added the patch
I've
attached o my zedd/kernel poky-contrib branch:

Bruce


>
> Bruce
>
>
>>
>> >
>> > Bruce
>> >
>> >>
>> >>
>> >> >
>> >> > Bruce
>> >> >
>> >> >>
>> >> >> ---
>> >> >>  ...ace-Fix-out-of-bounds-array-access-warnin.patch | 50
>> >> >> ++++++++++++++++++++++
>> >> >>  meta/recipes-kernel/linux/linux-yocto_4.4.bb       |  4 +-
>> >> >>  2 files changed, 53 insertions(+), 1 deletion(-)
>> >> >>  create mode 100644
>> >> >>
>> >> >>
>> meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >>
>> >> >> diff --git
>> >> >>
>> >> >>
>> a/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >>
>> >> >>
>> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >> new file mode 100644
>> >> >> index 0000000..05315ed
>> >> >> --- /dev/null
>> >> >> +++
>> >> >>
>> >> >>
>> b/meta/recipes-kernel/linux/linux-yocto/0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >> @@ -0,0 +1,50 @@
>> >> >> +From 32acc1d9a5738b02e8815047af8886978aa40ead Mon Sep 17 00:00:00
>> 2001
>> >> >> +From: Khem Raj <raj.khem at gmail.com>
>> >> >> +Date: Mon, 25 Apr 2016 05:47:01 +0000
>> >> >> +Subject: [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.khem at gmail.com>
>> >> >> +Cc: Kees Cook <keescook at chromium.org>
>> >> >> +Cc: Michael Ellerman <mpe at ellerman.id.au>
>> >> >> +Cc: Segher Boessenkool <segher at 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 737c0d0..b38fd08 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);
>> >> >> +--
>> >> >> +1.9.1
>> >> >> +
>> >> >> diff --git a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> index b74903e..fbb592a 100644
>> >> >> --- a/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> +++ b/meta/recipes-kernel/linux/linux-yocto_4.4.bb
>> >> >> @@ -22,7 +22,9 @@ SRCREV_machine ?=
>> >> >> "b18090556c1d1b449233cd555c27a04d38272d6d"
>> >> >>  SRCREV_meta ?= "9ab4787fe2aea2ae0fcc31a5e067eaba19ef64c8"
>> >> >>
>> >> >>  SRC_URI =
>> >> >>
>> >> >> "git://
>> git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}
>> <http://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=$%7BKBRANCH%7D>
>> ;
>> >> >> \
>> >> >> -
>> >> >>
>> >> >> git://
>> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
>> <http://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=$%7BKMETA%7D>
>> "
>> >> >> +
>> >> >>
>> >> >> git://
>> git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}
>> <http://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=$%7BKMETA%7D>
>> >> >> \
>> >> >> +
>> >> >>
>> file://0001-powerpc-ptrace-Fix-out-of-bounds-array-access-warnin.patch
>> >> >> \
>> >> >> +"
>> >> >>
>> >> >>  LINUX_VERSION ?= "4.4.3"
>> >> >>
>> >> >> --
>> >> >> 2.8.2
>> >> >>
>> >> >> --
>> >> >> _______________________________________________
>> >> >> Openembedded-core mailing list
>> >> >> Openembedded-core at lists.openembedded.org
>> >> >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>> >> >
>> >> >
>> >> >
>> >> >
>> >> > --
>> >> > "Thou shalt not follow the NULL pointer, for chaos and madness await
>> >> > thee at
>> >> > its end"
>> >
>> >
>> >
>> >
>> > --
>> > "Thou shalt not follow the NULL pointer, for chaos and madness await
>> thee at
>> > its end"
>>
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await thee
> at its end"
>



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await thee
at its end"
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160512/54e3896a/attachment-0002.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-linux-yocto-4.4-gcc6-build-fixes-powerpc-and-mips.patch
Type: application/octet-stream
Size: 4016 bytes
Desc: not available
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160512/54e3896a/attachment-0002.obj>


More information about the Openembedded-core mailing list