Generated with the following simple Coccinelle patch: @@ expression ptr, member; @@ - offsetofend(typeof(*ptr), member) + offsetofendp(ptr, member)
Signed-off-by: Bence Csokas <[email protected]> --- 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
