On Tue, Aug 8, 2017 at 6:07 PM, Richard Barnette
<
jrbar...@chromium.org> wrote:
> +bmgordon@
>
>> On Aug 8, 2017, at 5:51 PM, Guenter Roeck <
gro...@google.com> wrote:
>>
>> FWIW, I _did_ try a fresh chroot. That was part of the problem,
>> because it _introduced_ the problem (while older chroots with no
>> recent repo sync work fine). I also tested a clean canary image. That
>> works fine if its kernel is replaced with a 4.9 or 4.12 kernel built
>> with an older chroot, but not if it is replaced with a kernel from a
>> new chroot.
>>
>
> Hmmm... The canaries do build everything from scratch: See the
> InitSDK and SetupBoard stages. If I understand what you mean about
> replacing the kernel, I'd say that's kind of expected, given that the
> symptom is "when you build locally with a new chroot, it fails, if
> you build with an old chroot, it passes."
>
> IIUC, there's been some changes in the way cros_sdk builds our chroots
> within the past few days. I'm thinking specifically about this thread:
>
https://groups.google.com/a/chromium.org/forum/?hl=en#!topic/chromium-os-dev/yVEWDR7wDfA
>
> I don't know much about the changes, but I'm wondering if maybe that
> new code could behave differently on our builders from the way it
> behaves on desktops?
>
I don't think this has anything to do with builders or the way a
chroot is created or maintained.
>
>> We'll do some more testing. Not that it helps much, but we managed to
>> boot by disabling address space randomization (with nokaslr boot
>> option). Any 4.9 and 4.12 image with KASLR enabled fails to boot if
>> built in a new chroot.
>>
> You mean "built in a new chroot but not on the release builders",
> I presume? I'm just trying to confirm that we know that the
> canary builds do enable KASLR.
>
We know that chromeos-4.4 and older kernels build fine. Our problem is
with 4.9 and 4.12 kernels, which are not built by any canary builds.
The problem is not with the canary builds, it is with 4.9 and 4.12
kernel images built within a recently updated chroot.
The following does suggest that KASLR is enabled for x86_64 builds.
$ git grep CONFIG_RANDOMIZE_BASE chromeos/
chromeos/config/i386/common.config:CONFIG_RANDOMIZE_BASE=y
chromeos/config/i386/common.config:CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x20000000
chromeos/config/x86_64/common.config:CONFIG_RANDOMIZE_BASE=y
chromeos/config/x86_64/common.config:CONFIG_RANDOMIZE_BASE_MAX_OFFSET=0x40000000
Guenter