Commit Graph

133 Commits

Author SHA1 Message Date
Tao Liu
41f1d5b2e9 fadump: fix dump capture failure to root disk
Resolves: bz1952652
Upstream: fedora
Conflict: none

commit d0e9c51e0d
Author: Hari Bathini <hbathini@linux.ibm.com>
Date:   Thu Apr 22 18:21:59 2021 +0530

    fadump: fix dump capture failure to root disk

    If the dump target is the root disk, kdump scripts add an entry in
    /etc/fstab for root disk with /sysroot as the mount point. The root
    disk, passed through root=<> kernel commandline parameter, is mounted
    at /sysroot in read-only mode before switching from initial ramdisk.
    So, in fadump mode, a remount of /sysroot to read-write mode is needed
    to capture dump successfully, because /sysroot is already mounted as
    read-only based on root=<> boot parameter.

    Commit e8ef4db8ff ("Fix dump_fs mount point detection and fallback
    mount") removed initialization of $_op variable, the variable holding
    the options the dump target was mounted with, leading to the below
    error as remount was skipped:

      kdump[586]: saving to /sysroot/var/crash/127.0.0.1-2021-04-22-07:22:08/
      kdump.sh[587]: mkdir: cannot create directory '/sysroot/var/crash/127.0.0.1-2021-04-22-07:22:08/': Read-only file system
      kdump[589]: saving vmcore failed

    Restore $_op variable initialization in dump_fs() function to fix this.

    Fixes: e8ef4db8ff ("Fix dump_fs mount point detection and fallback mount")
    Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-05-14 14:27:03 +08:00
Tao Liu
3e44dae49a Stop reloading kdump service on CPU hotplug event for FADump
Resolves: bz1924116
Upstream: fedora
Conflict: none

commit 6a2e820d87
Author: Sourabh Jain <sourabhjain@linux.ibm.com>
Date:   Sun Feb 21 17:23:37 2021 +0530

    Stop reloading kdump service on CPU hotplug event for FADump

    As FADump does not require an explicit elfcorehdr update whenever there is CPU
    hotplug event so let's stop kdump service reload for FADump when CPU hotplug
    event is triggered.

    A new label is added to handle CPU and memory hotplug events separately. The
    updated CPU hotplug event handler make sure that kdump service should not be
    reloaded when FADump is configured.

    Signed-off-by: Sourabh Jain <sourabhjain@linux.ibm.com>
    Reviewed-by: Pingfan Liu <piliu@redhat.com>
    Acked-by: Baoquan He <bhe@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-05-14 14:27:03 +08:00
Tao Liu
325662490f Make dracut-squash required for kexec-tools
Resolves: bz1947928
Upstream: fedora
Conflict: none

commit 475e33030b
Author: Tao Liu <ltao@redhat.com>
Date:   Sun Apr 25 17:05:42 2021 +0800

    Make dracut-squash required for kexec-tools

    This patch reverts commit "Make dracut-squash a weak dep".

    Although kexec-tools can work without dracut-squash, it is essential
    for kdump to run properly in cases [1][2] where minimal amount of memory
    consumption is expected. Thus dracut-squash is needed for it.

    [1] https://lists.fedoraproject.org/archives/list/kexec@lists.fedoraproject.org/message/SJX7CW3WLOYSFI2YJKGTUGDBWSCMZXVZ/
    [2] https://www.spinics.net/lists/systemd-devel/msg05864.html

    Signed-off-by: Tao Liu <ltao@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-05-14 14:27:03 +08:00
Tao Liu
134a7686ed Fix incorrect file permissions of vmcore-dmesg-incomplete.txt
Resolves: bz1955453
Upstream: fedora
Conflict: none

commit ca05b754af
Author: Tao Liu <ltao@redhat.com>
Date:   Mon May 10 22:10:26 2021 +0800

    Fix incorrect file permissions of vmcore-dmesg-incomplete.txt

    vmcore-dmesg-incomplete.txt is generated by shell redirection,
    which taking the default umask value. When dmesg collector exits
    with non-zero, the file will exist and anyone can have access to
    it.

    This patch fixed the issue by chmod the file, making it accessible
    only to its owner.

    Signed-off-by: Tao Liu <ltao@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-05-14 14:27:03 +08:00
Tao Liu
2b7d3aa34d Disable CMA in kdump 2nd kernel
Resolves: bz1950885
Upstream: fedora
Conflict: none

commit d5fe96cd7a
Author: Tao Liu <ltao@redhat.com>
Date:   Tue Apr 27 17:58:40 2021 +0800

    Disable CMA in kdump 2nd kernel

    kexec-tools needs to disable CMA for kdump kernel cmdline,
    otherwise kdump kernel may run out of memory.

    This patch strips the inherited cma=, hugetlb_cma= cmd
    line from 1st kernel, and sets to be 0 for 2nd kernel.

    Signed-off-by: Tao Liu <ltao@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-05-14 14:27:03 +08:00
Tao Liu
12e0d70d00 update makedumpfile to v1.6.9
resolves: bz1896616

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-05-14 14:27:03 +08:00
Coiby Xu
b5c91536c1 Warn the user if network scripts are used
Resolves: bz1919052
Upstream: Fedora
Conflict: None

commit 8178d7a5a1
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 1 15:32:14 2021 +0800

    Warn the user if network scripts are used

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-14 06:14:14 +00:00
Coiby Xu
c23189119b Set up bond cmdline by "nmcli --get-values"
Resolves: bz1919052
Upstream: Fedora
Conflict: None

commit d5f6d38173
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 1 15:32:13 2021 +0800

    Set up bond cmdline by "nmcli --get-values"

    Now kdumpctl will exit if failing to set up bond cmdline.

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-14 06:14:14 +00:00
Coiby Xu
f0694987e8 Set up dns cmdline by parsing "nmcli --get-values"
Resolves: bz1919052
Upstream: Fedora
Conflict: None

commit 6f1badec78
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 1 15:32:12 2021 +0800

    Set up dns cmdline by parsing "nmcli --get-values"

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-14 06:14:14 +00:00
Coiby Xu
d408ec02f0 Set up s390 znet cmdline by "nmcli --get-values"
Resolves: bz1919052
Upstream: Fedora
Conflict: None

commit 8b08b4f17b
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 1 15:32:11 2021 +0800

    Set up s390 znet cmdline by "nmcli --get-values"

    Now kdumpctl will abort when failing to set up znet.

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-14 06:14:14 +00:00
Coiby Xu
b15a090483 Add helper to get nmcli connection show cmd by ifname
Resolves: bz1919052
Upstream: Fedora
Conflict: None

commit 0c292f49c7
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 1 15:32:10 2021 +0800

    Add helper to get nmcli connection show cmd by ifname

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-14 06:14:14 +00:00
Coiby Xu
2f9fc88963 Add helper to get nmcli connection apath by ifname
Resolves: bz1919052
Upstream: Fedora
Conflict: None

commit c69578ca43
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 1 15:32:09 2021 +0800

    Add helper to get nmcli connection apath by ifname

    apath (a D-Bus active connection path) is used for nmcli connection operations, e.g.
      $ nmcli connection show $apath

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-14 06:14:14 +00:00
Coiby Xu
d09dc2f45e Add helper to get value by field using "nmcli --get-values"
Resolves: bz1919052
Upstream: Fedora
Conflict: None

commit 10c309b5f7
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 1 15:32:08 2021 +0800

    Add helper to get value by field using "nmcli --get-values"

    nmcli --get-values <field> connection show /org/freedesktop/NetworkManager/ActiveConnection/1
    returns the following value for the corresponding field respectively,
      Field                                  Value
      IP4.DNS                                "10.19.42.41 | 10.11.5.19 | 10.5.30.160"
      802-3-ethernet.s390-subchannels        ""
      bond.options                           "mode=balance-rr"

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-14 06:14:14 +00:00
Tao Liu
e0f97b91b8 Release 2.0.22-1
Update kexec-tools to 2.0.22
Resolves: bz1895254

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-05-13 18:00:43 +08:00
Coiby Xu
69c605f392 rd.route should use the name from kdump_setup_ifname
Resolves: bz1950932
Upstream: Fedora
Conflict: None

commit 8a33ffffbc
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu May 6 09:20:27 2021 +0800

    rd.route should use the name from kdump_setup_ifname

    This fixes bz1854037 which happens because kexec-tools generates rd.route for
    eth0 instead of for kdump-eth0,
     1. "rd.route=168.63.129.16:10.0.0.1:eth0 rd.route=169.254.169.254:10.0.0.1:eth0" is passed to the dracut cmdline by kexec-tools
     2. In the 2rd kernel, dracut/modules.d/35network-manager/nm-config.sh calls
        /usr/libexec/nm-initrd-generator to generate two .nmconnection files
        based on the dracut cmdline, i.e. kdump-eth0.nmconnection and eth0.nmconnection,
        - /run/NetworkManager/system-connections/kdump-eth0.nmconnection
            [connection]
            id=kdump-eth0
            uuid=3ef53b1b-3908-437e-a15f-cf1f3ea2678b
            type=ethernet
            autoconnect-retries=1
            interface-name=kdump-eth0
            multi-connect=1
            permissions=
            wait-device-timeout=60000
            [ethernet]
            mac-address-blacklist=
            [ipv4]
            address1=10.0.0.4/24,10.0.0.1
            dhcp-timeout=90
            dns=168.63.129.16;
            dns-search=
            may-fail=false
            method=manual
            [ipv6]
            addr-gen-mode=eui64
            dhcp-timeout=90
            dns-search=
            method=disabled
            [proxy]

        - /run/NetworkManager/system-connections/eth0.nmconnection
            [connection]
            id=eth0
            uuid=f224dc22-2891-4d7b-8f66-745029df4b53
            type=ethernet
            autoconnect-retries=1
            interface-name=eth0
            multi-connect=1
            permissions=
            [ethernet]
            mac-address-blacklist=
            [ipv4]
            dhcp-timeout=90
            dns=168.63.129.16;
            dns-search=
            method=auto
            route1=168.63.129.16/32,10.0.0.1
            route2=169.254.169.254/32,10.0.0.1
            [ipv6]
            addr-gen-mode=eui64
            dhcp-timeout=90
            dns-search=
            method=auto
            [proxy]

     3. Since there's eth0.nmconnection, NetworkManager will try to get an IP for eth0 regardless of the fact it's a slave NIC and time out
        ```
        $ ip link show
        2: kdump-eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
           link/ether 00:0d:3a:11:86:8b brd ff:ff:ff:ff:ff:ff
        3: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master kdump-eth0 state UP mode DEFAULT group default qlen 1000
        ```

    Reported-by: Huijing Hei <hhei@redhat.com>
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-13 15:37:30 +08:00
Coiby Xu
6a8e087180 get kdump ifname once in kdump_install_net
Resolves: bz1950932
Upstream: Fedora
Conflict: None

commit 97ee5dc64c
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu May 6 09:20:26 2021 +0800

    get kdump ifname once in kdump_install_net

    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-13 15:36:46 +08:00
Coiby Xu
54611cd628 Implement IP netmask calculation to replace "ipcalc -m"
Resolves: bz1947347
Upstream: Fedora
Conflict: None

commit 1ca1b71780
Author: Coiby Xu <coxu@redhat.com>
Date:   Thu Apr 8 11:44:26 2021 +0800

    Implement IP netmask calculation to replace "ipcalc -m"

    Recently, dracut-network drops depedency on dhcp-client which requires
    ipcalc. Thus the dependency chain
    "kexec-tools -> dracut-network -> dhcp-client -> ipcalc"
    is broken. When NIC is configured to a static IP, kexec-tools depended
    on "ipcalc -m" to get netmask. This commit implements the shell
    equivalent of "ipcalc -m".

    The following test code shows cal_netmask_by_prefix is consistent with
    "ipcalc -m",

        #!/bin/bash
        . dracut-module-setup.sh

        for i in {0..128}; do
            mask_expected=$(ipcalc -m fe::/$i| cut -d"=" -f2)
            mask_actual=$(cal_netmask_by_prefix $i "-6")
            if [[ "$mask_expected" != "$mask_actual" ]]; then
                echo "prefix="$i, "expected="$mask_expected, "acutal="$mask_actual
                exit
            fi
        done

        echo "IPv6 tests passed"

        for i in {0..32}; do
            mask_expected=$(ipcalc -m 8.8.8.8/$i| cut -d"=" -f2)
            mask_actual=$(cal_netmask_by_prefix $i "")
            if [[ "$mask_expected" != "$mask_actual" ]]; then
                echo "prefix="$i, "expected="$mask_expected, "acutal="$mask_actual
                exit
            fi
        done

        echo "IPv4 tests passed"

        i=-2
        res=$(cal_netmask_by_prefix "$i" "")
        if [[ $? -ne 1 ]]; then
            echo "cal_netmask_by_prefix should exit when prefix<0"
            exit
        fi

        res=$(cal_netmask_by_prefix "$i" "")
        if [[ $? -ne 1 ]]; then
            echo "cal_netmask_by_prefix should exit when prefix<0"
            exit
        fi

        i=33
        $(cal_netmask_by_prefix $i "")
        if [[ $? -ne 1 ]]; then
            echo "cal_netmask_by_prefix should exit when prefix>32 for IPv4"
            exit
        fi

        i=129
        $(cal_netmask_by_prefix $i "-6")
        if [[ $? -ne 1 ]]; then
            echo "cal_netmask_by_prefix should exit when prefix>128 for IPv4"
            exit
        fi

        echo "Bad prefixes tests passed"

        echo "All tests passed"

    Reported-by: Jie Li <jieli@redhat.com>
    Signed-off-by: Coiby Xu <coxu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Coiby Xu <coxu@redhat.com>
2021-05-11 06:38:58 +00:00
Pingfan Liu
540d33a082 kdump-lib.sh: introduce functions to return recommened mem size
Resolves: bz1892558
Upstream: Fedora
Conflict: None

commit 18131894b6
Author: Pingfan Liu <piliu@redhat.com>
Date:   Thu Feb 4 09:45:36 2021 +0800

    kdump-lib.sh: introduce functions to return recommened mem size

    There is requirement to decide the recommended memory size for the current
    system. And the algorithm is based on /proc/iomem, so it can align with the
    algorithm used by reserve_crashkernel() in kernel.

    Signed-off-by: Pingfan Liu <piliu@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Pingfan Liu <piliu@redhat.com>
2021-04-27 10:20:25 +08:00
Tao Liu
154195d22c Release 2.0.21-7
Related: rhbz#1938165

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-04-25 14:52:55 +08:00
Tao Liu
910c20d3ce Fix incorrect vmcore permissions when dumped through ssh
Related: rhbz#1938165
Upstream: fedora
Conflict: none

commit 00785873ef
Author: Tao Liu <ltao@redhat.com>
Date:   Fri Mar 19 18:07:51 2021 +0800

    Fix incorrect vmcore permissions when dumped through ssh

    Previously when dumping vmcore to a remote machine through ssh,
    the files are created remotely and file permissions are taken
    from the default umask value, which making the files accessible to
    anyone on the remote machine.

    This patch fixed the security issue by setting a customized umask value
    before the file creation on the remote machine.

    Signed-off-by: Tao Liu <ltao@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-04-20 16:29:34 +08:00
Tao Liu
3371584d02 Fix incorrect permissions on kdump dmesg file
Resolves: rhbz#1938165
Upstream: fedora
Conflict: none

commit 91c802ff52
Author: Tao Liu <ltao@redhat.com>
Date:   Thu Mar 18 16:52:46 2021 +0800

    Fix incorrect permissions on kdump dmesg file

    Also known as CVE-2021-20269. The kdump dmesg log files(kexec-dmesg.log,
    vmcore-dmesg.txt) are generated by shell redirection, which take the
    default umask value, making the files readable for group and others.

    This patch chmod these files, making them only accessible to owner.

    Signed-off-by: Tao Liu <ltao@redhat.com>
    Acked-by: Kairui Song <kasong@redhat.com>

Signed-off-by: Tao Liu <ltao@redhat.com>
2021-04-20 16:29:24 +08:00
Mohan Boddu
9ae724c9b0 - Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
Signed-off-by: Mohan Boddu <mboddu@redhat.com>
2021-04-16 00:55:36 +00:00
DistroBaker
19b2b92e48 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#7a0d2aaed53dc0500860691320a90bc1e695b795
2021-02-04 07:52:32 +01:00
DistroBaker
624a6443ca Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#33108ef524ff033295711f888ce2c67d457951aa
2021-01-22 08:12:00 +00:00
DistroBaker
6333173003 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#fc703518525dc85b88873120f2bcf7bffa682735
2021-01-08 13:46:38 +00:00
DistroBaker
7d0122bd5d Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#7cb4be80cdaaf85b7dcbdf8f15b113192159026b
2020-12-23 10:00:07 +00:00
DistroBaker
a1014067b4 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#d5e39c9f7b721b80d2aa1afa85c38754a5be074e
2020-11-30 11:50:38 +00:00
DistroBaker
c97bf1e0f8 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#4f492cf73ea11ff74f5b062e18fcea45cb5e7eeb
2020-11-20 16:10:48 +00:00
DistroBaker
f12e14c178 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#4f492cf73ea11ff74f5b062e18fcea45cb5e7eeb
2020-11-20 13:33:23 +00:00
DistroBaker
17a51515f0 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#4f492cf73ea11ff74f5b062e18fcea45cb5e7eeb
2020-11-20 12:35:49 +00:00
DistroBaker
5cac7c3f96 Merged update from upstream sources
This is an automated DistroBaker update from upstream sources.
If you do not know what this is about or would like to opt out,
contact the OSCI team.

Source: https://src.fedoraproject.org/rpms/kexec-tools.git#bfd06661e81465d077bac435c90b4082134adf19
2020-11-05 05:34:29 +00:00
Petr Šabata
f5bf4978d8 RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN
with the following as its source:
https://src.fedoraproject.org/rpms/kexec-tools#041ba89902961b5490a7143d9596dc00d732cba0
2020-10-15 14:45:57 +02:00
Release Configuration Management
c06ea8eef0 New branch setup 2020-10-08 15:59:21 +00:00