Re: [PATCH 5.18 34/61] objtool: Update Retpoline validation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Jul 13, 2022 at 09:54:01AM +0200, Jiri Slaby wrote:
> On 13. 07. 22, 9:45, Jiri Slaby wrote:
> > On 12. 07. 22, 20:39, Greg Kroah-Hartman wrote:
> > > From: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
> > > 
> > > commit 9bb2ec608a209018080ca262f771e6a9ff203b6f upstream.
> > > 
> > > Update retpoline validation with the new CONFIG_RETPOLINE requirement of
> > > not having bare naked RET instructions.
> > 
> > Hi,
> > 
> > this breaks compilation on i386:
> >  > arch/x86/kernel/../../x86/xen/xen-head.S:35: Error: no such
> > instruction: `annotate_unret_safe'
> > 
> > Config:
> > https://raw.githubusercontent.com/openSUSE/kernel-source/stable/config/i386/pae
> > 
> > 
> > And yeah, upstream¹⁾ is affected too.
> > 
> > ¹⁾I am at commit b047602d579b4fb028128a525f056bbdc890e7f0.
> 
> A naive fix is:
> --- a/arch/x86/kernel/head_32.S
> +++ b/arch/x86/kernel/head_32.S
> @@ -23,6 +23,7 @@
>  #include <asm/cpufeatures.h>
>  #include <asm/percpu.h>
>  #include <asm/nops.h>
> +#include <asm/nospec-branch.h>
>  #include <asm/bootparam.h>
>  #include <asm/export.h>
>  #include <asm/pgtable_32.h>
> 
> The question (I don't know answer to) is whether x86_32 should actually do
> ANNOTATE_UNRET_SAFE.

I doubt it should be doing that, but I'll let others answer more
definitively.

Your commit seems sane, for some reason I thought Boris tested i386
builds, but maybe in the end something snuck in that broke it.

thanks,

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux