[PATCH 2/3] treewide: Use offsetofendp()
Bence Csokas
bence.csokas at arm.com
Thu Nov 5 09:16:17 PST 2026
Generated with the following simple Coccinelle patch:
@@
expression ptr, member;
@@
- offsetofend(typeof(*ptr), member)
+ offsetofendp(ptr, member)
Signed-off-by: Bence Csokas <bence.csokas at arm.com>
---
drivers/infiniband/hw/hns/hns_roce_cq.c | 4 ++--
drivers/infiniband/hw/hns/hns_roce_qp.c | 6 +++---
drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c | 5 ++---
drivers/net/wireless/realtek/rtl8xxxu/core.c | 2 +-
drivers/net/wireless/realtek/rtw88/fw.c | 2 +-
drivers/net/wireless/realtek/rtw89/fw.c | 8 ++++----
drivers/net/wireless/virtual/mac80211_hwsim_main.c | 4 ++--
net/bpf/test_run.c | 2 +-
net/key/af_key.c | 2 +-
net/wireless/nl80211.c | 2 +-
net/wireless/reg.c | 2 +-
net/wireless/scan.c | 2 +-
security/landlock/net.c | 4 ++--
13 files changed, 22 insertions(+), 23 deletions(-)
diff --git a/drivers/infiniband/hw/hns/hns_roce_cq.c b/drivers/infiniband/hw/hns/hns_roce_cq.c
index 7dfaa01cda67..0755f365873d 100644
--- a/drivers/infiniband/hw/hns/hns_roce_cq.c
+++ b/drivers/infiniband/hw/hns/hns_roce_cq.c
@@ -287,7 +287,7 @@ static int alloc_cq_db(struct hns_roce_dev *hr_dev, struct hns_roce_cq *hr_cq,
if (udata) {
if (has_db &&
- udata->outlen >= offsetofend(typeof(*resp), cap_flags)) {
+ udata->outlen >= offsetofendp(resp, cap_flags)) {
uctx = rdma_udata_to_drv_context(udata,
struct hns_roce_ucontext, ibucontext);
err = hns_roce_db_map_user(uctx, addr, &hr_cq->db);
@@ -378,7 +378,7 @@ static int set_cqe_size(struct hns_roce_cq *hr_cq, struct ib_udata *udata,
return 0;
}
- if (udata->inlen >= offsetofend(typeof(*ucmd), cqe_size)) {
+ if (udata->inlen >= offsetofendp(ucmd, cqe_size)) {
if (ucmd->cqe_size != HNS_ROCE_V2_CQE_SIZE &&
ucmd->cqe_size != HNS_ROCE_V3_CQE_SIZE) {
ibdev_err(&hr_dev->ib_dev,
diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c
index c6c0dfdbdbc3..55781c1833e5 100644
--- a/drivers/infiniband/hw/hns/hns_roce_qp.c
+++ b/drivers/infiniband/hw/hns/hns_roce_qp.c
@@ -836,9 +836,9 @@ static inline bool user_qp_has_sdb(struct hns_roce_dev *hr_dev,
struct hns_roce_ib_create_qp *ucmd)
{
return ((hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_QP_RECORD_DB) &&
- udata->outlen >= offsetofend(typeof(*resp), cap_flags) &&
+ udata->outlen >= offsetofendp(resp, cap_flags) &&
hns_roce_qp_has_sq(init_attr) &&
- udata->inlen >= offsetofend(typeof(*ucmd), sdb_addr));
+ udata->inlen >= offsetofendp(ucmd, sdb_addr));
}
static inline bool user_qp_has_rdb(struct hns_roce_dev *hr_dev,
@@ -847,7 +847,7 @@ static inline bool user_qp_has_rdb(struct hns_roce_dev *hr_dev,
struct hns_roce_ib_create_qp_resp *resp)
{
return ((hr_dev->caps.flags & HNS_ROCE_CAP_FLAG_QP_RECORD_DB) &&
- udata->outlen >= offsetofend(typeof(*resp), cap_flags) &&
+ udata->outlen >= offsetofendp(resp, cap_flags) &&
hns_roce_qp_has_rq(init_attr));
}
diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c
index 0009a05511af..533b41fcd1c2 100644
--- a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c
+++ b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info-v2.c
@@ -241,7 +241,7 @@ int iwl_pcie_ctxt_info_v2_alloc(struct iwl_trans *trans,
* optional; old devices _should_ be fine with a bigger size,
* but in simulation we check the size more precisely.
*/
- BUILD_BUG_ON(offsetofend(typeof(*prph_scratch), dram.common) +
+ BUILD_BUG_ON(offsetofendp(prph_scratch, dram.common) +
sizeof(prph_scratch->dram.fseq_img) !=
sizeof(*prph_scratch));
if (control_flags_ext & IWL_PRPH_SCRATCH_EXT_EXT_FSEQ)
@@ -249,8 +249,7 @@ int iwl_pcie_ctxt_info_v2_alloc(struct iwl_trans *trans,
cpu_to_le32(sizeof(*prph_scratch));
else
ctxt_info_v2->prph_scratch_size =
- cpu_to_le32(offsetofend(typeof(*prph_scratch),
- dram.common));
+ cpu_to_le32(offsetofendp(prph_scratch, dram.common));
ctxt_info_v2->cr_head_idx_arr_base_addr =
cpu_to_le64(trans_pcie->rxq->rb_stts_dma);
diff --git a/drivers/net/wireless/realtek/rtl8xxxu/core.c b/drivers/net/wireless/realtek/rtl8xxxu/core.c
index 3d0c22db30a8..289e0068d7eb 100644
--- a/drivers/net/wireless/realtek/rtl8xxxu/core.c
+++ b/drivers/net/wireless/realtek/rtl8xxxu/core.c
@@ -6167,7 +6167,7 @@ static void rtl8xxxu_c2hcmd_callback(struct work_struct *work)
case C2H_8723B_RA_REPORT:
bw = rarpt->txrate.bw;
- if (skb->len >= offsetofend(typeof(*c2h), ra_report.bw)) {
+ if (skb->len >= offsetofendp(c2h, ra_report.bw)) {
if (c2h->ra_report.bw == RTL8XXXU_CHANNEL_WIDTH_40)
bw = RATE_INFO_BW_40;
else
diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c
index 945fedcd375b..f3b45666fcb5 100644
--- a/drivers/net/wireless/realtek/rtw88/fw.c
+++ b/drivers/net/wireless/realtek/rtw88/fw.c
@@ -159,7 +159,7 @@ static void rtw_fw_ra_report_iter(void *data, struct ieee80211_sta *sta)
rate = u8_get_bits(ra_rpt->rate_sgi, RTW_C2H_RA_RPT_RATE);
sgi = u8_get_bits(ra_rpt->rate_sgi, RTW_C2H_RA_RPT_SGI);
- if (ra_data->length >= offsetofend(typeof(*ra_rpt), bw))
+ if (ra_data->length >= offsetofendp(ra_rpt, bw))
bw = ra_rpt->bw;
else
bw = si->bw_mode;
diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c
index ea7dba077f5d..91f8cefc0226 100644
--- a/drivers/net/wireless/realtek/rtw89/fw.c
+++ b/drivers/net/wireless/realtek/rtw89/fw.c
@@ -8067,11 +8067,11 @@ int rtw89_fw_h2c_scan_list_offload_be(struct rtw89_dev *rtwdev, int ch_num,
if (RTW89_CHK_FW_FEATURE(CH_INFO_BE_V0, &rtwdev->fw)) {
ver = 0;
- elem_size = offsetofend(typeof(*elem), w7);
+ elem_size = offsetofendp(elem, w7);
used_len = sizeof(*h2c) + elem_size * ch_num;
} else if (RTW89_CHK_FW_FEATURE(CH_INFO_BE_V1, &rtwdev->fw)) {
ver = 1;
- elem_size = offsetofend(typeof(*elem), w7);
+ elem_size = offsetofendp(elem, w7);
used_len = sizeof(*h2c) + elem_size * ch_num;
}
@@ -8350,10 +8350,10 @@ int rtw89_fw_h2c_scan_offload_be(struct rtw89_dev *rtwdev,
rtw89_scan_get_6g_disabled_chan(rtwdev, option);
if (RTW89_CHK_FW_FEATURE(SCAN_OFFLOAD_BE_V0, &rtwdev->fw)) {
- cfg_len = offsetofend(typeof(*h2c), w8);
+ cfg_len = offsetofendp(h2c, w8);
scan_offload_ver = 0;
} else if (RTW89_CHK_FW_FEATURE(SCAN_OFFLOAD_BE_V1, &rtwdev->fw)) {
- cfg_len = offsetofend(typeof(*h2c), w9);
+ cfg_len = offsetofendp(h2c, w9);
scan_offload_ver = 1;
} else if (RTW89_CHK_FW_FEATURE(SCAN_OFFLOAD_BE_V2, &rtwdev->fw)) {
scan_offload_ver = 2;
diff --git a/drivers/net/wireless/virtual/mac80211_hwsim_main.c b/drivers/net/wireless/virtual/mac80211_hwsim_main.c
index e53714b81ec2..8679c8758ee8 100644
--- a/drivers/net/wireless/virtual/mac80211_hwsim_main.c
+++ b/drivers/net/wireless/virtual/mac80211_hwsim_main.c
@@ -1622,12 +1622,12 @@ static void mac80211_hwsim_write_tsf(struct mac80211_hwsim_data *data,
if (txrate)
bitrate = txrate->bitrate;
- if (skb->len >= offsetofend(typeof(*mgmt), u.probe_resp.timestamp) &&
+ if (skb->len >= offsetofendp(mgmt, u.probe_resp.timestamp) &&
ieee80211_is_probe_resp(hdr->frame_control)) {
mgmt->u.probe_resp.timestamp =
cpu_to_le64(sim_time + data->tsf_offset +
24 * 8 * 10 / bitrate);
- } else if (skb->len >= offsetofend(typeof(*mgmt), u.beacon.timestamp) &&
+ } else if (skb->len >= offsetofendp(mgmt, u.beacon.timestamp) &&
ieee80211_is_beacon(mgmt->frame_control)) {
mgmt->u.beacon.timestamp = cpu_to_le64(sim_time +
data->tsf_offset +
diff --git a/net/bpf/test_run.c b/net/bpf/test_run.c
index d6c9dc62182e..3862cfa041fe 100644
--- a/net/bpf/test_run.c
+++ b/net/bpf/test_run.c
@@ -1613,7 +1613,7 @@ int bpf_prog_test_run_sk_lookup(struct bpf_prog *prog, const union bpf_attr *kat
if (user_ctx->sk)
goto out;
- if (!range_is_zero(user_ctx, offsetofend(typeof(*user_ctx), local_port), sizeof(*user_ctx)))
+ if (!range_is_zero(user_ctx, offsetofendp(user_ctx, local_port), sizeof(*user_ctx)))
goto out;
if (user_ctx->local_port > U16_MAX) {
diff --git a/net/key/af_key.c b/net/key/af_key.c
index d215b33b7492..736f42e37fb1 100644
--- a/net/key/af_key.c
+++ b/net/key/af_key.c
@@ -384,7 +384,7 @@ static int verify_address_len(const void *p)
int len;
if (sp->sadb_address_len <
- DIV_ROUND_UP(sizeof(*sp) + offsetofend(typeof(*addr), sa_family),
+ DIV_ROUND_UP(sizeof(*sp) + offsetofendp(addr, sa_family),
sizeof(uint64_t)))
return -EINVAL;
diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c
index d790e204aee3..31fe2e78762d 100644
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -333,7 +333,7 @@ static int validate_beacon_head(const struct nlattr *attr,
unsigned int fixedlen, hdrlen;
bool s1g_bcn;
- if (len < offsetofend(typeof(*mgmt), frame_control))
+ if (len < offsetofendp(mgmt, frame_control))
goto err;
s1g_bcn = ieee80211_is_s1g_beacon(mgmt->frame_control);
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 50f50e768f01..51d2c2052d88 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -704,7 +704,7 @@ static bool valid_country(const u8 *data, unsigned int size,
unsigned int i;
/* make sure we can read len/n_rules */
- if ((u8 *)coll + offsetofend(typeof(*coll), n_rules) > data + size)
+ if ((u8 *)coll + offsetofendp(coll, n_rules) > data + size)
return false;
/* make sure base struct and all rules fit */
diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index ac56338f0f43..0afdab4722c1 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -587,7 +587,7 @@ static int cfg80211_parse_ap_info(struct cfg80211_colocated_ap *entry,
bss_params = tbtt_info->bss_params;
/* Ignore disabled links */
- if (length >= offsetofend(typeof(*tbtt_info), mld_params)) {
+ if (length >= offsetofendp(tbtt_info, mld_params)) {
if (le16_get_bits(tbtt_info->mld_params.params,
IEEE80211_RNR_MLD_PARAMS_DISABLED_LINK))
return -EINVAL;
diff --git a/security/landlock/net.c b/security/landlock/net.c
index 8fd73cf4bd15..b7405327630c 100644
--- a/security/landlock/net.c
+++ b/security/landlock/net.c
@@ -93,7 +93,7 @@ static int current_check_access_socket(struct socket *const sock,
return 0;
/* Checks for minimal header length to safely read sa_family. */
- if (addrlen < (int)offsetofend(typeof(*address), sa_family))
+ if (addrlen < (int) offsetofendp(address, sa_family))
return -EINVAL;
/*
@@ -382,7 +382,7 @@ static int hook_socket_connect(struct socket *const sock,
* should never be restricted.
*/
if (ret == 0 && sk_is_udp(sock->sk) &&
- addrlen >= offsetofend(typeof(*address), sa_family) &&
+ addrlen >= offsetofendp(address, sa_family) &&
address->sa_family != AF_UNSPEC)
ret = current_check_autobind_udp_socket(sock);
--
2.56.0
More information about the linux-snps-arc
mailing list