From patchwork Fri Nov 23 15:39:19 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 48328 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3B7821B5DC; Fri, 23 Nov 2018 16:39:51 +0100 (CET) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id 12BC41B5D4 for ; Fri, 23 Nov 2018 16:39:50 +0100 (CET) Received: from eucas1p2.samsung.com (unknown [182.198.249.207]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20181123153949euoutp02fb963ddfb1997c746a6e13072f77e96d~pywmSCt1V1137211372euoutp02X for ; Fri, 23 Nov 2018 15:39:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20181123153949euoutp02fb963ddfb1997c746a6e13072f77e96d~pywmSCt1V1137211372euoutp02X DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1542987589; bh=Rne5WI/8tSAztqjQgequ7oQKuxn715XgXhKau/R5kbk=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=tJlX4oFEYSq8sVdR3Ssp4hDnI/RzjP3wsaiNEdOxzxBTKXLDfmeJV4VDifYWqcs15 +BSZfq9t9ai1KdS53Q6oDz/63dCJeeDsFYDvX+MXLiHdiT8gfS6dW6GAJHhZi6LZPX U0NnoQ8r1yNdYncoDOGVEYrDQMSWPjQI6JVgzF6o= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20181123153948eucas1p2161e1c7939575a914494f582021f1c40~pywlvBZ1w2227422274eucas1p2-; Fri, 23 Nov 2018 15:39:48 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 8F.A8.04441.44F18FB5; Fri, 23 Nov 2018 15:39:48 +0000 (GMT) Received: from eusmtrp1.samsung.com (unknown [182.198.249.138]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20181123153947eucas1p169a2b7cec02b2edd7258aef11b1c1e2e~pywk2TAEq0134401344eucas1p1E; Fri, 23 Nov 2018 15:39:47 +0000 (GMT) Received: from eusmgms2.samsung.com (unknown [182.198.249.180]) by eusmtrp1.samsung.com (KnoxPortal) with ESMTP id 20181123153947eusmtrp151d597718e9918024b11b4747adcd700~pywkl4q3A2017620176eusmtrp1d; Fri, 23 Nov 2018 15:39:47 +0000 (GMT) X-AuditID: cbfec7f2-5e3ff70000001159-b5-5bf81f44ce09 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms2.samsung.com (EUCPMTA) with SMTP id 62.DA.04128.34F18FB5; Fri, 23 Nov 2018 15:39:47 +0000 (GMT) Received: from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20181123153946eusmtip2bd51d17bef8dfd2b615ed7875336316b~pywjyzcdX1840618406eusmtip2k; Fri, 23 Nov 2018 15:39:46 +0000 (GMT) From: Ilya Maximets To: dev@dpdk.org, David Marchand Cc: Maxime Coquelin , Tiwei Bie , Zhihong Wang , Thomas Monjalon , Ferruh Yigit , Ian Stokes , Kevin Traynor , Bruce Richardson , Ilya Maximets , stable@dpdk.org Date: Fri, 23 Nov 2018 18:39:19 +0300 Message-Id: <20181123153920.12398-2-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181123153920.12398-1-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFprMKsWRmVeSWpSXmKPExsWy7djPc7ou8j+iDa7cFbK4screYvuKLjaL d5+2M1nc2Xua3eJK+092i40Pz7JarD30gd3iWOceFot/HX/YLT49OMFisbXhP5PF5ouTmBx4 PH4tWMrqsXjPSyaPYzensXu833eVzaNvyyrGANYoLpuU1JzMstQifbsEroxzNx+xFKxlq2h9 fZm5gXEaaxcjB4eEgIlE89LULkYuDiGBFYwSRw+8ZIFwvjBK7D3czAThfGaUuPRyN2MXIydY x9VzX9hBbCGB5YwSy1qUIIp+MErcWn6OCSTBJqAjcWr1EUaQFSICNhLXPxWB1DALNDBLPLl9 HaxGWMBK4uO5CywgNouAqkTjq0dgC3gFrCV6X+2AWiYvsXrDAWYQmxNoztofLWDnSQj0s0t0 L10HVeQicXfaB2YIW1ji1fEt7BC2jMTpyT0sEHa9xP2Wl4wQzR2MEtMP/WOCSNhLbHl9jh3k UmYBTYn1u/Qhwo4SP3dcZYGEEZ/EjbeCIGFmIHPStunMEGFeiY42IYhqFYnfB5dDXSAlcfPd Z6gLPCQuvJsMDcSDjBKvtx9nnsAoPwth2QJGxlWM4qmlxbnpqcWGeanlesWJucWleel6yfm5 mxiBSeX0v+OfdjB+vZR0iFGAg1GJh9eA+Ue0EGtiWXFl7iFGCQ5mJRHeJsXv0UK8KYmVValF +fFFpTmpxYcYpTlYlMR5qxkeRAsJpCeWpGanphakFsFkmTg4pRoY/T4WSXnPl3nnxJ14rV30 RJZ271uWqJ3dtzb789yMv63s+fA2h9wfPcmFr3Ql14ksO/i999ijDk33DZ/eTT4lNtmiKeJt SvV5l4kcT5Xda9Md/iybYBm8QKp7Y0WdOLd+c5+u73699+2Gespr1zmG/XN0fpi43LUtrv5/ oIjxtTeXX35aO5FdiaU4I9FQi7moOBEANkUItiYDAAA= X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrKLMWRmVeSWpSXmKPExsVy+t/xe7rO8j+iDd5ekrS4screYvuKLjaL d5+2M1nc2Xua3eJK+092i40Pz7JarD30gd3iWOceFot/HX/YLT49OMFisbXhP5PF5ouTmBx4 PH4tWMrqsXjPSyaPYzensXu833eVzaNvyyrGANYoPZui/NKSVIWM/OISW6VoQwsjPUNLCz0j E0s9Q2PzWCsjUyV9O5uU1JzMstQifbsEvYxzNx+xFKxlq2h9fZm5gXEaaxcjJ4eEgInE1XNf 2LsYuTiEBJYySuz61sQEkZCS+PHrAlSRsMSfa11sILaQwDdGiYYbyiA2m4COxKnVRxhBbBEB O4mXFyFsZoEOZokN38RBbGEBK4mP5y6wgNgsAqoSja8egdXwClhL9L7awQgxX15i9YYDzCA2 p4CNxNofLSwQu3IlDt29yDSBkW8BI8MqRpHU0uLc9NxiI73ixNzi0rx0veT83E2MwCDfduzn FqBZ74IPMQpwMCrx8N5g+BEtxJpYVlyZe4hRgoNZSYS3SfF7tBBvSmJlVWpRfnxRaU5q8SFG U6CjJjJLiSbnAyMwryTe0NTQ3MLS0NzY3NjMQkmc97xBZZSQQHpiSWp2ampBahFMHxMHp1QD o9/Og7e3XW1ruba84Lr+v47b3Mt5H6nWTNWuPnYzmHOXs17Duya3rmf6+ed2Lje91vpqycXu Ixd+HDk+w3xtdUCev/Slbc0SCvO1tJqLFqnI77R/Y6olEfnhuoCysrqfjdGc4GgmnTCRpKkZ 9mrn72ULcYS92M166V5/243wlsVb33Lf2RxzWomlOCPRUIu5qDgRAEexkcWIAgAA X-CMS-MailID: 20181123153947eucas1p169a2b7cec02b2edd7258aef11b1c1e2e X-Msg-Generator: CA X-RootMTR: 20181123153947eucas1p169a2b7cec02b2edd7258aef11b1c1e2e X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181123153947eucas1p169a2b7cec02b2edd7258aef11b1c1e2e References: <20181123143620.10480-1-i.maximets@samsung.com> <20181123153920.12398-1-i.maximets@samsung.com> Subject: [dpdk-dev] [PATCH v3 1/2] eal/bsd: fix possible IOPL fd leak X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" If rte_eal_iopl_init() will be called more than once we'll leak the file descriptor. Fixes: b46fe31862ec ("eal/bsd: fix virtio on FreeBSD") Cc: stable@dpdk.org Signed-off-by: Ilya Maximets Reviewed-by: Maxime Coquelin --- lib/librte_eal/bsdapp/eal/eal.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c index 508cbc46f..b8152a75c 100644 --- a/lib/librte_eal/bsdapp/eal/eal.c +++ b/lib/librte_eal/bsdapp/eal/eal.c @@ -556,9 +556,11 @@ int rte_eal_has_hugepages(void) int rte_eal_iopl_init(void) { - static int fd; + static int fd = -1; + + if (fd < 0) + fd = open("/dev/io", O_RDWR); - fd = open("/dev/io", O_RDWR); if (fd < 0) return -1; /* keep fd open for iopl */ From patchwork Fri Nov 23 15:39:20 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ilya Maximets X-Patchwork-Id: 48329 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 183EC1B5E3; Fri, 23 Nov 2018 16:39:55 +0100 (CET) Received: from mailout2.w1.samsung.com (mailout2.w1.samsung.com [210.118.77.12]) by dpdk.org (Postfix) with ESMTP id DFAEF1B5E0 for ; Fri, 23 Nov 2018 16:39:53 +0100 (CET) Received: from eucas1p1.samsung.com (unknown [182.198.249.206]) by mailout2.w1.samsung.com (KnoxPortal) with ESMTP id 20181123153953euoutp0224374f6c036065710e8fe4089dd211c6~pywp2mSXj1089210892euoutp02C for ; Fri, 23 Nov 2018 15:39:53 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20181123153953euoutp0224374f6c036065710e8fe4089dd211c6~pywp2mSXj1089210892euoutp02C DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1542987593; bh=dCeaowDAPx2oGnMlO74WPqzv9iHRArTYspqF3nVvJEA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=eu29jHr0GYjC895xtN5kHADbJ0JjzwxWJw1EDZWYJjxnivsRawI50cx2zmhFIMB7f 0Ga0QTLU9nC0NIQqb4vynznatUyYmvD29NM5jYy5VGkyRCzkEeLiwUbuOv4YhCbXa9 AekURQUnXMsrE2e0fM1pzr2aJgO4cczcBQqkmM5Y= Received: from eusmges1new.samsung.com (unknown [203.254.199.242]) by eucas1p2.samsung.com (KnoxPortal) with ESMTP id 20181123153952eucas1p2da517ca57203578945c6a5f0be695e35~pywparYd32214922149eucas1p2C; Fri, 23 Nov 2018 15:39:52 +0000 (GMT) Received: from eucas1p1.samsung.com ( [182.198.249.206]) by eusmges1new.samsung.com (EUCPMTA) with SMTP id 42.B8.04441.84F18FB5; Fri, 23 Nov 2018 15:39:52 +0000 (GMT) Received: from eusmtrp2.samsung.com (unknown [182.198.249.139]) by eucas1p1.samsung.com (KnoxPortal) with ESMTPA id 20181123153951eucas1p1218331b7e51db8eae3073fa6a14f3bcd~pywoZkfEA0134401344eucas1p1G; Fri, 23 Nov 2018 15:39:51 +0000 (GMT) Received: from eusmgms1.samsung.com (unknown [182.198.249.179]) by eusmtrp2.samsung.com (KnoxPortal) with ESMTP id 20181123153951eusmtrp226e565ce26daef956c2ddddeeea33f49~pywoJb3ZW3195431954eusmtrp2o; Fri, 23 Nov 2018 15:39:51 +0000 (GMT) X-AuditID: cbfec7f2-5e3ff70000001159-c1-5bf81f481b67 Received: from eusmtip2.samsung.com ( [203.254.199.222]) by eusmgms1.samsung.com (EUCPMTA) with SMTP id 8F.86.04284.74F18FB5; Fri, 23 Nov 2018 15:39:51 +0000 (GMT) Received: from imaximets.rnd.samsung.ru (unknown [106.109.129.180]) by eusmtip2.samsung.com (KnoxPortal) with ESMTPA id 20181123153950eusmtip20822f5a7e4d882c16b2bc25272c29914~pywnbhVFd1868318683eusmtip27; Fri, 23 Nov 2018 15:39:50 +0000 (GMT) From: Ilya Maximets To: dev@dpdk.org, David Marchand Cc: Maxime Coquelin , Tiwei Bie , Zhihong Wang , Thomas Monjalon , Ferruh Yigit , Ian Stokes , Kevin Traynor , Bruce Richardson , Ilya Maximets Date: Fri, 23 Nov 2018 18:39:20 +0300 Message-Id: <20181123153920.12398-3-i.maximets@samsung.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181123153920.12398-1-i.maximets@samsung.com> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupmleLIzCtJLcpLzFFi42LZduznOV0P+R/RBue6hS1urLK32L6ii83i 3aftTBZ39p5mt7jS/pPdYuPDs6wWaw99YLc41rmHxeLTgxMsFlsb/jNZbL44icmB2+PXgqWs Hov3vGTyOHZzGrvH+31X2Tz6tqxiDGCN4rJJSc3JLEst0rdL4MpY8e0fY8EC3oq2by/ZGhgb uLsYOTkkBEwkzi17wdLFyMUhJLCCUWL7+o/sEM4XRom7TVegMp8ZJTb+fcfWxcgB1vLgkiZI t5DAckaJ66eSIGp+MErMWzaLDSTBJqAjcWr1EUaQehEBG4nrn4pAapgF3jNJ7H/zlxWkRljA W2LanDksIDUsAqoSPWu0QcK8AtYSTV+fMUFcJy+xesMBZhCbE2jM2h8tLBDxyewSvcuDIM5x kWhrDYUIC0u8Or6FHcKWkfi/cz7UmHqJ+y0vGUFOkBDoYJSYfugfVMJeYsvrc+wgc5gFNCXW 79KHCDtKfLlxlwViPJ/EjbeCIGFmIHPStunMEGFeiY42IYhqFYnfB5czQ9hSEjfffYa6wEPi x4GzzJDAOQgMnE87mSYwys9CWLaAkXEVo3hqaXFuemqxYV5quV5xYm5xaV66XnJ+7iZGYBI5 /e/4px2MXy8lHWIU4GBU4uE1YP4RLcSaWFZcmXuIUYKDWUmEt0nxe7QQb0piZVVqUX58UWlO avEhRmkOFiVx3mqGB9FCAumJJanZqakFqUUwWSYOTqkGRi2uZlXZhrem1iffh6sXsIVv8zux 2PK44LH27punYhSLi036ZhucuSwbzPSl8cY29qIbPLt+81Zy/3owu0Jvabfnwkereyoaj1u9 /tXXqXjQK8XKS+XfhQfJ11lOiLy80LgralHBkX2/71zNMWdkzu0NU7Sd79by4hkr/yTVY6yT JZQ7Xe+dVWIpzkg01GIuKk4EAOE4P2seAwAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPLMWRmVeSWpSXmKPExsVy+t/xe7ru8j+iDW685rO4screYvuKLjaL d5+2M1nc2Xua3eJK+092i40Pz7JarD30gd3iWOceFotPD06wWGxt+M9ksfniJCYHbo9fC5ay eize85LJ49jNaewe7/ddZfPo27KKMYA1Ss+mKL+0JFUhI7+4xFYp2tDCSM/Q0kLPyMRSz9DY PNbKyFRJ384mJTUnsyy1SN8uQS9jxbd/jAULeCvavr1ka2Bs4O5i5OCQEDCReHBJs4uRk0NI YCmjxNn7diC2hICUxI9fF1ghbGGJP9e62LoYuYBqvjFKrJk/lw0kwSagI3Fq9RFGEFtEwE7i 5UUQm4uDWeArk8Tey9/BioQFvCWmzZnDArKMRUBVomeNNkiYV8BaounrMyaIBfISqzccYAax OQVsJNb+aGGBOChX4tDdi0wTGPkWMDKsYhRJLS3OTc8tNtQrTswtLs1L10vOz93ECAzsbcd+ bt7BeGlj8CFGAQ5GJR5eA+Yf0UKsiWXFlbmHGCU4mJVEeJsUv0cL8aYkVlalFuXHF5XmpBYf YjQFumkis5Rocj4w6vJK4g1NDc0tLA3Njc2NzSyUxHnPG1RGCQmkJ5akZqemFqQWwfQxcXBK NTBqpbu9LfffVCnX1GXUefrkk2h2J/NVW+yKVnfuC7rFcsXu/B1Fw4x3lv5igpr3ru9crXSE Y+mi12714UWKizUM87Z5OLhd+HE1WWjZxNCIV2aTUu7OLrhxJG/f0peS+3IenD28a/v8NReu rb+fPi3kjvAG57bwdx7CNjHCb7lPPzQL71gRMPWmEktxRqKhFnNRcSIAtPK/coICAAA= X-CMS-MailID: 20181123153951eucas1p1218331b7e51db8eae3073fa6a14f3bcd X-Msg-Generator: CA X-RootMTR: 20181123153951eucas1p1218331b7e51db8eae3073fa6a14f3bcd X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20181123153951eucas1p1218331b7e51db8eae3073fa6a14f3bcd References: <20181123143620.10480-1-i.maximets@samsung.com> <20181123153920.12398-1-i.maximets@samsung.com> Subject: [dpdk-dev] [PATCH v3 2/2] net/virtio: avoid annoying IOPL call related errors X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" In case of running with not enough capabilities, i.e. running as non-root user any application linked with DPDK prints the message about IOPL call failure even if it was just called like './testpmd --help'. For example, this breaks most of the OVS unit tests if it built with DPDK support. Let's register the virtio driver unconditionally and print error message while probing the device. Silent iopl() call left in the constructor to have privileges as early as possible as it was before. Signed-off-by: Ilya Maximets Reviewed-by: David Marchand Reviewed-by: Maxime Coquelin --- drivers/net/virtio/virtio_ethdev.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/drivers/net/virtio/virtio_ethdev.c b/drivers/net/virtio/virtio_ethdev.c index e1fe36a23..2ba66d291 100644 --- a/drivers/net/virtio/virtio_ethdev.c +++ b/drivers/net/virtio/virtio_ethdev.c @@ -1760,6 +1760,11 @@ vdpa_mode_selected(struct rte_devargs *devargs) static int eth_virtio_pci_probe(struct rte_pci_driver *pci_drv __rte_unused, struct rte_pci_device *pci_dev) { + if (rte_eal_iopl_init() != 0) { + PMD_INIT_LOG(ERR, "IOPL call failed - cannot use virtio PMD"); + return 1; + } + /* virtio pmd skips probe if device needs to work in vdpa mode */ if (vdpa_mode_selected(pci_dev->device.devargs)) return 1; @@ -1785,11 +1790,7 @@ static struct rte_pci_driver rte_virtio_pmd = { RTE_INIT(rte_virtio_pmd_init) { - if (rte_eal_iopl_init() != 0) { - PMD_INIT_LOG(ERR, "IOPL call failed - cannot use virtio PMD"); - return; - } - + rte_eal_iopl_init(); rte_pci_register(&rte_virtio_pmd); }