Thread (14 messages) 14 messages, 4 authors, 2021-11-27

Re: [dpdk-dev] [PATCH] driver: i40evf device initialization

From: Ben Magistro <hidden>
Date: 2021-10-13 13:21:24

Hello,

Replying here as I'm a little stuck and hoping someone has some advice for
what the next steps should be.

Going from the list above of how to get this noticed by the LTS
maintainer(s), the patch, well commit message + subject were revised and
resent to the list (
https://patches.dpdk.org/project/dpdk/patch/20211012141752.6376-1-koncept1@gmail.com/)
but the i40evf has since been removed from main already so options 1 & 2
seem to no longer apply.  This seems to put us into option 3 of a
backported patch?  Is it just a subject line change then or can this be
pulled out of the "not applicable" pile still?

Thanks and appreciate the advice,

Ben Magistro

On Mon, Sep 13, 2021 at 10:52 PM Ben Magistro [off-list ref] wrote:
+cc: stable@dpdk.org

Per discussions here, cc'ing stable for fix to be applied to LTS as
i40evf is being removed from next.

On Thu, Sep 2, 2021 at 8:37 AM Xueming(Steven) Li [off-list ref]
wrote:
quoted

quoted
-----Original Message-----
From: Ferruh Yigit <redacted>
Sent: Monday, August 30, 2021 5:43 PM
To: Xueming(Steven) Li <redacted>; Kevin Traynor <
ktraynor@redhat.com>; Ben Magistro [off-list ref];
quoted
quoted
dev@dpdk.org; Beilei Xing [off-list ref]; Luca Boccassi <
bluca@debian.org>; Christian Ehrhardt
quoted
quoted
[off-list ref]
Cc: ben.magistro@trinitycyber.com; stefan.baranoff@trinitycyber.com;
Qi Zhang [off-list ref]
quoted
quoted
Subject: Re: [dpdk-dev] [PATCH] driver: i40evf device initialization

On 8/27/2021 7:28 AM, Xueming(Steven) Li wrote:
quoted
quoted
-----Original Message-----
From: Kevin Traynor <redacted>
Sent: Thursday, August 26, 2021 6:46 PM
To: Ferruh Yigit <redacted>; Ben Magistro
[off-list ref]; dev@dpdk.org; Beilei Xing
[off-list ref]; Luca Boccassi [off-list ref];
Christian
quoted
quoted
quoted
quoted
Ehrhardt [off-list ref]; Xueming(Steven) Li
[off-list ref]
Cc: ben.magistro@trinitycyber.com; stefan.baranoff@trinitycyber.com
;
quoted
quoted
quoted
quoted
Qi Zhang [off-list ref]
Subject: Re: [dpdk-dev] [PATCH] driver: i40evf device initialization

+ Christian and Xueming

On 26/08/2021 11:25, Ferruh Yigit wrote:
quoted
On 8/25/2021 8:45 PM, Ben Magistro wrote:
quoted
The i40evf driver is not initializing the eth_dev attribute which
can result in a nullptr dereference. Changes were modeled after
the
quoted
quoted
quoted
quoted
quoted
quoted
iavf_dev_init() per suggestion from the mailing list[1].

[1] https://mails.dpdk.org/archives/dev/2021-August/217251.html

Signed-off-by: Ben Magistro <redacted>
i40evf will be removed in this release. But I guess it helps for
stable releases to first merge the fixes and later removed it, not
sure.
quoted
quoted
quoted
quoted
quoted
@Luca, @Kevin, do you prefer this patch directly to stable repos,
or
quoted
quoted
quoted
quoted
quoted
through the main repo?
I'll leave to Luca/Xueming and Christian to say if they have a
preference, but I'd guess either way is fine from stable view once
it has fixes/stable tags or LTS patch prefix (it doesn't have any of
quoted
quoted
these at present).
quoted
Yes, any option will make it being noticed by LTS maintainer:
1. patches accepted by main with "fix" in subject 2. patches accepted
by main with "cc: stable@dpdk.org" in commit message 3. patches
backported to LTS, sent to stable maillist with LTS prefix, for
example "[20.11]"
quoted
quoted
quoted
Thanks Xueming,

But is there a preferences for this case?

The i40evf will be removed from main repo, is it better
1- first apply the fix and remove the component from main (I assume
fix still will be bacported to LTS in this case) or
quoted
quoted
2- remove the i40evf from main (without fix), apply the fix directly
to the LTS.
quoted
Both options will work, the first is more easy and common I guess, both
19.11 LTS and 20.11 LTS maintainer can find it.
quoted
quoted
Thanks,
ferruh
quoted
quoted
quoted
i40evf won't be tested in the main anyway, since it would be
removed
quoted
quoted
quoted
quoted
quoted
before -rc1 testing, so it looks like there won't be any
difference from testing point of view.
quoted
quoted
quoted
quoted
quoted
quoted
---
 drivers/net/i40e/i40e_ethdev_vf.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/i40e/i40e_ethdev_vf.c
b/drivers/net/i40e/i40e_ethdev_vf.c
index 0cfe13b7b2..ccdce9a16a 100644
--- a/drivers/net/i40e/i40e_ethdev_vf.c
+++ b/drivers/net/i40e/i40e_ethdev_vf.c
@@ -1564,8 +1564,9 @@ i40evf_dev_alarm_handler(void *param)
static
quoted
quoted
quoted
quoted
quoted
quoted
int  i40evf_dev_init(struct rte_eth_dev *eth_dev)  {
-        struct i40e_hw *hw
-                =
I40E_DEV_PRIVATE_TO_HW(eth_dev->data->dev_private);
quoted
quoted
quoted
quoted
quoted
quoted
+        struct i40e_adapter *adapter =
+
I40E_DEV_PRIVATE_TO_ADAPTER(eth_dev->data->dev_private);
quoted
quoted
quoted
quoted
quoted
quoted
+        struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(adapter);
         struct rte_pci_device *pci_dev =
RTE_ETH_DEV_TO_PCI(eth_dev);
quoted
quoted
quoted
quoted
quoted
quoted
         PMD_INIT_FUNC_TRACE();
@@ -1596,11 +1597,14 @@ i40evf_dev_init(struct rte_eth_dev
*eth_dev)
quoted
quoted
quoted
quoted
quoted
quoted
         hw->device_id = pci_dev->id.device_id;
         hw->subsystem_vendor_id =
pci_dev->id.subsystem_vendor_id;
quoted
quoted
quoted
quoted
quoted
quoted
         hw->subsystem_device_id =
pci_dev->id.subsystem_device_id;
quoted
quoted
quoted
quoted
quoted
quoted
+        hw->bus.bus_id = pci_dev->addr.bus;
         hw->bus.device = pci_dev->addr.devid;
         hw->bus.func = pci_dev->addr.function;
         hw->hw_addr = (void *)pci_dev->mem_resource[0].addr;
         hw->adapter_stopped = 1;
         hw->adapter_closed = 0;
+        hw->back =
I40E_DEV_PRIVATE_TO_ADAPTER(eth_dev->data->dev_private);
quoted
quoted
quoted
quoted
quoted
quoted
+        adapter->eth_dev = eth_dev;

         if(i40evf_init_vf(eth_dev) != 0) {
                 PMD_INIT_LOG(ERR, "Init vf failed");
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help