Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp788301ybl; Wed, 4 Dec 2019 10:54:43 -0800 (PST) X-Google-Smtp-Source: APXvYqzlmSi1dQ158kDps4h0S5DZIz4bGRKBYQUM8dnzKUUADXhR4KJrhcA0x/m2utZX7ljck3va X-Received: by 2002:aca:d4ca:: with SMTP id l193mr3927744oig.133.1575485683646; Wed, 04 Dec 2019 10:54:43 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575485683; cv=none; d=google.com; s=arc-20160816; b=ch152bZzCX17Hqbo7mc+GLQQlX1AF2oQWBAzXnXlIHKpDO69qAGORI5Vqa/cTgQeXE wljzXhaaJZPDw7gJ31/vGkJY85xRkaBzVYMCNMwmAZ6PZmChAzkPKQYCoyOzlA5vBxPG e61sA9Uo5XhaKZxNt7DltcC145VM66QoQu38wMMYF0gFLd5LbJwFzA28W1C4qOGWSFei k94U0AlP2VEGUPhvsdy1wlvKJO/3oohQV92quiLJZdz4DfrMRgRs0ocG3Loox4arA36t zrjdR6rvkLfblfyJ+mjWtddM4CKx0mUyTbTQWhIVRe6yvRXo8aOnGLn8VQ5sIjXCGsDD LGkA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=Xpd25495AVAMCV2SZtP0E7KczAz16wafYKvFfTkMue0=; b=CJg4oWpbsSTIGs74XE9J1kkV+ZbDDYlHhwh2lKVOdQ2u2PJFTJ0eqwRdTugSMn3aCS O/iVFB6TnwMPxGIXaoxEsijWQhl3lju0LncmtGHUUBvFP0KGzL2BI5vbQhf7dwHSN937 J2qZIa5nerkHbCulijtR3kEN0kx/+f2OxIr57jjjEHpybkEDbl87hFDY5e+GTLYT82LP ps/CMB7alVrmUYntIvGdNlSZU3+eIfEF4unQJDAbPj6zBHgHys5sLpvT85azuwTw42Bc tHCFMEJ93GtCO1FFPcH1DVR5XigZXh7YyD0ZPPyT+v09XTp5lJYnw/vMpWVFyV1wfM62 T2rQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=dK9srWF5; 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 z23si3755664otm.284.2019.12.04.10.54.30; Wed, 04 Dec 2019 10:54:43 -0800 (PST) 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; dkim=pass header.i=@kernel.org header.s=default header.b=dK9srWF5; 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 S1728846AbfLDR6g (ORCPT + 99 others); Wed, 4 Dec 2019 12:58:36 -0500 Received: from mail.kernel.org ([198.145.29.99]:33370 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728812AbfLDR6f (ORCPT ); Wed, 4 Dec 2019 12:58:35 -0500 Received: from localhost (unknown [217.68.49.72]) (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 27DC22081B; Wed, 4 Dec 2019 17:58:33 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1575482314; bh=0VH8yrhi9GC0ENQNA7KNwTLpwZFqByhMisUPcy4OreE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=dK9srWF5LWUjdL4dFMpeSXr6X5pGL4U6wDsnwh/Ri8eiHYS/E9MY3MGTexV+iHW3R 7RazH7dXVWWaxgh018HgMMB1SjwmKqvtpyzhUhQJ1evR7hOPFPMETEFeqpoEx2kDnl pS5D64fKSVKiqOTHKch98UgdSjhV4+4YGYZftk0c= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Nick Bowler , "Darrick J. Wong" , Sasha Levin Subject: [PATCH 4.4 36/92] xfs: Align compat attrlist_by_handle with native implementation. Date: Wed, 4 Dec 2019 18:49:36 +0100 Message-Id: <20191204174332.736774344@linuxfoundation.org> X-Mailer: git-send-email 2.24.0 In-Reply-To: <20191204174327.215426506@linuxfoundation.org> References: <20191204174327.215426506@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Nick Bowler [ Upstream commit c456d64449efe37da50832b63d91652a85ea1d20 ] While inspecting the ioctl implementations, I noticed that the compat implementation of XFS_IOC_ATTRLIST_BY_HANDLE does not do exactly the same thing as the native implementation. Specifically, the "cursor" does not appear to be written out to userspace on the compat path, like it is on the native path. This adjusts the compat implementation to copy out the cursor just like the native implementation does. The attrlist cursor does not require any special compat handling. This fixes xfstests xfs/269 on both IA-32 and x32 userspace, when running on an amd64 kernel. Signed-off-by: Nick Bowler Fixes: 0facef7fb053b ("xfs: in _attrlist_by_handle, copy the cursor back to userspace") Reviewed-by: Darrick J. Wong Signed-off-by: Darrick J. Wong Signed-off-by: Sasha Levin --- fs/xfs/xfs_ioctl32.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/fs/xfs/xfs_ioctl32.c b/fs/xfs/xfs_ioctl32.c index 1a05d8ae327db..e7372cef5ac33 100644 --- a/fs/xfs/xfs_ioctl32.c +++ b/fs/xfs/xfs_ioctl32.c @@ -346,6 +346,7 @@ xfs_compat_attrlist_by_handle( { int error; attrlist_cursor_kern_t *cursor; + compat_xfs_fsop_attrlist_handlereq_t __user *p = arg; compat_xfs_fsop_attrlist_handlereq_t al_hreq; struct dentry *dentry; char *kbuf; @@ -380,6 +381,11 @@ xfs_compat_attrlist_by_handle( if (error) goto out_kfree; + if (copy_to_user(&p->pos, cursor, sizeof(attrlist_cursor_kern_t))) { + error = -EFAULT; + goto out_kfree; + } + if (copy_to_user(compat_ptr(al_hreq.buffer), kbuf, al_hreq.buflen)) error = -EFAULT; -- 2.20.1