From: Kees Cook <kees@kernel.org>
To: Kuniyuki Iwashima <kuniyu@amazon.com>
Cc: Kees Cook <kees@kernel.org>,
Samuel Mendoza-Jonas <sam@mendozajonas.com>,
Paul Fertser <fercerpav@gmail.com>,
"David S. Miller" <davem@davemloft.net>,
Eric Dumazet <edumazet@google.com>,
Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
Simon Horman <horms@kernel.org>,
netdev@vger.kernel.org, Christoph Hellwig <hch@lst.de>,
Sagi Grimberg <sagi@grimberg.me>,
Chaitanya Kulkarni <kch@nvidia.com>,
"Martin K. Petersen" <martin.petersen@oracle.com>,
Mike Christie <michael.christie@oracle.com>,
Max Gurtovoy <mgurtovoy@nvidia.com>,
Maurizio Lombardi <mlombard@redhat.com>,
Dmitry Bogdanov <d.bogdanov@yadro.com>,
Mingzhe Zou <mingzhe.zou@easystack.cn>,
Christophe Leroy <christophe.leroy@csgroup.eu>,
"Dr. David Alan Gilbert" <linux@treblig.org>,
Andrew Lunn <andrew+netdev@lunn.ch>,
Stanislav Fomichev <sdf@fomichev.me>,
Cosmin Ratiu <cratiu@nvidia.com>, Lei Yang <leiyang@redhat.com>,
Ido Schimmel <idosch@nvidia.com>,
Alexander Aring <alex.aring@gmail.com>,
Stefan Schmidt <stefan@datenfreihafen.org>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Hayes Wang <hayeswang@realtek.com>,
Douglas Anderson <dianders@chromium.org>,
Grant Grundler <grundler@chromium.org>,
Jay Vosburgh <jv@jvosburgh.net>,
"K. Y. Srinivasan" <kys@microsoft.com>,
Haiyang Zhang <haiyangz@microsoft.com>,
Wei Liu <wei.liu@kernel.org>, Dexuan Cui <decui@microsoft.com>,
Jiri Pirko <jiri@resnulli.us>, Eric Biggers <ebiggers@google.com>,
Milan Broz <gmazyland@gmail.com>, Philipp Hahn <phahn-oss@avm.de>,
Ard Biesheuvel <ardb@kernel.org>,
Al Viro <viro@zeniv.linux.org.uk>,
Ahmed Zaki <ahmed.zaki@intel.com>,
Alexander Lobakin <aleksander.lobakin@intel.com>,
Xiao Liang <shaw.leon@gmail.com>,
linux-kernel@vger.kernel.org, linux-nvme@lists.infradead.org,
linux-scsi@vger.kernel.org, target-devel@vger.kernel.org,
linux-wpan@vger.kernel.org, linux-usb@vger.kernel.org,
linux-hyperv@vger.kernel.org, linux-hardening@vger.kernel.org
Subject: [PATCH 3/7] net/ncsi: Use struct sockaddr_storage for pending_mac
Date: Tue, 20 May 2025 15:31:02 -0700 [thread overview]
Message-ID: <20250520223108.2672023-3-kees@kernel.org> (raw)
In-Reply-To: <20250520222452.work.063-kees@kernel.org>
To avoid future casting with coming API type changes, switch struct
ncsi_dev_priv::pending_mac to a full struct sockaddr_storage.
Signed-off-by: Kees Cook <kees@kernel.org>
---
Cc: Samuel Mendoza-Jonas <sam@mendozajonas.com>
Cc: Paul Fertser <fercerpav@gmail.com>
Cc: "David S. Miller" <davem@davemloft.net>
Cc: Eric Dumazet <edumazet@google.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: Paolo Abeni <pabeni@redhat.com>
Cc: Simon Horman <horms@kernel.org>
Cc: <netdev@vger.kernel.org>
---
net/ncsi/internal.h | 2 +-
net/ncsi/ncsi-manage.c | 2 +-
net/ncsi/ncsi-rsp.c | 18 +++++++++---------
3 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/net/ncsi/internal.h b/net/ncsi/internal.h
index 2c260f33b55c..e76c6de0c784 100644
--- a/net/ncsi/internal.h
+++ b/net/ncsi/internal.h
@@ -322,7 +322,7 @@ struct ncsi_dev_priv {
#define NCSI_DEV_RESHUFFLE 4
#define NCSI_DEV_RESET 8 /* Reset state of NC */
unsigned int gma_flag; /* OEM GMA flag */
- struct sockaddr pending_mac; /* MAC address received from GMA */
+ struct sockaddr_storage pending_mac; /* MAC address received from GMA */
spinlock_t lock; /* Protect the NCSI device */
unsigned int package_probe_id;/* Current ID during probe */
unsigned int package_num; /* Number of packages */
diff --git a/net/ncsi/ncsi-manage.c b/net/ncsi/ncsi-manage.c
index b36947063783..0202db2aea3e 100644
--- a/net/ncsi/ncsi-manage.c
+++ b/net/ncsi/ncsi-manage.c
@@ -1058,7 +1058,7 @@ static void ncsi_configure_channel(struct ncsi_dev_priv *ndp)
break;
case ncsi_dev_state_config_apply_mac:
rtnl_lock();
- ret = dev_set_mac_address(dev, &ndp->pending_mac, NULL);
+ ret = dev_set_mac_address(dev, (struct sockaddr *)&ndp->pending_mac, NULL);
rtnl_unlock();
if (ret < 0)
netdev_warn(dev, "NCSI: 'Writing MAC address to device failed\n");
diff --git a/net/ncsi/ncsi-rsp.c b/net/ncsi/ncsi-rsp.c
index 8668888c5a2f..472cc68ad86f 100644
--- a/net/ncsi/ncsi-rsp.c
+++ b/net/ncsi/ncsi-rsp.c
@@ -628,7 +628,7 @@ static int ncsi_rsp_handler_snfc(struct ncsi_request *nr)
static int ncsi_rsp_handler_oem_gma(struct ncsi_request *nr, int mfr_id)
{
struct ncsi_dev_priv *ndp = nr->ndp;
- struct sockaddr *saddr = &ndp->pending_mac;
+ struct sockaddr_storage *saddr = &ndp->pending_mac;
struct net_device *ndev = ndp->ndev.dev;
struct ncsi_rsp_oem_pkt *rsp;
u32 mac_addr_off = 0;
@@ -644,11 +644,11 @@ static int ncsi_rsp_handler_oem_gma(struct ncsi_request *nr, int mfr_id)
else if (mfr_id == NCSI_OEM_MFR_INTEL_ID)
mac_addr_off = INTEL_MAC_ADDR_OFFSET;
- saddr->sa_family = ndev->type;
- memcpy(saddr->sa_data, &rsp->data[mac_addr_off], ETH_ALEN);
+ saddr->ss_family = ndev->type;
+ memcpy(saddr->__data, &rsp->data[mac_addr_off], ETH_ALEN);
if (mfr_id == NCSI_OEM_MFR_BCM_ID || mfr_id == NCSI_OEM_MFR_INTEL_ID)
- eth_addr_inc((u8 *)saddr->sa_data);
- if (!is_valid_ether_addr((const u8 *)saddr->sa_data))
+ eth_addr_inc(saddr->__data);
+ if (!is_valid_ether_addr(saddr->__data))
return -ENXIO;
/* Set the flag for GMA command which should only be called once */
@@ -1088,7 +1088,7 @@ static int ncsi_rsp_handler_netlink(struct ncsi_request *nr)
static int ncsi_rsp_handler_gmcma(struct ncsi_request *nr)
{
struct ncsi_dev_priv *ndp = nr->ndp;
- struct sockaddr *saddr = &ndp->pending_mac;
+ struct sockaddr_storage *saddr = &ndp->pending_mac;
struct net_device *ndev = ndp->ndev.dev;
struct ncsi_rsp_gmcma_pkt *rsp;
int i;
@@ -1105,15 +1105,15 @@ static int ncsi_rsp_handler_gmcma(struct ncsi_request *nr)
rsp->addresses[i][4], rsp->addresses[i][5]);
}
- saddr->sa_family = ndev->type;
+ saddr->ss_family = ndev->type;
for (i = 0; i < rsp->address_count; i++) {
if (!is_valid_ether_addr(rsp->addresses[i])) {
netdev_warn(ndev, "NCSI: Unable to assign %pM to device\n",
rsp->addresses[i]);
continue;
}
- memcpy(saddr->sa_data, rsp->addresses[i], ETH_ALEN);
- netdev_warn(ndev, "NCSI: Will set MAC address to %pM\n", saddr->sa_data);
+ memcpy(saddr->__data, rsp->addresses[i], ETH_ALEN);
+ netdev_warn(ndev, "NCSI: Will set MAC address to %pM\n", saddr->__data);
break;
}
--
2.34.1
next prev parent reply other threads:[~2025-05-20 22:31 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-05-20 22:30 [PATCH 0/7] net: Convert dev_set_mac_address() to struct sockaddr_storage Kees Cook
2025-05-20 22:31 ` [PATCH 1/7] net: core: Convert inet_addr_is_any() to sockaddr_storage Kees Cook
2025-05-21 0:04 ` Kuniyuki Iwashima
2025-05-21 1:26 ` Martin K. Petersen
2025-05-20 22:31 ` [PATCH 2/7] net: core: Switch netif_set_mac_address() to struct sockaddr_storage Kees Cook
2025-05-20 22:47 ` Gustavo A. R. Silva
2025-05-20 22:31 ` Kees Cook [this message]
2025-05-20 22:48 ` [PATCH 3/7] net/ncsi: Use struct sockaddr_storage for pending_mac Gustavo A. R. Silva
2025-05-20 22:31 ` [PATCH 4/7] ieee802154: Use struct sockaddr_storage with dev_set_mac_address() Kees Cook
2025-05-20 22:49 ` Gustavo A. R. Silva
2025-05-20 22:31 ` [PATCH 5/7] net: usb: r8152: Convert to use struct sockaddr_storage internally Kees Cook
2025-05-20 22:49 ` Gustavo A. R. Silva
2025-05-20 22:31 ` [PATCH 6/7] net: core: Convert dev_set_mac_address() to struct sockaddr_storage Kees Cook
2025-05-20 22:50 ` Gustavo A. R. Silva
2025-05-21 13:42 ` kernel test robot
2025-05-20 22:31 ` [PATCH 7/7] rtnetlink: do_setlink: Use " Kees Cook
2025-05-20 22:50 ` Gustavo A. R. Silva
2025-05-21 0:19 ` [PATCH 0/7] net: Convert dev_set_mac_address() to " Kuniyuki Iwashima
2025-05-21 0:42 ` Kees Cook
2025-05-21 3:09 ` Jakub Kicinski
2025-05-21 5:18 ` Kees Cook
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250520223108.2672023-3-kees@kernel.org \
--to=kees@kernel.org \
--cc=ahmed.zaki@intel.com \
--cc=aleksander.lobakin@intel.com \
--cc=alex.aring@gmail.com \
--cc=andrew+netdev@lunn.ch \
--cc=ardb@kernel.org \
--cc=christophe.leroy@csgroup.eu \
--cc=cratiu@nvidia.com \
--cc=d.bogdanov@yadro.com \
--cc=davem@davemloft.net \
--cc=decui@microsoft.com \
--cc=dianders@chromium.org \
--cc=ebiggers@google.com \
--cc=edumazet@google.com \
--cc=fercerpav@gmail.com \
--cc=gmazyland@gmail.com \
--cc=grundler@chromium.org \
--cc=haiyangz@microsoft.com \
--cc=hayeswang@realtek.com \
--cc=hch@lst.de \
--cc=horms@kernel.org \
--cc=idosch@nvidia.com \
--cc=jiri@resnulli.us \
--cc=jv@jvosburgh.net \
--cc=kch@nvidia.com \
--cc=kuba@kernel.org \
--cc=kuniyu@amazon.com \
--cc=kys@microsoft.com \
--cc=leiyang@redhat.com \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-hyperv@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=linux-scsi@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linux-wpan@vger.kernel.org \
--cc=linux@treblig.org \
--cc=martin.petersen@oracle.com \
--cc=mgurtovoy@nvidia.com \
--cc=michael.christie@oracle.com \
--cc=mingzhe.zou@easystack.cn \
--cc=miquel.raynal@bootlin.com \
--cc=mlombard@redhat.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=phahn-oss@avm.de \
--cc=sagi@grimberg.me \
--cc=sam@mendozajonas.com \
--cc=sdf@fomichev.me \
--cc=shaw.leon@gmail.com \
--cc=stefan@datenfreihafen.org \
--cc=target-devel@vger.kernel.org \
--cc=viro@zeniv.linux.org.uk \
--cc=wei.liu@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.