[pve-devel] [PATCH installer 1/2] low level: config: filter out kernel cmdline on word boundaries

Alexander Zeidler a.zeidler at proxmox.com
Wed Aug 14 12:51:27 CEST 2024


On Fri Aug 9, 2024 at 1:51 PM CEST, Christoph Heiss wrote:
> Otherwise, substrings might get replaced, e.g. the replacement
> `proxmox-start-auto-installer` -> `pxmox-start-auto-installer` would be
> done.
>
> Fixes: a02a78a ("fix #4747: pass kernel cmdline parameters to target system")
> Suggested-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
> Signed-off-by: Christoph Heiss <c.heiss at proxmox.com>
> ---
>  Proxmox/Install/Config.pm | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/Proxmox/Install/Config.pm b/Proxmox/Install/Config.pm
> index ae70093..6b064b1 100644
> --- a/Proxmox/Install/Config.pm
> +++ b/Proxmox/Install/Config.pm
> @@ -43,8 +43,8 @@ my sub parse_kernel_cmdline {
>  	}
>      }
>  
> -    $cmdline =~ s/(?:BOOT_IMAGE|root|ramdisk_size|splash|vga)=\S+\s?//gi;
> -    $cmdline =~ s/ro|rw|quiet|proxdebug|proxtui|nomodeset//gi;
> +    $cmdline =~ s/\b(?:BOOT_IMAGE|root|ramdisk_size|splash|vga)=\S+\s?\b//gi;

> +    $cmdline =~ s/\bro|rw|quiet|proxdebug|proxtui|nomodeset\b//gi;
There are parentheses missing next to \b .

The current implementation seems not to be strict enough when dealing
with variables. For example, the variable regex would not match
something like 'apic=quiet', but then the second regex matches wrongly
'quiet'.

>  
>      $cfg->{target_cmdline}= $cmdline;
>  





More information about the pve-devel mailing list