Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp291341rwe; Wed, 31 Aug 2022 02:57:50 -0700 (PDT) X-Google-Smtp-Source: AA6agR6zNhMR1VLHrlPxZNP6HekkDrIxNoBWhwM3oI3yyrZFKPrnDWSvu5/vgUGUvAvpjBsWPCB+ X-Received: by 2002:a17:907:3d90:b0:741:346a:6e46 with SMTP id he16-20020a1709073d9000b00741346a6e46mr15014011ejc.279.1661939870218; Wed, 31 Aug 2022 02:57:50 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661939870; cv=none; d=google.com; s=arc-20160816; b=gqCgOk4IdsrIGPmcmPqcKaE66n3h+rWh1XJzoelDQ9I+Fxiwo4evnO1L7rf2XszC0P n0JtCmcZuCW85Vc7fipal4aGTvvxJmEtrzvUSOZa03GDyMXSjnFTr6DK6+FkjPM8xmCE 5aWUdoByph2qaF+Lx+VezIXLA0reuaYafFEwIsK5X0D3tpuNjs+M8v9YrYUdwB6FDMKS 9bjMjORHsbsQ7P/B8H5t73s72lR/zHmJCR9+o+bWaUbAZQwarLjS4qwtauCenhUSUCED 8PlLj6Wt7e9a2ZrJ0WAdnOlVV9Elo12Q6SskK20NlZmWrYnXQO8LWYD+mQ3tasUT8QYJ Rifg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject; bh=Yph1FldWX8f4aI9gd4lQO3Q3V4G8oN+AKbo24EZkd60=; b=pXq2m31FM3L0QNVBrMKmeRHnMzQZ33DdJtv5cy147F6JBTXmzfA78N/opXMc+39Dl2 NYIaMuWamAm6duQ2gNuzzgB/a8kHKJCOFNPS1E9MGy+NjNLvueRbOt+luTWvWlG+XoiO jQ1lk0L1BiXVr9RQCewDaotUnO927Cym/XWxBFNsc2WCZhys7V/kRw2g+qVNs0Hr0MLm 9lPTmAqNaLiluO/tIfxZDGj4xa25zeZK/v5NV7Ysr6riOtlh9FwwJ+zsk47V32lBxQRJ MQGZOTpGFQO84kOQzmhF3mpYci/Bbd6uBFLOK+yhVJcWgqNBvjbaeRtdi21cviGK88WA ZzkA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hp35-20020a1709073e2300b0073dde76f08bsi10762798ejc.674.2022.08.31.02.57.23; Wed, 31 Aug 2022 02:57:50 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230083AbiHaJsq (ORCPT + 99 others); Wed, 31 Aug 2022 05:48:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58218 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230133AbiHaJsk (ORCPT ); Wed, 31 Aug 2022 05:48:40 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 254F9CEB13; Wed, 31 Aug 2022 02:48:39 -0700 (PDT) Received: from dggemv711-chm.china.huawei.com (unknown [172.30.72.55]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4MHfRF6VD9zkWm8; Wed, 31 Aug 2022 17:44:57 +0800 (CST) Received: from kwepemm600003.china.huawei.com (7.193.23.202) by dggemv711-chm.china.huawei.com (10.1.198.66) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 31 Aug 2022 17:48:37 +0800 Received: from [127.0.0.1] (10.174.177.249) by kwepemm600003.china.huawei.com (7.193.23.202) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 31 Aug 2022 17:48:36 +0800 Subject: Re: [PATCH] xfs: donot need to check return value of xlog_kvmalloc() To: Eric Sandeen , "Darrick J. Wong" , , "linux-kernel@vger.kernel.org" CC: linfeilong , wuguanghao References: <514e5e4b-e7c8-365f-8459-75974c067993@huawei.com> <0ba12a13-6cc4-5f44-fa06-ead350f819d5@sandeen.net> From: Zhiqiang Liu Message-ID: Date: Wed, 31 Aug 2022 17:48:35 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2 MIME-Version: 1.0 In-Reply-To: <0ba12a13-6cc4-5f44-fa06-ead350f819d5@sandeen.net> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Language: en-US X-Originating-IP: [10.174.177.249] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To kwepemm600003.china.huawei.com (7.193.23.202) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,NICE_REPLY_A, RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2022/8/30 0:06, Eric Sandeen wrote: > On 8/22/22 6:46 AM, Zhiqiang Liu wrote: >> In xfs_attri_log_nameval_alloc(), xlog_kvmalloc() is called >> to alloc memory, which will always return >> successfully, so we donot need to check return value. >> >> Signed-off-by: Zhiqiang Liu > I think this is fine. xlog_kvmalloc loops until success, and its other > caller does not check the return value. > > This isn't really strictly a fix (it's harmless) but it "fixes" > > Fixes: commit 4183e4f27f402 ("xfs: share xattr name and value buffers when logging xattr updates") > > Reviewed-by: Eric Sandeen Thanks for your reply. Before xlog_kvmalloc was changed to "loops until success", the sanity check was necessary. As you said, this isn't really strictly a fix, so I think we should not add the Fix tag. > That said, I think that xfs_attri_log_nameval_alloc() also cannot fail, so > perhaps its callers don't need checks either? Yes, you are right. I will clean it up in the V2 patch. >> --- >> fs/xfs/xfs_attr_item.c | 2 -- >> 1 file changed, 2 deletions(-) >> >> diff --git a/fs/xfs/xfs_attr_item.c b/fs/xfs/xfs_attr_item.c >> index 5077a7ad5646..667e151a2bca 100644 >> --- a/fs/xfs/xfs_attr_item.c >> +++ b/fs/xfs/xfs_attr_item.c >> @@ -86,8 +86,6 @@ xfs_attri_log_nameval_alloc( >> */ >> nv = xlog_kvmalloc(sizeof(struct xfs_attri_log_nameval) + >> name_len + value_len); >> - if (!nv) >> - return nv; >> >> nv->name.i_addr = nv + 1; >> nv->name.i_len = name_len; > .