Re: [patch 1/3 v2] Add function get_bootparam

Ingo Molnar
2013-11-12T03:53:44Z

* H. Peter Anvin <hpa-YMNOUZJC4hwAvxtiuMwx3w@public.gmane.org> wrote:

> On 11/11/2013 05:27 PM, Toshi Kani wrote:
> > On Tue, 2013-11-05 at 16:29 +0800, dyoung-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org wrote:
> >> Not only setup_subarch will get data from debugfs file
> >> boot_params/data, later code for adding efi_info will
> >> also need do same thing. Thus add a common function here
> >> for later use.
> >
> > get_bootparam() calls find_mnt_by_fsname("debugfs"), which assumes that
> > debugfs is mounted with device name "debugfs". This function fails
> > when:
> > - debugfs is not mounted, or
> > - debugfs is mounted with a different device name, such as nodev [1].
> >
> > This issue is not introduced by this patch. But the original code,
> > which sets hardware_subarch, seems to work even if it failed to access
> > debugfs (which is ignored) since hardware_subarch is zero most of the
> > cases anyway. With this change, however, this failure now makes the 2nd
> > kernel unbootable. So, it needs to be addressed to make this code path
> > work reliably (or kexec should fail at least).
> >
>
> Greg, Ingo,
>
> Since there is now a legitimate user of this stuff, can we actually
> export this in sysfs (or something else other than sploit^Wdebugfs)?
>
> kexec-tools can have a fallback to debugfs if we really need it, but
> making people mount debugfs to have some essential piece of
> functionality scares the heck out of me.

No principial objections from me: anything that actually turns out to
prove itself in debugfs and ends up mattering for real ought to move to
sysfs.

Thanks,

Ingo