kdumpctl: Move temp file in get_kernel_size to global temp dir
Resolves: bz2169720
Upstream: src.fedoraproject.org/rpms/kexec-tools.git
Conflicts: None
commit ea00b7db43
Author: Philipp Rudo <prudo@redhat.com>
Date: Fri May 5 17:14:41 2023 +0200
kdumpctl: Move temp file in get_kernel_size to global temp dir
Others will need to use a temporary files, too. In order to avoid
potential clashes of multiple trap handlers move the local temp file
into a global temp dir.
While at it make sure that the trap handler returns the correct exit
code.
Signed-off-by: Philipp Rudo <prudo@redhat.com>
Reviewed-by: Pingfan Liu <piliu@redhat.com>
Reviewed-by: Coiby Xu <coxu@redhat.com>
Signed-off-by: Philipp Rudo <prudo@redhat.com>
Signed-off-by: Tao Liu <ltao@redhat.com>
This commit is contained in:
parent
27f67f14ee
commit
bcd5eb5a45
@ -11,6 +11,7 @@ ExecStop=/usr/bin/kdumpctl stop
|
|||||||
ExecReload=/usr/bin/kdumpctl reload
|
ExecReload=/usr/bin/kdumpctl reload
|
||||||
RemainAfterExit=yes
|
RemainAfterExit=yes
|
||||||
StartLimitInterval=0
|
StartLimitInterval=0
|
||||||
|
PrivateTmp=yes
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
10
kdumpctl
10
kdumpctl
@ -42,6 +42,13 @@ if ! dlog_init; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
KDUMP_TMPDIR=$(mktemp -d kdump.XXXX)
|
||||||
|
trap '
|
||||||
|
ret=$?;
|
||||||
|
rm -rf "$KDUMP_TMPDIR"
|
||||||
|
exit $ret;
|
||||||
|
' EXIT
|
||||||
|
|
||||||
single_instance_lock()
|
single_instance_lock()
|
||||||
{
|
{
|
||||||
local rc timeout=5 lockfile
|
local rc timeout=5 lockfile
|
||||||
@ -1265,8 +1272,7 @@ get_kernel_size()
|
|||||||
# Prepare temp files:
|
# Prepare temp files:
|
||||||
local tmp img=$1
|
local tmp img=$1
|
||||||
|
|
||||||
tmp=$(mktemp /tmp/vmlinux-XXX)
|
tmp="$KDUMP_TMPDIR/vmlinux"
|
||||||
trap 'rm -f "$tmp"' 0
|
|
||||||
|
|
||||||
# Try to check if it's a vmlinux already
|
# Try to check if it's a vmlinux already
|
||||||
check_vmlinux "$img" && get_vmlinux_size "$img" && return 0
|
check_vmlinux "$img" && get_vmlinux_size "$img" && return 0
|
||||||
|
Loading…
Reference in New Issue
Block a user