[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20241210145627.GH1888283@ziepe.ca>
Date: Tue, 10 Dec 2024 10:56:27 -0400
From: Jason Gunthorpe <jgg@...pe.ca>
To: Bernard Metzler <bmt@...ich.ibm.com>
Cc: linux-rdma@...r.kernel.org, leon@...nel.org,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org,
syzkaller-bugs@...glegroups.com, zyjzyj2000@...il.com,
syzbot+4b87489410b4efd181bf@...kaller.appspotmail.com
Subject: Re: [PATCH] RDMA/siw: Remove direct link to net_device
On Tue, Dec 10, 2024 at 02:03:51PM +0100, Bernard Metzler wrote:
> diff --git a/drivers/infiniband/sw/siw/siw.h b/drivers/infiniband/sw/siw/siw.h
> index 86d4d6a2170e..c8f75527b513 100644
> --- a/drivers/infiniband/sw/siw/siw.h
> +++ b/drivers/infiniband/sw/siw/siw.h
> @@ -69,16 +69,19 @@ struct siw_pd {
>
> struct siw_device {
> struct ib_device base_dev;
> - struct net_device *netdev;
> struct siw_dev_cap attrs;
>
> u32 vendor_part_id;
> + struct {
> + int ifindex;
ifindex is only stable so long as you are holding a reference on the
netdev..
> --- a/drivers/infiniband/sw/siw/siw_main.c
> +++ b/drivers/infiniband/sw/siw/siw_main.c
> @@ -287,7 +287,6 @@ static struct siw_device *siw_device_create(struct net_device *netdev)
> return NULL;
>
> base_dev = &sdev->base_dev;
> - sdev->netdev = netdev;
Like here needed to grab a reference before storing the pointer in the
sdev struct.
Jason
Powered by blists - more mailing lists