Reunbreak the MEM_ENCRYPT build

Matthew Wilcox posted 1 patch 2 years, 7 months ago
Reunbreak the MEM_ENCRYPT build
Posted by Matthew Wilcox 2 years, 7 months ago
Current top of tree doesn't build for me:

../arch/x86/include/asm/mem_encrypt.h:23:20: error: static declaration of ‘mem_encrypt_init’ follows non-static declaration
   23 | static inline void mem_encrypt_init(void) { }
      |                    ^~~~~~~~~~~~~~~~
In file included from ../include/linux/printk.h:6,
                 from ../include/linux/kernel.h:30,
                 from ../arch/x86/include/asm/percpu.h:27,
                 from ../arch/x86/include/asm/preempt.h:6:
../include/linux/init.h:158:6: note: previous declaration of ‘mem_encrypt_init’ with type ‘void(void)’
  158 | void mem_encrypt_init(void);
      |      ^~~~~~~~~~~~~~~~

I applied this locally:

diff --git a/include/linux/init.h b/include/linux/init.h
index 1200fa99e848..266c3e1640d4 100644
--- a/include/linux/init.h
+++ b/include/linux/init.h
@@ -155,7 +155,6 @@ void __init init_rootfs(void);

 void init_IRQ(void);
 void time_init(void);
-void mem_encrypt_init(void);
 void poking_init(void);
 void pgtable_cache_init(void);

Probably this is the wrong fix.

Re: Reunbreak the MEM_ENCRYPT build
Posted by Linus Torvalds 2 years, 7 months ago
On Wed, 28 Jun 2023 at 12:03, Matthew Wilcox <willy@infradead.org> wrote:
>
> Probably this is the wrong fix.

No, that looks like the obviously correct fix, I just don't see how we
all missed that stale declaration.

I guess we all had X86_MEM_ENCRYPT enabled, which hides the problem.
And other architectures wouldn't have had the issue.

                 Linus
Re: Reunbreak the MEM_ENCRYPT build
Posted by Thomas Gleixner 2 years, 7 months ago
On Wed, Jun 28 2023 at 12:52, Linus Torvalds wrote:
> On Wed, 28 Jun 2023 at 12:03, Matthew Wilcox <willy@infradead.org> wrote:
>>
>> Probably this is the wrong fix.
>
> No, that looks like the obviously correct fix, I just don't see how we
> all missed that stale declaration.
>
> I guess we all had X86_MEM_ENCRYPT enabled, which hides the problem.
> And other architectures wouldn't have had the issue.

Sigh. I'm sure that I fixed that before. No idea how I missed it in the
final reference merge (again).

Sorry.

        tglx
Re: Reunbreak the MEM_ENCRYPT build
Posted by Stephen Rothwell 2 years, 7 months ago
Hi Linus,

On Wed, 28 Jun 2023 12:52:24 -0700 Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
> On Wed, 28 Jun 2023 at 12:03, Matthew Wilcox <willy@infradead.org> wrote:
> >
> > Probably this is the wrong fix.  
> 
> No, that looks like the obviously correct fix, I just don't see how we
> all missed that stale declaration.
> 
> I guess we all had X86_MEM_ENCRYPT enabled, which hides the problem.
> And other architectures wouldn't have had the issue.

https://lore.kernel.org/all/20230620145357.12d6b23f@canb.auug.org.au/

:-(
-- 
Cheers,
Stephen Rothwell