From patchwork Mon Mar 6 21:55:15 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tejun Heo X-Patchwork-Id: 9607711 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 3D817602B4 for ; Mon, 6 Mar 2017 21:57:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 0E62227813 for ; Mon, 6 Mar 2017 21:57:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 031C927C2D; Mon, 6 Mar 2017 21:57:24 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00,DKIM_SIGNED, RCVD_IN_DNSWL_HI,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id A2FC027813 for ; Mon, 6 Mar 2017 21:57:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932187AbdCFVzg (ORCPT ); Mon, 6 Mar 2017 16:55:36 -0500 Received: from mail-yw0-f195.google.com ([209.85.161.195]:36503 "EHLO mail-yw0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753958AbdCFVzZ (ORCPT ); Mon, 6 Mar 2017 16:55:25 -0500 Received: by mail-yw0-f195.google.com with SMTP id 2so17833528ywn.3; Mon, 06 Mar 2017 13:55:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=JQV5J6TyUXt6I28IiGcdCVPurMq45JWvaCpM3h8s28s=; b=vGKSCFyes6p0MPRHKjHY1Uf4SFTwTcXD46yq0PodqzjGrkEfafuxpi/JtG+DctTirs PIiTsvjJY7k1Gd6MVdmLEncmR+2g7ErrEGYWKzgJBaUzrIXrqROw8bpVOMW/lYDv6Iux oncnCWj+hy9TYn8f1SvUK687BpqxN34wQqtMOGZfuMVbqQnpmy5+bJGsyxjK3EAFHvFk MF2LC8EXq+LkSJwWXE4c8okNoZLe2NUJ/8T497x3gpyJ+q2cjaw8IikElMyJ6pnZX3hL FA14b+MynadDrGN/iMKwK2UpLG7ZktNce3NQhKOZwF/bBBc2BJ68bo3iYCuCPCvqhE8m E68Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=JQV5J6TyUXt6I28IiGcdCVPurMq45JWvaCpM3h8s28s=; b=tE3QsXVe1jnDPliYnYZUsG72u7Zy8b37XiPM7qCTk3HJdC8oK3xDlskkl+sikd1og1 TksyEX7SzcJZTxC7h2cBz0hbk0D7abSV7A4gjZ19G8xZacPclAsMX62Tc0xs5/5VLZNU V2Nvj2gYSldgegt3DBqxXH71WtkHGtEDmW0YCYNLIelrBLtb/qTuK0WjumYNb5eyneMD 2iVLOUL/DpzW5oCxxlGky4P2vI1X91J43QzNwkqCPaYwYCWXrlu4zUaU3v1Wxtzf+mYQ Ys8hvY3tWLNtSPQAc5f9EpeW27+9ohAbY7zC0yfGezDwe9co+0yW3WVhg7ehLxF/88jb SWkw== X-Gm-Message-State: AMke39nILndRVn80ZBJ/571g2TcXvjLSN2wu350D6K0WhSIZvH+0IH+te1d36YSwSCAnyg== X-Received: by 10.13.202.151 with SMTP id m145mr12675418ywd.73.1488837317167; Mon, 06 Mar 2017 13:55:17 -0800 (PST) Received: from localhost ([2620:10d:c091:200::7:6f6a]) by smtp.gmail.com with ESMTPSA id t80sm5264540ywg.67.2017.03.06.13.55.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 06 Mar 2017 13:55:16 -0800 (PST) Date: Mon, 6 Mar 2017 16:55:15 -0500 From: Tejun Heo To: Dmitry Vyukov Cc: Zefan Li , "Eric W. Biederman" , jweiner@fb.com, LKML , Al Viro , "linux-fsdevel@vger.kernel.org" , syzkaller Subject: Re: cgroup: WARNING in cgroup_kill_sb Message-ID: <20170306215515.GH26127@htj.duckdns.org> References: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.7.1 (2016-10-04) Sender: linux-fsdevel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-fsdevel@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP Hello, Dmitry. Can you please see whether the following patch resolves the issue? I'm a bit nervous about it ending up in circular dependency, but I *think* it should be okay. Thanks. diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c index 0125589..9c40421 100644 --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c @@ -1820,6 +1820,8 @@ static void cgroup_kill_sb(struct super_block *sb) struct kernfs_root *kf_root = kernfs_root_from_sb(sb); struct cgroup_root *root = cgroup_root_from_kf(kf_root); + mutex_lock(&cgroup_mutex); + /* * If @root doesn't have any mounts or children, start killing it. * This prevents new mounts by disabling percpu_ref_tryget_live(). @@ -1834,6 +1836,8 @@ static void cgroup_kill_sb(struct super_block *sb) percpu_ref_kill(&root->cgrp.self.refcnt); kernfs_kill_sb(sb); + + mutex_unlock(&cgroup_mutex); } struct file_system_type cgroup_fs_type = {