mirror of
https://github.com/dynup/kpatch
synced 2025-05-02 07:58:00 +00:00
Merge pull request #375 from spartacus06/modprobe-names
Support modprobe style names in kpatch load
This commit is contained in:
commit
2e46fef4b6
@ -73,9 +73,29 @@ __find_module () {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mod_name () {
|
||||||
|
MODNAME="$(basename $1)"
|
||||||
|
MODNAME="${MODNAME%.ko}"
|
||||||
|
MODNAME="${MODNAME//-/_}"
|
||||||
|
}
|
||||||
|
|
||||||
find_module () {
|
find_module () {
|
||||||
arg="$1"
|
arg="$1"
|
||||||
__find_module "${arg}"
|
if [[ "$arg" =~ \.ko ]]; then
|
||||||
|
__find_module "$arg" || return 1
|
||||||
|
mod_name "$MODULE"
|
||||||
|
return
|
||||||
|
else
|
||||||
|
for i in $INSTALLDIR/$(uname -r)/*; do
|
||||||
|
mod_name "$i"
|
||||||
|
if [[ $MODNAME == $arg ]]; then
|
||||||
|
MODULE="$i"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
find_core_module() {
|
find_core_module() {
|
||||||
@ -244,10 +264,24 @@ case "$1" in
|
|||||||
shift
|
shift
|
||||||
done
|
done
|
||||||
|
|
||||||
[[ ! -e $INSTALLDIR/$KVER/"$PATCH" ]] && die "$PATCH is not installed for kernel $KVER"
|
MODULE=$INSTALLDIR/$KVER/"$PATCH"
|
||||||
|
if [[ ! -f "$MODULE" ]]; then
|
||||||
|
mod_name "$PATCH"
|
||||||
|
PATCHNAME=$MODNAME
|
||||||
|
for i in $INSTALLDIR/$KVER/*; do
|
||||||
|
mod_name "$i"
|
||||||
|
if [[ $MODNAME == $PATCHNAME ]]; then
|
||||||
|
MODULE="$i"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
[[ ! -e $MODULE ]] && die "$PATCH is not installed for kernel $KVER"
|
||||||
|
|
||||||
|
|
||||||
echo "uninstalling $PATCH ($KVER)"
|
echo "uninstalling $PATCH ($KVER)"
|
||||||
rm -f $INSTALLDIR/$KVER/"$PATCH" || die "failed to uninstall module $PATCH"
|
rm -f $MODULE || die "failed to uninstall module $PATCH"
|
||||||
if lsinitrd -k $KVER &> /dev/null; then
|
if lsinitrd -k $KVER &> /dev/null; then
|
||||||
echo "rebuilding $KVER initramfs"
|
echo "rebuilding $KVER initramfs"
|
||||||
dracut -f --kver $KVER || die "dracut failed"
|
dracut -f --kver $KVER || die "dracut failed"
|
||||||
@ -268,7 +302,8 @@ case "$1" in
|
|||||||
[[ -e "$kdir" ]] || continue
|
[[ -e "$kdir" ]] || continue
|
||||||
for module in $kdir/*; do
|
for module in $kdir/*; do
|
||||||
[[ -e "$module" ]] || continue
|
[[ -e "$module" ]] || continue
|
||||||
echo "$(basename $module) ($(basename $kdir))"
|
mod_name "$module"
|
||||||
|
echo "$MODNAME ($(basename $kdir))"
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
;;
|
;;
|
||||||
|
Loading…
Reference in New Issue
Block a user