Blame kexec-tools-2.0.23-05-s390_add_support_for_reuse_cmdline.patch

Philipp Rudo 673f93
 commit 2e1ec106dc5aac951ba884ebe4cca036e9a2d45f
Philipp Rudo 673f93
 Author: Sven Schnelle <svens@linux.ibm.com>
Philipp Rudo 673f93
 Date:   Thu Dec 16 12:43:56 2021 +0100
Philipp Rudo 673f93
 
Philipp Rudo 673f93
     s390: add support for --reuse-cmdline
Philipp Rudo 673f93
     
Philipp Rudo 673f93
     --reuse-cmdline reads the command line of the currently
Philipp Rudo 673f93
     running kernel from /proc/cmdline and uses that for the
Philipp Rudo 673f93
     kernel that should be kexec'd.
Philipp Rudo 673f93
     
Philipp Rudo 673f93
     Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Philipp Rudo 673f93
     Reviewed-by: Alexander Egorenkov <egorenar@linux.ibm.com>
Philipp Rudo 673f93
     Signed-off-by: Simon Horman <horms@verge.net.au>
Philipp Rudo 673f93
 
Philipp Rudo 673f93
 diff --git a/kexec/arch/s390/include/arch/options.h b/kexec/arch/s390/include/arch/options.h
Philipp Rudo 673f93
 index 76044a301ceb3cca013f70dff330a8ad343d808a..c150244996c79165cf1e83e331f728432b752652 100644
Philipp Rudo 673f93
 --- a/kexec/arch/s390/include/arch/options.h
Philipp Rudo 673f93
 +++ b/kexec/arch/s390/include/arch/options.h
Philipp Rudo 673f93
 @@ -1,9 +1,10 @@
Philipp Rudo 673f93
  #ifndef KEXEC_ARCH_S390_OPTIONS_H
Philipp Rudo 673f93
  #define KEXEC_ARCH_S390_OPTIONS_H
Philipp Rudo 673f93
  
Philipp Rudo 673f93
 -#define OPT_ARCH_MAX	(OPT_MAX+0)
Philipp Rudo 673f93
 -#define OPT_APPEND	OPT_MAX+0
Philipp Rudo 673f93
 -#define OPT_RAMDISK	OPT_MAX+1
Philipp Rudo 673f93
 +#define OPT_ARCH_MAX		(OPT_MAX+0)
Philipp Rudo 673f93
 +#define OPT_APPEND		(OPT_MAX+0)
Philipp Rudo 673f93
 +#define OPT_RAMDISK		(OPT_MAX+1)
Philipp Rudo 673f93
 +#define OPT_REUSE_CMDLINE	(OPT_MAX+2)
Philipp Rudo 673f93
  
Philipp Rudo 673f93
  /* Options relevant to the architecture (excluding loader-specific ones),
Philipp Rudo 673f93
   * in this case none:
Philipp Rudo 673f93
 @@ -31,7 +32,8 @@
Philipp Rudo 673f93
  	KEXEC_ARCH_OPTIONS				\
Philipp Rudo 673f93
  	{"command-line",     1, 0, OPT_APPEND},		\
Philipp Rudo 673f93
  	{"append",           1, 0, OPT_APPEND},		\
Philipp Rudo 673f93
 -	{"initrd",	     1, 0, OPT_RAMDISK},
Philipp Rudo 673f93
 +	{"initrd",	     1, 0, OPT_RAMDISK},	\
Philipp Rudo 673f93
 +	{"reuse-cmdline",    0, 0, OPT_REUSE_CMDLINE },
Philipp Rudo 673f93
  
Philipp Rudo 673f93
  #define KEXEC_ALL_OPT_STR KEXEC_ARCH_OPT_STR
Philipp Rudo 673f93
  
Philipp Rudo 673f93
 diff --git a/kexec/arch/s390/kexec-image.c b/kexec/arch/s390/kexec-image.c
Philipp Rudo 673f93
 index 209ab77ddccbd60f10989e2d9fc273324aefa76d..69aaf96812f741110bf323b4bb8d5dda155f293a 100644
Philipp Rudo 673f93
 --- a/kexec/arch/s390/kexec-image.c
Philipp Rudo 673f93
 +++ b/kexec/arch/s390/kexec-image.c
Philipp Rudo 673f93
 @@ -71,6 +71,10 @@ int image_s390_load_file(int argc, char **argv, struct kexec_info *info)
Philipp Rudo 673f93
  		case OPT_RAMDISK:
Philipp Rudo 673f93
  			ramdisk = optarg;
Philipp Rudo 673f93
  			break;
Philipp Rudo 673f93
 +		case OPT_REUSE_CMDLINE:
Philipp Rudo 673f93
 +			free(info->command_line);
Philipp Rudo 673f93
 +			info->command_line = get_command_line();
Philipp Rudo 673f93
 +			break;
Philipp Rudo 673f93
  		}
Philipp Rudo 673f93
  	}
Philipp Rudo 673f93
  
Philipp Rudo 673f93
 @@ -123,6 +127,10 @@ image_s390_load(int argc, char **argv, const char *kernel_buf,
Philipp Rudo 673f93
  			if (command_line_add(info, optarg))
Philipp Rudo 673f93
  				return -1;
Philipp Rudo 673f93
  			break;
Philipp Rudo 673f93
 +		case OPT_REUSE_CMDLINE:
Philipp Rudo 673f93
 +			free(info->command_line);
Philipp Rudo 673f93
 +			info->command_line = get_command_line();
Philipp Rudo 673f93
 +			break;
Philipp Rudo 673f93
  		case OPT_RAMDISK:
Philipp Rudo 673f93
  			ramdisk = optarg;
Philipp Rudo 673f93
  			break;
Philipp Rudo 673f93
 @@ -223,5 +231,6 @@ image_s390_usage(void)
Philipp Rudo 673f93
  	printf("--command-line=STRING Set the kernel command line to STRING.\n"
Philipp Rudo 673f93
  	       "--append=STRING       Set the kernel command line to STRING.\n"
Philipp Rudo 673f93
  	       "--initrd=FILENAME     Use the file FILENAME as a ramdisk.\n"
Philipp Rudo 673f93
 +	       "--reuse-cmdline       Use kernel command line from running system.\n"
Philipp Rudo 673f93
  		);
Philipp Rudo 673f93
  }