kdumpctl: Optimize _find_kernel_path_by_release regex string
Resolves: bz2141536 Upstream: Fedora Conflict: None commit5eb77ee3faAuthor: Lichen Liu <lichliu@redhat.com> Date: Thu Nov 24 09:15:25 2022 +0800 kdumpctl: Optimize _find_kernel_path_by_release regex string Currently _find_kernel_path_by_release uses grubby and grep to find the kernel path, if both the normal kernel and it's debug varient exist, the grep will give more than one kernel strings. ``` kernel="/boot/vmlinuz-5.14.0-139.kpq0.el9.s390x+debug" kernel="/boot/vmlinuz-5.14.0-139.kpq0.el9.s390x" ``` This will cause an error when installing debug kernel. ``` The param "/boot/vmlinuz-5.14.0-139.kpq0.el9.s390x+debug /boot/vmlinuz-5.14.0-139.kpq0.el9.s390x" is incorrect ``` Fixes:945cbbd("add helper functions to get kernel path by kernel release and the path of current running kernel") Signed-off-by: Lichen Liu <lichliu@redhat.com> Reviewed-by: Philipp Rudo <prudo@redhat.com> Signed-off-by: Lichen Liu <lichliu@redhat.com>
This commit is contained in:
		
							parent
							
								
									aa204a3b63
								
							
						
					
					
						commit
						fd2521df50
					
				
							
								
								
									
										2
									
								
								kdumpctl
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								kdumpctl
									
									
									
									
									
								
							| @ -1380,7 +1380,7 @@ _filter_grubby_kernel_str() | |||||||
| _find_kernel_path_by_release() | _find_kernel_path_by_release() | ||||||
| { | { | ||||||
| 	local _release="$1" _grubby_kernel_str _kernel_path | 	local _release="$1" _grubby_kernel_str _kernel_path | ||||||
| 	_grubby_kernel_str=$(grubby --info ALL | grep "^kernel=.*$_release") | 	_grubby_kernel_str=$(grubby --info ALL | grep "^kernel=.*$_release\"$") | ||||||
| 	_kernel_path=$(_filter_grubby_kernel_str "$_grubby_kernel_str") | 	_kernel_path=$(_filter_grubby_kernel_str "$_grubby_kernel_str") | ||||||
| 	if [[ -z $_kernel_path ]]; then | 	if [[ -z $_kernel_path ]]; then | ||||||
| 		derror "kernel $_release doesn't exist" | 		derror "kernel $_release doesn't exist" | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user