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]
Message-ID: <435dc218-f7ea-4697-b3ef-6a786e8d1b2c@roeck-us.net>
Date: Mon, 23 Sep 2024 06:39:43 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Geert Uytterhoeven <geert@...ux-m68k.org>
Cc: Andrew Morton <akpm@...ux-foundation.org>, linux-kernel@...r.kernel.org,
 Huang Ying <ying.huang@...el.com>
Subject: Re: [PATCH] resource, kunit: add dependency on SPARSEMEM

On 9/23/24 05:58, Geert Uytterhoeven wrote:
> Hi Günter,
> 
> On Mon, Sep 23, 2024 at 12:50 AM Guenter Roeck <linux@...ck-us.net> wrote:
>> Building allmodconfig images on systems with SPARSEMEM=n results in
>> the following message.
>>
>> WARNING: unmet direct dependencies detected for GET_FREE_REGION
>>    Depends on [n]: SPARSEMEM [=n]
>>    Selected by [m]:
>>    - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]
>>
>> and the build ultimately fails.
> 
> Really? What's the build error?

I saw it on hexagon, and I didn't bother writing down the actual build error
message. But it turns out you are correct, the m68k machine does build with
CONFIG_RESOURCE_KUNIT_TEST=y even though SPARSEMEM and with it GET_FREE_REGION
are not set. Never mind, I don't really want or have time to argue. I'll just
disable CONFIG_RESOURCE_KUNIT_TEST when building hexagon images and wherever
else I see the problem.

> It does build for me on m68k, after fixing:
> 
>      --- a/include/linux/mm.h
>      +++ b/include/linux/mm.h
>      @@ -101,7 +101,7 @@ extern int mmap_rnd_compat_bits __read_mostly;
>       # ifdef MAX_PHYSMEM_BITS
>       # define PHYSMEM_END   ((1ULL << MAX_PHYSMEM_BITS) - 1)
>       # else
>      -# define PHYSMEM_END   (-1ULL)
>     +# define PHYSMEM_END   ((phys_addr_t)-1)
>       # endif
>       #endif
> 
>> GET_FREE_REGION depends on SPARSEMEM, so any configuration selecting it
>> also depends on SPARSEMEM. Add the missing dependency.
>>
>> Effectively that means that RESOURCE_KUNIT_TEST is now restricted to
>> systems with SPARSEMEM=y, but that can not be helped.
> 
> Perhaps the individual test(s) that do depend on GET_FREE_REGION should
> be protected by #ifdef CONFIG_GET_FREE_REGION instead? However,
> I have no idea which parts depend on that, as apparently all tests
> succeed on m68k/ARAnyM, with CONFIG_SPARSEMEM=n:
> 
>      KTAP version 1
>      1..1
>          KTAP version 1
>          # Subtest: resource
>          # module: resource_kunit
>          1..3
>          ok 1 resource_test_union
>          ok 2 resource_test_intersection
>          ok 3 resource_test_region_intersects
>      # resource: pass:3 fail:0 skip:0 total:3
>      # Totals: pass:3 fail:0 skip:0 total:3
>      ok 1 resource
> 

Interesting that you get that to boot. The q800 machine crashes for me
when trying to boot it in qemu with the latest upstream kernel, in function
__pte_offset_map_lock(). It bisects to commit 394290cba966 ("mm: turn
USE_SPLIT_PTE_PTLOCKS / USE_SPLIT_PTE_PTLOCKS into Kconfig options").
Reverting that patch fixes the crash for me. I guess you are not seeing that ?

Thanks,
Guenter


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