diff --git a/kernel/kmod.c b/kernel/kmod.c index fb32636..d968882 100644 --- a/kernel/kmod.c +++ b/kernel/kmod.c @@ -575,7 +575,8 @@ call_usermodehelper_freeinfo(sub_info); return -EINVAL; } - helper_lock(); + if (!(current->flags & PF_FREEZER_SKIP)) + helper_lock(); if (!khelper_wq || usermodehelper_disabled) { retval = -EBUSY; goto out; @@ -611,7 +612,8 @@ wait_done: out: call_usermodehelper_freeinfo(sub_info); unlock: - helper_unlock(); + if (!(current->flags & PF_FREEZER_SKIP)) + helper_unlock(); return retval; } EXPORT_SYMBOL(call_usermodehelper_exec);