Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp212679ybl; Sun, 1 Dec 2019 00:42:57 -0800 (PST) X-Google-Smtp-Source: APXvYqwUVnUsUwMePP+YXgri+npiaCU7ByvknIznKWTpcKvqojvQNCATjeRTN3A41lJLg9EWyWpK X-Received: by 2002:a17:906:8498:: with SMTP id m24mr46910448ejx.43.1575189776912; Sun, 01 Dec 2019 00:42:56 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1575189776; cv=none; d=google.com; s=arc-20160816; b=LaqXLSSJuM5ynf4LlgQShEMtKL5bgZuPRAdylga46e+gdpcz9QMF1uUvsnAYnh1U5D S7C8MaiLkQONkQ5O3qPMrT5sFKHJuoOiYB0NaoddZlTYCEGZSm6paegqBi9DpAvrQ3gF cSKFWxS2gCIadZQf+Eal2qpkPfixdfeVLMNOFI4yzHENZUyNiA3HBdQzirKR7USYPuXD WNKDuA6zTn0uJYZX7LjR8X6xlUkvcf0kkGra/BF7GBVUZBRIV2upWjmI/541mTl3Bhxg Bc8ZdrtLBRAN0k4uGk1E4j0OCktD4irI4i3+0x5/kCGRuM+5no6EE54HydoSzpLoH04G ZOww== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature; bh=20PCjo9JU3Dbavb/3Bs50RDjpnVfQ55gM0PpKbtAZKw=; b=S2WTY17jGECm0oNzxVoHu2oiHx10Uy5hpVSpTVyHJEUTVZEKERh1z3e+NY15DpGcia rAuw3XcAGoctuo3xQfLYQ1FJq9XWU6MV6toOqsIL/MiEolb3mqR0UF2VVriQoi415jD4 52Q5WSW7WRGfaRGWmmOcZYVPRtXmslZyegjdccMQXIKA60UaXxJc88cWPMzlWikaQ6HF dtAmR1J/9sCU0WD7hiudMRVCWuptV0sxtFVVQuW3ruk29PqBfYgfIY70wiXyFuq2Tz6Z EU/3820F1NModVYGhXKUpirzH05/zoHJbb4upPQmH0WOXksLCx/7PyvNixLK5s4vaCVs jotQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@aol.com header.s=a2048 header.b="hv/UedqK"; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=aol.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id dm4si13827415edb.440.2019.12.01.00.42.19; Sun, 01 Dec 2019 00:42:56 -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=@aol.com header.s=a2048 header.b="hv/UedqK"; 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; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=aol.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726303AbfLAIlD (ORCPT + 99 others); Sun, 1 Dec 2019 03:41:03 -0500 Received: from sonic302-20.consmr.mail.gq1.yahoo.com ([98.137.68.146]:42421 "EHLO sonic302-20.consmr.mail.gq1.yahoo.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726074AbfLAIlC (ORCPT ); Sun, 1 Dec 2019 03:41:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=aol.com; s=a2048; t=1575189661; bh=20PCjo9JU3Dbavb/3Bs50RDjpnVfQ55gM0PpKbtAZKw=; h=From:To:Cc:Subject:Date:References:From:Subject; b=hv/UedqKxnnbIWUmNyPa/jK9iZ2WTEskWopWv+sj8QgG9u+MeK1FsWO2mq5vSlXnOiu2SACHkxmgZdWJOtutSqDxt/2nh1qcgh9w17QDReba6SE/RoAJkkCv/99tb6pfjw1n3kGXGSzQOTiiLtj5HMrifKr+SQ/TWICNeHnqChziTVr5LyewrsI6J3OcP1fRBHpf5U1I5aRNFUYJ03XqVgK4YtvnJgYO+X+SMX+CPCVjsS2IoDhgntfcyAhwKA36+cLqpiANnqwqRwKZTALG8u2hN7YEyMUm7gj0fBDD7jON2xWuu55RsBOez/L0VZ3xM+FxEMOaP3JMy+LYBHwk0w== X-YMail-OSG: Qrj31G4VM1npeJnzm6hxNS.pUPN9c6Ic5eFuTgZvtIPMWnP.9I_m1zNKb8U9B3M Kfx1wP2YM4Wx1iswr6O0kUC2nKp1noVsK8tGxSN4uaBwW8ewaKg_PoYocEDIfhSBGasOZ6HPAQbW 0hKtdWxxw5QHgWY.lV2V_Apreypb_LtfsHU83ZXN.b5boe8CJ8jOWGZbaPwjeqVluRjoQlXes5uV dcy.sE0gfuuYIN_DXz.DEyX2S8tKVJHEoUxaMBDwpFXypu6Wk7WdpPMRmTbVxO7jRd1tSGQKHvQc Fbm2QORDlLnjw7SuMsZ7qVjC5TZue98ZiMP9bq1ZKm9IM2Q9.kVWYrkpRMMZPbMOqLklDAheTCH. F0wAqYOym56nKIcV9j7Gav8tHqHRlWCLGQcX9p6o5lIY6c.poClt9MPJv92H6Zwf98oJTzi0ifuj hsO8P302KT4aYi9UnJM.tWaXcRTjwGRj3sD.caDUrzdhhfyaXijrvTVpfdZ6QX6RoCYRIt8kAau_ QO2nL45k3Su8aMNDqOcgdtPLS7hvQr.E1OYAd2YLQyhRE_vtv1b1HeNEm1ZeZwc4BKasscMdOGjl K1oGKUXKQQRt6KvnndJPNo_nsgc9II1Cl8fmGOSOJD8jwA4ZZOycne8pdrUs.jMrTBny1E8bgB1J Evcr9ZUDeVXNjV8ByPzIf6YzYJ6w41S0Kwb0_.7TgXwJzzEk0B3tCiP_GQpyzhKKYsksvYR_Sdhc DwZCVUrKDuv9q8ctK3Q4jmvTL.xREN7hb.KgiITwQl9r_xaIZoE663fkdOXouPRpjY8MQc_3U33_ YrEkXMK69JZVkWfafztc7dRvfXx3erkvwI.nPxyUh.2JJqneMrS5AiXNgzmWlgo1pWIse81mFpyi xYJp3ajmgA0IVhhEXAf7aqNpN.axpHc6hwDoU3AqCiLM.QfVwtd8zu3D.scUbM6t3CAHKs624haF cMAsGoS7Ov540C7hVQ3bVJisOzvJeTqzfwL3pOKXTHTfeXQ52ULP9p0jZQS_YYjO43P5b3BNM6Vo Lc.O8GBE7XrnEHnMQtDwaWGsN8uh2KdZNtwQCQs1ILJIivk_hyF0ZHNTEWwbYtCbbcLff4C.Naf. D6as6drlAcY1ooFRMfs9nURjLHduFj93HP0Trff.jvNNecoFqE8uG6gYssgzHlOsNnS8b7Q5hHQh e29R69Lp0nIvqQWNHDKlU2xOy2dJ1VcK.C9dbSRLgE9iny8_FzlQ1VEYe3OcuVaaR1Z_zqJm.oxl qamABURZ2wER8h_0dJwZrpBxSWy58q8S8geXbHUSqdGBeNvRMo0RHf7Mi6SLj4Ca5hTRYqkCEDIP VXXcaivjZx8gmxBdRIac675gSuISCx1Rl5qGr5oW96UvQhJHEtC_xocKwkR_0FBcabZ2MdEamXVX 2VXaZVdA- Received: from sonic.gate.mail.ne1.yahoo.com by sonic302.consmr.mail.gq1.yahoo.com with HTTP; Sun, 1 Dec 2019 08:41:01 +0000 Received: by smtp419.mail.ir2.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID d0565019c54eecb6cc19d6eb884efcb1; Sun, 01 Dec 2019 08:40:57 +0000 (UTC) From: Gao Xiang To: Chao Yu , linux-erofs@lists.ozlabs.org Cc: LKML , David Michael , Miao Xie , Fang Wei , Wang Li , Gao Xiang , stable@vger.kernel.org Subject: [PATCH] erofs: zero out when listxattr is called with no xattr Date: Sun, 1 Dec 2019 16:40:40 +0800 Message-Id: <20191201084040.29275-1-hsiangkao@aol.com> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit References: <20191201084040.29275-1-hsiangkao.ref@aol.com> Content-Length: 1102 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Gao Xiang As David reported [1], ENODATA returns when attempting to modify files by using EROFS as a 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 Fixes: cadf1ccf1b00 ("staging: erofs: add error handling for xattr submodule") Cc: # 4.19+ Signed-off-by: Gao Xiang --- fs/erofs/xattr.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/erofs/xattr.c b/fs/erofs/xattr.c index a13a78725c57..b766c3ee5fa8 100644 --- a/fs/erofs/xattr.c +++ b/fs/erofs/xattr.c @@ -649,6 +649,8 @@ ssize_t erofs_listxattr(struct dentry *dentry, struct listxattr_iter it; ret = init_inode_xattrs(d_inode(dentry)); + if (ret == -ENOATTR) + return 0; if (ret) return ret; -- 2.20.1