Messages in this thread | | | Date | Fri, 3 Nov 2017 09:07:24 +0100 (CET) | From | Miroslav Benes <> | Subject | Re: [PATCH v3 2/2] livepatch: force transition process to finish |
| |
On Thu, 2 Nov 2017, Josh Poimboeuf wrote:
> 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".
Ok.
> > +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()?
klp_force_transition() it is.
Miroslav
| |