[pve-devel] applied: [PATCH v3 kernel-meta] fix #2403: exclude initrd entries from /proc/cmdline

Thomas Lamprecht t.lamprecht at proxmox.com
Thu Oct 17 07:45:24 CEST 2019


On 10/16/19 1:17 PM, Oguz Bektas wrote:
> if we fallback to /proc/cmdline, it can include the booted initrd.
> 
> to avoid loader entries with initrd 'options' lines, we have to parse
> them out.
> 
> Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
> ---
> 
> v2->v3:
> * match forward slashes
> * match underscore
> * match zero or more whitespace at the end
> 
>  efiboot/zz-pve-efiboot | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/efiboot/zz-pve-efiboot b/efiboot/zz-pve-efiboot
> index 4756555..8771da9 100755
> --- a/efiboot/zz-pve-efiboot
> +++ b/efiboot/zz-pve-efiboot
> @@ -50,7 +50,8 @@ update_esps() {
>  		CMDLINE="$(cat /etc/kernel/cmdline)"
>  	else
>  		warn "No /etc/kernel/cmdline found - falling back to /proc/cmdline"
> -		CMDLINE="$(cat /proc/cmdline)"
> +		# remove initrd entries
> +		CMDLINE="$(awk '{gsub(/\yinitrd=([0-9a-zA-Z\/\\._-])*\s*/,x)}1' /proc/cmdline)"

applied, but fixed up a few things, mostly style-wise so IMO no need for a v4:
* add some spaces for separation, increasing readability
* do not use the non-existent variable x as replacement, but an actual
  empty string ""
* don't use the "truth-y action" at end to make awk print the line ($0)
  but explicitly print $0 after the gsub, makes it easier to get for
  people with not much awk background ;)

thanks!

>  	fi
>  
>  	loop_esp_list update_esp_func
> 





More information about the pve-devel mailing list