Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4758198yba; Tue, 30 Apr 2019 04:02:19 -0700 (PDT) X-Google-Smtp-Source: APXvYqylBFD59AeZm24LEmQY06A+8/QNhvhT8zRBoXHEdfMRDKhu6aMwEqwfnCjoWKocFTQOneWY X-Received: by 2002:aa7:9148:: with SMTP id 8mr38704975pfi.176.1556622139092; Tue, 30 Apr 2019 04:02:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556622139; cv=none; d=google.com; s=arc-20160816; b=kQQSL5Z3oLLLOv7TuSqW8cDKjlVZsXxJtjpea+JkzPHTkFUzLOFbKcgBoXV/MMl3C/ GsiG5RjpoKfN2AlfnCEji3+dHCIYZBML+3F+2wNnQHr1CvPNnkbchAxuzfIbOEn25BSz wNk18alH0qHRNb+XDEkqiSqJsDDdfVfGOrsozl6aXHFzIAsApaR7CBEVor+vFcZwyVfJ QmHgXDmBcfUPGfrOaHqcp1zLA+q/q4FI50rP+lUVQWbUppf72p1Iz3XBu8qC5VImDnZs WgIkMAiZFOI3urBispPsjAKe/+P5VvyMwwHWerzNSDTzpuVEDK5n5ztRx9+3bJ6bwYv5 Pczg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:user-agent:references :message-id:in-reply-to:subject:cc:to:from:date; bh=Hr/SYFtlv1YWpcvcTfPNNxoQCswXLklj/fztwyVp1gc=; b=wdwZ/VRitn7GPerLEhklVGevbNDm5L+I/33vD17gu/fbaXQL0B16IrxjYIAL16SyuP AkDcVuvVlLlqGhobZdiBXZqyfZWGfJHIwJnmIdHjHFXC/FFVZYobdBtuZ75JXuX1HjFK 4gX/qKfcrDEH+S6jlZ3CUiUoaOUl4cDIgVJoYiJJWm6fr8qqokvHv+oCdC8TSK8lWZxQ Ubf8qov+PoLSC4VTHSAmWlK/EGFJIwuNavuldPkZ/N9zbfaLKPyLcvfGCOVredRMoKGs Cy4iViEXyqeSmfTAVD27otMVgoyZ8RSj289lB+LpX6AhikL+yjBr/+1I8WNSpn/pRZcQ lEig== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id o6si37122132plh.186.2019.04.30.04.01.58; Tue, 30 Apr 2019 04:02:19 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727275AbfD3LAH (ORCPT + 99 others); Tue, 30 Apr 2019 07:00:07 -0400 Received: from mx2.suse.de ([195.135.220.15]:60260 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1726294AbfD3LAH (ORCPT ); Tue, 30 Apr 2019 07:00:07 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id E174CAE63; Tue, 30 Apr 2019 11:00:05 +0000 (UTC) Date: Tue, 30 Apr 2019 13:00:05 +0200 (CEST) From: Miroslav Benes To: "Tobin C. Harding" cc: Josh Poimboeuf , Jiri Kosina , Petr Mladek , Greg Kroah-Hartman , Joe Lawrence , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 2/2] livepatch: Use correct kobject cleanup function In-Reply-To: <20190430001534.26246-3-tobin@kernel.org> Message-ID: References: <20190430001534.26246-1-tobin@kernel.org> <20190430001534.26246-3-tobin@kernel.org> 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 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 30 Apr 2019, Tobin C. Harding wrote: > The correct cleanup function after a call to kobject_init_and_add() has > succeeded is kobject_del() _not_ kobject_put(). kobject_del() calls > kobject_put(). > > Use correct cleanup function when removing a kobject. > > Signed-off-by: Tobin C. Harding > --- > kernel/livepatch/core.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c > index 98a7bec41faa..4cce6bb6e073 100644 > --- a/kernel/livepatch/core.c > +++ b/kernel/livepatch/core.c > @@ -589,9 +589,8 @@ static void __klp_free_funcs(struct klp_object *obj, bool nops_only) > > list_del(&func->node); > > - /* Might be called from klp_init_patch() error path. */ Could you leave the comment as is? If I am not mistaken, it is still valid. func->kobj_added check is here exactly because the function may be called as mentioned. One could argue that the comment is not so important, but the change does not belong to the patch anyway in my opinion. > if (func->kobj_added) { > - kobject_put(&func->kobj); > + kobject_del(&func->kobj); > } else if (func->nop) { > klp_free_func_nop(func); > } > @@ -625,9 +624,8 @@ static void __klp_free_objects(struct klp_patch *patch, bool nops_only) > > list_del(&obj->node); > > - /* Might be called from klp_init_patch() error path. */ Same here. > if (obj->kobj_added) { > - kobject_put(&obj->kobj); > + kobject_del(&obj->kobj); > } else if (obj->dynamic) { > klp_free_object_dynamic(obj); > } > @@ -676,7 +674,7 @@ static void klp_free_patch_finish(struct klp_patch *patch) > * cannot get enabled again. > */ > if (patch->kobj_added) { > - kobject_put(&patch->kobj); > + kobject_del(&patch->kobj); > wait_for_completion(&patch->finish); > } Miroslav