[PATCH 1/2] kexec: Default __NR_kexec_file_load is set to undefined
Baoquan He
bhe at redhat.com
Mon Mar 6 19:28:15 PST 2023
On 03/03/23 at 12:03pm, Philipp Rudo wrote:
> Hi Baoquan,
>
> On Tue, 28 Feb 2023 21:32:26 +0800
> Baoquan He <bhe at redhat.com> wrote:
>
> > Hi Philipp,
> >
> > On 02/27/23 at 04:19pm, Philipp Rudo wrote:
> > ......
> > > > diff --git a/kexec/kexec-syscall.h b/kexec/kexec-syscall.h
> > > > index be6ccd5..ea77936 100644
> > > > --- a/kexec/kexec-syscall.h
> > > > +++ b/kexec/kexec-syscall.h
> > > > @@ -59,9 +59,7 @@
> > > > #endif
> > > > #endif /*ifndef __NR_kexec_load*/
> > > >
> > > > -#ifdef __arm__
> > > > #undef __NR_kexec_file_load
> > > > -#endif
> > > >
> > > > #ifndef __NR_kexec_file_load
> > >
> > > I don't think this will work as intended.
> > >
> > > On the top of the file sys/syscall.h gets included. In there
> > > architectures that support kexec_file_load define __NR_kexec_file_load.
> > > This also means that if an architecture doesn't support kexec_file_load
> > > __NR_kexec_file_load shouldn't be defined in the first place. Thus I
> > > suggest that you find out why sys/syscall.h defines
> > > __NR_kexec_file_load for LoongArch even when the system call is not
> > > supported and fix it there.
> >
> > Checking whether LoongArch has defined __NR_kexec_file_load sounds a
> > good suggestion. Wondering why we still need add __NR_kexec_file_load
> > definition in kexec-tools. E.g below s390 kexec_file support you added.
> > <sys/syscall.h> sometime won't be found or __NR_kexec_file_load could be
> > not defined yet?
> >
> > commit d4a948c268272cf37c71be820fb02bf40e56292b
> > Author: Philipp Rudo <prudo at linux.ibm.com>
> > Date: Wed May 16 14:27:18 2018 +0200
> >
> > kexec/s390: Add support for kexec_file_load
> >
>
> To be honest I don't remember why I have added it back then. Most
> likely I simply copied what others have done before.
>
> The benefit in having the extra definition I see is that you don't need
> to rebuild glibc when you implement the syscall and don't use the
> generic unistd.h. But that is something only few people should ever
> encounter.
OK, got it. From the code, the adding won't cuase issue, but a double
insurance, not sure if it's redundant. Someone interested can
investigate and clean up if needed.
Thanks for the information.
More information about the kexec
mailing list