Re: [PATCH v3 2/2] livepatch: force transition process to finish

From: Josh Poimboeuf
Date: Thu Nov 02 2017 - 09:13:26 EST


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