Re: [PATCH v4 03/10] livepatch: Add klp-convert tool

From: Masahiro Yamada
Date: Mon Aug 12 2019 - 21:16:43 EST


On Sat, Aug 10, 2019 at 3:42 AM Joe Lawrence <joe.lawrence@xxxxxxxxxx> wrote:

> > > > diff --git a/scripts/livepatch/Makefile b/scripts/livepatch/Makefile
> > > > new file mode 100644
> > > > index 000000000000..2842ecdba3fd
> > > > --- /dev/null
> > > > +++ b/scripts/livepatch/Makefile
> > > > @@ -0,0 +1,7 @@
> > > > +hostprogs-y := klp-convert
> > > > +always := $(hostprogs-y)
> > > > +
> > > > +klp-convert-objs := klp-convert.o elf.o
> > > > +
> > > > +HOST_EXTRACFLAGS := -g -I$(INSTALL_HDR_PATH)/include -Wall
> > >
> > > This looks strange.
> > >
> > > Theoretically, you cannot include headers in $(INSTALL_HDR_PATH)/include
> > > from host programs.
> > >
> > > headers_install works for the target architecture, not host architecture.
> > > This may cause a strange result when you are cross-compiling the kernel.
> > >
> > > BTW, which header in $(INSTALL_HDR_PATH)/include do you need to include ?
> > >
> > >
> > > Also, -Wall is redundant because it is set by the top-level Makefile.
> >
> >
> > I deleted HOST_EXTRACFLAGS entirely,
> > and I was still able to build klp-convert.
> >
> >
> > What is the purpose of '-g' ?
> > If it is only needed for local debugging,
> > it should be removed from the upstream code, in my opinion.
> >
>
> HOST_EXTRACFLAGS looks like it was present in the patchset from the
> early RFC days and inherited through each revision.
>
> These are the files that the klp-convert code includes, mostly typical C
> usercode headers like stdio.h and a few local headers like elf.h:
>
> % grep -h '^#include' scripts/livepatch/*.{c,h} | sort -u
> #include "elf.h"
> #include <fcntl.h>
> #include <gelf.h>
> #include "klp-convert.h"
> #include "list.h"
> #include <stdbool.h>
> #include <stdio.h>
> #include <stdlib.h>
> #include <string.h>
> #include <sys/stat.h>
> #include <sys/types.h>
> #include <unistd.h>
>
> If HOST_EXTRACFLAGS is really unneeded, we can easily drop it in the
> next patchset version.

Yes, please do so.

Thanks.



--
Best Regards
Masahiro Yamada