From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id B87BC43892 for ; Thu, 11 Jan 2024 12:11:07 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B184C4025E; Thu, 11 Jan 2024 12:11:07 +0100 (CET) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2040.outbound.protection.outlook.com [40.107.244.40]) by mails.dpdk.org (Postfix) with ESMTP id 3A67B40042 for ; Thu, 11 Jan 2024 12:11:06 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fNKCv46PzmqQuy61/zVGDJRhyoG7yyjkSmYZWuxwnIvAuflum13JoTnKiF0P5dqc/+t8BPsXizvs40cN2/wIfK7jiMBH/8JgdTMMMVyxEdw8nufmzrm26L/vQJiEsBiLh41SdkDy2H3h+GHmaZcZzdSuQeKZWbm8oy/uW/8y+Q+Uz/9Cz1wCQDbWVLBmUiSm6AKt5SVyI8FgGfqhy0l7bK8vv1JjQo43DC6K4q8N9iNUY+VIA/M/bUU6fDyww+BlFk9ZH2dtStdC9IQpqk9k+yLaoBvOBww+YRRGbSk9DibmK+TYqLJqn+BVLQXlLw0srfklBNJlwxjDFwnRHLYBKQ== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lbpqeuEArkCOTUtK37lRSjBqhIvAyvnEIrhL20VxR+Y=; b=U5I4IkPXrmwYWSiAUuTSWHBV2hV/SxYjol5rDve/K6XZcTLcVwfMFHXty45SXBJJXJSLwf/U3JvCx0fad3lLtHgG9OcADzmOfiA31SgvgQIt/74sWUamFXGc1jsFkAw0jEQ2SCKLsReLyQ3hS0xnqP0k94emipMTjrtvgueRE/YdA+8AotTXn1yFKfDyKAu4dfMTQhQOiJxnrfFl9eA362mCuQqfHsj+g8l1iHM6bxHHZapLP0UFZfST7yVN+XMI7xbQ+w1iMqV4a7DCNkuvxa5jfCDDSOwMvm81dZokM0KdlSOMvUQbnXWc6OImuRt7Z4TfZAr9o0PWSWQ1krWo6A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lbpqeuEArkCOTUtK37lRSjBqhIvAyvnEIrhL20VxR+Y=; b=FDlsQMaqD3elXrkNeb9vlfD0ouhwZvvHsmb3Z8BSSRv3WuPBxGthYshkHav/xxaw2LNnlo4XQZ1PNXbvgAjjGrvB+Ow7O00+Gtz9XKndURhpxePs517YfBJ7rCktrMvmKcPM0To/QZB5pHe8YaNfhVEW2BNHO5uuOIiR81vPCd7OyxtY51qbrYSUzwAtsFrgKSt0qni07sVJ3oaY60AgQI0KYUUPfah4E6ns1CAQ6eenZjxFVA5Ee1qqadL/u3MsSujxv2MXJ6TTwcE1lehM+crPNx+yvcv/uaBFhmvjl+qp9LGyXlDZ+foVjkSMmqsh2AFPylTMeboa0buc5MTeig== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39d::14) by MN0PR12MB6173.namprd12.prod.outlook.com (2603:10b6:208:3c6::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.17; Thu, 11 Jan 2024 11:11:03 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::6e12:5648:d8f4:ab2d]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::6e12:5648:d8f4:ab2d%4]) with mapi id 15.20.7181.019; Thu, 11 Jan 2024 11:11:02 +0000 From: "Xueming(Steven) Li" To: "Xu, HailinX" CC: Maxime Coquelin , "stable@dpdk.org" , "ktraynor@redhat.com" , "dmarchan@redhat.com" Subject: RE: [PATCH v22.11] vhost: fix missing spinlock unlock Thread-Topic: [PATCH v22.11] vhost: fix missing spinlock unlock Thread-Index: AQHaRHw5vFqWZEQSP0iD+QLZspFBKrDUdHOQ Date: Thu, 11 Jan 2024 11:11:01 +0000 Message-ID: References: <20240111105158.3508078-1-maxime.coquelin@redhat.com> In-Reply-To: <20240111105158.3508078-1-maxime.coquelin@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM4PR12MB5373:EE_|MN0PR12MB6173:EE_ x-ms-office365-filtering-correlation-id: df6e2220-0c22-4078-4b96-08dc1295ff2c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bJKRivgudnt5xk2Iq08iKAU+vpHXJe5yOJa/Ouac1aX3t/hUtg7xBTlk6Z3w+I7o5PnvCOWDXC260m54znZ6l94p/9DWWu/EtxHSc/P1PxHhRD3XqGmxe/Va1GmddOwFySs6TtDKf1PRz2cvtLYyAqBNA+5E7facV//bny6UzM+kqivAP5XGVwCY5v+q1TAkgUqo6EnV3N2M/tEF7QtF+Y+vjfSlvwnKR4EKSSmGEV+2OBH+1YRcyieENdIfF6DvXVC1tDvPt9DUMpQ7aSL07y5NMbCmH6VSyt/2mpLBZsDyfU7KjBiDW7C4ri9Wpp3T/jQfukvVO1Cwy3VZNO0+Fnw4gk9d5DOpbcFTEYdH17F8BW1m19cjOAmHZQ6eEPdNtJFE42/iXAty9RgUBad54eV08u57iJHd6Q2f25aAw6L8VnmY3t+uJm73PMZs4OSCoyOg7BidsEzX4fk0QAWCm8M7z6b44Ab9P+R2H9DmfzgcXAHB0BgpgWDXEvPKK8NRZPP3Z2tUZbGkGRon/K/0ZfmJOnPZzP8SwKpr0IDH0Zd0vI6R4U0etKH3T65OLjL5Y7Lk7Hqw389aboUEz3Dk1PewNOuNgfGpNMG1FrNstiKfL6lz4nGzjA8RNjGUPnvmmon9NclOmVGAr5UzflpQQw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(136003)(396003)(346002)(39860400002)(376002)(366004)(230922051799003)(451199024)(64100799003)(1800799012)(186009)(83380400001)(26005)(66446008)(71200400001)(38100700002)(6506007)(66946007)(122000001)(5660300002)(8936002)(8676002)(52536014)(4326008)(7696005)(966005)(64756008)(9686003)(54906003)(76116006)(66476007)(2906002)(53546011)(478600001)(316002)(66556008)(6916009)(41300700001)(33656002)(38070700009)(86362001)(55016003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?BU0u6JPZp5FENfvm+M/InxMwIekDPn1wL43j6MSEA19kQ0L8i+s/UZq/sKOZ?= =?us-ascii?Q?uMk7jL/hH8taAvlJ8ImGTlomC56V/PiyDVbEt4lhIoGv0yG/YQKZ4P9U1Cn2?= =?us-ascii?Q?AwK4Ov6UeJ71qTydln9TRBroKjqdR7DT1IfB/hu3hqvesyRdri2KS3yuJ6RK?= =?us-ascii?Q?vapdReA09ONv15l1d2jtEHEXT4EBQOg9dNQF74GefnrkK72qmYJud8clyX/Y?= =?us-ascii?Q?e39HlebvGFigW7bYNrQqm31GgqQv18wBDHhPw6J2C5yY0LYQnYIk1Ob7j/9t?= =?us-ascii?Q?FLtDwcGIpNUWgykMg97XfOD2snbRPQaeCG/92nUImAULWR2n1jya8rfnHw+c?= =?us-ascii?Q?xO9EPQIk5Qu0rZ/NF7K/0705GBS3WtLVN4x4C7V52SZTyG7RPk3xq+iC+El9?= =?us-ascii?Q?/K8SfMOqsoemfhj1rrv2mEQ7bmhEGBQIg2JqMXsMBe2125sp28fsCDITaclr?= =?us-ascii?Q?A2QRBxGvdAe6M4bQgrvfgWJtT6GwQV9m/p6H0BIhyLk+Dq+ltDeQLh6UvQrh?= =?us-ascii?Q?jL2lYB883aQPvVLK9k4Ox2mz9BLkrUjuLbmqaX++eqxMxH9EysyigRbVnrb0?= =?us-ascii?Q?NqbvsNegpagAGUNrCpTbcDkmc7rQPf7XgA1EF4V9DqIj76QmnI4sdiHR7hDy?= =?us-ascii?Q?WkI+cEZ+JSvHX3bM5j3aVSTPpFcm/KNU4cmtG0kpxruvB4lGPlFgbh3DeuCk?= =?us-ascii?Q?I/QeDO94uk0L/4IGjX3MmHkR9enZr/XI1mnP71YC2ablLxciTdYDt63oUMCz?= =?us-ascii?Q?pamjiT2DLhU2uxoYyjOdeZ5dFQWRgNzi4hTRpxIQqYPdiMecL5yQKTL1hXCv?= =?us-ascii?Q?agMCUjWdDohtFHmssuXqWHEFnlZsp7nkOkDRt4UD23qmZIm8Cjl5ExWBh0aN?= =?us-ascii?Q?ZgPvkNBbN8Spzt1XVzhCH6l/DTM7fKvF7tdxjLKLNt7uUItSLfmboVhCsG52?= =?us-ascii?Q?Guc8rigp9z3oAqhjA+KFveD8OFU2bZcevhhgd0JfUfjLZn193oeRKdhn1meG?= =?us-ascii?Q?oAJzr8ey1SQDvOyAnp0cusVEt9+dDV4cMtdy623iisksgn/nn283GBAYQUFT?= =?us-ascii?Q?682VkBS5rQKBeViQkUabxAonqjNs0zX/BNsq4I3zwCmLNJ21o7jgU232XLXz?= =?us-ascii?Q?Ut0BWxxY+JCG9e4+vyKyNWRWnWMOAs1DeWcMJgnn6QUu17ltTXBZOOOz+k/e?= =?us-ascii?Q?7s1b1J3e4DVi63Otv4G0Ctuqu0Jj0nZ/1yPG2AIjqjLUNZQpjf1CLReiTgYp?= =?us-ascii?Q?vU9tX2hck2VSBpN3tegX+bvFUjrpVkapaxkddaLgFvgHZpQ9w3Ns+IiWbbhY?= =?us-ascii?Q?R4jUeE3UOGli+vL57cOhQaxRQhWhYuhem06WR3SbAR5m4ltZryavDT/4cp4W?= =?us-ascii?Q?A9QkmMkbdNfzSKDWL2MdGJCX7TlcNtlKI8Vx50AyguqqwSFRt0x4r7ewVf4+?= =?us-ascii?Q?bOwW6/Qh4VPbtqC3/49X2w+QizYHiGxQ/ndxWVMc6mY2GXQk35xIawaf408c?= =?us-ascii?Q?MLgCLgMUzu7VhPbmaSA9D8xUSM/p2i0nnclFJdRPdIy+CES6ii05fGr5hlFi?= =?us-ascii?Q?kOd+r8bBVVQg5/yt7wp3oWi3Y3N0KqpnxuItmYrk?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: df6e2220-0c22-4078-4b96-08dc1295ff2c X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Jan 2024 11:11:01.9765 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: U3RwthL08v5bG8t9/B0Q8UQ3qTu9cW7ptUvcEvXTW0E+2XBjnzTF7/dAX2OMhNg8pKKMh0d8VFRk1XdZKcjmrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6173 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Thanks Maxime! Hailin, could you please confirm if it fixes https://bugs.dpdk.org/show_bug= .cgi?id=3D1338? > -----Original Message----- > From: Maxime Coquelin > Sent: 1/11/2024 18:52 > To: stable@dpdk.org; Xueming(Steven) Li ; > ktraynor@redhat.com; dmarchan@redhat.com > Cc: Maxime Coquelin > Subject: [PATCH v22.11] vhost: fix missing spinlock unlock >=20 > Two regressions were introduced when backporting below > patch: > b4c4e5675c85 ("vhost: fix missing lock protection in power monitor API") >=20 > First, rte_vhost_get_monitor_addr did not release the lock in the success= case. > Then, rte_rwlock_read_lock() was converted to rte_spinlock_trylock() inst= ead of > rte_spinlock_lock(). >=20 > This patch addresses both of these issues. >=20 > Fixes: a07736eb68da ("vhost: fix missing lock protection in power monitor= API") > Cc: stable@dpdk.org >=20 > Signed-off-by: Maxime Coquelin > --- > lib/vhost/vhost.c | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) >=20 > diff --git a/lib/vhost/vhost.c b/lib/vhost/vhost.c index 40ac350e21..9e28= 198528 > 100644 > --- a/lib/vhost/vhost.c > +++ b/lib/vhost/vhost.c > @@ -2060,6 +2060,7 @@ rte_vhost_get_monitor_addr(int vid, uint16_t > queue_id, { > struct virtio_net *dev =3D get_device(vid); > struct vhost_virtqueue *vq; > + int ret =3D 0; >=20 > if (dev =3D=3D NULL) > return -1; > @@ -2070,11 +2071,12 @@ rte_vhost_get_monitor_addr(int vid, uint16_t > queue_id, > if (vq =3D=3D NULL) > return -1; >=20 > - if (!rte_spinlock_trylock(&vq->access_lock)) > - return -1; > + rte_spinlock_lock(&vq->access_lock); >=20 > - if (unlikely(!vq->access_ok)) > + if (unlikely(!vq->access_ok)) { > + ret =3D -1; > goto out_unlock; > + } >=20 > if (vq_is_packed(dev)) { > struct vring_packed_desc *desc; > @@ -2095,12 +2097,10 @@ rte_vhost_get_monitor_addr(int vid, uint16_t > queue_id, > pmc->match =3D 0; > } >=20 > - return 0; > - > out_unlock: > rte_spinlock_unlock(&vq->access_lock); >=20 > - return -1; > + return ret; > } >=20 >=20 > -- > 2.43.0