Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp658268rwb; Wed, 16 Nov 2022 06:07:57 -0800 (PST) X-Google-Smtp-Source: AA0mqf778SUxMDa8eKdhw6398qQewOA1NiPFIhg6YM3eJOeaq6zOpr9ulu+bM8trpVvC3fRQMQO9 X-Received: by 2002:a05:6a00:3689:b0:56e:d7f4:3c4a with SMTP id dw9-20020a056a00368900b0056ed7f43c4amr23524267pfb.76.1668607677730; Wed, 16 Nov 2022 06:07:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668607677; cv=none; d=google.com; s=arc-20160816; b=bcnkXXFdV1W0BJ7/96KJJhVfp8yEC2TF8PkvJ5AaxOYqUyMmhq3eQAdzV3+1/s+aBd 8LjHyODWf1WEp+xQBi5zJPyRDx2Jev/X+vDB/AKRA+SnI74LzxwJbiL7jlD3+XdyUBdh ygR45DNOyrfo8vkMuIyQBtUPAyTprxe6TIhE1hi09G81B0F2Der2vEHWl03Dh0hucfIK 3UAMmJ5hqV6vTGKn4ZCSfontyu09B9smEOC9ad/cma/KWsQycIwyxc+ZxnJ23G79q+c4 AcWm8TGoCAW0OPwFawpXuUi1a6jtBVg1Z57y1mWTPBJOiZ8RdPL2UgtkZRRt1iV88lze KIsw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=JxEVrn+CoDPfLQqba4pxYEzAJIOuMvgQmIttHtvn1nE=; b=wA38igJwG5Jt8ePMnTac4G1Xoqo69bJOXGbwPlZbt7Dj1V+g2LGh+AnCv8ZZ063R17 qIxNASUGwBdDwp3Elm+fro6IQ2LF3bme2ozuj0ob3GxGMsKNSRBfSTUg7/oov4I+WP4e 1qJg9xuJwbFj48VRLtlCRV6a4+8JymVIJPl2DtupKN17SANDDOVWfYeaHaHf+x4HLRzf 0exeyLYt9GjBCESCqjp2V+DFZ6kdTzOfqPC/Ns1MwOUc+FdE6byEeE5sLKajr4ivqgNe Pp1VrRe5if0Eb54ZFYNFhkRVFtJq0D4lPhLDyqOr/nx50e3tEz+sifYIkETZ6/VDbe0Q j3IQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ispras.ru header.s=default header.b=GxRIBPHd; 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=pass (p=NONE sp=NONE dis=NONE) header.from=ispras.ru Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id a10-20020a17090ae20a00b002008d0b0838si1738156pjz.178.2022.11.16.06.07.33; Wed, 16 Nov 2022 06:07:57 -0800 (PST) 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; dkim=pass header.i=@ispras.ru header.s=default header.b=GxRIBPHd; 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=pass (p=NONE sp=NONE dis=NONE) header.from=ispras.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233490AbiKPN60 (ORCPT + 91 others); Wed, 16 Nov 2022 08:58:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233441AbiKPN4a (ORCPT ); Wed, 16 Nov 2022 08:56:30 -0500 Received: from mail.ispras.ru (mail.ispras.ru [83.149.199.84]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E754347312; Wed, 16 Nov 2022 05:53:14 -0800 (PST) Received: from hednb3.intra.ispras.ru (unknown [10.10.2.52]) by mail.ispras.ru (Postfix) with ESMTPSA id 8001040737B7; Wed, 16 Nov 2022 13:53:10 +0000 (UTC) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.ispras.ru 8001040737B7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ispras.ru; s=default; t=1668606790; bh=JxEVrn+CoDPfLQqba4pxYEzAJIOuMvgQmIttHtvn1nE=; h=From:To:Cc:Subject:Date:From; b=GxRIBPHdwORe3YfuO45TguEuwZDn1SBQbbYIORdScBHlLqWH2KaPNlS6IXwA2t33G Suk07DbARRW/aQ1wVSMB0pJ3Wijv6GtYZ3pZ0dS1qL+gnwmVpZ3wOyoiL+08/WMrO8 c+GhvrD/Jcnb2lBAil85JrLR1GRpCgAwhgqFb9J8= From: Alexey Khoroshilov To: Herbert Xu , "David S. Miller" Cc: Alexey Khoroshilov , linux-crypto@vger.kernel.org, linux-kernel@vger.kernel.org, lvc-project@linuxtesting.org Subject: [PATCH] crypto: algapi - fix be32_to_cpu macro call in crypto_inc() Date: Wed, 16 Nov 2022 16:52:51 +0300 Message-Id: <1668606771-5382-1-git-send-email-khoroshilov@ispras.ru> X-Mailer: git-send-email 2.7.4 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS 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 be32_to_cpu() macro in some cases may be expanded to an expression that evaluates its arguments multiple times. Because of the decrement in argument it has unexpected result in such cases. Found by Linux Verification Center (linuxtesting.org) with SVACE. Signed-off-by: Alexey Khoroshilov Fixes: 7613636def82 ("[CRYPTO] api: Add crypto_inc and crypto_xor") --- crypto/algapi.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/crypto/algapi.c b/crypto/algapi.c index 5c69ff8e8fa5..18f14aed1658 100644 --- a/crypto/algapi.c +++ b/crypto/algapi.c @@ -987,7 +987,8 @@ void crypto_inc(u8 *a, unsigned int size) if (IS_ENABLED(CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS) || IS_ALIGNED((unsigned long)b, __alignof__(*b))) for (; size >= 4; size -= 4) { - c = be32_to_cpu(*--b) + 1; + b--; + c = be32_to_cpu(*b) + 1; *b = cpu_to_be32(c); if (likely(c)) return; -- 2.7.4