Re: [PATCH 5.10 066/135] net/ncsi: change from ndo_set_mac_address to dev_set_mac_address

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Aug 25, 2023 at 11:38:02AM +0300, Ivan Mikhaylov wrote:
> On Fri, 2023-08-25 at 09:16 +0200, Greg Kroah-Hartman wrote:
> > On Fri, Aug 25, 2023 at 09:24:46AM +0300, Ivan Mikhaylov wrote:
> > > On Thu, 2023-08-24 at 19:08 +0200, Greg Kroah-Hartman wrote:
> > > > 5.10-stable review patch.  If anyone has any objections, please
> > > > let
> > > > me know.
> > > > 
> > > > ------------------
> > > > 
> > > > From: Ivan Mikhaylov <fr0st61te@xxxxxxxxx>
> > > > 
> > > > [ Upstream commit 790071347a0a1a89e618eedcd51c687ea783aeb3 ]
> > > > 
> > > > Change ndo_set_mac_address to dev_set_mac_address because
> > > > dev_set_mac_address provides a way to notify network layer about
> > > > MAC
> > > > change. In other case, services may not aware about MAC change
> > > > and
> > > > keep
> > > > using old one which set from network adapter driver.
> > > > 
> > > > As example, DHCP client from systemd do not update MAC address
> > > > without
> > > > notification from net subsystem which leads to the problem with
> > > > acquiring
> > > > the right address from DHCP server.
> > > > 
> > > > Fixes: cb10c7c0dfd9e ("net/ncsi: Add NCSI Broadcom OEM command")
> > > > Cc: stable@xxxxxxxxxxxxxxx # v6.0+ 2f38e84 net/ncsi: make one
> > > > oem_gma
> > > > function for all mfr id
> > > > Signed-off-by: Paul Fertser <fercerpav@xxxxxxxxx>
> > > > Signed-off-by: Ivan Mikhaylov <fr0st61te@xxxxxxxxx>
> > > > Reviewed-by: Simon Horman <simon.horman@xxxxxxxxxxxx>
> > > > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
> > > > Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
> > > > ---
> > > >  net/ncsi/ncsi-rsp.c | 5 +++--
> > > >  1 file changed, 3 insertions(+), 2 deletions(-)
> > > > 
> > > > diff --git a/net/ncsi/ncsi-rsp.c b/net/ncsi/ncsi-rsp.c
> > > > index 888ccc2d4e34b..47ffb790ff99f 100644
> > > > --- a/net/ncsi/ncsi-rsp.c
> > > > +++ b/net/ncsi/ncsi-rsp.c
> > > > @@ -616,7 +616,6 @@ static int
> > > > ncsi_rsp_handler_oem_mlx_gma(struct
> > > > ncsi_request *nr)
> > > >  {
> > > >         struct ncsi_dev_priv *ndp = nr->ndp;
> > > >         struct net_device *ndev = ndp->ndev.dev;
> > > > -       const struct net_device_ops *ops = ndev->netdev_ops;
> > > >         struct ncsi_rsp_oem_pkt *rsp;
> > > >         struct sockaddr saddr;
> > > >         int ret = 0;
> > > > @@ -630,7 +629,9 @@ static int
> > > > ncsi_rsp_handler_oem_mlx_gma(struct
> > > > ncsi_request *nr)
> > > >         /* Set the flag for GMA command which should only be
> > > > called
> > > > once */
> > > >         ndp->gma_flag = 1;
> > > >  
> > > > -       ret = ops->ndo_set_mac_address(ndev, &saddr);
> > > > +       rtnl_lock();
> > > > +       ret = dev_set_mac_address(ndev, &saddr, NULL);
> > > > +       rtnl_unlock();
> > > >         if (ret < 0)
> > > >                 netdev_warn(ndev, "NCSI: 'Writing mac address to
> > > > device failed\n");
> > > >  
> > > 
> > > Greg, we had conversation in the past about this particular
> > > patchset
> > > series:
> > > https://www.spinics.net/lists/stable-commits/msg308587.html
> > > 
> > > Just one patch is not enough, I didn't test it either on linux
> > > kernel
> > > version < 6.0 , also I saw the Sasha's commits about the same for
> > > 5.4,
> > > 5.10, 5.15 and answered to him about necessity of two patchsets
> > > instead
> > > of one on 19 aug.
> > 
> > Ah, so I should also include commit 74b449b98dcc ("net/ncsi: make one
> > oem_gma function for all mfr id"), right?
> > 
> > thanks,
> > 
> > greg k-h
> 
> Greg, yes, that's right and I'm not sure if these two patches applies
> well for 5.x stable releases.

Thanks, I've dropped this one patch for now , and will revisit this
after this release to see if both work in these trees.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux