Received: by 2002:a05:6a10:17d3:0:0:0:0 with SMTP id hz19csp1614276pxb; Sun, 18 Apr 2021 01:20:26 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyH/hB+LLU0gpqCHaFxZHxVmCTWdxkFhEXTXAuGdae8xRl3kRWGkjuRWJl4g76LL8fTSWOD X-Received: by 2002:a17:90a:fe04:: with SMTP id ck4mr299681pjb.10.1618734026641; Sun, 18 Apr 2021 01:20:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1618734026; cv=none; d=google.com; s=arc-20160816; b=SA4Prf4OXDJzLUOSAL75TJKW3qOf8o33AvMBApnGIp1AXBx825/wcy9qOuQAwd1eiR hRnIbFiDKxyZcLZu//SzDuTr771gX/PgNQWiddlM8W+FC5em2dUT3we6pQUe5Mc6Q5B3 yH483diFEMT300EvuMOBifXT5yovL27Tk++1w/KmB8AxB4tqoq749kjDMeRsolt0orYo Mr0/C1kZsLQ/5lc1EipBiej0Q5DXshY6mjc7bl+MSAXsrziMhc+UA9lbidEpx68gr/a8 JwDL1K8M3WWlc5Se2rm6ZKMQh294XI5cFkGKWRIB0oLSWQj9tPPf9PlIpu3sHm8zJTMp GaNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from:dkim-signature; bh=IM7gzlkfXQ0o/LaMDm+1NrZj9VsNspmMNmfWwGNryAE=; b=rHbzfnanBh1rKzw6PFHAUW56G9iCyTBgW981EpLIKr5B6q9bspP+IOm/2h5q9FN0e+ Wx3EEl6X7dtY9ORp6mdCWoT7jRuK8OibB3BSPsls0otqhETabGOPpUHecAPAagKHZ58U sVy5a10Ye00PCASVtn9iGXXC/6MEsdsXSxRXgmF0MEfhGV2a5AfBEGVsEFLQu4IfQZ1R JOl21pctClH2353JHbrm7ac5iyQDM3urYpoO/WEammmi+nF5MTOpCnMtFyyLyiLDC2c2 OfMcSd1Jx1EkBuvciF3/s9OmN42nzgrnvcTpoZMtQqpfavDiWCMBMJ614avOUcytxg6g O29A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@posteo.net header.s=2017 header.b=A+Zt2Fuk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=posteo.net Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 21si15274553pjl.20.2021.04.18.01.20.13; Sun, 18 Apr 2021 01:20:26 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@posteo.net header.s=2017 header.b=A+Zt2Fuk; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=posteo.net Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229920AbhDRIPR (ORCPT + 99 others); Sun, 18 Apr 2021 04:15:17 -0400 Received: from mout02.posteo.de ([185.67.36.66]:49089 "EHLO mout02.posteo.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229671AbhDRIPR (ORCPT ); Sun, 18 Apr 2021 04:15:17 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 39AB72400FC for ; Sun, 18 Apr 2021 10:14:48 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1618733688; bh=bl3UDLdYZz9aw9ENMX943zhNbIJ/5yxXivl5iyw3ZD0=; h=From:To:Cc:Subject:Date:From; b=A+Zt2Fuk5LF5fw+rAkqkvR/UB1b3pe0/28xjKx6YFAsbXYGRXemgVOk8UF3BLggV8 Jn6wnyerU4XMzF98GVqAHL8hKjxWyVjQ9eoNtt1vFa6H6evoV/NFYudnP+1iYcga9H H1Wvwe6uvMKxujWuIdzy03+p8iUP4riPnVVB7HOlB0ijzEHqjjAMvT0K7H48Nk14o6 nNEU43KXa56GQFSjoc0YIKh30mF4VkmQ0rqw9POMNB3pYfhfhhVrOyjXE4/sc1L8bn GjW40OQ9McKGuSdw27JKrTkXzaKq2PscZcjs1aCrTuvJ2bd8D4u3IB8nOFAJi4dXU6 3RsvzkV9tYCig== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4FNN5z5jgjz9rxH; Sun, 18 Apr 2021 10:14:47 +0200 (CEST) From: Alexander Egorenkov To: linux-kernel@vger.kernel.org Cc: Alexander Egorenkov Subject: [PATCH 1/1] lib: scatterlist: Fix SGL length in sg_split() if !CONFIG_NEED_SG_DMA_LENGTH Date: Sun, 18 Apr 2021 08:14:41 +0000 Message-Id: <20210418081441.5040-1-egorenar-dev@posteo.net> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If CONFIG_NEED_SG_DMA_LENGTH is NOT enabled then sg_dma_len() is an alias for the length field in a SGL. In that case sg_split() wrongly resets the length of split SGLs to zero after it was set correctly before. Signed-off-by: Alexander Egorenkov --- lib/sg_split.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/sg_split.c b/lib/sg_split.c index 60a0babebf2e..3d9b32084d78 100644 --- a/lib/sg_split.c +++ b/lib/sg_split.c @@ -92,7 +92,8 @@ static void sg_split_phys(struct sg_splitter *splitters, const int nb_splits) out_sg->offset = 0; } sg_dma_address(out_sg) = 0; - sg_dma_len(out_sg) = 0; + if (IS_ENABLED(CONFIG_NEED_SG_DMA_LENGTH)) + sg_dma_len(out_sg) = 0; in_sg = sg_next(in_sg); } out_sg[-1].length = split->length_last_sg; -- 2.31.1