Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp4282777yba; Mon, 29 Apr 2019 17:19:21 -0700 (PDT) X-Google-Smtp-Source: APXvYqyvJw2eTMc87gtnNVbOf5e6HwF6M8yShvX0mTkdYMCG36jw+52q3UFHnmjzdkyEd9/sqF5K X-Received: by 2002:a17:902:9048:: with SMTP id w8mr65139340plz.195.1556583561564; Mon, 29 Apr 2019 17:19:21 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1556583561; cv=none; d=google.com; s=arc-20160816; b=HZvyhgeRWTe7Cv6fvkrBQqaX+M5Yw+A/HAG9LYs/egP9oq73Xa9n83gF3CjkxZ3s43 Fnd133zOpB+SB3WxmCTZkKvi2y/rIDMKRNiJUysjj2Si4BmzZNjdO49n672Nc5bf9Izc JhBqMdiuBuC0Zkax9mQd7L98Y4CAoyC+ecpCLrgxfLeFS5C8mz9dr9KPFyk2i22eyRw3 223M23/U93lNjvUuDL8b7jMKCKKSF0VA3nb5SA3CC034HJ4o+jHYEYqJoZgw1UyQNF3E tllC0/LattB+auTBZ6lmkund1w0TTWkIBGF+D7caP0sMUm/7TCfGg8N35W5edpBg2iNz jM2Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=3hpyoEIDzQWdYfgBuq1Ugk9Fr9Uz/MdTRcHxzF5iQuk=; b=TCrZHF5eYEzdNFx0xWVeKWtEnCUXw0FQVYFr1aVVGgWDshJnnZj+36aiifHKwOwjNV dhhVY2Q6fiTiaSy50EfAw4kzPt21aF41Oi9JhAFpuWxYGdVbjiST8tumr9wF54xcRkCR i9yN7AvezW4zYqqZ/7Yjy08MPXWsHKXeehZSOkgd55qVe3paSSoqyAXEyLva1ZSPvLYm KhbTe+E7pIgGEvtincZezxWTA2rFQmA4bEJw+tyzY16aGUm0sHEsg8djY7kmsKZb+k8G Vx78BDMp3lZNlBM/bMH8xInEPNzqCewk9uOoEuS6AE+MON58cCRkvY4zCquRQ2CY+jS7 4WeA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=4JUaft5R; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z124si14856748pfz.212.2019.04.29.17.19.06; Mon, 29 Apr 2019 17:19:21 -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; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=4JUaft5R; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729703AbfD3AQa (ORCPT + 99 others); Mon, 29 Apr 2019 20:16:30 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:34997 "EHLO out1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729063AbfD3AQ3 (ORCPT ); Mon, 29 Apr 2019 20:16:29 -0400 Received: from compute3.internal (compute3.nyi.internal [10.202.2.43]) by mailout.nyi.internal (Postfix) with ESMTP id 8A82422033; Mon, 29 Apr 2019 20:16:28 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute3.internal (MEProxy); Mon, 29 Apr 2019 20:16:28 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm2; bh=3hpyoEIDzQWdYfgBuq1Ugk9Fr9Uz/MdTRcHxzF5iQuk=; b=4JUaft5R LI5je63wEYXgMy3VoM+hbMnXGdTn9KuZr57T0CnZDuIKIDgYfNcgy17bxyAkGPDF zCvKUfPfq2iLt+e1dh4o8k5JrB4e9lzdEZl8B8QLcRVwml6B2owXBZUBstTJqAem xUfwK+O9lJxCj2TnkHS+NHy/EL0UNjW5dCTAWXs/idPEq1WdsCf/oEd+IytQiXcx n770XCS17Wbpj2Ee4xkXYK3E+Fh77jsDcREhTH5rt2+DtrhSXkSFh4dvDKe8Rmd8 oPSC7sTnycDGJxwW8wjTszxIFudwst/0RGiDiz2lcOg9V08E1ijwURO8r8YDef5X hUlWtmIa7WKP8w== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrieefgdefgecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkofgjfhgggfestdekredtredttdenucfhrhhomhepfdfvohgsihhn ucevrdcujfgrrhguihhnghdfuceothhosghinheskhgvrhhnvghlrdhorhhgqeenucfkph epuddvuddrgeegrddvfedtrddukeeknecurfgrrhgrmhepmhgrihhlfhhrohhmpehtohgs ihhnsehkvghrnhgvlhdrohhrghenucevlhhushhtvghrufhiiigvpedt X-ME-Proxy: Received: from eros.localdomain (ppp121-44-230-188.bras2.syd2.internode.on.net [121.44.230.188]) by mail.messagingengine.com (Postfix) with ESMTPA id 510CC1037C; Mon, 29 Apr 2019 20:16:25 -0400 (EDT) From: "Tobin C. Harding" To: Josh Poimboeuf , Jiri Kosina , Miroslav Benes , Petr Mladek Cc: "Tobin C. Harding" , Greg Kroah-Hartman , Joe Lawrence , live-patching@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/2] livepatch: Use correct kobject cleanup function Date: Tue, 30 Apr 2019 10:15:34 +1000 Message-Id: <20190430001534.26246-3-tobin@kernel.org> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190430001534.26246-1-tobin@kernel.org> References: <20190430001534.26246-1-tobin@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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. */ 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. */ 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); } -- 2.21.0