From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f194.google.com (mail-wr0-f194.google.com [209.85.128.194]) by dpdk.org (Postfix) with ESMTP id 16FDC1B769 for ; Wed, 7 Feb 2018 17:00:53 +0100 (CET) Received: by mail-wr0-f194.google.com with SMTP id z6so1600453wrb.1 for ; Wed, 07 Feb 2018 08:00:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=q3q9kmCWaSfGMkYOYY4pnGZkbqcjJw6CoEqoaqG1YGI=; b=VhOvVmPVE5YWjdSZf8kjGNXJUyun5g7lDWJ917o6V+yREXESJjJAvURgR7FCeQfTbI VjFUGsf5PyINM+EOTKLqqLH9l64gsTL18SIhgnrjJk1U/KexcZUL0wpz5cV3ss5+tvZw CGlPUeGF4HWs7+8STkGXdo+BD1JUd3DkJhPwV3dA+Wmr2eUrHxrp6gDEl8qF0HnP42LE Ebc8JcH0ai1nIvoFvpY7Qd6M81/e+UI073wVVeqwgzrTiU8X0wX3iQCUZR7ZBbWFRheI MeYrE2m/XqwwY5E8+94A7yJ9MkmDxLVLgGe6uopGS4IltAfDjme5YQh0tYkzp6nqhLod n5Gw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=q3q9kmCWaSfGMkYOYY4pnGZkbqcjJw6CoEqoaqG1YGI=; b=c0eQkJPCmiUNQF4H8A94XI4eo3v9JOCJH/XlHBn4ub5uZtk2/plsK4DXlCPbRfZOp/ 4WtmPON8bdg/1BYJPwpt3U916YsQZhbmlZIpSAapL/Ra3ypxNRhZQe9MTlLhqOhH/qr4 caif776G6PVVJ+wDxFm+gr+T5HuIGsLILzHOHf233JI6nLMA20/Z7r7JrPOh68GKELdg R7HVUihLzDKP9RaWAQ6Imz9aYW0aWWCyT0b6Rt3erGgWTGyEKPfRF3dbanRfmTzFs22R ze7ugEKneu/f24gk8Cq/m6VeSABFB6rED83EKxSRv2k4rCapM15eM0uvvb2mCsYzUec6 cLCA== X-Gm-Message-State: APf1xPDIUcvvqQBBPxndtYULbFE5CvgmnJG6wfgZFbJOEw6pWpyS2QlE G8LGexCGxLjqjnzSKj8Q/jZ1Rg== X-Google-Smtp-Source: AH8x227GVPyy9qfdCA0XclD/Z9cO1a0GdWyjOqRydH/gOshwFxB9g2VUpfhCnQi7Rhgk7EANlXbOKQ== X-Received: by 10.223.166.176 with SMTP id t45mr5830671wrc.221.1518019252644; Wed, 07 Feb 2018 08:00:52 -0800 (PST) Received: from [192.168.1.58] (82.107.69.91.rev.sfr.net. [91.69.107.82]) by smtp.gmail.com with ESMTPSA id x19sm1388123wrd.7.2018.02.07.08.00.51 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 07 Feb 2018 08:00:51 -0800 (PST) To: Moti Haimovsky Cc: dev@dpdk.org, stable@dpdk.org References: <1517847440-42660-1-git-send-email-motih@mellanox.com> From: Pascal Mazon Message-ID: Date: Wed, 7 Feb 2018 17:00:51 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 MIME-Version: 1.0 In-Reply-To: <1517847440-42660-1-git-send-email-motih@mellanox.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Subject: Re: [dpdk-dev] [PATCH] net/tap: fix res cleanup when tap create fails 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: , X-List-Received-Date: Wed, 07 Feb 2018 16:00:53 -0000 Acked-by: Pascal Mazon On 05/02/2018 17:17, Moti Haimovsky wrote: > This patch complements the partial cleanup done inside > eth_dev_tap_create when the routine failed. > Such a failure left a non-functional device attached to the system. > > Fixes: 050fe6e9ff97 ("drivers/net: use ethdev allocation helper for vdev") > Cc: stable@dpdk.org > > Signed-off-by: Moti Haimovsky > --- > drivers/net/tap/rte_eth_tap.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c > index dc3847e..8931dec 100644 > --- a/drivers/net/tap/rte_eth_tap.c > +++ b/drivers/net/tap/rte_eth_tap.c > @@ -1347,13 +1347,13 @@ enum ioctl_mode { > data = rte_zmalloc_socket(tap_name, sizeof(*data), 0, numa_node); > if (!data) { > RTE_LOG(ERR, PMD, "TAP Failed to allocate data\n"); > - goto error_exit; > + goto error_exit_nodev; > } > > dev = rte_eth_vdev_allocate(vdev, sizeof(*pmd)); > if (!dev) { > RTE_LOG(ERR, PMD, "TAP Unable to allocate device struct\n"); > - goto error_exit; > + goto error_exit_nodev; > } > > pmd = dev->data->dev_private; > @@ -1524,6 +1524,11 @@ enum ioctl_mode { > tap_flow_implicit_flush(pmd, NULL); > > error_exit: > + if (pmd->ioctl_sock > 0) > + close(pmd->ioctl_sock); > + rte_eth_dev_release_port(dev); > + > +error_exit_nodev: > RTE_LOG(ERR, PMD, "TAP Unable to initialize %s\n", > rte_vdev_device_name(vdev)); >