networking: convert many more places to skb_put_zero()
authorJohannes Berg <johannes.berg@intel.com>
Fri, 16 Jun 2017 12:29:19 +0000 (14:29 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 16 Jun 2017 15:48:35 +0000 (11:48 -0400)
There were many places that my previous spatch didn't find,
as pointed out by yuan linyu in various patches.

The following spatch found many more and also removes the
now unnecessary casts:

    @@
    identifier p, p2;
    expression len;
    expression skb;
    type t, t2;
    @@
    (
    -p = skb_put(skb, len);
    +p = skb_put_zero(skb, len);
    |
    -p = (t)skb_put(skb, len);
    +p = skb_put_zero(skb, len);
    )
    ... when != p
    (
    p2 = (t2)p;
    -memset(p2, 0, len);
    |
    -memset(p, 0, len);
    )

    @@
    type t, t2;
    identifier p, p2;
    expression skb;
    @@
    t *p;
    ...
    (
    -p = skb_put(skb, sizeof(t));
    +p = skb_put_zero(skb, sizeof(t));
    |
    -p = (t *)skb_put(skb, sizeof(t));
    +p = skb_put_zero(skb, sizeof(t));
    )
    ... when != p
    (
    p2 = (t2)p;
    -memset(p2, 0, sizeof(*p));
    |
    -memset(p, 0, sizeof(*p));
    )

    @@
    expression skb, len;
    @@
    -memset(skb_put(skb, len), 0, len);
    +skb_put_zero(skb, len);

Apply it to the tree (with one manual fixup to keep the
comment in vxlan.c, which spatch removed.)

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
49 files changed:
drivers/infiniband/hw/cxgb3/cxio_hal.c
drivers/infiniband/hw/cxgb3/iwch_cm.c
drivers/infiniband/hw/cxgb3/iwch_qp.c
drivers/infiniband/hw/cxgb4/cm.c
drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c
drivers/net/usb/cdc_ncm.c
drivers/net/usb/kalmia.c
drivers/net/vxlan.c
drivers/net/wireless/ath/ath9k/channel.c
drivers/net/wireless/intersil/hostap/hostap_ap.c
drivers/net/wireless/intersil/hostap/hostap_main.c
drivers/net/wireless/intersil/p54/txrx.c
drivers/net/wireless/marvell/mwifiex/cmdevt.c
drivers/net/wireless/marvell/mwifiex/tdls.c
drivers/net/wireless/quantenna/qtnfmac/commands.c
drivers/net/wireless/realtek/rtlwifi/base.c
drivers/net/wireless/ti/wlcore/cmd.c
drivers/net/wireless/ti/wlcore/main.c
drivers/scsi/fcoe/fcoe_ctlr.c
drivers/scsi/libfc/fc_libfc.c
drivers/usb/gadget/function/f_ncm.c
net/atm/signaling.c
net/batman-adv/bat_v_elp.c
net/bridge/netfilter/nft_reject_bridge.c
net/core/pktgen.c
net/ipv4/ipconfig.c
net/ipv4/netfilter/nf_reject_ipv4.c
net/ipv6/mcast.c
net/key/af_key.c
net/mac80211/agg-rx.c
net/mac80211/agg-tx.c
net/mac80211/debugfs_netdev.c
net/mac80211/ht.c
net/mac80211/mesh.c
net/mac80211/mesh_hwmp.c
net/mac80211/mesh_plink.c
net/mac80211/mesh_ps.c
net/mac80211/mlme.c
net/mac80211/rx.c
net/mac80211/spectmgmt.c
net/mac80211/tdls.c
net/mac80211/tx.c
net/mac80211/util.c
net/ncsi/ncsi-cmd.c
net/openvswitch/datapath.c
net/qrtr/qrtr.c
net/rxrpc/sendmsg.c
net/sctp/output.c
net/sctp/sm_make_chunk.c

index 558d6a03375da37cac5d96d8ae9a430eb1c44e0b..97f7f9544e7040b9e22f80d74269c3a7d3457a2f 100644 (file)
@@ -142,8 +142,7 @@ static int cxio_hal_clear_qp_ctx(struct cxio_rdev *rdev_p, u32 qpid)
                pr_debug("%s alloc_skb failed\n", __func__);
                return -ENOMEM;
        }
-       wqe = (struct t3_modify_qp_wr *) skb_put(skb, sizeof(*wqe));
-       memset(wqe, 0, sizeof(*wqe));
+       wqe = skb_put_zero(skb, sizeof(*wqe));
        build_fw_riwrh((struct fw_riwrh *) wqe, T3_WR_QP_MOD,
                       T3_COMPLETION_FLAG | T3_NOTIFY_FLAG, 0, qpid, 7,
                       T3_SOPEOP);
@@ -561,8 +560,7 @@ static int cxio_hal_init_ctrl_qp(struct cxio_rdev *rdev_p)
        ctx1 |= ((u64) (V_EC_BASE_HI((u32) base_addr & 0xf) | V_EC_RESPQ(0) |
                        V_EC_TYPE(0) | V_EC_GEN(1) |
                        V_EC_UP_TOKEN(T3_CTL_QP_TID) | F_EC_VALID)) << 32;
-       wqe = (struct t3_modify_qp_wr *) skb_put(skb, sizeof(*wqe));
-       memset(wqe, 0, sizeof(*wqe));
+       wqe = skb_put_zero(skb, sizeof(*wqe));
        build_fw_riwrh((struct fw_riwrh *) wqe, T3_WR_QP_MOD, 0, 0,
                       T3_CTL_QP_TID, 7, T3_SOPEOP);
        wqe->flags = cpu_to_be32(MODQP_WRITE_EC);
index b61630eba912ed49658cf26618cb5e222b1b3c78..f4c23a74f18c7bc4390e4e2f9e08daeff0b2f141 100644 (file)
@@ -417,8 +417,7 @@ static int send_abort(struct iwch_ep *ep, struct sk_buff *skb, gfp_t gfp)
        }
        skb->priority = CPL_PRIORITY_DATA;
        set_arp_failure_handler(skb, abort_arp_failure);
-       req = (struct cpl_abort_req *) skb_put(skb, sizeof(*req));
-       memset(req, 0, sizeof(*req));
+       req = skb_put_zero(skb, sizeof(*req));
        req->wr.wr_hi = htonl(V_WR_OP(FW_WROPCODE_OFLD_HOST_ABORT_CON_REQ));
        req->wr.wr_lo = htonl(V_WR_TID(ep->hwtid));
        OPCODE_TID(req) = htonl(MK_OPCODE_TID(CPL_ABORT_REQ, ep->hwtid));
index ba6d5d281b03a7667c8f306255b2a7ddbe917dc7..7f633da0185d93a993a26e1105b2efb52f12816d 100644 (file)
@@ -670,8 +670,7 @@ int iwch_post_zb_read(struct iwch_ep *ep)
                pr_err("%s cannot send zb_read!!\n", __func__);
                return -ENOMEM;
        }
