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

Toshi Kani
2013-11-12T01:27:38Z

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).

[1]
https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_MRG/2/html/Realtime_Tuning_Guide/sect-Realtime_Tuning_Guide-Realtime_Specific_Tuning-Mount_debugfs.html

Thanks,
Toshi