[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220523142452.GA3164183@roeck-us.net>
Date: Mon, 23 May 2022 07:24:52 -0700
From: Guenter Roeck <linux@...ck-us.net>
To: Peter Collingbourne <pcc@...gle.com>
Cc: Andrey Konovalov <andreyknvl@...il.com>,
Hyeonggon Yoo <42.hyeyoo@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Catalin Marinas <catalin.marinas@....com>,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
Linux Memory Management List <linux-mm@...ck.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
vbabka@...e.cz, penberg@...nel.org, roman.gushchin@...ux.dev,
iamjoonsoo.kim@....com, rientjes@...gle.com,
Herbert Xu <herbert@...dor.apana.org.au>,
Andrey Ryabinin <ryabinin.a.a@...il.com>,
Alexander Potapenko <glider@...gle.com>,
Dmitry Vyukov <dvyukov@...gle.com>,
kasan-dev <kasan-dev@...glegroups.com>,
Eric Biederman <ebiederm@...ssion.com>,
Kees Cook <keescook@...omium.org>
Subject: Re: [PATCH v5 1/2] printk: stop including cache.h from printk.h
On Wed, Apr 27, 2022 at 12:58:19PM -0700, Peter Collingbourne wrote:
> An inclusion of cache.h in printk.h was added in 2014 in
> commit c28aa1f0a847 ("printk/cache: mark printk_once test variable
> __read_mostly") in order to bring in the definition of __read_mostly. The
> usage of __read_mostly was later removed in commit 3ec25826ae33 ("printk:
> Tie printk_once / printk_deferred_once into .data.once for reset")
> which made the inclusion of cache.h unnecessary, so remove it.
>
> We have a small amount of code that depended on the inclusion of cache.h
> from printk.h; fix that code to include the appropriate header.
>
> This fixes a circular inclusion on arm64 (linux/printk.h -> linux/cache.h
> -> asm/cache.h -> linux/kasan-enabled.h -> linux/static_key.h ->
> linux/jump_label.h -> linux/bug.h -> asm/bug.h -> linux/printk.h) that
> would otherwise be introduced by the next patch.
>
> Build tested using {allyesconfig,defconfig} x {arm64,x86_64}.
But not powerpc:corenet64_smp_defconfig, where it results in lots of
build errors such as
powerpc64-linux-ld: fs/freevxfs/vxfs_fshead.o:(.bss+0x0):
multiple definition of `____cacheline_aligned';
fs/freevxfs/vxfs_bmap.o:(.bss+0x0): first defined here
Reverting this patch fixes the problem.
Guenter
---
# bad: [18ecd30af1a8402c162cca1bd58771c0e5be7815] Add linux-next specific files for 20220520
# good: [42226c989789d8da4af1de0c31070c96726d990c] Linux 5.18-rc7
git bisect start 'HEAD' 'v5.18-rc7'
# good: [f9b63740b666dd9887eb0282d21b5f65bb0cadd0] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git
git bisect good f9b63740b666dd9887eb0282d21b5f65bb0cadd0
# good: [1f5eb3e76303572f0318e8c50da51c516580aa03] Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git
git bisect good 1f5eb3e76303572f0318e8c50da51c516580aa03
# good: [4c1d9cc0363691893ef94fa0d798faca013e27d3] Merge branch 'staging-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
git bisect good 4c1d9cc0363691893ef94fa0d798faca013e27d3
# good: [a3204ed0fc565fc76901c67dfc8e04c91a5c8ea4] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/rppt/memblock.git
git bisect good a3204ed0fc565fc76901c67dfc8e04c91a5c8ea4
# bad: [ca228447682904bc749c0702695681543b5dc709] Merge branch 'mm-nonmm-unstable' into mm-everything
git bisect bad ca228447682904bc749c0702695681543b5dc709
# bad: [c0eeeb02d9df878c71a457008900b650d94bd0d9] selftests/uffd: enable uffd-wp for shmem/hugetlbfs
git bisect bad c0eeeb02d9df878c71a457008900b650d94bd0d9
# good: [0a7a0f6f7f3679c906fc55e3805c1d5e2c566f55] hugetlb: fix wrong use of nr_online_nodes
git bisect good 0a7a0f6f7f3679c906fc55e3805c1d5e2c566f55
# good: [c9fe66560bf2dc7d109754414e309888cb8c9ba9] mm/mprotect: do not flush when not required architecturally
git bisect good c9fe66560bf2dc7d109754414e309888cb8c9ba9
# bad: [97d482f4592fde2322c319f07bc54f3a0d37861c] mm/damon/sysfs: reuse damon_set_regions() for regions setting
git bisect bad 97d482f4592fde2322c319f07bc54f3a0d37861c
# good: [54205e9c5425049aef1bc7a812f890f00b5f79c7] mm: rmap: move the cache flushing to the correct place for hugetlb PMD sharing
git bisect good 54205e9c5425049aef1bc7a812f890f00b5f79c7
# bad: [9994715333515e82865e533250e488496b9742f4] selftest/vm: test that mremap fails on non-existent vma
git bisect bad 9994715333515e82865e533250e488496b9742f4
# bad: [d949a8155d139aa890795b802004a196b7f00598] mm: make minimum slab alignment a runtime property
git bisect bad d949a8155d139aa890795b802004a196b7f00598
# bad: [534aa1dc975ac883ad89110534585a96630802a0] printk: stop including cache.h from printk.h
git bisect bad 534aa1dc975ac883ad89110534585a96630802a0
# good: [dfc7ab57560da385f705b28e2bf50e3b90444a6b] mm: rmap: use flush_cache_range() to flush cache for hugetlb pages
git bisect good dfc7ab57560da385f705b28e2bf50e3b90444a6b
# first bad commit: [534aa1dc975ac883ad89110534585a96630802a0] printk: stop including cache.h from printk.h
Powered by blists - more mailing lists