Reunbreak the MEM_ENCRYPT build

Message ID ZJyECvfrOWhKJj4t@casper.infradead.org
State New
Headers
Series Reunbreak the MEM_ENCRYPT build |

Commit Message

Matthew Wilcox June 28, 2023, 7:03 p.m. UTC
  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:

Probably this is the wrong fix.
  

Comments

Linus Torvalds June 28, 2023, 7:52 p.m. UTC | #1
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
  
Thomas Gleixner June 28, 2023, 9:33 p.m. UTC | #2
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
  
Stephen Rothwell June 29, 2023, 12:19 a.m. UTC | #3
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/

:-(
  

Patch

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);