Received: by 10.192.165.148 with SMTP id m20csp521255imm; Fri, 27 Apr 2018 03:07:32 -0700 (PDT) X-Google-Smtp-Source: AB8JxZr9VFUH7XyJGvNFSJe0/4Dcm5KereZ2PzbpPkdISNvrqV7Lu0Iji4OA/C1pQAA1lnjq4WQb X-Received: by 2002:a63:774e:: with SMTP id s75-v6mr1593006pgc.162.1524823652807; Fri, 27 Apr 2018 03:07:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1524823652; cv=none; d=google.com; s=arc-20160816; b=TK4t/XTekcA4G0LHhPW+3riUoBUk4gttt2r25GrEXLjipkxCGSG0KGPPJ+kGReaUMU J2DP3nh/WZ/1vj+7RGyUfwVPLHkK/2xJPdOsEABqqvkz7UaR6yud2IuXj8WZItcZrt38 jwXeoFRw+tqUka6Hx8LZ4fnxirRRlp+DMSxfnyTjNysMD1KdG/mViLEOR18tVS0r1UKQ zSFDu/XW2QvPdes7rg+YPbfatFb1Lew4RpM5Rh/HHaWWxd74/bwnmh5RnUxbyQDtzk1n FOP1VC1kjpT5ZzXrGTHo70ABguOuLjLDNV9aFju2ZOQ8NXdpH/fmh+FVtxEdtJZqoSNw 9fpQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dmarc-filter:arc-authentication-results; bh=wXekUahZX8QaFE9vPHJNPCPLIQd8s43LHK80HZJIusY=; b=lQ4i3OduaF6rIEtjI8Yet/u77mNfZr2A03yl5yV+ayic1FEg6PLaYogwYUYkxqmYeT D0aMpkP9q+7rxudkhnqjB3TEAC8wqhxiq9OJnZOPJuigP4VmZegQno9nq6dGc03w987D yTupz7EC9YIIIBInTnGo7vHpm3kvkKI1q0vvvd98XlYpVIoZSuuzYlizItIJf/7lOa0i 39IzWJHAFSyg2dGaL37Vn75MK/79Yt9ncpQei8SRnORdU9v2OpcUwqhUztGuoZPE/4Qy DZTZgL1QlYiOfwRpWFqxsy/MISdhft3e4sSzRAZ6lIUL9P3Aie4WmPV+CA8lSbWf/2jh fbYQ== 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 p1-v6si958518plb.355.2018.04.27.03.07.18; Fri, 27 Apr 2018 03:07:32 -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 S932599AbeD0KGK (ORCPT + 99 others); Fri, 27 Apr 2018 06:06:10 -0400 Received: from mail.kernel.org ([198.145.29.99]:41576 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757800AbeD0KGJ (ORCPT ); Fri, 27 Apr 2018 06:06:09 -0400 Received: from localhost (LFbn-1-12247-202.w90-92.abo.wanadoo.fr [90.92.61.202]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id AE4AA21872; Fri, 27 Apr 2018 10:06:08 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org AE4AA21872 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=linuxfoundation.org Authentication-Results: mail.kernel.org; spf=fail smtp.mailfrom=gregkh@linuxfoundation.org Date: Fri, 27 Apr 2018 12:06:00 +0200 From: Greg KH To: Thomas-Mich Richter Cc: brueckner@linux.vnet.ibm.com, schwidefsky@de.ibm.com, heiko.carstens@de.ibm.com, linux-kernel@vger.kernel.org Subject: Re: [PATCH] inode: debugfs_create_dir uses mode permission from parent Message-ID: <20180427100600.GB12941@kroah.com> References: <20180427080712.2380-1-tmricht@linux.ibm.com> <20180427082737.GA25242@kroah.com> <504bade7-7b06-c9d4-e4e2-736b9ee5a313@linux.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <504bade7-7b06-c9d4-e4e2-736b9ee5a313@linux.ibm.com> User-Agent: Mutt/1.9.5 (2018-04-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Apr 27, 2018 at 11:14:26AM +0200, Thomas-Mich Richter wrote: > On 04/27/2018 10:27 AM, Greg KH wrote: > > On Fri, Apr 27, 2018 at 10:07:12AM +0200, Thomas Richter wrote: > >> Currently function debugfs_create_dir() creates a new > >> directory in the debugfs (usually mounted /sys/kernel/debug) > >> with permission rwxr-xr-x. This is hard coded. > >> > >> Change this to use the parent directory permission. > >> > >> Fixes: edac65eaf8d5c ("debugfs: take mode-dependent parts of debugfs_get_inode() into callers") > >> Signed-off-by: Thomas Richter > >> Cc: Greg Kroah-Hartman > >> --- > >> fs/debugfs/inode.c | 5 ++++- > >> 1 file changed, 4 insertions(+), 1 deletion(-) > >> > >> diff --git a/fs/debugfs/inode.c b/fs/debugfs/inode.c > >> index 13b01351dd1c..80618330d86a 100644 > >> --- a/fs/debugfs/inode.c > >> +++ b/fs/debugfs/inode.c > >> @@ -512,7 +512,10 @@ struct dentry *debugfs_create_dir(const char *name, struct dentry *parent) > >> if (unlikely(!inode)) > >> return failed_creating(dentry); > >> > >> - inode->i_mode = S_IFDIR | S_IRWXU | S_IRUGO | S_IXUGO; > >> + if(!parent) > >> + parent = debugfs_mount->mnt_root; > >> + inode->i_mode = S_IFDIR | (d_inode(parent)->i_mode > >> + & (S_IRWXU | S_IRWXG)); > >> inode->i_op = &simple_dir_inode_operations; > >> inode->i_fop = &simple_dir_operations; > >> > > > > This looks ok, but is it going to change the permissions of existing > > stuff in ways that might breaks things, right? > > Right, but debugfs is usually mounted on /sys/kernel/debug with > permissions rwx to root owner. It can be changed after the mount, of course. > Unless this is done, the directory permissions for /sys/kernel/debug > will stop any descend regardless of the subdirectory permissions. > > > > > Have you done a before/after comparison? > > I have tested this patch on my Linux 4.17.0rc2 kernel on s390. > That worked well, I have not tested other systems. What do you mean by "worked well"? What were the full tree differences between before and after? You should be able to get this by using: tree -dp /sys/kernel/debug/ and then doing a diff on the two files. thanks, greg k-h