From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753964AbcGHGNR (ORCPT ); Fri, 8 Jul 2016 02:13:17 -0400 Received: from ozlabs.org ([103.22.144.67]:42062 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751442AbcGHGNQ (ORCPT ); Fri, 8 Jul 2016 02:13:16 -0400 Date: Fri, 8 Jul 2016 16:13:13 +1000 From: Stephen Rothwell To: "Eric W. Biederman" Cc: linux-next@vger.kernel.org, linux-kernel@vger.kernel.org, Andreas Gruenbacher , "J. Bruce Fields" Subject: linux-next: manual merge of the userns tree with Linus' tree Message-ID: <20160708161313.796f341a@canb.auug.org.au> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Eric, Today's linux-next merge of the userns tree got a conflict in: fs/posix_acl.c between commit: 485e71e8fb63 ("posix_acl: Add set_posix_acl") from Linus' tree and commit: 0d4d717f2583 ("vfs: Verify acls are valid within superblock's s_user_ns.") from the userns tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc fs/posix_acl.c index edc452c2a563,647c28180675..000000000000 --- a/fs/posix_acl.c +++ b/fs/posix_acl.c @@@ -833,24 -839,6 +833,24 @@@ set_posix_acl(struct inode *inode, int if (!inode_owner_or_capable(inode)) return -EPERM; + if (acl) { - int ret = posix_acl_valid(acl); ++ int ret = posix_acl_valid(inode->i_sb->s_user_ns, acl); + if (ret) + return ret; + } + return inode->i_op->set_acl(inode, acl, type); +} +EXPORT_SYMBOL(set_posix_acl); + +static int +posix_acl_xattr_set(const struct xattr_handler *handler, + struct dentry *unused, struct inode *inode, + const char *name, const void *value, + size_t size, int flags) +{ + struct posix_acl *acl = NULL; + int ret; + if (value) { acl = posix_acl_from_xattr(&init_user_ns, value, size); if (IS_ERR(acl))