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 1B739C3F68F for ; Mon, 16 Dec 2019 18:39:10 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id DEBCC207FF for ; Mon, 16 Dec 2019 18:39:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576521550; bh=CeBwiQdcuprVkYH3v/InYP1u7hVzUfhzPzQkTL2H7Lw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:List-ID:From; b=Guz5LRzEQDypMFKELhn/6yqHGe6BwDmJlqM/cV1ch8TbP42c0QjA3ayU7csDPnXQJ lkjBnZGTGI/mAI0m5AerPB/9WB66DS75SFvpabGqKfq060szBAna0Lbmfi4YpjFLBb 3L1uRnxVezG4DH0yrLgs1DDo4nlJiHDzDPWk5EDk= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729363AbfLPSED (ORCPT ); Mon, 16 Dec 2019 13:04:03 -0500 Received: from mail.kernel.org ([198.145.29.99]:41122 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729197AbfLPSEB (ORCPT ); Mon, 16 Dec 2019 13:04:01 -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 A96C920726; Mon, 16 Dec 2019 18:04:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1576519441; bh=CeBwiQdcuprVkYH3v/InYP1u7hVzUfhzPzQkTL2H7Lw=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=LuUAuUnZ3rXHpf5YGJfOPRQTwVx+VsPLbK6UfzV1iX98b2f8vrpCivLijzNiHifMy 0HjL5dO6O4ZYKa82co/3oNGBPZn9c/PCOrulCbzoPWj6IezEd0Ka2fT+ORyqa/qjHR vnK5T1h0EfBeS2qxzrtmB9Ln3K1Ctkwa9zw2nANU= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Chao Yu , Gao Xiang Subject: [PATCH 4.19 067/140] erofs: zero out when listxattr is called with no xattr Date: Mon, 16 Dec 2019 18:48:55 +0100 Message-Id: <20191216174806.072963258@linuxfoundation.org> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20191216174747.111154704@linuxfoundation.org> References: <20191216174747.111154704@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: stable-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: stable@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 --- drivers/staging/erofs/xattr.c | 2 ++ 1 file changed, 2 insertions(+) --- a/drivers/staging/erofs/xattr.c +++ b/drivers/staging/erofs/xattr.c @@ -638,6 +638,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;