Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp836566ybk; Wed, 13 May 2020 14:34:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwOjkvbcIe0fiCqEjLJCtvbovM/ml1pkp/u6Q/FelCOBv+lx/O7K8UHaZuRPLTwZlldpgRZ X-Received: by 2002:a05:6402:1817:: with SMTP id g23mr1564852edy.132.1589405698561; Wed, 13 May 2020 14:34:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589405698; cv=none; d=google.com; s=arc-20160816; b=D6leg13I29HEnaWvrLnWAlzsL0tJ2mnEKeuZT6T14R1tX5qslZ8aJ5BPKw8CaL9nNG m+bc9DLxAkqsQuABF5DBUCWzfk6Hc2SIxetaBORxamQHQBGljzoiJ6OGe4u7lKevZ3EZ LmG3lsde3niYBFa/WQvg0OI0ThQIuypuTiGzNAFDuaG3xwJ603o3qi17OVkIvXVKFez0 ayyxSDrkK0Z8psPXOZMnQIcuHCKHvN/SYbv+nHoWKbQG1XyNEwup+DTPBbHUW84J7kpN o5CeEvsccuTYezjMUt9T9xRTWq+xlE6AfNPcxjQlKmfM6uQDuoTukYZ24DPitSGs7kGM bV+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=a9uxH9jWM4mVXVshrpkeyF8BGnOgX348uy7Ps74S7eg=; b=KFmz2vWl5SYU9D3xtoFPXpHPAvfAlQyQhh/+RKtvN8R3zbySxjggmLVHEMisVvMta6 4WCnIEHwEzsGIEwJsTNJ8aBE3oTqggXvQTB3oxKpXwR6Lb02TV4hfPWXiiAX2RPH7w9U 4hqHqIrev5xB7g9DbDoY9czB+aQhcRhHH3PykHMhqO/tz62oIQqiZvZMofp1hIuHxHER 5/S2IjOCmY1fVFnWAzoMCUyktUBOhuTCSk2MqVH0d3dU6kQfuFyRD0+THbcOP4MS2wEQ eDEf7MmDn+lGYdMCbnQR6m85v8k5N4GF3+LZ9rq6QsxNhLOzd+IqBLOQNZBPdK8dd5H4 wg6A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=aRWb+5j2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f15si628546ejx.180.2020.05.13.14.34.35; Wed, 13 May 2020 14:34:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=aRWb+5j2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728902AbgEMVbD (ORCPT + 99 others); Wed, 13 May 2020 17:31:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46118 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1728718AbgEMVbC (ORCPT ); Wed, 13 May 2020 17:31:02 -0400 Received: from mail-lj1-x241.google.com (mail-lj1-x241.google.com [IPv6:2a00:1450:4864:20::241]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 22803C061A0C for ; Wed, 13 May 2020 14:31:02 -0700 (PDT) Received: by mail-lj1-x241.google.com with SMTP id b6so1256713ljj.1 for ; Wed, 13 May 2020 14:31:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=a9uxH9jWM4mVXVshrpkeyF8BGnOgX348uy7Ps74S7eg=; b=aRWb+5j2c0aj7XE/Ves+oxeniLbg9iIlAhIISgisDu4/eSB4ZqiQChimWhZ3HGmpXc WURsi4vQsfpLvwdxw48T+IKK3N3RHlcICKOh0WF+PdpzfdqqwZRnpP58vzupTR6G/YQE +W2WNCd8Q2g8DzMsJfTHYCusqlCnF6z7F6xI08HQcPxEArZKRpsln8LhTN4/Y+arbix4 FG1Zzq6Pt/0WAkmITpHuJNS0uzYebUiOObQU2AvZmOlMDGv7wLn9fdA/myV38leDpvRh RgCBVn6nTg4EncSiLHEB3dt1Zw2fDc+C2feriU/z5QgP8e0hzNCLZvfX0iCSt+a8bKWP 7fwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=a9uxH9jWM4mVXVshrpkeyF8BGnOgX348uy7Ps74S7eg=; b=bjEPZBO6NufxKFE7V+t/FZdeF3e4jznN989qTJF+Mv8ZXuuUq0ZFsLri9Jrt1r+TrG HyGlEBrpnAvEh8792SZjZux3SKmabebJpp4l8ClKjzv77PI7zFqlQvGvIoHZj2Ty3HZk awLOSF6OQiJNFQBJCvT0TCqQgTwSV+Sxl5yTLPE1EDcNmvnlfnz9te6uKhIV6pXA+bNw 2d2U2jOVaKdJ2ByVgSzkTSjzraw6w+fTeQ2/i/jgNroQ5oI76MVfEjlenKPBzzOqfzjN IkSmg8j5KhIFdCfdPQDumwzB3qUbRBzpQsIWmkoR1Ft4Xo7iTOjNPs86bDHG9tm0uKDH rrcw== X-Gm-Message-State: AOAM531YZPITCfa4KkBM2ndEZ1REcdv0xv80DAbWBhl7KMIpGArU8+9O k3swMj/7A0lczHzL5xP2sn9W1zo0i7ruvyjwUA2O9A== X-Received: by 2002:a2e:9b45:: with SMTP id o5mr646235ljj.33.1589405460384; Wed, 13 May 2020 14:31:00 -0700 (PDT) MIME-Version: 1.0 References: <20200513151840.36400-1-heikki.krogerus@linux.intel.com> In-Reply-To: <20200513151840.36400-1-heikki.krogerus@linux.intel.com> From: Brendan Higgins Date: Wed, 13 May 2020 14:30:49 -0700 Message-ID: Subject: Re: [PATCH] kobject: Make sure the parent does not get released before its children To: Heikki Krogerus Cc: Greg Kroah-Hartman , Linux Kernel Mailing List , Naresh Kamboju , kernel test robot , Randy Dunlap , "Rafael J. Wysocki" Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, May 13, 2020 at 8:18 AM Heikki Krogerus wrote: > > In the function kobject_cleanup(), kobject_del(kobj) is > called before the kobj->release(). That makes it possible to > release the parent of the kobject before the kobject itself. > > To fix that, adding function __kboject_del() that does > everything that kobject_del() does except release the parent > reference. kobject_cleanup() then calls __kobject_del() > instead of kobject_del(), and separately decrements the > reference count of the parent kobject after kobj->release() > has been called. > > Reported-by: Naresh Kamboju > Reported-by: kernel test robot > Fixes: 7589238a8cf3 ("Revert "software node: Simplify software_node_release() function"") > Cc: Brendan Higgins > Cc: Randy Dunlap > Suggested-by: "Rafael J. Wysocki" > Signed-off-by: Heikki Krogerus Reviewed-by: Brendan Higgins Tested-by: Brendan Higgins