Re: [PATCH 2/2] s390/nospec: remove unneeded header includes

Masahiro Yamada
2023-03-17T10:59:35Z

On Thu, Mar 16, 2023 at 8:14 PM Jiri Slaby <jirislaby@kernel.org> wrote:
>
> On 27. 06. 22, 14:50, Vasily Gorbik wrote:
> > Commit 4efd417f298b ("s390: raise minimum supported machine generation
> > to z10") removed the usage of alternatives and lowcore in expolines
> > macros. Remove unneeded header includes as well.
> >
> > With that, expoline.S doesn't require asm-offsets.h and
> > expoline_prepare target dependency could be removed.
> >
> > Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
> > ---
> > arch/s390/Makefile | 2 +-
> > arch/s390/include/asm/nospec-insn.h | 2 --
> > 2 files changed, 1 insertion(+), 3 deletions(-)
> >
> > diff --git a/arch/s390/Makefile b/arch/s390/Makefile
> > index fc72a35a1f07..4cb5d17e7ead 100644
> > --- a/arch/s390/Makefile
> > +++ b/arch/s390/Makefile
> > @@ -166,7 +166,7 @@ vdso_prepare: prepare0
> >
> > ifdef CONFIG_EXPOLINE_EXTERN
> > modules_prepare: expoline_prepare
> > -expoline_prepare: prepare0
> > +expoline_prepare:
>
> Hi,
>
> this likely broke s390 build as expolines still depend on
> scripts/basic/fixdep. And build of expolines can now race with fixdep build:
> make[1]: *** Deleting file 'arch/s390/lib/expoline/expoline.o'
> /bin/sh: line 1: scripts/basic/fixdep: Permission denied
> make[1]: *** [../scripts/Makefile.build:385:
> arch/s390/lib/expoline/expoline.o] Error 126
> make: *** [../arch/s390/Makefile:166: expoline_prepare] Error 2

Indeed. This is a race.

> I returned there:
> expoline_prepare: prepare0
> and it looks good so far. Maybe even:
> expoline_prepare: scripts
> would be enough.
>
> Opinions?
>

Technically, 'scripts' might be enough, but
it is difficult to predict whether
arch/s390/lib/expoline/expoline.S
includes generated headers or not.

The chain of header inclusion changes all the time.

--
Best Regards
Masahiro Yamada