New issue
Advanced search Search tips

Issue 810789 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Build breakage due to incomplete addition of "gmb()" barrier

Project Member Reported by groeck@chromium.org, Feb 9 2018

Issue description

Error log:
kernel/bpf/core.c: In function ‘__bpf_prog_run’:
kernel/bpf/core.c:432:3: error: implicit declaration of function ‘gmb’ 

Affects test builds for ia64, metag, mips, powerpc, s390, sparc64, um, the virtio tool, and possibly others.

Brought in as part of the fixes for CVE-2017-5753, but the patch series itself is not public nor, as it looks like, published (though integrated into Suse, Ubuntu, and other distribution kernels).

 
Summary: Build breakage due to incomplete addition of "gmb()" barrier (was: Test build breakage due to incomplete addition of "gmb()" barrier)
Description: Show this description
Interesting, I didn't realize we built our kernel for architectures we don't ship on. Want me to revert the CLs or just add the do {} while (0) place holder definition for those architectures?
If I have a basket full of fruits, but only sell the apples, I tend to check all other fruit for bad ones anyway.

Yes, I understand that there are people who argue that we should only check for bad apples, but I strongly believe that this would result in all fruit being bad at some point.

Of course, not testing unrelated builds would prevent us from doing stable tree merges, since those would be impossible to test. It would also render 0day useless (which tests _all_ architectures), thus preventing us from being embarrassed by all the build failures visible to the public. Would this be good ? Those who are still opposed to stable tree merges might agree.

As for what you want to do, your call. Again, I was not involved in the decision process, and no one explained to me why we decided to deviate from upstream, so I not in the position to make an informed decision either way.

Project Member

Comment 5 by bugdroid1@chromium.org, Feb 14 2018

Labels: merge-merged-chromeos-4.4
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/fadbcf53ec10906cc53076ce773ea1a926c7d785

commit fadbcf53ec10906cc53076ce773ea1a926c7d785
Author: Greg Kerr <kerrnel@chromium.org>
Date: Wed Feb 14 05:17:11 2018

Revert "CHROMIUM: locking/barriers: introduce new memory barrier gmb()"

This reverts the following commits:
bae7a53cef9844107ca5f725947e5d9fc32d27dc
ba8e989ba823ddf371a4123597cfc4e62442a71d
217b5f5e8605f0d50d28a0420f0603289f521c28
510fd35e03bcbb70921ca878e21170dac913fa07

Reason for revert: These patches break the test kernel builds on
various architectures ( crbug.com/810789 ).

The patches titles are:
"FROMGIT: userns: add barrier to prevent bounds check bypass"
"FROMGIT: x86, bpf, jit: add barrier to prevent bounds check bypass when JIT is enabled"
"FROMGIT: bpf: add barrier to prevent bounds check bypass in eBPF interpreter"
"CHROMIUM: locking/barriers: introduce new memory barrier gmb()"

Bug:  chromium:809607 , chromium:810789 
Change-Id: I29511ea856cb2da12aab4fa985a9dff4d2c96e70
Reviewed-on: https://chromium-review.googlesource.com/912154
Commit-Ready: Greg Kerr <kerrnel@chromium.org>
Tested-by: Greg Kerr <kerrnel@chromium.org>
Reviewed-by: Guenter Roeck <groeck@chromium.org>

[modify] https://crrev.com/fadbcf53ec10906cc53076ce773ea1a926c7d785/kernel/bpf/core.c
[modify] https://crrev.com/fadbcf53ec10906cc53076ce773ea1a926c7d785/kernel/user_namespace.c
[modify] https://crrev.com/fadbcf53ec10906cc53076ce773ea1a926c7d785/arch/arm64/include/asm/barrier.h
[modify] https://crrev.com/fadbcf53ec10906cc53076ce773ea1a926c7d785/arch/x86/net/bpf_jit_comp.c
[modify] https://crrev.com/fadbcf53ec10906cc53076ce773ea1a926c7d785/arch/arm/include/asm/barrier.h
[modify] https://crrev.com/fadbcf53ec10906cc53076ce773ea1a926c7d785/include/asm-generic/barrier.h
[modify] https://crrev.com/fadbcf53ec10906cc53076ce773ea1a926c7d785/arch/x86/include/asm/barrier.h

Comment 6 by groeck@chromium.org, Feb 14 2018

Status: Fixed (was: Assigned)

Sign in to add a comment