738bf0 address the case where there are multiple values for the same kernel arg

Authored and Committed by liutgnu 2 years ago
1 file changed. 40 lines added. 14 lines removed.
    address the case where there are multiple values for the same kernel arg
    
    Resolves: bz2060774
    Upstream: fedora
    Conflict: none
    
    commit 37f4f2c1f6f1304e1b58604a788c57c51508eead
    Author: Coiby Xu <coxu@redhat.com>
    Date:   Tue Feb 15 13:24:19 2022 +0800
    
        address the case where there are multiple values for the same kernel arg
    
        There is the case where there are multiple entries of the same parameter on
        the command line, e.g.
        GRUB_CMDLINE_LINUX="crashkernel=110M crashkernel=220M fadump=on crashkernel=330M".
    
        In such an situation _update_kernel_cmdline_in_grub_etc_default only
        updates/removes the last entry which is usually not what you want as the
        kernel (for crashkernel) takes the last entry it can find.
    
        Thus make sure the case with multiple entries of the same parameter is
        handled properly by removing all occurrences of given parameter first.
    
        Note
        1. sed command group and conditional control has been used to get rid of
           grep.
        2. Fully supporting kernel cmdline as documented in
           Documentation/admin-guide/kernel-parameters.rst is complex and in
           foreseeable future a full implementation is not needed. So simply
           document the unsupported cases instead.
    
        Fixes: 140da74 ("rewrite reset_crashkernel to support fadump and to used by RPM scriptlet")
    
        Reported-by: Philipp Rudo <prudo@redhat.com>
        Suggested-by: Philipp Rudo <prudo@redhat.com>
        Reviewed-by: Philipp Rudo <prudo@redhat.com>
    
    Signed-off-by: Tao Liu <ltao@redhat.com>
    
        
file modified
+40 -14