lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 16 Apr 2019 11:54:13 -0700
From:   Dan Williams <dan.j.williams@...el.com>
To:     Guenter Roeck <groeck@...gle.com>
Cc:     Kees Cook <keescook@...omium.org>, kernelci@...ups.io,
        Guillaume Tucker <guillaume.tucker@...labora.com>,
        Mike Rapoport <rppt@...ux.ibm.com>,
        Andrew Morton <akpm@...ux-foundation.org>,
        Michal Hocko <mhocko@...e.com>,
        Mark Brown <broonie@...nel.org>,
        Tomeu Vizoso <tomeu.vizoso@...labora.com>,
        Matt Hart <matthew.hart@...aro.org>,
        Stephen Rothwell <sfr@...b.auug.org.au>,
        Kevin Hilman <khilman@...libre.com>,
        Enric Balletbo i Serra <enric.balletbo@...labora.com>,
        Nicholas Piggin <npiggin@...il.com>,
        Dominik Brodowski <linux@...inikbrodowski.net>,
        Masahiro Yamada <yamada.masahiro@...ionext.com>,
        Adrian Reber <adrian@...as.de>,
        Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
        Johannes Weiner <hannes@...xchg.org>,
        Linux MM <linux-mm@...ck.org>,
        Mathieu Desnoyers <mathieu.desnoyers@...icios.com>,
        Richard Guy Briggs <rgb@...hat.com>,
        "Peter Zijlstra (Intel)" <peterz@...radead.org>, info@...nelci.org
Subject: Re: next/master boot bisection: next-20190215 on beaglebone-black

On Thu, Apr 11, 2019 at 1:54 PM Guenter Roeck <groeck@...gle.com> wrote:
[..]
> > > Boot tests report
> > >
> > > Qemu test results:
> > >     total: 345 pass: 345 fail: 0
> > >
> > > This is on top of next-20190410 with CONFIG_SHUFFLE_PAGE_ALLOCATOR=y
> > > and the known crashes fixed.
> >
> > In addition to CONFIG_SHUFFLE_PAGE_ALLOCATOR=y you also need the
> > kernel command line option "page_alloc.shuffle=1"
> >
> > ...so I doubt you are running with shuffling enabled. Another way to
> > double check is:
> >
> >    cat /sys/module/page_alloc/parameters/shuffle
>
> Yes, you are right. Because, with it enabled, I see:
>
> Kernel command line: rdinit=/sbin/init page_alloc.shuffle=1 panic=-1
> console=ttyAMA0,115200 page_alloc.shuffle=1
> ------------[ cut here ]------------
> WARNING: CPU: 0 PID: 0 at ./include/linux/jump_label.h:303
> page_alloc_shuffle+0x12c/0x1ac
> static_key_enable(): static key 'page_alloc_shuffle_key+0x0/0x4' used
> before call to jump_label_init()

This looks to be specific to ARM never having had to deal with
DEFINE_STATIC_KEY_TRUE in the past.

I am able to avoid this warning by simply not enabling JUMP_LABEL
support in my build.

> Modules linked in:
> CPU: 0 PID: 0 Comm: swapper Not tainted
> 5.1.0-rc4-next-20190410-00003-g3367c36ce744 #1
> Hardware name: ARM Integrator/CP (Device Tree)
> [<c0011c68>] (unwind_backtrace) from [<c000ec48>] (show_stack+0x10/0x18)
> [<c000ec48>] (show_stack) from [<c07e9710>] (dump_stack+0x18/0x24)
> [<c07e9710>] (dump_stack) from [<c001bb1c>] (__warn+0xe0/0x108)
> [<c001bb1c>] (__warn) from [<c001bb88>] (warn_slowpath_fmt+0x44/0x6c)
> [<c001bb88>] (warn_slowpath_fmt) from [<c0b0c4a8>]
> (page_alloc_shuffle+0x12c/0x1ac)
> [<c0b0c4a8>] (page_alloc_shuffle) from [<c0b0c550>] (shuffle_store+0x28/0x48)
> [<c0b0c550>] (shuffle_store) from [<c003e6a0>] (parse_args+0x1f4/0x350)
> [<c003e6a0>] (parse_args) from [<c0ac3c00>] (start_kernel+0x1c0/0x488)
> [<c0ac3c00>] (start_kernel) from [<00000000>] (  (null))
>
> I'll re-run the test, but I suspect it will drown in warnings.

