On Tue, Oct 31, 2017 at 12:48:53PM +0100, Miroslav Benes wrote: > If a task sleeps in a set of patched functions uninterruptedly, it could > block the whole transition process indefinitely. Thus it may be useful > to clear its TIF_PATCH_PENDING to allow the process to finish. The phrase "transition process" (here and in the patch title) confused me a little bit, since elsewhere we just call it "transition". > +static ssize_t force_store(struct kobject *kobj, struct kobj_attribute *attr, > + const char *buf, size_t count) > +{ > + int ret; > + bool val; > + > + /* > + * klp_mutex lock is not grabbed here intentionally. It is not really > + * needed. The race window is harmless and grabbing the lock would only > + * hold the action back. > + */ > + if (!klp_transition_patch) > + return -EINVAL; > + > + ret = kstrtobool(buf, &val); > + if (ret) > + return ret; > + > + if (val) > + klp_force_transitions(); The plural "transitions" is inconsistent with the rest of the code, which uses it in the singular. How about klp_force_transition() or klp_force()? -- Josh -- To unsubscribe from this list: send the line "unsubscribe live-patching" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html