Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp522966ybi; Fri, 7 Jun 2019 11:59:53 -0700 (PDT) X-Google-Smtp-Source: APXvYqymgNHXcCn21zDPHcV/vZZrA6wIkEuuqTv/JFHo+kyBYxSVKEEwOfELyeKV3nr14V8cZL1Q X-Received: by 2002:a17:902:4481:: with SMTP id l1mr58625420pld.121.1559933993029; Fri, 07 Jun 2019 11:59:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1559933993; cv=none; d=google.com; s=arc-20160816; b=TeP9Pc1UlCE6CwNVP4tDbGBqBFKfvg8emnAJVqV64QE92R6CkR34yIruIb3oV6lzPo XKqSJyZ1wQfKMuPCG6Q0Jpb0U1lVjcLrk6wr74mY5eEQ5PZIM/zCPftfuwXIcKkFYzJX FxJHMzaJNZWVHLtSalrtrxqdbhw3W5RDDvKq8gcxT6ev6UD/d/pLbTj0Ztir4OK/hCLB EvsxNR7cHuodZC/G2urkDnoExRlyuJuGS3Oaj+147oTNeTuud3dlFM5CsbLcv2N0l5+i xb0DTuPDF76xiSK3X8P/ShMiljjo7YN1UCbPKVWgk4L/ngtIoI0o/j2hPqzoligxoWiv OfhA== 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-transfer-encoding:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=uI3GCW+xvV8vARfjViU9cOCzbpa3M0XtSZe0nK48zrc=; b=YtW97yr+ZCEhD18KRLTGBzufgkjhJkyqcbJprpDoX3ldEQ5ET9L7Y5mx3A70cjpnbV dSVQ3cS4Xepq2MOnvyCR6OF51gEUaawAyOU+qyrNZDm7ATlA99q+fsU9B35tE9aBcnBT ZyVcqUxf/h3SzX/ar4iZGmrJu/3uYC4XoFBn7hlnVXd8CG7EeUPH7wmueq5up7et6Ryp AVrkOC+Hp1U8wsi7U+QOCyw/xfYNQ1ff4MksafkgIaOQvFLHzI/SJyMokZzUKc4mtj3x SJGdCIWNnabGmdMcJVMUrYnuojuqHeELxKvlHX670altMy6Wn9nCGyr42Z3dFKN1VALf AywQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=Vq4lNXkn; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (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 f1si2777869pfb.177.2019.06.07.11.59.33; Fri, 07 Jun 2019 11:59:53 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-ext4-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=@kernel.org header.s=default header.b=Vq4lNXkn; spf=pass (google.com: best guess record for domain of linux-ext4-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730946AbfFGSOz (ORCPT + 99 others); Fri, 7 Jun 2019 14:14:55 -0400 Received: from mail.kernel.org ([198.145.29.99]:41496 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730714AbfFGSOy (ORCPT ); Fri, 7 Jun 2019 14:14:54 -0400 Received: from sol.localdomain (c-24-5-143-220.hsd1.ca.comcast.net [24.5.143.220]) (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 D5E0F20868; Fri, 7 Jun 2019 18:14:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1559931294; bh=LxudLXFwIaUztX21uuzZxR9BQPiNn2gcYe1CrVHlIpQ=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=Vq4lNXknvXpojbbxwVutq1e98PNZ+2cktRMP5UB2b11YqzlHrohjFwN8gPSG8R5if 4VqGZgob+EB/5hghf/MtYAXLfyg69xNUfQ8iFxDLxwNOpEoe3brLCVjZNmUqu8LzwM z27fVAL1tuQ3twRpu2UIwQgou4aAu0ofhEdWHetI= Date: Fri, 7 Jun 2019 11:14:52 -0700 From: Eric Biggers To: Wang Shilong Cc: Wang Shilong , "linux-ext4@vger.kernel.org" , "linux-f2fs-devel@lists.sourceforge.net" , Andreas Dilger Subject: Re: =?utf-8?B?5Zue5aSNOiBbZjJmcy1kZXZdIFtQ?= =?utf-8?Q?ATCH?= 1/2] ext4: only set project inherit bit for directory Message-ID: <20190607181452.GC648@sol.localdomain> References: <1559795545-17290-1-git-send-email-wshilong1991@gmail.com> <20190606224525.GB84833@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.12.0 (2019-05-25) Sender: linux-ext4-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org On Fri, Jun 07, 2019 at 07:51:18AM +0000, Wang Shilong wrote: > Hi, > > > -- > > 2.21.0 > > Won't this break 'chattr' on files that already have this flag set? > FS_IOC_GETFLAGS will return this flag, so 'chattr' will pass it back to > FS_IOC_SETFLAGS which will return EOPNOTSUPP due to this: > > ? ? ? ? if (ext4_mask_flags(inode->i_mode, flags) != flags) > ? ? ? ? ? ? ? ? return -EOPNOTSUPP; > > >>>> > > You are right for this and we also need take care of this in EXT4_IOC_FSSETXATTR/ > this is a bit strange behavior as chattr read existed flags > but could not set them again, there are several possible ways that I could think > of to fix the issue? > > 1) change chattr to filter Project inherit bit before call FS_IOC_SETFLAGS > > 2) we automatically fixed the flag before mask check, something like: > if reg: > flags &= ~PROJECT_INHERT; > if (ext4_mask_flags(inode->i_mode, flags) != flags) > ? ? ? ? ? ? ? ? return -EOPNOTSUPP; > But this might be not good.. > > I would prefer solution 1) > What do you think? Existing versions of chattr can't be changed, and people don't necessarily upgrade the kernel and e2fsprogs at the same time. So (1) wouldn't really work. A better solution might be to make FS_IOC_GETFLAGS and FS_IOC_FSGETXATTR never return the project inherit flag on regular files. - Eric