Message ID | 20170814070849.20986-21-jgross@suse.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
>>> On 14.08.17 at 09:08, <jgross@suse.com> wrote: > --- a/xen/arch/x86/shutdown.c > +++ b/xen/arch/x86/shutdown.c > @@ -51,7 +51,7 @@ static int reboot_mode; > * efi Use the EFI reboot (if running under EFI) > */ > static enum reboot_type reboot_type = BOOT_INVALID; > -static void __init set_reboot_type(char *str) > +static int __init set_reboot_type(char *str) > { > for ( ; ; ) > { > @@ -74,6 +74,8 @@ static void __init set_reboot_type(char *str) > case 't': > reboot_type = *str; > break; > + default: > + return -EINVAL; This alters behavior - you want to store -EINVAL in a local variable, but continue the loop. Jan
On 14/08/17 15:39, Jan Beulich wrote: >>>> On 14.08.17 at 09:08, <jgross@suse.com> wrote: >> --- a/xen/arch/x86/shutdown.c >> +++ b/xen/arch/x86/shutdown.c >> @@ -51,7 +51,7 @@ static int reboot_mode; >> * efi Use the EFI reboot (if running under EFI) >> */ >> static enum reboot_type reboot_type = BOOT_INVALID; >> -static void __init set_reboot_type(char *str) >> +static int __init set_reboot_type(char *str) >> { >> for ( ; ; ) >> { >> @@ -74,6 +74,8 @@ static void __init set_reboot_type(char *str) >> case 't': >> reboot_type = *str; >> break; >> + default: >> + return -EINVAL; > > This alters behavior - you want to store -EINVAL in a local variable, > but continue the loop. Aah, yes. Okay. Juergen
diff --git a/xen/arch/x86/shutdown.c b/xen/arch/x86/shutdown.c index f63b8a668f..db9060e5e2 100644 --- a/xen/arch/x86/shutdown.c +++ b/xen/arch/x86/shutdown.c @@ -51,7 +51,7 @@ static int reboot_mode; * efi Use the EFI reboot (if running under EFI) */ static enum reboot_type reboot_type = BOOT_INVALID; -static void __init set_reboot_type(char *str) +static int __init set_reboot_type(char *str) { for ( ; ; ) { @@ -74,6 +74,8 @@ static void __init set_reboot_type(char *str) case 't': reboot_type = *str; break; + default: + return -EINVAL; } if ( (str = strchr(str, ',')) == NULL ) break; @@ -82,6 +84,8 @@ static void __init set_reboot_type(char *str) if ( reboot_type == BOOT_EFI && !efi_enabled(EFI_RS) ) reboot_type = BOOT_INVALID; + + return 0; } custom_param("reboot", set_reboot_type);