-       wqe = (union t3_wr *)skb_put(skb, sizeof(struct t3_rdma_read_wr));
-       memset(wqe, 0, sizeof(struct t3_rdma_read_wr));
+       wqe = skb_put_zero(skb, sizeof(struct t3_rdma_read_wr));
        wqe->read.rdmaop = T3_READ_REQ;
        wqe->read.reserved[0] = 0;
        wqe->read.reserved[1] = 0;
@@ -702,8 +701,7 @@ int iwch_post_terminate(struct iwch_qp *qhp, struct respQ_msg_t *rsp_msg)
                pr_err("%s cannot send TERMINATE!\n", __func__);
                return -ENOMEM;
        }
-       wqe = (union t3_wr *)skb_put(skb, 40);
-       memset(wqe, 0, 40);
+       wqe = skb_put_zero(skb, 40);
        wqe->send.rdmaop = T3_TERMINATE;
 
        /* immediate data length */
index 2f1136bf7b1f6bc9721c9883f54900d9195dedf3..7c32a7c7977df8d72b37eb2bcd9c2b58e22ccef6 100644 (file)
@@ -927,8 +927,7 @@ static int send_mpa_req(struct c4iw_ep *ep, struct sk_buff *skb,
        }
        set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
 
-       req = (struct fw_ofld_tx_data_wr *)skb_put(skb, wrlen);
-       memset(req, 0, wrlen);
+       req = skb_put_zero(skb, wrlen);
        req->op_to_immdlen = cpu_to_be32(
                FW_WR_OP_V(FW_OFLD_TX_DATA_WR) |
                FW_WR_COMPL_F |
@@ -1034,8 +1033,7 @@ static int send_mpa_reject(struct c4iw_ep *ep, const void *pdata, u8 plen)
        }
        set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
 
-       req = (struct fw_ofld_tx_data_wr *)skb_put(skb, wrlen);
-       memset(req, 0, wrlen);
+       req = skb_put_zero(skb, wrlen);
        req->op_to_immdlen = cpu_to_be32(
                FW_WR_OP_V(FW_OFLD_TX_DATA_WR) |
                FW_WR_COMPL_F |
@@ -1115,8 +1113,7 @@ static int send_mpa_reply(struct c4iw_ep *ep, const void *pdata, u8 plen)
        }
        set_wr_txq(skb, CPL_PRIORITY_DATA, ep->txq_idx);
 
