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

Fabian Grünbichler f.gruenbichler at proxmox.com
Thu Oct 17 10:13:10 CEST 2019


On October 17, 2019 7:45 am, Thomas Lamprecht wrote:
> 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!

a bit late to the party unfortunately, but AFAICT it's also valid to 
have quoted parameter values with spaces inside - maybe it's worth a 
follow-up? not relevant for our generated ones, but maybe for manually 
built/added kernels..

also not sure whether plain ascii alpha-numeric is the proper choice for 
characters. we can also leave it as is until somebody reports actually 
running into either issue though ;)

> 
>>  	fi
>>  
>>  	loop_esp_list update_esp_func
>> 
> 
> 
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
> 
> 




More information about the pve-devel mailing list