I slogged through getting a Beagle Bone Black up and running with a
Yocto build and it is not failing. I have tried apply the patches on
top of v5.1-rc5 as well as re-testing next-20190215 label, no
reproduction. The shuffle appears to avoid anything sensitive by
default, below are the shuffle actions that were taken relative to
iomem. Can someone with a failure reproduction please send me more
details about their configuration? It would also help to get a failing
boot log with the pr_debug() statements in mm/shuffle.c enabled to see
if the failure is correlated with any unexpected shuffle actions.

80000000-9fffffff : System RAM
  80008000-809fffff : Kernel code
  80b00000-812be523 : Kernel data

[    0.086469] __shuffle_zone: swap: 0x81800 -> 0x99800
[    0.086558] __shuffle_zone: swap: 0x82000 -> 0x88800
[    0.086575] __shuffle_zone: swap: 0x82800 -> 0x89800
[    0.086591] __shuffle_zone: swap: 0x83000 -> 0x89000
[    0.086606] __shuffle_zone: swap: 0x83800 -> 0x8a800
[    0.086621] __shuffle_zone: swap: 0x84000 -> 0x93800
[    0.086636] __shuffle_zone: swap: 0x84800 -> 0x83000
[    0.086651] __shuffle_zone: swap: 0x85000 -> 0x8f000
[    0.086666] __shuffle_zone: swap: 0x85800 -> 0x88000
[    0.086689] __shuffle_zone: swap: 0x86000 -> 0x84000
[    0.086704] __shuffle_zone: swap: 0x86800 -> 0x8c800
[    0.086719] __shuffle_zone: swap: 0x87000 -> 0x93000
[    0.086735] __shuffle_zone: swap: 0x87800 -> 0x94000
[    0.086751] __shuffle_zone: swap: 0x88000 -> 0x90800
[    0.086766] __shuffle_zone: swap: 0x88800 -> 0x9d000
[    0.086781] __shuffle_zone: swap: 0x89000 -> 0x82800
[    0.086796] __shuffle_zone: swap: 0x89800 -> 0x95800
[    0.086811] __shuffle_zone: swap: 0x8a000 -> 0x98000
[    0.086826] __shuffle_zone: swap: 0x8a800 -> 0x89000
[    0.086842] __shuffle_zone: swap: 0x8b000 -> 0x81800
[    0.086857] __shuffle_zone: swap: 0x8b800 -> 0x88800
[    0.086872] __shuffle_zone: swap: 0x8c000 -> 0x8a000
[    0.086891] __shuffle_zone: swap: 0x8c800 -> 0x84800
[    0.086906] __shuffle_zone: swap: 0x8d000 -> 0x95000
[    0.086921] __shuffle_zone: swap: 0x8d800 -> 0x8d000
[    0.086935] __shuffle_zone: swap: 0x8e000 -> 0x8e800
[    0.086950] __shuffle_zone: swap: 0x8e800 -> 0x99000
[    0.086964] __shuffle_zone: swap: 0x8f000 -> 0x8d000
[    0.086979] __shuffle_zone: swap: 0x90000 -> 0x91000
[    0.086994] __shuffle_zone: swap: 0x90800 -> 0x83000
[    0.087009] __shuffle_zone: swap: 0x91000 -> 0x91800
[    0.087025] __shuffle_zone: swap: 0x91800 -> 0x8d800
[    0.087040] __shuffle_zone: swap: 0x92000 -> 0x86800
[    0.087054] __shuffle_zone: swap: 0x92800 -> 0x92000
[    0.087070] __shuffle_zone: swap: 0x93000 -> 0x91000
[    0.087088] __shuffle_zone: swap: 0x93800 -> 0x85000
[    0.087103] __shuffle_zone: swap: 0x94000 -> 0x8b800
[    0.087117] __shuffle_zone: swap: 0x94800 -> 0x96000
[    0.087132] __shuffle_zone: swap: 0x95000 -> 0x91000
[    0.087147] __shuffle_zone: swap: 0x95800 -> 0x8e000
[    0.087161] __shuffle_zone: swap: 0x96000 -> 0x95800
[    0.087179] __shuffle_zone: swap: 0x96800 -> 0x8c800
[    0.087193] __shuffle_zone: swap: 0x97000 -> 0x89000
[    0.087208] __shuffle_zone: swap: 0x97800 -> 0x85000
[    0.087224] __shuffle_zone: swap: 0x98000 -> 0x85000
[    0.087239] __shuffle_zone: swap: 0x98800 -> 0x93000
[    0.087255] __shuffle_zone: swap: 0x99000 -> 0x94800
[    0.087269] __shuffle_zone: swap: 0x99800 -> 0x94000

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