From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756245AbdDPPdf (ORCPT ); Sun, 16 Apr 2017 11:33:35 -0400 Received: from mail-pg0-f43.google.com ([74.125.83.43]:33721 "EHLO mail-pg0-f43.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755847AbdDPPdc (ORCPT ); Sun, 16 Apr 2017 11:33:32 -0400 Date: Mon, 17 Apr 2017 00:33:28 +0900 From: Tejun Heo To: Linus Torvalds Cc: linux-kernel@vger.kernel.org, Li Zefan , Johannes Weiner , cgroups@vger.kernel.org, Andrei Vagin Subject: [GIT PULL] cgroup fixes for v4.11-rc6 Message-ID: <20170416153328.GA27786@wtj.duckdns.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.8.0 (2017-02-23) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, Linus. Unfortunately, the commit to fix the cgroup mount race in the previous pull request can lead to hangs. The original bug has been around for a while and isn't too likely to be triggered in usual use cases. Revert the commit for now. Thanks. The following changes since commit bfb0b80db5f9dca5ac0a5fd0edb765ee555e5a8e: cgroup: avoid attaching a cgroup root to two different superblocks (2017-04-11 09:00:57 +0900) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-4.11-fixes for you to fetch changes up to 330c418638612d7658b6314e6a244fcb5f7efac5: Revert "cgroup: avoid attaching a cgroup root to two different superblocks" (2017-04-16 23:17:37 +0900) ---------------------------------------------------------------- Tejun Heo (1): Revert "cgroup: avoid attaching a cgroup root to two different superblocks" kernel/cgroup/cgroup-v1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/cgroup/cgroup-v1.c b/kernel/cgroup/cgroup-v1.c index 12e19f0..1dc22f6 100644 --- a/kernel/cgroup/cgroup-v1.c +++ b/kernel/cgroup/cgroup-v1.c @@ -1146,7 +1146,7 @@ struct dentry *cgroup1_mount(struct file_system_type *fs_type, int flags, * path is super cold. Let's just sleep a bit and retry. */ pinned_sb = kernfs_pin_sb(root->kf_root, NULL); - if (IS_ERR_OR_NULL(pinned_sb) || + if (IS_ERR(pinned_sb) || !percpu_ref_tryget_live(&root->cgrp.self.refcnt)) { mutex_unlock(&cgroup_mutex); if (!IS_ERR_OR_NULL(pinned_sb))