-       req = (struct fw_ofld_tx_data_wr *) skb_put(skb, wrlen);
-       memset(req, 0, wrlen);
+       req = skb_put_zero(skb, wrlen);
        req->op_to_immdlen = cpu_to_be32(
                FW_WR_OP_V(FW_OFLD_TX_DATA_WR) |
                FW_WR_COMPL_F |
index 5225f2226a67cc25761d265e3d5f69b510d0df3b..601abf240d637da7884cc0ec49f539d49b621a78 100644 (file)
@@ -172,7 +172,7 @@ static struct sk_buff *mlx5e_test_get_udp_skb(struct mlx5e_priv *priv)
        mlxh->magic = cpu_to_be64(MLX5E_TEST_MAGIC);
        strlcpy(mlxh->text, mlx5e_test_text, sizeof(mlxh->text));
        datalen -= sizeof(*mlxh);
-       memset(skb_put(skb, datalen), 0, datalen);
+       skb_put_zero(skb, datalen);
 
        skb->csum = 0;
        skb->ip_summed = CHECKSUM_PARTIAL;
index b5cec1824a7875842abaead1a888494e282f1741..7f02954772c6e39a5bd30a71bfd8b2151d49e62e 100644 (file)
@@ -1017,7 +1017,7 @@ static void cdc_ncm_align_tail(struct sk_buff *skb, size_t modulus, size_t remai
        if (skb->len + align > max)
                align = max - skb->len;
        if (align && skb_tailroom(skb) >= align)
-               memset(skb_put(skb, align), 0, align);
+               skb_put_zero(skb, align);
 }
 
 /* return a pointer to a valid struct usb_cdc_ncm_ndp16 of type sign, possibly
@@ -1247,7 +1247,7 @@ cdc_ncm_fill_tx_frame(struct usbnet *dev, struct sk_buff *skb, __le32 sign)
        if (!(dev->driver_info->flags & FLAG_SEND_ZLP) &&
            skb_out->len > ctx->min_tx_pkt) {
                padding_count = ctx->tx_max - skb_out->len;
-               memset(skb_put(skb_out, padding_count), 0, padding_count);
+               skb_put_zero(skb_out, padding_count);
        } else if (skb_out->len < ctx->tx_max &&
                   (skb_out->len % dev->maxpacket) == 0) {
                *skb_put(skb_out, 1) = 0;       /* force short packet */
index 8aefb282c862c3bb4d474d236d70b15c44a2fa1b..ce0b0b4e3a57c49b3ea72cec38e46547a39d6a9e 100644 (file)
@@ -217,7 +217,7 @@ done:
        remainder = skb->len % KALMIA_ALIGN_SIZE;
        if (remainder > 0) {
                padlen = KALMIA_ALIGN_SIZE - remainder;
-               memset(skb_put(skb, padlen), 0, padlen);
+               skb_put_zero(skb, padlen);
        }
 
        netdev_dbg(dev->net,
index 25b70cad055cae5ef2e16e70a6c0a7ac76047ffa..4e1d427d340cffcc18b787fb9b4221e34be8f643 100644 (file)
@@ -1584,10 +1584,8 @@ static struct sk_buff *vxlan_na_create(struct sk_buff *request,
        skb_pull(reply, sizeof(struct ipv6hdr));
        skb_reset_transport_header(reply);
 
-       na = (struct nd_msg *)skb_put(reply, sizeof(*na) + na_olen);
-
        /* Neighbor Advertisement */
-       memset(na, 0, sizeof(*na)+na_olen);
+       na = skb_put_zero(reply, sizeof(*na) + na_olen);
        na->icmph.icmp6_type = NDISC_NEIGHBOUR_ADVERTISEMENT;
        na->icmph.icmp6_router = isrouter;
        na->icmph.icmp6_override = 1;
index b84539d89f1af23a066d2613a7a4a1d455c9929c..373b1e9457fdb120089318da8c504ebe22f2d672 100644 (file)
@@ -1526,8 +1526,7 @@ void ath9k_beacon_add_noa(struct ath_softc *sc, struct ath_vif *avp,
        hdr[1] = sizeof(noa_ie_hdr) + noa_len - 2;
        hdr[7] = noa_len;
 
-       noa = (void *) skb_put(skb, noa_len);
-       memset(noa, 0, noa_len);
+       noa = skb_put_zero(skb, noa_len);
 
        noa->index = avp->noa_index;
        noa->oppps_ctwindow = ath9k_get_ctwin(sc, avp);
index c995ace153ee6ecd53dff68145543889f6bbb424..89b5987303a497506c2320faf6da986f085ac4d7 100644 (file)
@@ -998,12 +998,10 @@ static void prism2_send_mgmt(struct net_device *dev,
 
        fc = type_subtype;
        hdrlen = hostap_80211_get_hdrlen(cpu_to_le16(type_subtype));
-       hdr = (struct ieee80211_hdr *) skb_put(skb, hdrlen);
+       hdr = skb_put_zero(skb, hdrlen);
        if (body)
                memcpy(skb_put(skb, body_len), body, body_len);
 
-       memset(hdr, 0, hdrlen);
-
        /* FIX: ctrl::ack sending used special HFA384X_TX_CTRL_802_11
         * tx_control instead of using local->tx_control */
 
@@ -1325,8 +1323,7 @@ static char * ap_auth_make_challenge(struct ap_data *ap)
        }
 
        skb_reserve(skb, ap->crypt->extra_mpdu_prefix_len);
-       memset(skb_put(skb, WLAN_AUTH_CHALLENGE_LEN), 0,
-              WLAN_AUTH_CHALLENGE_LEN);
+       skb_put_zero(skb, WLAN_AUTH_CHALLENGE_LEN);
        if (ap->crypt->encrypt_mpdu(skb, 0, ap->crypt_priv)) {
                dev_kfree_skb(skb);
                kfree(tmpbuf);
index 1372b20f931e0cca990a158e0ef8fdfc71fd7f88..400f9b5d620efd479c777a9ceaa9f847d8801da1 100644 (file)
@@ -1039,9 +1039,7 @@ int prism2_sta_send_mgmt(local_info_t *local, u8 *dst, u16 stype,
        if (skb == NULL)
                return -ENOMEM;
 
-       mgmt = (struct hostap_ieee80211_mgmt *)
-               skb_put(skb, IEEE80211_MGMT_HDR_LEN);
-       memset(mgmt, 0, IEEE80211_MGMT_HDR_LEN);
+       mgmt = skb_put_zero(skb, IEEE80211_MGMT_HDR_LEN);
        mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | stype);
        memcpy(mgmt->da, dst, ETH_ALEN);
        memcpy(mgmt->sa, dev->dev_addr, ETH_ALEN);
index 5e1c91a80c58022fde772b71f067e93d1e0c8ca8..60f9b678ef74511e9ebbb0676759f3a7201c15d2 100644 (file)
@@ -910,8 +910,7 @@ void p54_tx_80211(struct ieee80211_hw *dev,
                }
                /* reserve some space for ICV */
                len += info->control.hw_key->icv_len;
-               memset(skb_put(skb, info->control.hw_key->icv_len), 0,
-                      info->control.hw_key->icv_len);
+               skb_put_zero(skb, info->control.hw_key->icv_len);
        } else {
                txhdr->key_type = 0;
                txhdr->key_len = 0;
index 40c3fe5ab8ca35d3fa5726a851569ac3841eaaae..8dad52886034f4d0189482ff48d7f5daa9eb1f62 100644 (file)
@@ -622,8 +622,7 @@ int mwifiex_send_cmd(struct mwifiex_private *priv, u16 cmd_no,
                return -1;
        }
 
-       memset(skb_put(cmd_node->cmd_skb, sizeof(struct host_cmd_ds_command)),
-              0, sizeof(struct host_cmd_ds_command));
+       skb_put_zero(cmd_node->cmd_skb, sizeof(struct host_cmd_ds_command));
 
        cmd_ptr = (struct host_cmd_ds_command *) (cmd_node->cmd_skb->data);
        cmd_ptr->command = cpu_to_le16(cmd_no);
index b7d124dbef0c79ccea86b04f3921ae398dc5134d..c76b7315af552d5f2c983756b59b3093a869e3b4 100644 (file)
@@ -388,8 +388,7 @@ mwifiex_tdls_add_wmm_param_ie(struct mwifiex_private *priv, struct sk_buff *skb)
        u8 ac_be[] = {0x03, 0xa4, 0x00, 0x00};
        u8 ac_bk[] = {0x27, 0xa4, 0x00, 0x00};
 
-       wmm = (void *)skb_put(skb, sizeof(*wmm));
-       memset(wmm, 0, sizeof(*wmm));
+       wmm = skb_put_zero(skb, sizeof(*wmm));
 
        wmm->element_id = WLAN_EID_VENDOR_SPECIFIC;
        wmm->len = sizeof(*wmm) - 2;
index f0a0cfa7d8a142a95263467d185476b1c3967046..37c3bececa1f55f214eea487589681160135ecca 100644 (file)
@@ -135,7 +135,7 @@ static struct sk_buff *qtnf_cmd_alloc_new_cmdskb(u8 macid, u8 vifid, u16 cmd_no,
                return NULL;
        }
 
-       memset(skb_put(cmd_skb, cmd_size), 0, cmd_size);
+       skb_put_zero(cmd_skb, cmd_size);
 
        cmd = (struct qlink_cmd *)cmd_skb->data;
        cmd->mhdr.len = cpu_to_le16(cmd_skb->len);
@@ -238,9 +238,7 @@ int qtnf_cmd_send_config_ap(struct qtnf_vif *vif)
                                 bss_cfg->bcn_period);
        qtnf_cmd_skb_put_tlv_u8(cmd_skb, QTN_TLV_ID_DTIM, bss_cfg->dtim);
 
-       qchan = (struct qlink_tlv_channel *)skb_put(cmd_skb, sizeof(*qchan));
-
-       memset(qchan, 0, sizeof(*qchan));
+       qchan = skb_put_zero(cmd_skb, sizeof(*qchan));
        qchan->hdr.type = cpu_to_le16(QTN_TLV_ID_CHANNEL);
        qchan->hdr.len = cpu_to_le16(sizeof(*qchan) -
                        sizeof(struct qlink_tlv_hdr));
@@ -1794,9 +1792,7 @@ int qtnf_cmd_send_scan(struct qtnf_wmac *mac)
                        pr_debug("MAC%u: scan chan=%d, freq=%d, flags=%#x\n",
                                 mac->macid, sc->hw_value, sc->center_freq,
                                 sc->flags);
-                       qchan = (struct qlink_tlv_channel *)
-                                       skb_put(cmd_skb, sizeof(*qchan));
-                       memset(qchan, 0, sizeof(*qchan));
+                       qchan = skb_put_zero(cmd_skb, sizeof(*qchan));
                        flags = 0;
 
                        qchan->hdr.type = cpu_to_le16(QTN_TLV_ID_CHANNEL);
index bdc379178e87955c5456028a43657f97862670af..710e5b447cff7b85c725f51eb4438d4898292f72 100644 (file)
@@ -1875,8 +1875,7 @@ static struct sk_buff *rtl_make_smps_action(struct ieee80211_hw *hw,
                return NULL;
 
        skb_reserve(skb, hw->extra_tx_headroom);
-       action_frame = (void *)skb_put(skb, 27);
-       memset(action_frame, 0, 27);
+       action_frame = skb_put_zero(skb, 27);
        memcpy(action_frame->da, da, ETH_ALEN);
        memcpy(action_frame->sa, rtlefuse->dev_addr, ETH_ALEN);
        memcpy(action_frame->bssid, bssid, ETH_ALEN);
@@ -2005,8 +2004,7 @@ struct sk_buff *rtl_make_del_ba(struct ieee80211_hw *hw,
                return NULL;
 
        skb_reserve(skb, hw->extra_tx_headroom);
-       action_frame = (void *)skb_put(skb, 34);
-       memset(action_frame, 0, 34);
+       action_frame = skb_put_zero(skb, 34);
        memcpy(action_frame->sa, sa, ETH_ALEN);
        memcpy(action_frame->da, rtlefuse->dev_addr, ETH_ALEN);
        memcpy(action_frame->bssid, bssid, ETH_ALEN);
index 7f4da727bb7b6767b2c6ecddd475510ef614f16a..4a39fb13c4782751a8e190c95905083a179d230a 100644 (file)
@@ -1233,8 +1233,7 @@ int wl1271_cmd_build_arp_rsp(struct wl1271 *wl, struct wl12xx_vif *wlvif)
 
        skb_reserve(skb, sizeof(*hdr) + WL1271_EXTRA_SPACE_MAX);
 
-       tmpl = (struct wl12xx_arp_rsp_template *)skb_put(skb, sizeof(*tmpl));
-       memset(tmpl, 0, sizeof(*tmpl));
+       tmpl = skb_put_zero(skb, sizeof(*tmpl));
 
        /* llc layer */
        memcpy(tmpl->llc_hdr, rfc1042_header, sizeof(rfc1042_header));
index 382ec15ec1af0c90ee2fb9fbe6c6ca16a7a6a343..60aaa850fbd150bc6f914eabb5e350e2bf09f848 100644 (file)
@@ -1308,13 +1308,12 @@ static struct sk_buff *wl12xx_alloc_dummy_packet(struct wl1271 *wl)
 
        skb_reserve(skb, sizeof(struct wl1271_tx_hw_descr));
 
-       hdr = (struct ieee80211_hdr_3addr *) skb_put(skb, sizeof(*hdr));
-       memset(hdr, 0, sizeof(*hdr));
+       hdr = skb_put_zero(skb, sizeof(*hdr));
        hdr->frame_control = cpu_to_le16(IEEE80211_FTYPE_DATA |
                                         IEEE80211_STYPE_NULLFUNC |
                                         IEEE80211_FCTL_TODS);
 
-       memset(skb_put(skb, dummy_packet_size), 0, dummy_packet_size);
+       skb_put_zero(skb, dummy_packet_size);
 
        /* Dummy packets require the TID to be management */
        skb->priority = WL1271_TID_MGMT;
index 656463ff9ccb83e7edd4c8ad2c2a23a3fbcee304..e17bdb3adf9e7e07dd9d5741b7f12d3ffbb46615 100644 (file)
@@ -660,8 +660,7 @@ static int fcoe_ctlr_encaps(struct fcoe_ctlr *fip, struct fc_lport *lport,
 
        if (op != ELS_LS_RJT) {
                dlen += sizeof(*mac);
-               mac = (struct fip_mac_desc *)skb_put(skb, sizeof(*mac));
-               memset(mac, 0, sizeof(*mac));
+               mac = skb_put_zero(skb, sizeof(*mac));
                mac->fd_desc.fip_dtype = FIP_DT_MAC;
                mac->fd_desc.fip_dlen = sizeof(*mac) / FIP_BPW;
                if (dtype != FIP_DT_FLOGI && dtype != FIP_DT_FDISC) {
index d623d084b7ec21c61531380e1da3415126becf35..dbadbc81b24b999551da1369bf8e8c8cd1ec09ae 100644 (file)
@@ -178,7 +178,7 @@ void fc_fill_hdr(struct fc_frame *fp, const struct fc_frame *in_fp,
                fill = -fr_len(fp) & 3;
                if (fill) {
                        /* TODO, this may be a problem with fragmented skb */
-                       memset(skb_put(fp_skb(fp), fill), 0, fill);
+                       skb_put_zero(fp_skb(fp), fill);
                        f_ctl |= fill;
                }
                fr_eof(fp) = FC_EOF_T;
index 864819ff9a7d362962eb837755886423b57906fb..2882c6d3ae668a99fe90de2d7cbb9787d5c39285 100644 (file)
@@ -1004,8 +1004,7 @@ static struct sk_buff *package_for_tx(struct f_ncm *ncm)
        }
 
        /* Insert NDP alignment. */
-       ntb_iter = (void *) skb_put(skb2, ndp_pad);
-       memset(ntb_iter, 0, ndp_pad);
+       ntb_iter = skb_put_zero(skb2, ndp_pad);
 
        /* Copy NTB across. */
        ntb_iter = (void *) skb_put(skb2, ncm->skb_tx_ndp->len);
@@ -1014,8 +1013,7 @@ static struct sk_buff *package_for_tx(struct f_ncm *ncm)
        ncm->skb_tx_ndp = NULL;
 
        /* Insert zero'd datagram. */
-       ntb_iter = (void *) skb_put(skb2, dgram_idx_len);
-       memset(ntb_iter, 0, dgram_idx_len);
+       ntb_iter = skb_put_zero(skb2, dgram_idx_len);
 
        return skb2;
 }
@@ -1080,8 +1078,7 @@ static struct sk_buff *ncm_wrap_ntb(struct gether *port,
                                goto err;
 
                        ncm->skb_tx_data->dev = ncm->netdev;
-                       ntb_data = (void *) skb_put(ncm->skb_tx_data, ncb_len);
-                       memset(ntb_data, 0, ncb_len);
+                       ntb_data = skb_put_zero(ncm->skb_tx_data, ncb_len);
                        /* dwSignature */
                        put_unaligned_le32(opts->nth_sign, ntb_data);
                        ntb_data += 2;
@@ -1118,8 +1115,7 @@ static struct sk_buff *ncm_wrap_ntb(struct gether *port,
                              HRTIMER_MODE_REL);
 
                /* Add the datagram position entries */
-               ntb_ndp = (void *) skb_put(ncm->skb_tx_ndp, dgram_idx_len);
-               memset(ntb_ndp, 0, dgram_idx_len);
+               ntb_ndp = skb_put_zero(ncm->skb_tx_ndp, dgram_idx_len);
 
                ncb_len = ncm->skb_tx_data->len;
                dgram_pad = ALIGN(ncb_len, div) + rem - ncb_len;
@@ -1132,8 +1128,7 @@ static struct sk_buff *ncm_wrap_ntb(struct gether *port,
                ncm->ndp_dgram_count++;
 
                /* Add the new data to the skb */
-               ntb_data = (void *) skb_put(ncm->skb_tx_data, dgram_pad);
-               memset(ntb_data, 0, dgram_pad);
+               ntb_data = skb_put_zero(ncm->skb_tx_data, dgram_pad);
                ntb_data = (void *) skb_put(ncm->skb_tx_data, skb->len);
                memcpy(ntb_data, skb->data, skb->len);
                dev_consume_skb_any(skb);
index adb6e3d21b1eb9222f90ab77383e20ea78f9336a..f640a99e14b83ae989248276342415989aaf7626 100644 (file)
@@ -150,8 +150,7 @@ void sigd_enq2(struct atm_vcc *vcc, enum atmsvc_msg_type type,
        pr_debug("%d (0x%p)\n", (int)type, vcc);
        while (!(skb = alloc_skb(sizeof(struct atmsvc_msg), GFP_KERNEL)))
                schedule();
-       msg = (struct atmsvc_msg *)skb_put(skb, sizeof(struct atmsvc_msg));
-       memset(msg, 0, sizeof(*msg));
+       msg = skb_put_zero(skb, sizeof(struct atmsvc_msg));
        msg->type = type;
        *(struct atm_vcc **) &msg->vcc = vcc;
        *(struct atm_vcc **) &msg->listen_vcc = listen_vcc;
index b58007b79e3a19326d4291b9bc7ba8495044d3cc..bd1064d98e16a6a80fa64015fb17c879583a280d 100644 (file)
@@ -346,9 +346,8 @@ int batadv_v_elp_iface_enable(struct batadv_hard_iface *hard_iface)
                goto out;
 
        skb_reserve(hard_iface->bat_v.elp_skb, ETH_HLEN + NET_IP_ALIGN);
-       elp_buff = skb_put(hard_iface->bat_v.elp_skb, BATADV_ELP_HLEN);
+       elp_buff = skb_put_zero(hard_iface->bat_v.elp_skb, BATADV_ELP_HLEN);
        elp_packet = (struct batadv_elp_packet *)elp_buff;
-       memset(elp_packet, 0, BATADV_ELP_HLEN);
 
        elp_packet->packet_type = BATADV_ELP;
        elp_packet->version = BATADV_COMPAT_VERSION;
index c16dd3a47fc677fb2e6d2740c20b8ddbf11b3a1a..bb6ed8e975801e75d7818dc98e2f4a5b7127669e 100644 (file)
@@ -147,8 +147,7 @@ static void nft_reject_br_send_v4_unreach(struct net *net,
                                   net->ipv4.sysctl_ip_default_ttl);
 
        skb_reset_transport_header(nskb);
-       icmph = (struct icmphdr *)skb_put(nskb, sizeof(struct icmphdr));
-       memset(icmph, 0, sizeof(*icmph));
+       icmph = skb_put_zero(nskb, sizeof(struct icmphdr));
        icmph->type     = ICMP_DEST_UNREACH;
        icmph->code     = code;
 
@@ -275,8 +274,7 @@ static void nft_reject_br_send_v6_unreach(struct net *net,
                                     net->ipv6.devconf_all->hop_limit);
 
        skb_reset_transport_header(nskb);
-       icmp6h = (struct icmp6hdr *)skb_put(nskb, sizeof(struct icmp6hdr));
-       memset(icmp6h, 0, sizeof(*icmp6h));
+       icmp6h = skb_put_zero(nskb, sizeof(struct icmp6hdr));
        icmp6h->icmp6_type = ICMPV6_DEST_UNREACH;
        icmp6h->icmp6_code = code;
 
index 96947f5d41e42a9a42f91c40457b87824756510e..8860ad985d6851012c5d89e094b221e683e18258 100644 (file)
@@ -2718,7 +2718,7 @@ static void pktgen_finalize_skb(struct pktgen_dev *pkt_dev, struct sk_buff *skb,
        datalen -= sizeof(*pgh);
 
        if (pkt_dev->nfrags <= 0) {
-               memset(skb_put(skb, datalen), 0, datalen);
+               skb_put_zero(skb, datalen);
        } else {
                int frags = pkt_dev->nfrags;
                int i, len;
@@ -2729,7 +2729,7 @@ static void pktgen_finalize_skb(struct pktgen_dev *pkt_dev, struct sk_buff *skb,
                        frags = MAX_SKB_FRAGS;
                len = datalen - frags * PAGE_SIZE;
                if (len > 0) {
-                       memset(skb_put(skb, len), 0, len);
+                       skb_put_zero(skb, len);
                        datalen = frags * PAGE_SIZE;
                }
 
index c3b12b1c71621b942dd4f9ad1d60ab5bb3c66e20..4c5dfe6bd34d518c827abfaf94282efa25759ae0 100644 (file)
@@ -813,8 +813,7 @@ static void __init ic_bootp_send_if(struct ic_device *d, unsigned long jiffies_d
        if (!skb)
                return;
        skb_reserve(skb, hlen);
-       b = (struct bootp_pkt *) skb_put(skb, sizeof(struct bootp_pkt));
-       memset(b, 0, sizeof(struct bootp_pkt));
+       b = skb_put_zero(skb, sizeof(struct bootp_pkt));
 
        /* Construct IP header */
        skb_reset_network_header(skb);
index 6f8d9e5e062bca9679bf8a01feaebcb80925e01f..52b7dcc5aaf3951118eec289badc92e4cf3c1a02 100644 (file)
@@ -76,8 +76,7 @@ void nf_reject_ip_tcphdr_put(struct sk_buff *nskb, const struct sk_buff *oldskb,
        struct tcphdr *tcph;
 
        skb_reset_transport_header(nskb);
-       tcph = (struct tcphdr *)skb_put(nskb, sizeof(struct tcphdr));
-       memset(tcph, 0, sizeof(*tcph));
+       tcph = skb_put_zero(nskb, sizeof(struct tcphdr));
        tcph->source    = oth->dest;
        tcph->dest      = oth->source;
        tcph->doff      = sizeof(struct tcphdr) / 4;
index 07403fa164e18aac704e3b77d1e2a094ad53c04c..9098429e38bcc95e47829a7fa1c2534c42e3e4ae 100644 (file)
@@ -2008,8 +2008,7 @@ static void igmp6_send(struct in6_addr *addr, struct net_device *dev, int type)
 
        memcpy(skb_put(skb, sizeof(ra)), ra, sizeof(ra));
 
-       hdr = (struct mld_msg *) skb_put(skb, sizeof(struct mld_msg));
-       memset(hdr, 0, sizeof(struct mld_msg));
+       hdr = skb_put_zero(skb, sizeof(struct mld_msg));
        hdr->mld_type = type;
        hdr->mld_mca = *addr;
 
index 512dc43d0ce6814f0a6d0507805025d75234eece..8ad430edb5b87882df5f25c3392a7aedb7eca841 100644 (file)
@@ -2934,8 +2934,7 @@ static void dump_ah_combs(struct sk_buff *skb, const struct xfrm_tmpl *t)
 
                if (aalg_tmpl_set(t, aalg) && aalg->available) {
                        struct sadb_comb *c;
-                       c = (struct sadb_comb*)skb_put(skb, sizeof(struct sadb_comb));
-                       memset(c, 0, sizeof(*c));
+                       c = skb_put_zero(skb, sizeof(struct sadb_comb));
                        p->sadb_prop_len += sizeof(struct sadb_comb)/8;
                        c->sadb_comb_auth = aalg->desc.sadb_alg_id;
                        c->sadb_comb_auth_minbits = aalg->desc.sadb_alg_minbits;
@@ -3461,8 +3460,7 @@ static int set_sadb_kmaddress(struct sk_buff *skb, const struct xfrm_kmaddress *
        size_req = (sizeof(struct sadb_x_kmaddress) +
                    pfkey_sockaddr_pair_size(family));
 
-       kma = (struct sadb_x_kmaddress *)skb_put(skb, size_req);
-       memset(kma, 0, size_req);
+       kma = skb_put_zero(skb, size_req);
        kma->sadb_x_kmaddress_len = size_req / 8;
        kma->sadb_x_kmaddress_exttype = SADB_X_EXT_KMADDRESS;
        kma->sadb_x_kmaddress_reserved = k->reserved;
@@ -3488,8 +3486,7 @@ static int set_ipsecrequest(struct sk_buff *skb,
        size_req = sizeof(struct sadb_x_ipsecrequest) +
                   pfkey_sockaddr_pair_size(family);
 
-       rq = (struct sadb_x_ipsecrequest *)skb_put(skb, size_req);
-       memset(rq, 0, size_req);
+       rq = skb_put_zero(skb, size_req);
        rq->sadb_x_ipsecrequest_len = size_req;
        rq->sadb_x_ipsecrequest_proto = proto;
        rq->sadb_x_ipsecrequest_mode = mode;
index 3a0282188ad6e55f291cf7079fea304d3cebc52a..8708cbe8af5bbcabc5c7ea295c6a0abd15a8eb84 100644 (file)
@@ -213,8 +213,7 @@ static void ieee80211_send_addba_resp(struct ieee80211_sub_if_data *sdata, u8 *d
                return;
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24);
-       memset(mgmt, 0, 24);
+       mgmt = skb_put_zero(skb, 24);
        memcpy(mgmt->da, da, ETH_ALEN);
        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
        if (sdata->vif.type == NL80211_IFTYPE_AP ||
index cf2392b2ac717972e4354346fd086ec802370de3..cbd48762256cb26a4f06efdd3ae91994f99f7a44 100644 (file)
@@ -76,8 +76,7 @@ static void ieee80211_send_addba_request(struct ieee80211_sub_if_data *sdata,
                return;
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24);
-       memset(mgmt, 0, 24);
+       mgmt = skb_put_zero(skb, 24);
        memcpy(mgmt->da, da, ETH_ALEN);
        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
        if (sdata->vif.type == NL80211_IFTYPE_AP ||
@@ -125,8 +124,7 @@ void ieee80211_send_bar(struct ieee80211_vif *vif, u8 *ra, u16 tid, u16 ssn)
                return;
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
-       bar = (struct ieee80211_bar *)skb_put(skb, sizeof(*bar));
-       memset(bar, 0, sizeof(*bar));
+       bar = skb_put_zero(skb, sizeof(*bar));
        bar->frame_control = cpu_to_le16(IEEE80211_FTYPE_CTL |
                                         IEEE80211_STYPE_BACK_REQ);
        memcpy(bar->ra, ra, ETH_ALEN);
index 8f5fff8b20409e6ea5ed011fb1770b71f225fa1d..c813207bb123652105972f743a3c4499134f9319 100644 (file)
@@ -330,8 +330,7 @@ static ssize_t ieee80211_if_parse_tkip_mic_test(
                return -ENOMEM;
        skb_reserve(skb, local->hw.extra_tx_headroom);
 
-       hdr = (struct ieee80211_hdr *) skb_put(skb, 24);
-       memset(hdr, 0, 24);
+       hdr = skb_put_zero(skb, 24);
        fc = cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_DATA);
 
        switch (sdata->vif.type) {
@@ -367,7 +366,7 @@ static ssize_t ieee80211_if_parse_tkip_mic_test(
         * The exact contents does not matter since the recipient is required
         * to drop this because of the Michael MIC failure.
         */
-       memset(skb_put(skb, 50), 0, 50);
+       skb_put_zero(skb, 50);
 
        IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_INTFL_TKIP_MIC_FAILURE;
 
index 9e71226c2d2508515f88872a6a23e4b56e48f999..927215d4dd8fc73944add41a987a8a4017407425 100644 (file)
@@ -394,8 +394,7 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata,
                return;
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24);
-       memset(mgmt, 0, 24);
+       mgmt = skb_put_zero(skb, 24);
        memcpy(mgmt->da, da, ETH_ALEN);
        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
        if (sdata->vif.type == NL80211_IFTYPE_AP ||
index ad5d1cf391904d67cdad7da44044bc25cfc66a97..e45c8d94952eaa6e7a7d5a532352a4416193ba70 100644 (file)
@@ -719,8 +719,7 @@ ieee80211_mesh_build_beacon(struct ieee80211_if_mesh *ifmsh)
        bcn->head = ((u8 *) bcn) + sizeof(*bcn);
 
        /* fill in the head */
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, hdr_len);
-       memset(mgmt, 0, hdr_len);
+       mgmt = skb_put_zero(skb, hdr_len);
        mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
                                          IEEE80211_STYPE_BEACON);
        eth_broadcast_addr(mgmt->da);
index 4005edd71fe86db5415bf0bb9803dac7248ae77a..d8bbd0d2225a160d107a44640d4c1065916fa25d 100644 (file)
@@ -120,8 +120,7 @@ static int mesh_path_sel_frame_tx(enum mpath_frame_type action, u8 flags,
        if (!skb)
                return -1;
        skb_reserve(skb, local->tx_headroom);
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, hdr_len);
-       memset(mgmt, 0, hdr_len);
+       mgmt = skb_put_zero(skb, hdr_len);
        mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
                                          IEEE80211_STYPE_ACTION);
 
@@ -257,8 +256,7 @@ int mesh_path_error_tx(struct ieee80211_sub_if_data *sdata,
        if (!skb)
                return -1;
        skb_reserve(skb, local->tx_headroom + sdata->encrypt_headroom);
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, hdr_len);
-       memset(mgmt, 0, hdr_len);
+       mgmt = skb_put_zero(skb, hdr_len);
        mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
                                          IEEE80211_STYPE_ACTION);
 
index 82cfd232a25eb39081ae594699e8924dd160399e..f69c6c38ca4399769064712aaf81ce264a826ec7 100644 (file)
@@ -242,8 +242,7 @@ static int mesh_plink_frame_tx(struct ieee80211_sub_if_data *sdata,
                return err;
        info = IEEE80211_SKB_CB(skb);
        skb_reserve(skb, local->tx_headroom);
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, hdr_len);
-       memset(mgmt, 0, hdr_len);
+       mgmt = skb_put_zero(skb, hdr_len);
        mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
                                          IEEE80211_STYPE_ACTION);
        memcpy(mgmt->da, da, ETH_ALEN);
index 90a268abea171aebc5d5907929db0804a2b0f7b0..96c987e641b3682ec925378d30bcc4af2a76462c 100644 (file)
@@ -39,7 +39,7 @@ static struct sk_buff *mps_qos_null_get(struct sta_info *sta)
        nullfunc->seq_ctrl = 0;
        /* no address resolution for this frame -> set addr 1 immediately */
        memcpy(nullfunc->addr1, sta->sta.addr, ETH_ALEN);
-       memset(skb_put(skb, 2), 0, 2); /* append QoS control field */
+       skb_put_zero(skb, 2); /* append QoS control field */
        ieee80211_mps_set_frame_flags(sdata, sta, nullfunc);
 
        return skb;
index 1929bce8e5181b4d095a0567b78cce987e8dd375..e810334595ff24785f81c98295c0522bc7ccbe2f 100644 (file)
@@ -674,8 +674,7 @@ static void ieee80211_send_assoc(struct ieee80211_sub_if_data *sdata)
        if (ifmgd->flags & IEEE80211_STA_ENABLE_RRM)
                capab |= WLAN_CAPABILITY_RADIO_MEASURE;
 
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24);
-       memset(mgmt, 0, 24);
+       mgmt = skb_put_zero(skb, 24);
        memcpy(mgmt->da, assoc_data->bss->bssid, ETH_ALEN);
        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
        memcpy(mgmt->bssid, assoc_data->bss->bssid, ETH_ALEN);
@@ -949,8 +948,7 @@ static void ieee80211_send_4addr_nullfunc(struct ieee80211_local *local,
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
 
-       nullfunc = (struct ieee80211_hdr *) skb_put(skb, 30);
-       memset(nullfunc, 0, 30);
+       nullfunc = skb_put_zero(skb, 30);
        fc = cpu_to_le16(IEEE80211_FTYPE_DATA | IEEE80211_STYPE_NULLFUNC |
                         IEEE80211_FCTL_FROMDS | IEEE80211_FCTL_TODS);
        nullfunc->frame_control = fc;
index 004a2283c5d95291c9255c494a4af97d115854a4..e1ab1c4af33ceacd98bf8e593ac846c3dc35bd08 100644 (file)
@@ -2760,8 +2760,7 @@ static void ieee80211_process_sa_query_req(struct ieee80211_sub_if_data *sdata,
                return;
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
-       resp = (struct ieee80211_mgmt *) skb_put(skb, 24);
-       memset(resp, 0, 24);
+       resp = skb_put_zero(skb, 24);
        memcpy(resp->da, mgmt->sa, ETH_ALEN);
        memcpy(resp->sa, sdata->vif.addr, ETH_ALEN);
        memcpy(resp->bssid, sdata->u.mgd.bssid, ETH_ALEN);
index bf8f5dcea1c4db29e97944f0aaf60c27c7ea4e56..ee0181778a4297515de9bf0c75a947e7c45924a2 100644 (file)
@@ -193,8 +193,7 @@ static void ieee80211_send_refuse_measurement_request(struct ieee80211_sub_if_da
                return;
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
-       msr_report = (struct ieee80211_mgmt *)skb_put(skb, 24);
-       memset(msr_report, 0, 24);
+       msr_report = skb_put_zero(skb, 24);
        memcpy(msr_report->da, da, ETH_ALEN);
        memcpy(msr_report->sa, sdata->vif.addr, ETH_ALEN);
        memcpy(msr_report->bssid, bssid, ETH_ALEN);
index f20dcf1b1830a2412ed96ebcc9ce3be65ef5d7e8..c379c99cd1d835c1978bddfa8ba7a464455c8701 100644 (file)
@@ -271,8 +271,7 @@ static void ieee80211_tdls_add_wmm_param_ie(struct ieee80211_sub_if_data *sdata,
        struct ieee80211_tx_queue_params *txq;
        int i;
 
-       wmm = (void *)skb_put(skb, sizeof(*wmm));
-       memset(wmm, 0, sizeof(*wmm));
+       wmm = skb_put_zero(skb, sizeof(*wmm));
 
        wmm->element_id = WLAN_EID_VENDOR_SPECIFIC;
        wmm->len = sizeof(*wmm) - 2;
@@ -838,8 +837,7 @@ ieee80211_prep_tdls_direct(struct wiphy *wiphy, struct net_device *dev,
        struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
        struct ieee80211_mgmt *mgmt;
 
-       mgmt = (void *)skb_put(skb, 24);
-       memset(mgmt, 0, 24);
+       mgmt = skb_put_zero(skb, 24);
        memcpy(mgmt->da, peer, ETH_ALEN);
        memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
        memcpy(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN);
index b8dc41191835de940da73e3c2c5cbfd768ab2516..1af9ed29a915bb29100fcc9b5f6ea984db3c5cc0 100644 (file)
@@ -3044,7 +3044,7 @@ static bool ieee80211_amsdu_realloc_pad(struct ieee80211_local *local,
 
        if (padding) {
                *subframe_len += padding;
-               memset(skb_put(skb, padding), 0, padding);
+               skb_put_zero(skb, padding);
        }
 
        return true;
@@ -4370,8 +4370,7 @@ struct sk_buff *ieee80211_pspoll_get(struct ieee80211_hw *hw,
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
 
-       pspoll = (struct ieee80211_pspoll *) skb_put(skb, sizeof(*pspoll));
-       memset(pspoll, 0, sizeof(*pspoll));
+       pspoll = skb_put_zero(skb, sizeof(*pspoll));
        pspoll->frame_control = cpu_to_le16(IEEE80211_FTYPE_CTL |
                                            IEEE80211_STYPE_PSPOLL);
        pspoll->aid = cpu_to_le16(ifmgd->aid);
@@ -4408,9 +4407,7 @@ struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw,
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
 
-       nullfunc = (struct ieee80211_hdr_3addr *) skb_put(skb,
-                                                         sizeof(*nullfunc));
-       memset(nullfunc, 0, sizeof(*nullfunc));
+       nullfunc = skb_put_zero(skb, sizeof(*nullfunc));
        nullfunc->frame_control = cpu_to_le16(IEEE80211_FTYPE_DATA |
                                              IEEE80211_STYPE_NULLFUNC |
                                              IEEE80211_FCTL_TODS);
@@ -4442,8 +4439,7 @@ struct sk_buff *ieee80211_probereq_get(struct ieee80211_hw *hw,
 
        skb_reserve(skb, local->hw.extra_tx_headroom);
 
-       hdr = (struct ieee80211_hdr_3addr *) skb_put(skb, sizeof(*hdr));
-       memset(hdr, 0, sizeof(*hdr));
+       hdr = skb_put_zero(skb, sizeof(*hdr));
        hdr->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
                                         IEEE80211_STYPE_PROBE_REQ);
        eth_broadcast_addr(hdr->addr1);
index de0f1cdb64d4ef22ecb4a3d4ee512cd5ff07a66b..148c7276869cb0c7e26bd3812c60752e71406e77 100644 (file)
@@ -1242,8 +1242,7 @@ void ieee80211_send_auth(struct ieee80211_sub_if_data *sdata,
 
        skb_reserve(skb, local->hw.extra_tx_headroom + IEEE80211_WEP_IV_LEN);
 
-       mgmt = (struct ieee80211_mgmt *) skb_put(skb, 24 + 6);
-       memset(mgmt, 0, 24 + 6);
+       mgmt = skb_put_zero(skb, 24 + 6);
        mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
                                          IEEE80211_STYPE_AUTH);
        memcpy(mgmt->da, da, ETH_ALEN);
@@ -2999,8 +2998,7 @@ int ieee80211_send_action_csa(struct ieee80211_sub_if_data *sdata,
                return -ENOMEM;
 
        skb_reserve(skb, local->tx_headroom);
-       mgmt = (struct ieee80211_mgmt *)skb_put(skb, hdr_len);
-       memset(mgmt, 0, hdr_len);
+       mgmt = skb_put_zero(skb, hdr_len);
        mgmt->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT |
                                          IEEE80211_STYPE_ACTION);
 
index db7083bfd47691fae726d5682ec518986ab49468..b010ae94175b65fb63409e3b1338b4015dc38ede 100644 (file)
@@ -66,8 +66,7 @@ static int ncsi_cmd_handler_default(struct sk_buff *skb,
 {
        struct ncsi_cmd_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
        return 0;
@@ -78,8 +77,7 @@ static int ncsi_cmd_handler_sp(struct sk_buff *skb,
 {
        struct ncsi_cmd_sp_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_sp_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->hw_arbitration = nca->bytes[0];
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
@@ -91,8 +89,7 @@ static int ncsi_cmd_handler_dc(struct sk_buff *skb,
 {
        struct ncsi_cmd_dc_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_dc_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->ald = nca->bytes[0];
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
@@ -104,8 +101,7 @@ static int ncsi_cmd_handler_rc(struct sk_buff *skb,
 {
        struct ncsi_cmd_rc_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_rc_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
        return 0;
@@ -116,8 +112,7 @@ static int ncsi_cmd_handler_ae(struct sk_buff *skb,
 {
        struct ncsi_cmd_ae_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_ae_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->mc_id = nca->bytes[0];
        cmd->mode = htonl(nca->dwords[1]);
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
@@ -130,8 +125,7 @@ static int ncsi_cmd_handler_sl(struct sk_buff *skb,
 {
        struct ncsi_cmd_sl_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_sl_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->mode = htonl(nca->dwords[0]);
        cmd->oem_mode = htonl(nca->dwords[1]);
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
@@ -144,8 +138,7 @@ static int ncsi_cmd_handler_svf(struct sk_buff *skb,
 {
        struct ncsi_cmd_svf_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_svf_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->vlan = htons(nca->words[0]);
        cmd->index = nca->bytes[2];
        cmd->enable = nca->bytes[3];
@@ -159,8 +152,7 @@ static int ncsi_cmd_handler_ev(struct sk_buff *skb,
 {
        struct ncsi_cmd_ev_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_ev_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->mode = nca->bytes[0];
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
@@ -173,8 +165,7 @@ static int ncsi_cmd_handler_sma(struct sk_buff *skb,
        struct ncsi_cmd_sma_pkt *cmd;
        int i;
 
-       cmd = (struct ncsi_cmd_sma_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        for (i = 0; i < 6; i++)
                cmd->mac[i] = nca->bytes[i];
        cmd->index = nca->bytes[6];
@@ -189,8 +180,7 @@ static int ncsi_cmd_handler_ebf(struct sk_buff *skb,
 {
        struct ncsi_cmd_ebf_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_ebf_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->mode = htonl(nca->dwords[0]);
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
@@ -202,8 +192,7 @@ static int ncsi_cmd_handler_egmf(struct sk_buff *skb,
 {
        struct ncsi_cmd_egmf_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_egmf_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->mode = htonl(nca->dwords[0]);
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
@@ -215,8 +204,7 @@ static int ncsi_cmd_handler_snfc(struct sk_buff *skb,
 {
        struct ncsi_cmd_snfc_pkt *cmd;
 
-       cmd = (struct ncsi_cmd_snfc_pkt *)skb_put(skb, sizeof(*cmd));
-       memset(cmd, 0, sizeof(*cmd));
+       cmd = skb_put_zero(skb, sizeof(*cmd));
        cmd->mode = nca->bytes[0];
        ncsi_cmd_build_header(&cmd->cmd.common, nca);
 
index 9ddc9f8412a277badcba160d89b5343c2c80780a..d772e9a4b4f8faabd9403c2361a1ce0fc9a252c4 100644 (file)
@@ -413,7 +413,7 @@ static void pad_packet(struct datapath *dp, struct sk_buff *skb)
                size_t plen = NLA_ALIGN(skb->len) - skb->len;
 
                if (plen > 0)
-                       memset(skb_put(skb, plen), 0, plen);
+                       skb_put_zero(skb, plen);
        }
 }
 
index c7a5d861906bb63d17ee4e1c8b9327f43e7dbede..825f97671591e0c9c574f28d072b34ab4e911c01 100644 (file)
@@ -285,8 +285,7 @@ static struct sk_buff *qrtr_alloc_resume_tx(u32 src_node,
        if (!skb)
                return NULL;
 
-       buf = (__le32 *)skb_put(skb, pkt_len);
-       memset(buf, 0, pkt_len);
+       buf = skb_put_zero(skb, pkt_len);
        buf[0] = cpu_to_le32(QRTR_TYPE_RESUME_TX);
        buf[1] = cpu_to_le32(src_node);
        buf[2] = cpu_to_le32(port);
@@ -306,8 +305,7 @@ static struct sk_buff *qrtr_alloc_local_bye(u32 src_node)
        if (!skb)
                return NULL;
 
-       buf = (__le32 *)skb_put(skb, pkt_len);
-       memset(buf, 0, pkt_len);
+       buf = skb_put_zero(skb, pkt_len);
        buf[0] = cpu_to_le32(QRTR_TYPE_BYE);
 
        return skb;
@@ -324,8 +322,7 @@ static struct sk_buff *qrtr_alloc_del_client(struct sockaddr_qrtr *sq)
        if (!skb)
                return NULL;
 
-       buf = (__le32 *)skb_put(skb, pkt_len);
-       memset(buf, 0, pkt_len);
+       buf = skb_put_zero(skb, pkt_len);
        buf[0] = cpu_to_le32(QRTR_TYPE_DEL_CLIENT);
        buf[1] = cpu_to_le32(sq->sq_node);
        buf[2] = cpu_to_le32(sq->sq_port);
index 2e636a525a651102da021b926a00e990e859bc04..b0d2cda6ec0ad802edab7a4ef22a79b80e53a204 100644 (file)
@@ -330,7 +330,7 @@ static int rxrpc_send_data(struct rxrpc_sock *rx,
                                pad &= conn->size_align - 1;
                                _debug("pad %zu", pad);
                                if (pad)
-                                       memset(skb_put(skb, pad), 0, pad);
+                                       skb_put_zero(skb, pad);
                        }
 
                        seq = call->tx_top + 1;
index e2edf2ebbadecd81adab46e2afc385314336e9ed..c339c682675a6f643bacccd9e02d4ef18c43f1c1 100644 (file)
@@ -463,7 +463,7 @@ merge:
 
                        padding = SCTP_PAD4(chunk->skb->len) - chunk->skb->len;
                        if (padding)
-                               memset(skb_put(chunk->skb, padding), 0, padding);
+                               skb_put_zero(chunk->skb, padding);
 
                        if (chunk == packet->auth)
                                auth = (struct sctp_auth_chunk *)
index ea2601501654d90f8d83ef985f75a0fd25393184..aaac2660aaf73078ec4d98403b833c406fa129e4 100644 (file)
@@ -1478,10 +1478,9 @@ void *sctp_addto_chunk(struct sctp_chunk *chunk, int len, const void *data)
        int chunklen = ntohs(chunk->chunk_hdr->length);
        int padlen = SCTP_PAD4(chunklen) - chunklen;
 
-       padding = skb_put(chunk->skb, padlen);
+       padding = skb_put_zero(chunk->skb, padlen);
        target = skb_put(chunk->skb, len);
 
-       memset(padding, 0, padlen);
        memcpy(target, data, len);
 
        /* Adjust the chunk length field.  */