From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932428AbdKCIH1 (ORCPT ); Fri, 3 Nov 2017 04:07:27 -0400 Received: from mx2.suse.de ([195.135.220.15]:48659 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752105AbdKCIHZ (ORCPT ); Fri, 3 Nov 2017 04:07:25 -0400 Date: Fri, 3 Nov 2017 09:07:24 +0100 (CET) From: Miroslav Benes To: Josh Poimboeuf cc: jeyu@kernel.org, jikos@kernel.org, pmladek@suse.com, lpechacek@suse.cz, pavel@ucw.cz, live-patching@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH v3 2/2] livepatch: force transition process to finish In-Reply-To: <20171102131318.ovjpygmerxhadhu7@treble> Message-ID: References: <20171031114853.841-1-mbenes@suse.cz> <20171031114853.841-3-mbenes@suse.cz> <20171102131318.ovjpygmerxhadhu7@treble> User-Agent: Alpine 2.21 (LSU 202 2017-01-01) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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