[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9ebd237c-c059-9219-8d11-7a708a1f80da@gmail.com>
Date: Tue, 12 Feb 2019 09:20:34 +0200
From: Igor Stoppa <igor.stoppa@...il.com>
To: Matthew Wilcox <willy@...radead.org>
Cc: Igor Stoppa <igor.stoppa@...wei.com>,
Andy Lutomirski <luto@...capital.net>,
Nadav Amit <nadav.amit@...il.com>,
Peter Zijlstra <peterz@...radead.org>,
Kees Cook <keescook@...omium.org>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Mimi Zohar <zohar@...ux.vnet.ibm.com>,
Thiago Jung Bauermann <bauerman@...ux.ibm.com>,
Ahmed Soliman <ahmedsoliman@...a.vt.edu>,
linux-integrity@...r.kernel.org,
kernel-hardening@...ts.openwall.com, linux-mm@...ck.org,
linux-kernel@...r.kernel.org
Subject: Re: [RFC PATCH v4 01/12] __wr_after_init: Core and default arch
On 12/02/2019 04:39, Matthew Wilcox wrote:
> On Tue, Feb 12, 2019 at 01:27:38AM +0200, Igor Stoppa wrote:
>> +#ifndef CONFIG_PRMEM
> [...]
>> +#else
>> +
>> +#include <linux/mm.h>
>
> It's a mistake to do conditional includes like this. That way you see
> include loops with some configs and not others. Our headers are already
> so messy, better to just include mm.h unconditionally.
>
ok
Can I still do the following, in prmem.c ?
#ifdef CONFIG_ARCH_HAS_PRMEM_HEADER
+#include <asm/prmem.h>
+#else
+
+struct wr_state {
+ struct mm_struct *prev;
+};
+
+#endif
It's still a conditional include, but it's in a C file, it shouldn't
cause any chance of loops.
The alternative is that each arch supporting prmem must have a
(probably) empty asm/prmem.h header.
I did some reasearch about telling the compiler to include a header only
if it exists, but it doesn't seem to be a gcc feature.
--
igor
Powered by blists - more mailing lists