b6407a85f0
Update to the latest upstream commit 47216437e79a ("Fix "net" command on kernel configured with CONFIG_IPV6=m") Resolves: rhbz#2166880 Resolves: rhbz#2161133 Resolves: rhbz#2158721 Resolves: rhbz#2156904 Resolves: rhbz#2156898 Resolves: rhbz#2156892 Resolves: rhbz#2156889 Resolves: rhbz#2156885 Resolves: rhbz#2152619 Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
49 lines
1.6 KiB
Diff
49 lines
1.6 KiB
Diff
From 1c56f2a37c79fa07c64dce34605d7b4a8a903243 Mon Sep 17 00:00:00 2001
|
|
From: Lianbo Jiang <lijiang@redhat.com>
|
|
Date: Wed, 21 Dec 2022 17:09:08 +0800
|
|
Subject: [PATCH 50/89] Fix "mount" command to appropriately display the mount
|
|
dumps
|
|
|
|
Recently the following failure has been observed on some vmcores when
|
|
using the mount command:
|
|
|
|
crash> mount
|
|
MOUNT SUPERBLK TYPE DEVNAME DIRNAME
|
|
ffff97a4818a3480 ffff979500013800 rootfs none /
|
|
ffff97e4846ca700 ffff97e484653000 sysfs sysfs /sys
|
|
...
|
|
ffff97b484753420 0 mount: invalid kernel virtual address: 0 type: "super_block buffer"
|
|
|
|
The kernel virtual address of the super_block is zero when the mount
|
|
command fails with the vfsmnt address 0xffff97b484753420. And the
|
|
remaining mount information will be discarded. That is not expected.
|
|
|
|
Check the address and skip it with a warning, if this is an invalid
|
|
kernel virtual address, that can avoid truncating the remaining mount
|
|
dumps.
|
|
|
|
Reported-by: Dave Wysochanski <dwysocha@redhat.com>
|
|
Signed-off-by: Lianbo Jiang <lijiang@redhat.com>
|
|
---
|
|
filesys.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/filesys.c b/filesys.c
|
|
index c2ea78de821d..d64b54a9b822 100644
|
|
--- a/filesys.c
|
|
+++ b/filesys.c
|
|
@@ -1491,6 +1491,10 @@ show_mounts(ulong one_vfsmount, int flags, struct task_context *namespace_contex
|
|
}
|
|
|
|
sbp = ULONG(vfsmount_buf + OFFSET(vfsmount_mnt_sb));
|
|
+ if (!IS_KVADDR(sbp)) {
|
|
+ error(WARNING, "cannot get super_block from vfsmnt: 0x%lx\n", *vfsmnt);
|
|
+ continue;
|
|
+ }
|
|
|
|
if (flags)
|
|
fprintf(fp, "%s", mount_hdr);
|
|
--
|
|
2.37.1
|
|
|