From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 429A4C43603 for ; Mon, 16 Dec 2019 18:24:54 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 10081206E0 for ; Mon, 16 Dec 2019 18:24:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576520694; bh=cOmbo4/qfrq+kgaJc3nh1SPtgkrkOMpxSTly4wgKa3g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=FESIUzy1iBRzyOhQ7xPlG6SNCLh36uWZWIRMABiim5Ujhh5+JRAjKbsmnWs/el6IA 5xc/3QmOhnMBjjSBrEnWSIK3tJMsjYtKH17G2kKmbdJefVHmJmk2jhpzDYoqpGTbib JHE58KVoHxp+lHJl8tTgG2NVLekr+zDSjL0RdcGc= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732059AbfLPSYx (ORCPT ); Mon, 16 Dec 2019 13:24:53 -0500 Received: from mail.kernel.org ([198.145.29.99]:45348 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731853AbfLPSSu (ORCPT ); Mon, 16 Dec 2019 13:18:50 -0500 Received: from localhost (83-86-89-107.cable.dynamic.v4.ziggo.nl [83.86.89.107]) (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 8EEE4206EC; Mon, 16 Dec 2019 18:18:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576520330; bh=cOmbo4/qfrq+kgaJc3nh1SPtgkrkOMpxSTly4wgKa3g=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=XGMhdAKSZ1D2br1IABKfdYkX7zhevwNbtk8QYqJPRyv0vjVSLlRkof1YW69+yc9kM ROwOKg3r27U4MpQWPm2MgF5HJhrRCELh4sVIW/ZRwYUPkGwXtRuQxkiliBPteBTq7G +OVETrfwct+p5ICF+z7mEGaTK292qS6HqBlY/aVY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chao Yu , Gao Xiang Subject: [PATCH 5.4 110/177] erofs: zero out when listxattr is called with no xattr Date: Mon, 16 Dec 2019 18:49:26 +0100 Message-Id: <20191216174842.033203617@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191216174811.158424118@linuxfoundation.org> References: <20191216174811.158424118@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: Gao Xiang commit 926d1650176448d7684b991fbe1a5b1a8289e97c upstream. As David reported [1], ENODATA returns when attempting to modify files by using EROFS as an overlayfs lower layer. The root cause is that listxattr could return unexpected -ENODATA by mistake for inodes without xattr. That breaks listxattr return value convention and it can cause copy up failure when used with overlayfs. Resolve by zeroing out if no xattr is found for listxattr. [1] https://lore.kernel.org/r/CAEvUa7nxnby+rxK-KRMA46=exeOMApkDMAV08AjMkkPnTPV4CQ@mail.gmail.com Link: https://lore.kernel.org/r/20191201084040.29275-1-hsiangkao@aol.com Fixes: cadf1ccf1b00 ("staging: erofs: add error handling for xattr submodule") Cc: # 4.19+ Reviewed-by: Chao Yu Signed-off-by: Gao Xiang Signed-off-by: Greg Kroah-Hartman --- fs/erofs/xattr.c | 2 ++ 1 file changed, 2 insertions(+) --- a/fs/erofs/xattr.c +++ b/fs/erofs/xattr.c @@ -649,6 +649,8 @@ ssize_t erofs_listxattr(struct dentry *d struct listxattr_iter it; ret = init_inode_xattrs(d_inode(dentry)); + if (ret == -ENOATTR) + return 0; if (ret) return ret;