Received: by 2002:a25:1506:0:0:0:0:0 with SMTP id 6csp5917288ybv; Wed, 12 Feb 2020 02:41:46 -0800 (PST) X-Google-Smtp-Source: APXvYqwZRTnurPkoKDf5dmIevckWt3DZOxes7P6mbCTWROMBsZQXbHhwEew8KvHwqKhq1ssplN+w X-Received: by 2002:aca:ebc2:: with SMTP id j185mr5807796oih.71.1581504106037; Wed, 12 Feb 2020 02:41:46 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1581504106; cv=pass; d=google.com; s=arc-20160816; b=D4cU187coHJFdyU/B2Jbrn83fZSmqlEOFDq5ot13T//sggLv4udNSEWecbHEawzqvc jraSfbBwAaHRS7YNdBIboq2L+n9HX6Pb2jTGoQMYYRdKkiRmnucw95CE97UuDP5aUA+1 0wIGlNDv0flhbryslsVulVoCkdVSw1QNVJfx3qG/HFXQ3rVurtbf4Jqh72gK8BKZHtY2 8MUhgpLiwccY3U5vLvR//TbgUsARJdqnDMxK8jYM7zbRP6ylvhcvce/KdSXY8NnIwTy9 Ua27iPVzAMjIQ9AT9m34kGkt+4gb6L3HTovWQi94VqmcooiFwHDx+RgCQYw3D/duhO// wd6Q== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-language:accept-language:references:message-id:date :thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=AeW4JcHEXQsHfnyPcqzUlWtalvBB+BeRW/0pF66eMVg=; b=xn3WmCalzqk0InT3kwLtvgEal/xqdPnVqc331aeE4tmzJF0CKw1fsWVPUxkQBlLlMH e66uED588CId3FiDQuHz9TDk4F1tupuN9zt6QBCPy9Bs/slpJtkpMtbwyZdO4CRHTagS itzvkaH7CBo4fQcej9M5KeL3JZSMYHmdye3ikijByL03O7g/rlLhA+f6jiVzx316pY18 bsoL6LHUOUl4s89n+AP3U9wtb77Yyv2jcuotHco8n5Ylw2j5HHaKPj7NKvaSGIRgkbSr VS6yhBCR7l+8v63FGoBUvvFHZJ/U7T6mKxEzmADrk09FOULXEr3mJ40w0iNyIswaTF5S 8ylA== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b="U/OSgAlM"; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 107si16763oth.14.2020.02.12.02.41.27; Wed, 12 Feb 2020 02:41:46 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@nxp.com header.s=selector2 header.b="U/OSgAlM"; arc=pass (i=1 spf=pass spfdomain=nxp.com dkim=pass dkdomain=nxp.com dmarc=pass fromdomain=nxp.com); spf=pass (google.com: best guess record for domain of linux-crypto-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-crypto-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=nxp.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727279AbgBLKl0 (ORCPT + 99 others); Wed, 12 Feb 2020 05:41:26 -0500 Received: from mail-am6eur05on2088.outbound.protection.outlook.com ([40.107.22.88]:57761 "EHLO EUR05-AM6-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725887AbgBLKl0 (ORCPT ); Wed, 12 Feb 2020 05:41:26 -0500 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=NGtt3wvm9pEkDE1RcJaxASi8mtIfAFsCIgFCcydYPt+sa/8wvmHfXXmrOGr0x3oGjRVnQf2qnYiaZvhvxBueh+XqFI4vqbT+xXnFdcppDr/GdHj4rFUK0ZBAcNiHqXXc/I46ggqk8+9mDbWUukRDMC6EmBE9PulTL/8J+Q5TzQQQQt7wsZs5iI9LErV7tlKjg5U9N5Grygx21DrxjcgGAWTgGUjTJ+nJ6iluEsjZq4zxybuQLUeFztuTi02Jsnq4V2fHO1kGHd5GzN+Btf7aR6ms246CAIe/8dMlYPRoOishU8jM1ZqhH0K3JtrKjfU1nAKblK4nsvWL+JqVy9aqCw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AeW4JcHEXQsHfnyPcqzUlWtalvBB+BeRW/0pF66eMVg=; b=FKPKQXKYi8J+t3vbv1c3UPmEwnocJuYupTCjRpzAJivXLWWWoNa9sE1ZVx5ApSWm0tYz1y71idXk8yAgiD+tUxhLd706wi16PUKrPuDZ7EwxMsZIkmVUiqcYy5pspvmMaM/XhXGRqh8YD/SVln2rNwlC31gDNt4ZHCcVI2ezX5xK0DvkKXZd4it4kz72P52pMTaBRR84iKTuR9QbDQxKHqwMDxMAIycwHc+N2XkkyNE3KYRpxXZmbRkB2J1qBTehXgNJRCAESNUFUHba078TqAfFupsh9M71f0nP3fAFNpFMYOwg5o1ApGjs+a+wFPi4QOGV5A3/rx08uIRehswlvA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=AeW4JcHEXQsHfnyPcqzUlWtalvBB+BeRW/0pF66eMVg=; b=U/OSgAlMQ58C3CPN9ZY9yraBa9ov9kuyELo3d6kd5xREhKZuPNKuFpaRrLXUvkd05er+FcIabsG/qgf1oXhE1DaZIY3ehKLwIYznFQGew6Ng2u/qC6lCulPTkrf6hQlbOOgU8TifekWfq1UnmCGxcmVzbI80Gj3aJHn0KvQCi4E= Received: from VI1PR0402MB3485.eurprd04.prod.outlook.com (52.134.3.153) by VI1PR0402MB3549.eurprd04.prod.outlook.com (52.134.4.30) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2707.21; Wed, 12 Feb 2020 10:41:21 +0000 Received: from VI1PR0402MB3485.eurprd04.prod.outlook.com ([fe80::85e9:f844:f8b0:27d]) by VI1PR0402MB3485.eurprd04.prod.outlook.com ([fe80::85e9:f844:f8b0:27d%7]) with mapi id 15.20.2707.030; Wed, 12 Feb 2020 10:41:21 +0000 From: Horia Geanta To: Andrey Smirnov , "linux-crypto@vger.kernel.org" CC: Chris Healy , Lucas Stach , Herbert Xu , Iuliana Prodan , "linux-kernel@vger.kernel.org" , dl-linux-imx Subject: Re: [PATCH v7 6/9] crypto: caam - check if RNG job failed Thread-Topic: [PATCH v7 6/9] crypto: caam - check if RNG job failed Thread-Index: AQHV1TLUvWTrrHqD+kWSWumiFCRkzg== Date: Wed, 12 Feb 2020 10:41:21 +0000 Message-ID: References: <20200127165646.19806-1-andrew.smirnov@gmail.com> <20200127165646.19806-7-andrew.smirnov@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=horia.geanta@nxp.com; x-originating-ip: [212.146.100.6] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 4683e604-26b9-4fb2-291c-08d7afa819ce x-ms-traffictypediagnostic: VI1PR0402MB3549:|VI1PR0402MB3549: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2276; x-forefront-prvs: 0311124FA9 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(4636009)(366004)(396003)(136003)(39860400002)(346002)(376002)(199004)(189003)(52536014)(7696005)(5660300002)(86362001)(2906002)(71200400001)(8676002)(8936002)(81156014)(81166006)(53546011)(4326008)(6506007)(44832011)(26005)(33656002)(316002)(186003)(9686003)(76116006)(66946007)(54906003)(55016002)(66446008)(64756008)(110136005)(66556008)(478600001)(66476007)(91956017);DIR:OUT;SFP:1101;SCL:1;SRVR:VI1PR0402MB3549;H:VI1PR0402MB3485.eurprd04.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;A:1;MX:1; received-spf: None (protection.outlook.com: nxp.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: /HEVQSUYO8JXLLbZ2PCUxWXG3oCCxVxOC3TY3HKDCOwE5DifPANHLplUKyx41U/blgSsp4Lf1jy+WPR4wI2gtxEwfdUYg9Ke7/yDpdwTgAjpFpHfiFuouKZMV86C8sA8hiHqqn3oQdZ1nNe9CKz9atZSPjxSkkjKbPpoScJtHTn9rVaJQ2kKqKKjzdy0S4ScUNWefXWyBbj2lb6e+5VTAJXn7qVVs6r8Cg11NHwtLAO6V7zMCqtunwlNerEyFmAnz/7A5Ma5itW79+yrgNWRrt1IZCIm3F6FkbXdffQ5DZxR0TOwQHW4mo8eZIaBowtMrzcFIspqsFDJ3nHLr0g8z4lZ0Fpanvd876rFMkK0oBxGypNu5H94Rsuq4G8JPlxQ94HiLWxcvEIiVk4x0URQtl820sL7OkOMSVgLwGrfHm20S2vOprsuTAckg87S3sJG x-ms-exchange-antispam-messagedata: SFnkCrhqFMzE+bIp/2JbH3w+F9xWD4iTfy+gzb1K1Ai1pGqJp2hkL4MUZ9sJ7Z8ZUTLLIo9RqV2eXOfSC5wcQu9F76f5tv0qgXbBkH7HjhNrwyfqziXp6Xl3eK/8qv9C0dAm+k06lUfrtYYoddjbpA== Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4683e604-26b9-4fb2-291c-08d7afa819ce X-MS-Exchange-CrossTenant-originalarrivaltime: 12 Feb 2020 10:41:21.6953 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: BFCBIbMQHHVHgE1w/PObUhd2Rs2Ht4jtW97+Vtt/PGuwv7B3DFWD9giGNJvIdp0quIWxkS4Nn1K7fBSao6RWBQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR0402MB3549 Sender: linux-crypto-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-crypto@vger.kernel.org On 1/27/2020 6:57 PM, Andrey Smirnov wrote:=0A= > @@ -60,12 +65,12 @@ static struct caam_rng_ctx *to_caam_rng_ctx(struct hw= rng *r)=0A= > static void caam_rng_done(struct device *jrdev, u32 *desc, u32 err,=0A= > void *context)=0A= > {=0A= > - struct completion *done =3D context;=0A= > + struct caam_rng_job_ctx *jctx =3D context;=0A= > =0A= > if (err)=0A= > - caam_jr_strstatus(jrdev, err);=0A= > + *jctx->err =3D caam_jr_strstatus(jrdev, err);=0A= > =0A= > - complete(done);=0A= > + complete(jctx->done);=0A= > }=0A= > =0A= > static u32 *caam_init_desc(u32 *desc, dma_addr_t dst_dma, int len)=0A= > @@ -89,6 +94,10 @@ static int caam_rng_read_one(struct device *jrdev,=0A= > {=0A= > dma_addr_t dst_dma;=0A= > int err;=0A= > + struct caam_rng_job_ctx jctx =3D {=0A= > + .done =3D done,=0A= > + .err =3D &err,=0A= > + };=0A= > =0A= > len =3D min_t(int, len, CAAM_RNG_MAX_FIFO_STORE_SIZE);=0A= > =0A= > @@ -101,7 +110,7 @@ static int caam_rng_read_one(struct device *jrdev,=0A= > init_completion(done);=0A= > err =3D caam_jr_enqueue(jrdev,=0A= > caam_init_desc(desc, dst_dma, len),=0A= > - caam_rng_done, done);=0A= > + caam_rng_done, &jctx);=0A= AFAICT there's a race condition b/w caam_jr_enqueue() and caam_rng_done(),= =0A= both writing to "err":=0A= caam_jr_enqueue()=0A= -> JR interrupt -> caam_jr_interrupt() -> tasklet_schedule()...=0A= -> spin_unlock_bh()=0A= -> caam_jr_dequeue() -> caam_rng_done() -> write err=0A= -> return 0 -> write err=0A= =0A= Horia=0A=