Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp461722pxb; Wed, 3 Mar 2021 07:31:45 -0800 (PST) X-Google-Smtp-Source: ABdhPJxK/4wCt873bQKwa+3TRN0L7YPhe4q5RbMtC/4HiWYog5djxuHqJ/Gg2tjbMnmdOnPXJYCV X-Received: by 2002:a17:906:7d7:: with SMTP id m23mr26453028ejc.205.1614785505440; Wed, 03 Mar 2021 07:31:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614785505; cv=none; d=google.com; s=arc-20160816; b=mIqmdhUYP7cvEGuYpw8DZNaeAjXMpjjH47MiKG3zhUzys1CGi5UsSC4EPPkfdyWD4E 7/BrnYCv6AEoCXxZahS/OF5WbSYD1MusN0/AzMtLNRkd984MKDarMjNwqTxvJRGq3NUG LQrAFDI+Z+8LS+pvDKW3Hi/Q3SmDuMzwGXcA+d4fgoeGXij1rV+o2lsqN9QJeZwQgRpg +ZahsBpQkrSXX+bbuCLJ2BW4MCmtIyQ6xAYaRsnpBdWq2dQ/CMCN9w+xJLBs72/zRfb8 AwstcthabejA3HMMHGVMEIMaYpsvi8VOiJ/9nf+G2zDG4OYeU2o0UBn0PqKSnp9+6RmT OzBQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=yQLOL+fnkNDUoJz+NOOi3CdH24v+wgWnskQ14N9zIRc=; b=k4xnCHDj6m90icHPi0vgA5HeZVRZSpQMqYEQrNPKuNSoz5IjDOM50frb5u7sKYguK1 ewZhL2uSkEHfZDYRn5cJncMUQ2zGdvXwgyR+cvnnEorLAhmR4M8eBC3rLSInJ7lTT9qS iPFkQQX9VF7Yx5BQq2E2/qSJ3Lqondl6teA0s+MtU+eyVdtDzx0CRvVFMNVVMEcN8FwD nYgWVgWqqOZxibGuFc5SknQDW2Dhbiit0TNFdgyVKBGvyjk5HNflhvGhXdzgfQzJGvMR 28rov/4lz01Cgqvl0s1oXYNLQ//fIx48xjjjAuvsBHFW4wlXr3lpplnIZpuZbfrwFwP3 q0zg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Ajin+9Vs; 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=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id i21si8697004ejv.334.2021.03.03.07.30.30; Wed, 03 Mar 2021 07:31:45 -0800 (PST) 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=@linuxfoundation.org header.s=korg header.b=Ajin+9Vs; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1344484AbhCAWya (ORCPT + 99 others); Mon, 1 Mar 2021 17:54:30 -0500 Received: from mail.kernel.org ([198.145.29.99]:43316 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238504AbhCARtf (ORCPT ); Mon, 1 Mar 2021 12:49:35 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 97158650E5; Mon, 1 Mar 2021 17:00:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614618001; bh=xdKnk7WnXYYu58rYo2bcmP1lj23crYdI9x1pZZ0jpeE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Ajin+9Vs2idVcKWiZvaKabCcZA1CfoK3D9K/WNPeEqjJKENgrM0sjhcsOp5mEAwWD 0yk64qADnfRPs8ZsoWvr5UiAFywXgzo6/OZdazWLzy10NF5GfQsBOg67P0xgEI29WT Zr3eDl3vWvINic99jrjL1CCF6wo0PLcYTi5PViAk= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Corentin Labbe , Herbert Xu Subject: [PATCH 5.4 273/340] crypto: sun4i-ss - handle BigEndian for cipher Date: Mon, 1 Mar 2021 17:13:37 +0100 Message-Id: <20210301161101.724453333@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210301161048.294656001@linuxfoundation.org> References: <20210301161048.294656001@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Corentin Labbe commit 5ab6177fa02df15cd8a02a1f1fb361d2d5d8b946 upstream. Ciphers produce invalid results on BE. Key and IV need to be written in LE. Fixes: 6298e948215f2 ("crypto: sunxi-ss - Add Allwinner Security System crypto accelerator") Cc: Signed-off-by: Corentin Labbe Signed-off-by: Herbert Xu Signed-off-by: Greg Kroah-Hartman --- drivers/crypto/sunxi-ss/sun4i-ss-cipher.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) --- a/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c +++ b/drivers/crypto/sunxi-ss/sun4i-ss-cipher.c @@ -54,13 +54,13 @@ static int noinline_for_stack sun4i_ss_o spin_lock_irqsave(&ss->slock, flags); - for (i = 0; i < op->keylen; i += 4) - writel(*(op->key + i / 4), ss->base + SS_KEY0 + i); + for (i = 0; i < op->keylen / 4; i++) + writesl(ss->base + SS_KEY0 + i * 4, &op->key[i], 1); if (areq->iv) { for (i = 0; i < 4 && i < ivsize / 4; i++) { v = *(u32 *)(areq->iv + i * 4); - writel(v, ss->base + SS_IV0 + i * 4); + writesl(ss->base + SS_IV0 + i * 4, &v, 1); } } writel(mode, ss->base + SS_CTL); @@ -240,13 +240,13 @@ static int sun4i_ss_cipher_poll(struct s spin_lock_irqsave(&ss->slock, flags); - for (i = 0; i < op->keylen; i += 4) - writel(*(op->key + i / 4), ss->base + SS_KEY0 + i); + for (i = 0; i < op->keylen / 4; i++) + writesl(ss->base + SS_KEY0 + i * 4, &op->key[i], 1); if (areq->iv) { for (i = 0; i < 4 && i < ivsize / 4; i++) { v = *(u32 *)(areq->iv + i * 4); - writel(v, ss->base + SS_IV0 + i * 4); + writesl(ss->base + SS_IV0 + i * 4, &v, 1); } } writel(mode, ss->base + SS_CTL);