AnonSec Team
Server IP : 92.112.182.140  /  Your IP : 216.73.216.145
Web Server : LiteSpeed
System : Linux lt-bnk-web1998.main-hosting.eu 5.14.0-687.17.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jun 22 07:21:26 EDT 2026 x86_64
User : u549600550 ( 549600550)
PHP Version : 8.2.31
Disable Function : system, exec, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : OFF  |  Python : OFF
Directory (0755) :  /lib/.build-id/a3/../../.build-id/1b/../cd/../6f/../1d/../a3/../../udev/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //lib/.build-id/a3/../../.build-id/1b/../cd/../6f/../1d/../a3/../../udev/kdump-udev-throttler
#!/usr/bin/bash
# This util helps to reduce the workload of kdump service restarting
# on udev event. When hotplugging memory / CPU, multiple udev
# events may be triggered concurrently, and obviously, we don't want
# to restart kdump service for each event.

# This script will be called by udev, and make sure kdump service is
# restart after all events we are watching are settled.

# On each call, this script will update try to aquire the $throttle_lock
# The first instance acquired the file lock will keep waiting for events
# to settle and then reload kdump. Other instances will just exit
# In this way, we can make sure kdump service is restarted immediately
# and for exactly once after udev events are settled.

throttle_lock="/var/lock/kdump-udev-throttle"

LUKS_CONFIGFS_REUSE=/sys/kernel/config/crash_dm_crypt_keys/reuse
reuse_luks_keys()
{
	[[ -f $LUKS_CONFIGFS_REUSE ]] || echo 1 > $LUKS_CONFIGFS_REUSE
}

unuse_luks_keys()
{

	[[ -f $LUKS_CONFIGFS_REUSE ]] || echo 0 > $LUKS_CONFIGFS_REUSE
}

if ! exec 9> $throttle_lock; then
	echo "Failed to create the lock file! Fallback to non-throttled kdump service restart"
	/bin/kdumpctl reload
	exit 1
fi

if ! flock -n 9; then
	echo "Throttling kdump restart for concurrent udev event"
	exit 0
fi

# Wait for at least 1 second, at most 4 seconds for udev to settle
# Idealy we will have a less than 1 second lag between udev events settle
# and kdump reload
sleep 1 && udevadm settle --timeout 3

# Release the lock, /bin/kdumpctl will block and make the process
# holding two locks at the same time and we might miss some events
exec 9>&-

reuse_luks_keys
/bin/kdumpctl reload
unuse_luks_keys

exit 0

AnonSec - 2021