lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-id: <8a6bd548-a23a-7aa3-4b3c-b02e1f167c05@partner.samsung.com>
Date:   Mon, 31 Jul 2017 11:16:25 +0200
From:   Kamil Konieczny <k.konieczny@...tner.samsung.com>
To:     Lionel Debieve <lionel.debieve@...com>,
        Herbert Xu <herbert@...dor.apana.org.au>,
        "David S . Miller" <davem@...emloft.net>,
        Rob Herring <robh+dt@...nel.org>,
        Mark Rutland <mark.rutland@....com>,
        Maxime Coquelin <mcoquelin.stm32@...il.com>,
        Alexandre Torgue <alexandre.torgue@...com>,
        linux-crypto@...r.kernel.org, devicetree@...r.kernel.org,
        linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
Cc:     Benjamin Gaignard <benjamin.gaignard@...com>,
        Fabien Dessenne <fabien.dessenne@...com>,
        Ludovic Barre <ludovic.barre@...com>
Subject: Re: [PATCH 2/2] crypto: stm32 - Support for STM32 HASH module



On 13.07.2017 15:32, Lionel Debieve wrote:
> This module register a HASH module that support multiples
> algorithms: MD5, SHA1, SHA224, SHA256. [...]

> +static irqreturn_t stm32_hash_irq_thread(int irq, void *dev_id)
> +{
> +	struct stm32_hash_dev *hdev = dev_id;
> +	int err;

The 'err' var is used without initialize.

> +
> +	if (HASH_FLAGS_CPU & hdev->flags) {
> +		if (HASH_FLAGS_OUTPUT_READY & hdev->flags) {
> +			hdev->flags &= ~HASH_FLAGS_OUTPUT_READY;
> +			goto finish;
> +		}
> +	} else if (HASH_FLAGS_DMA_READY & hdev->flags) {
> +		if (HASH_FLAGS_DMA_ACTIVE & hdev->flags) {
> +			hdev->flags &= ~HASH_FLAGS_DMA_ACTIVE;
> +				goto finish;
> +		}
> +	}
> +
> +	return IRQ_HANDLED;
> +
> +finish:
> +	/*Finish current request */
> +	stm32_hash_finish_req(hdev->req, err);
> +
> +	return IRQ_HANDLED;
> +}
> +
and here is beginnig for finish_req:

+static void stm32_hash_finish_req(struct ahash_request *req, int err)
+{
+	struct stm32_hash_request_ctx *rctx = ahash_request_ctx(req);
+	struct stm32_hash_dev *hdev = rctx->hdev;
+
+	if (!err && (HASH_FLAGS_FINAL & hdev->flags)) {

-- 
Best regards,
Kamil Konieczny
Samsung R&D Institute Poland

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