diff options
Diffstat (limited to 'drivers/net')
1136 files changed, 3635 insertions, 3907 deletions
diff --git a/drivers/net/amt.c b/drivers/net/amt.c index 902c817a0dea..f2f3139e38a5 100644 --- a/drivers/net/amt.c +++ b/drivers/net/amt.c @@ -368,7 +368,7 @@ static struct amt_source_node *amt_alloc_snode(struct amt_group_node *gnode, { struct amt_source_node *snode; - snode = kzalloc(sizeof(*snode), GFP_ATOMIC); + snode = kzalloc_obj(*snode, GFP_ATOMIC); if (!snode) return NULL; diff --git a/drivers/net/arcnet/com20020_cs.c b/drivers/net/arcnet/com20020_cs.c index 75f08aa7528b..a6d9207cfc16 100644 --- a/drivers/net/arcnet/com20020_cs.c +++ b/drivers/net/arcnet/com20020_cs.c @@ -119,7 +119,7 @@ static int com20020_probe(struct pcmcia_device *p_dev) dev_dbg(&p_dev->dev, "com20020_attach()\n"); /* Create new network device */ - info = kzalloc(sizeof(*info), GFP_KERNEL); + info = kzalloc_obj(*info, GFP_KERNEL); if (!info) goto fail_alloc_info; diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 55a960da42b5..cddcbb5883c6 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c @@ -491,7 +491,7 @@ static int bond_ipsec_add_sa(struct net_device *bond_dev, goto out; } - ipsec = kmalloc(sizeof(*ipsec), GFP_KERNEL); + ipsec = kmalloc_obj(*ipsec, GFP_KERNEL); if (!ipsec) { err = -ENOMEM; goto out; @@ -1387,7 +1387,7 @@ static inline int slave_enable_netpoll(struct slave *slave) struct netpoll *np; int err = 0; - np = kzalloc(sizeof(*np), GFP_KERNEL); + np = kzalloc_obj(*np, GFP_KERNEL); err = -ENOMEM; if (!np) goto out; @@ -1711,7 +1711,7 @@ static struct slave *bond_alloc_slave(struct bonding *bond, { struct slave *slave = NULL; - slave = kzalloc(sizeof(*slave), GFP_KERNEL); + slave = kzalloc_obj(*slave, GFP_KERNEL); if (!slave) return NULL; @@ -1723,8 +1723,8 @@ static struct slave *bond_alloc_slave(struct bonding *bond, return NULL; if (BOND_MODE(bond) == BOND_MODE_8023AD) { - SLAVE_AD_INFO(slave) = kzalloc(sizeof(struct ad_slave_info), - GFP_KERNEL); + SLAVE_AD_INFO(slave) = kzalloc_obj(struct ad_slave_info, + GFP_KERNEL); if (!SLAVE_AD_INFO(slave)) { kobject_put(&slave->kobj); return NULL; @@ -2982,7 +2982,7 @@ struct bond_vlan_tag *bond_verify_device_path(struct net_device *start_dev, struct list_head *iter; if (start_dev == end_dev) { - tags = kcalloc(level + 1, sizeof(*tags), GFP_ATOMIC); + tags = kzalloc_objs(*tags, level + 1, GFP_ATOMIC); if (!tags) return ERR_PTR(-ENOMEM); tags[level].vlan_proto = BOND_VLAN_PROTO_NONE; @@ -5097,10 +5097,9 @@ int bond_update_slave_arr(struct bonding *bond, struct slave *skipslave) might_sleep(); - usable_slaves = kzalloc(struct_size(usable_slaves, arr, - bond->slave_cnt), GFP_KERNEL); - all_slaves = kzalloc(struct_size(all_slaves, arr, - bond->slave_cnt), GFP_KERNEL); + usable_slaves = kzalloc_flex(*usable_slaves, arr, bond->slave_cnt, + GFP_KERNEL); + all_slaves = kzalloc_flex(*all_slaves, arr, bond->slave_cnt, GFP_KERNEL); if (!usable_slaves || !all_slaves) { ret = -ENOMEM; goto out; diff --git a/drivers/net/caif/caif_virtio.c b/drivers/net/caif/caif_virtio.c index c60386bf2d1a..8ac1a4b8e055 100644 --- a/drivers/net/caif/caif_virtio.c +++ b/drivers/net/caif/caif_virtio.c @@ -493,7 +493,7 @@ static struct buf_info *cfv_alloc_and_copy_to_shm(struct cfv_info *cfv, goto err; } - buf_info = kmalloc(sizeof(struct buf_info), GFP_ATOMIC); + buf_info = kmalloc_obj(struct buf_info, GFP_ATOMIC); if (unlikely(!buf_info)) goto err; diff --git a/drivers/net/can/ctucanfd/ctucanfd_pci.c b/drivers/net/can/ctucanfd/ctucanfd_pci.c index 9da09e7dd63a..2d731a6f0be0 100644 --- a/drivers/net/can/ctucanfd/ctucanfd_pci.c +++ b/drivers/net/can/ctucanfd/ctucanfd_pci.c @@ -153,7 +153,7 @@ static int ctucan_pci_probe(struct pci_dev *pdev, ntxbufs = 4; - bdata = kzalloc(sizeof(*bdata), GFP_KERNEL); + bdata = kzalloc_obj(*bdata, GFP_KERNEL); if (!bdata) { ret = -ENOMEM; goto err_pci_iounmap_bar0; diff --git a/drivers/net/can/grcan.c b/drivers/net/can/grcan.c index 3b1b09943436..56758ddf939b 100644 --- a/drivers/net/can/grcan.c +++ b/drivers/net/can/grcan.c @@ -1054,8 +1054,7 @@ static int grcan_open(struct net_device *dev) return err; } - priv->echo_skb = kcalloc(dma->tx.size, sizeof(*priv->echo_skb), - GFP_KERNEL); + priv->echo_skb = kzalloc_objs(*priv->echo_skb, dma->tx.size, GFP_KERNEL); if (!priv->echo_skb) { err = -ENOMEM; goto exit_free_dma_buffers; diff --git a/drivers/net/can/sja1000/ems_pci.c b/drivers/net/can/sja1000/ems_pci.c index 5bca719d61f5..c4716df2e00f 100644 --- a/drivers/net/can/sja1000/ems_pci.c +++ b/drivers/net/can/sja1000/ems_pci.c @@ -260,7 +260,7 @@ static int ems_pci_add_card(struct pci_dev *pdev, } /* Allocating card structures to hold addresses, ... */ - card = kzalloc(sizeof(*card), GFP_KERNEL); + card = kzalloc_obj(*card, GFP_KERNEL); if (!card) { pci_disable_device(pdev); return -ENOMEM; diff --git a/drivers/net/can/sja1000/ems_pcmcia.c b/drivers/net/can/sja1000/ems_pcmcia.c index 4642b6d4aaf7..fad4c51767ed 100644 --- a/drivers/net/can/sja1000/ems_pcmcia.c +++ b/drivers/net/can/sja1000/ems_pcmcia.c @@ -165,7 +165,7 @@ static int ems_pcmcia_add_card(struct pcmcia_device *pdev, unsigned long base) int err, i; /* Allocating card structures to hold addresses, ... */ - card = kzalloc(sizeof(struct ems_pcmcia_card), GFP_KERNEL); + card = kzalloc_obj(struct ems_pcmcia_card, GFP_KERNEL); if (!card) return -ENOMEM; diff --git a/drivers/net/can/sja1000/peak_pci.c b/drivers/net/can/sja1000/peak_pci.c index 10d88cbda465..4ab825636092 100644 --- a/drivers/net/can/sja1000/peak_pci.c +++ b/drivers/net/can/sja1000/peak_pci.c @@ -452,7 +452,7 @@ static int peak_pciec_probe(struct pci_dev *pdev, struct net_device *dev) /* channel is the first one: do the init part */ } else { /* create the bit banging I2C adapter structure */ - card = kzalloc(sizeof(*card), GFP_KERNEL); + card = kzalloc_obj(*card, GFP_KERNEL); if (!card) return -ENOMEM; diff --git a/drivers/net/can/sja1000/peak_pcmcia.c b/drivers/net/can/sja1000/peak_pcmcia.c index e1610b527d13..04b37c746620 100644 --- a/drivers/net/can/sja1000/peak_pcmcia.c +++ b/drivers/net/can/sja1000/peak_pcmcia.c @@ -650,7 +650,7 @@ static int pcan_probe(struct pcmcia_device *pdev) goto probe_err_1; } - card = kzalloc(sizeof(struct pcan_pccard), GFP_KERNEL); + card = kzalloc_obj(struct pcan_pccard, GFP_KERNEL); if (!card) { err = -ENOMEM; goto probe_err_2; diff --git a/drivers/net/can/sja1000/plx_pci.c b/drivers/net/can/sja1000/plx_pci.c index 67e5316c6372..d1c9427f6a5d 100644 --- a/drivers/net/can/sja1000/plx_pci.c +++ b/drivers/net/can/sja1000/plx_pci.c @@ -629,7 +629,7 @@ static int plx_pci_add_card(struct pci_dev *pdev, ci->name, PCI_SLOT(pdev->devfn)); /* Allocate card structures to hold addresses, ... */ - card = kzalloc(sizeof(*card), GFP_KERNEL); + card = kzalloc_obj(*card, GFP_KERNEL); if (!card) { pci_disable_device(pdev); return -ENOMEM; diff --git a/drivers/net/can/softing/softing_cs.c b/drivers/net/can/softing/softing_cs.c index e5c939b63fa6..c37390fa7e6a 100644 --- a/drivers/net/can/softing/softing_cs.c +++ b/drivers/net/can/softing/softing_cs.c @@ -256,7 +256,7 @@ static int softingcs_probe(struct pcmcia_device *pcmcia) } /* create softing platform device */ - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + dev = kzalloc_obj(*dev, GFP_KERNEL); if (!dev) { ret = -ENOMEM; goto mem_failed; diff --git a/drivers/net/can/softing/softing_main.c b/drivers/net/can/softing/softing_main.c index 79bc64395ac4..4872f636e367 100644 --- a/drivers/net/can/softing/softing_main.c +++ b/drivers/net/can/softing/softing_main.c @@ -767,7 +767,7 @@ static int softing_pdev_probe(struct platform_device *pdev) return -EINVAL; } - card = kzalloc(sizeof(*card), GFP_KERNEL); + card = kzalloc_obj(*card, GFP_KERNEL); if (!card) return -ENOMEM; card->pdat = pdat; diff --git a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c index 5134ebb85880..6ef8a3fa2f1e 100644 --- a/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c +++ b/drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c @@ -1961,11 +1961,11 @@ mcp251xfd_register_get_dev_id(const struct mcp251xfd_priv *priv, u32 *dev_id, struct spi_transfer xfer[2] = { }; int err; - buf_rx = kzalloc(sizeof(*buf_rx), GFP_KERNEL); + buf_rx = kzalloc_obj(*buf_rx, GFP_KERNEL); if (!buf_rx) return -ENOMEM; - buf_tx = kzalloc(sizeof(*buf_tx), GFP_KERNEL); + buf_tx = kzalloc_obj(*buf_tx, GFP_KERNEL); if (!buf_tx) { err = -ENOMEM; goto out_kfree_buf_rx; diff --git a/drivers/net/can/usb/esd_usb.c b/drivers/net/can/usb/esd_usb.c index 8cc924c47042..029a321bac10 100644 --- a/drivers/net/can/usb/esd_usb.c +++ b/drivers/net/can/usb/esd_usb.c @@ -726,7 +726,7 @@ static int esd_usb_start(struct esd_usb_net_priv *priv) union esd_usb_msg *msg; int err, i; - msg = kmalloc(sizeof(*msg), GFP_KERNEL); + msg = kmalloc_obj(*msg, GFP_KERNEL); if (!msg) { err = -ENOMEM; goto out; @@ -962,7 +962,7 @@ static int esd_usb_stop(struct esd_usb_net_priv *priv) int err; int i; - msg = kmalloc(sizeof(*msg), GFP_KERNEL); + msg = kmalloc_obj(*msg, GFP_KERNEL); if (!msg) return -ENOMEM; @@ -1068,7 +1068,7 @@ static int esd_usb_2_set_bittiming(struct net_device *netdev) if (priv->can.ctrlmode & CAN_CTRLMODE_3_SAMPLES) canbtr |= ESD_USB_TRIPLE_SAMPLES; - msg = kmalloc(sizeof(*msg), GFP_KERNEL); + msg = kmalloc_obj(*msg, GFP_KERNEL); if (!msg) return -ENOMEM; @@ -1130,7 +1130,7 @@ static int esd_usb_3_set_bittiming(struct net_device *netdev) u16 flags = 0; int err; - msg = kmalloc(sizeof(*msg), GFP_KERNEL); + msg = kmalloc_obj(*msg, GFP_KERNEL); if (!msg) return -ENOMEM; @@ -1302,7 +1302,7 @@ static int esd_usb_probe(struct usb_interface *intf, union esd_usb_msg *msg; int i, err; - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + dev = kzalloc_obj(*dev, GFP_KERNEL); if (!dev) { err = -ENOMEM; goto done; @@ -1314,7 +1314,7 @@ static int esd_usb_probe(struct usb_interface *intf, usb_set_intfdata(intf, dev); - msg = kmalloc(sizeof(*msg), GFP_KERNEL); + msg = kmalloc_obj(*msg, GFP_KERNEL); if (!msg) { err = -ENOMEM; goto free_msg; diff --git a/drivers/net/can/usb/f81604.c b/drivers/net/can/usb/f81604.c index efe61ece79ea..435c7d878138 100644 --- a/drivers/net/can/usb/f81604.c +++ b/drivers/net/can/usb/f81604.c @@ -678,7 +678,7 @@ static int f81604_register_urbs(struct f81604_port_priv *priv) break; } - frame = kmalloc(sizeof(*frame), GFP_KERNEL); + frame = kmalloc_obj(*frame, GFP_KERNEL); if (!frame) { usb_free_urb(rx_urb); ret = -ENOMEM; @@ -717,7 +717,7 @@ static int f81604_register_urbs(struct f81604_port_priv *priv) goto error; } - int_data = kmalloc(sizeof(*int_data), GFP_KERNEL); + int_data = kmalloc_obj(*int_data, GFP_KERNEL); if (!int_data) { usb_free_urb(int_urb); ret = -ENOMEM; @@ -919,7 +919,7 @@ static netdev_tx_t f81604_start_xmit(struct sk_buff *skb, if (!write_urb) goto nomem_urb; - frame = kzalloc(sizeof(*frame), GFP_ATOMIC); + frame = kzalloc_obj(*frame, GFP_ATOMIC); if (!frame) goto nomem_buf; diff --git a/drivers/net/can/usb/gs_usb.c b/drivers/net/can/usb/gs_usb.c index d8b2dd74b3a1..95de036c4410 100644 --- a/drivers/net/can/usb/gs_usb.c +++ b/drivers/net/can/usb/gs_usb.c @@ -1560,7 +1560,7 @@ static int gs_usb_probe(struct usb_interface *intf, return -EINVAL; } - parent = kzalloc(struct_size(parent, canch, icount), GFP_KERNEL); + parent = kzalloc_flex(*parent, canch, icount, GFP_KERNEL); if (!parent) return -ENOMEM; diff --git a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c index a59f20dad692..e765210626ce 100644 --- a/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c +++ b/drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c @@ -580,7 +580,7 @@ static int kvaser_usb_hydra_send_simple_cmd(struct kvaser_usb *dev, size_t cmd_len; int err; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -621,7 +621,7 @@ kvaser_usb_hydra_send_simple_cmd_async(struct kvaser_usb_net_priv *priv, size_t cmd_len; int err; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (!cmd) return -ENOMEM; @@ -742,7 +742,7 @@ static int kvaser_usb_hydra_map_channel(struct kvaser_usb *dev, u16 transid, struct kvaser_cmd *cmd; int err; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -784,7 +784,7 @@ static int kvaser_usb_hydra_get_single_capability(struct kvaser_usb *dev, int err; int i; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1465,7 +1465,7 @@ kvaser_usb_hydra_frame_to_cmd_ext(const struct kvaser_usb_net_priv *priv, u32 kcan_id; u32 kcan_header; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (!cmd) return NULL; @@ -1544,7 +1544,7 @@ kvaser_usb_hydra_frame_to_cmd_std(const struct kvaser_usb_net_priv *priv, u32 flags; u32 id; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (!cmd) return NULL; @@ -1610,7 +1610,7 @@ static int kvaser_usb_hydra_get_busparams(struct kvaser_usb_net_priv *priv, if (!hydra) return -EINVAL; - cmd = kcalloc(1, sizeof(struct kvaser_cmd), GFP_KERNEL); + cmd = kzalloc_objs(struct kvaser_cmd, 1, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1655,7 +1655,7 @@ static int kvaser_usb_hydra_set_bittiming(const struct net_device *netdev, size_t cmd_len; int err; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1685,7 +1685,7 @@ static int kvaser_usb_hydra_set_data_bittiming(const struct net_device *netdev, size_t cmd_len; int err; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1842,7 +1842,7 @@ static int kvaser_usb_hydra_get_software_details(struct kvaser_usb *dev) u32 fw_version; struct kvaser_usb_dev_card_data *card_data = &dev->card_data; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1985,7 +1985,7 @@ static int kvaser_usb_hydra_set_led(struct kvaser_usb_net_priv *priv, size_t cmd_len; int ret; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -2021,7 +2021,7 @@ static int kvaser_usb_hydra_set_opt_mode(const struct kvaser_usb_net_priv *priv) return -EINVAL; } - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; diff --git a/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c b/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c index 1167d38344f1..8e32d98ab0a3 100644 --- a/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c +++ b/drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c @@ -616,7 +616,7 @@ kvaser_usb_leaf_frame_to_cmd(const struct kvaser_usb_net_priv *priv, u8 *cmd_tx_can_flags = NULL; /* GCC */ struct can_frame *cf = (struct can_frame *)skb->data; - cmd = kmalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kmalloc_obj(*cmd, GFP_ATOMIC); if (cmd) { cmd->u.tx_can.tid = transid & 0xff; cmd->len = *cmd_len = CMD_HEADER_LEN + @@ -723,7 +723,7 @@ static int kvaser_usb_leaf_send_simple_cmd(const struct kvaser_usb *dev, struct kvaser_cmd *cmd; int rc; - cmd = kmalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kmalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -873,7 +873,7 @@ static int kvaser_usb_leaf_get_single_capability(struct kvaser_usb *dev, int err; int i; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -970,7 +970,7 @@ static int kvaser_usb_leaf_set_led(struct kvaser_usb_net_priv *priv, struct kvaser_cmd *cmd; int ret; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1079,7 +1079,7 @@ static int kvaser_usb_leaf_simple_cmd_async(struct kvaser_usb_net_priv *priv, struct kvaser_cmd *cmd; int err; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (!cmd) return -ENOMEM; @@ -1752,7 +1752,7 @@ static int kvaser_usb_leaf_set_opt_mode(const struct kvaser_usb_net_priv *priv) struct kvaser_cmd *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1824,7 +1824,7 @@ static int kvaser_usb_leaf_flush_queue(struct kvaser_usb_net_priv *priv) struct kvaser_cmd *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1881,7 +1881,7 @@ static int kvaser_usb_leaf_set_bittiming(const struct net_device *netdev, struct kvaser_cmd *cmd; int rc; - cmd = kmalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kmalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; diff --git a/drivers/net/can/usb/nct6694_canfd.c b/drivers/net/can/usb/nct6694_canfd.c index dd6df2ec3742..de60c2d1cdd1 100644 --- a/drivers/net/can/usb/nct6694_canfd.c +++ b/drivers/net/can/usb/nct6694_canfd.c @@ -527,7 +527,7 @@ static int nct6694_canfd_start(struct net_device *ndev) u32 en_tdc; int ret; - setting = kzalloc(sizeof(*setting), GFP_KERNEL); + setting = kzalloc_obj(*setting, GFP_KERNEL); if (!setting) return -ENOMEM; @@ -596,7 +596,7 @@ static void nct6694_canfd_stop(struct net_device *ndev) * mode allows the device to monitor bus activity without actively * participating in communication. */ - setting = kzalloc(sizeof(*setting), GFP_KERNEL); + setting = kzalloc_obj(*setting, GFP_KERNEL); if (!setting) return; @@ -707,7 +707,7 @@ static int nct6694_canfd_get_clock(struct nct6694_canfd_priv *priv) }; int ret; - info = kzalloc(sizeof(*info), GFP_KERNEL); + info = kzalloc_obj(*info, GFP_KERNEL); if (!info) return -ENOMEM; diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_fd.c b/drivers/net/can/usb/peak_usb/pcan_usb_fd.c index be84191cde56..fbdc9b644241 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb_fd.c +++ b/drivers/net/can/usb/peak_usb/pcan_usb_fd.c @@ -939,7 +939,7 @@ static int pcan_usb_fd_init(struct peak_usb_device *dev) /* do this for 1st channel only */ if (!dev->prev_siblings) { /* allocate netdevices common structure attached to first one */ - pdev->usb_if = kzalloc(sizeof(*pdev->usb_if), GFP_KERNEL); + pdev->usb_if = kzalloc_obj(*pdev->usb_if, GFP_KERNEL); if (!pdev->usb_if) goto err_out; diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_pro.c b/drivers/net/can/usb/peak_usb/pcan_usb_pro.c index 7be286293b1a..db5d43bd4220 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb_pro.c +++ b/drivers/net/can/usb/peak_usb/pcan_usb_pro.c @@ -870,10 +870,9 @@ static int pcan_usb_pro_init(struct peak_usb_device *dev) /* do this for 1st channel only */ if (!dev->prev_siblings) { /* allocate netdevices common structure attached to first one */ - usb_if = kzalloc(sizeof(struct pcan_usb_pro_interface), - GFP_KERNEL); - fi = kmalloc(sizeof(struct pcan_usb_pro_fwinfo), GFP_KERNEL); - bi = kmalloc(sizeof(struct pcan_usb_pro_blinfo), GFP_KERNEL); + usb_if = kzalloc_obj(struct pcan_usb_pro_interface, GFP_KERNEL); + fi = kmalloc_obj(struct pcan_usb_pro_fwinfo, GFP_KERNEL); + bi = kmalloc_obj(struct pcan_usb_pro_blinfo, GFP_KERNEL); if (!usb_if || !fi || !bi) { err = -ENOMEM; goto err_out; diff --git a/drivers/net/can/usb/ucan.c b/drivers/net/can/usb/ucan.c index de61d9da99e3..906aca08cf5c 100644 --- a/drivers/net/can/usb/ucan.c +++ b/drivers/net/can/usb/ucan.c @@ -330,9 +330,8 @@ static int ucan_alloc_context_array(struct ucan_priv *up) /* release contexts if any */ ucan_release_context_array(up); - up->context_array = kcalloc(up->device_info.tx_fifo, - sizeof(*up->context_array), - GFP_KERNEL); + up->context_array = kzalloc_objs(*up->context_array, + up->device_info.tx_fifo, GFP_KERNEL); if (!up->context_array) { netdev_err(up->netdev, "Not enough memory to allocate tx contexts\n"); diff --git a/drivers/net/dsa/bcm_sf2_cfp.c b/drivers/net/dsa/bcm_sf2_cfp.c index e22362e6f0cd..8df91e4c1237 100644 --- a/drivers/net/dsa/bcm_sf2_cfp.c +++ b/drivers/net/dsa/bcm_sf2_cfp.c @@ -950,7 +950,7 @@ static int bcm_sf2_cfp_rule_set(struct dsa_switch *ds, int port, if (ret == 0) return -EEXIST; - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; diff --git a/drivers/net/dsa/hirschmann/hellcreek.c b/drivers/net/dsa/hirschmann/hellcreek.c index dd5f263ab984..1e1917eafd7a 100644 --- a/drivers/net/dsa/hirschmann/hellcreek.c +++ b/drivers/net/dsa/hirschmann/hellcreek.c @@ -1265,7 +1265,7 @@ static int hellcreek_devlink_region_vlan_snapshot(struct devlink *dl, struct hellcreek *hellcreek = ds->priv; int i; - table = kcalloc(VLAN_N_VID, sizeof(*entry), GFP_KERNEL); + table = kzalloc_objs(*entry, VLAN_N_VID, GFP_KERNEL); if (!table) return -ENOMEM; @@ -1293,7 +1293,7 @@ static int hellcreek_devlink_region_fdb_snapshot(struct devlink *dl, struct hellcreek *hellcreek = ds->priv; size_t i; - table = kcalloc(hellcreek->fdb_entries, sizeof(*entry), GFP_KERNEL); + table = kzalloc_objs(*entry, hellcreek->fdb_entries, GFP_KERNEL); if (!table) return -ENOMEM; diff --git a/drivers/net/dsa/microchip/ksz9477_acl.c b/drivers/net/dsa/microchip/ksz9477_acl.c index 7ba778df63ac..efd1da08bb45 100644 --- a/drivers/net/dsa/microchip/ksz9477_acl.c +++ b/drivers/net/dsa/microchip/ksz9477_acl.c @@ -1060,7 +1060,7 @@ int ksz9477_port_acl_init(struct ksz_device *dev, int port) struct ksz9477_acl_priv *acl; int ret, i; - acl = kzalloc(sizeof(*acl), GFP_KERNEL); + acl = kzalloc_obj(*acl, GFP_KERNEL); if (!acl) return -ENOMEM; diff --git a/drivers/net/dsa/microchip/ksz_common.c b/drivers/net/dsa/microchip/ksz_common.c index e5fa1f5fc09b..ddcbb1be4818 100644 --- a/drivers/net/dsa/microchip/ksz_common.c +++ b/drivers/net/dsa/microchip/ksz_common.c @@ -4835,7 +4835,7 @@ int ksz_switch_macaddr_get(struct dsa_switch *ds, int port, return 0; } - switch_macaddr = kzalloc(sizeof(*switch_macaddr), GFP_KERNEL); + switch_macaddr = kzalloc_obj(*switch_macaddr, GFP_KERNEL); if (!switch_macaddr) return -ENOMEM; diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index 09002c853b78..7a43110e74b7 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -2024,7 +2024,7 @@ static int mv88e6xxx_mst_get(struct mv88e6xxx_chip *chip, struct net_device *br, if (err) goto err; - mst = kzalloc(sizeof(*mst), GFP_KERNEL); + mst = kzalloc_obj(*mst, GFP_KERNEL); if (!mst) { err = -ENOMEM; goto err; diff --git a/drivers/net/dsa/mv88e6xxx/devlink.c b/drivers/net/dsa/mv88e6xxx/devlink.c index da69e0b85879..f241e7df6eb5 100644 --- a/drivers/net/dsa/mv88e6xxx/devlink.c +++ b/drivers/net/dsa/mv88e6xxx/devlink.c @@ -378,9 +378,8 @@ static int mv88e6xxx_region_atu_snapshot(struct devlink *dl, struct mv88e6xxx_chip *chip = ds->priv; int fid = -1, err = 0, count = 0; - table = kcalloc(mv88e6xxx_num_databases(chip), - sizeof(struct mv88e6xxx_devlink_atu_entry), - GFP_KERNEL); + table = kzalloc_objs(struct mv88e6xxx_devlink_atu_entry, + mv88e6xxx_num_databases(chip), GFP_KERNEL); if (!table) return -ENOMEM; @@ -440,9 +439,8 @@ static int mv88e6xxx_region_vtu_snapshot(struct devlink *dl, struct mv88e6xxx_vtu_entry vlan; int err; - table = kcalloc(mv88e6xxx_max_vid(chip) + 1, - sizeof(struct mv88e6xxx_devlink_vtu_entry), - GFP_KERNEL); + table = kzalloc_objs(struct mv88e6xxx_devlink_vtu_entry, + mv88e6xxx_max_vid(chip) + 1, GFP_KERNEL); if (!table) return -ENOMEM; @@ -523,9 +521,8 @@ static int mv88e6xxx_region_stu_snapshot(struct devlink *dl, struct mv88e6xxx_stu_entry stu; int err; - table = kcalloc(mv88e6xxx_max_sid(chip) + 1, - sizeof(struct mv88e6xxx_devlink_stu_entry), - GFP_KERNEL); + table = kzalloc_objs(struct mv88e6xxx_devlink_stu_entry, + mv88e6xxx_max_sid(chip) + 1, GFP_KERNEL); if (!table) return -ENOMEM; diff --git a/drivers/net/dsa/mv88e6xxx/pcs-6185.c b/drivers/net/dsa/mv88e6xxx/pcs-6185.c index af7e06d265f7..176480cdee5a 100644 --- a/drivers/net/dsa/mv88e6xxx/pcs-6185.c +++ b/drivers/net/dsa/mv88e6xxx/pcs-6185.c @@ -131,7 +131,7 @@ static int mv88e6185_pcs_init(struct mv88e6xxx_chip *chip, int port) dev = chip->dev; - mpcs = kzalloc(sizeof(*mpcs), GFP_KERNEL); + mpcs = kzalloc_obj(*mpcs, GFP_KERNEL); if (!mpcs) return -ENOMEM; diff --git a/drivers/net/dsa/mv88e6xxx/pcs-6352.c b/drivers/net/dsa/mv88e6xxx/pcs-6352.c index 36993400837e..ecd8b5efccf6 100644 --- a/drivers/net/dsa/mv88e6xxx/pcs-6352.c +++ b/drivers/net/dsa/mv88e6xxx/pcs-6352.c @@ -267,7 +267,7 @@ static struct marvell_c22_pcs *marvell_c22_pcs_alloc(struct device *dev, { struct marvell_c22_pcs *mpcs; - mpcs = kzalloc(sizeof(*mpcs), GFP_KERNEL); + mpcs = kzalloc_obj(*mpcs, GFP_KERNEL); if (!mpcs) return NULL; diff --git a/drivers/net/dsa/mv88e6xxx/pcs-639x.c b/drivers/net/dsa/mv88e6xxx/pcs-639x.c index 5db17c0b77f5..c7728b00297d 100644 --- a/drivers/net/dsa/mv88e6xxx/pcs-639x.c +++ b/drivers/net/dsa/mv88e6xxx/pcs-639x.c @@ -67,7 +67,7 @@ mv88e639x_pcs_alloc(struct device *dev, struct mii_bus *bus, unsigned int addr, { struct mv88e639x_pcs *mpcs; - mpcs = kzalloc(sizeof(*mpcs), GFP_KERNEL); + mpcs = kzalloc_obj(*mpcs, GFP_KERNEL); if (!mpcs) return NULL; diff --git a/drivers/net/dsa/ocelot/felix.c b/drivers/net/dsa/ocelot/felix.c index 5d34eb82e639..1587dd33a557 100644 --- a/drivers/net/dsa/ocelot/felix.c +++ b/drivers/net/dsa/ocelot/felix.c @@ -109,8 +109,7 @@ static int felix_tag_8021q_vlan_add_rx(struct dsa_switch *ds, int port, key_length = ocelot->vcap[VCAP_ES0].keys[VCAP_ES0_IGR_PORT].length; - outer_tagging_rule = kzalloc(sizeof(struct ocelot_vcap_filter), - GFP_KERNEL); + outer_tagging_rule = kzalloc_obj(struct ocelot_vcap_filter, GFP_KERNEL); if (!outer_tagging_rule) return -ENOMEM; @@ -178,11 +177,11 @@ static int felix_tag_8021q_vlan_add_tx(struct dsa_switch *ds, int port, unsigned long cookie; int err; - untagging_rule = kzalloc(sizeof(struct ocelot_vcap_filter), GFP_KERNEL); + untagging_rule = kzalloc_obj(struct ocelot_vcap_filter, GFP_KERNEL); if (!untagging_rule) return -ENOMEM; - redirect_rule = kzalloc(sizeof(struct ocelot_vcap_filter), GFP_KERNEL); + redirect_rule = kzalloc_obj(struct ocelot_vcap_filter, GFP_KERNEL); if (!redirect_rule) { kfree(untagging_rule); return -ENOMEM; @@ -1540,8 +1539,8 @@ static int felix_init_structs(struct felix *felix, int num_phys_ports) ocelot->npi_xtr_prefix = OCELOT_TAG_PREFIX_SHORT; ocelot->devlink = felix->ds->devlink; - port_phy_modes = kcalloc(num_phys_ports, sizeof(phy_interface_t), - GFP_KERNEL); + port_phy_modes = kzalloc_objs(phy_interface_t, num_phys_ports, + GFP_KERNEL); if (!port_phy_modes) return -ENOMEM; diff --git a/drivers/net/dsa/ocelot/felix_vsc9959.c b/drivers/net/dsa/ocelot/felix_vsc9959.c index 8cf4c8986587..86b9a24d3e33 100644 --- a/drivers/net/dsa/ocelot/felix_vsc9959.c +++ b/drivers/net/dsa/ocelot/felix_vsc9959.c @@ -2201,7 +2201,7 @@ static int vsc9959_psfp_sgi_table_add(struct ocelot *ocelot, return 0; } - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; diff --git a/drivers/net/dsa/sja1105/sja1105_devlink.c b/drivers/net/dsa/sja1105/sja1105_devlink.c index 30b1f1ba762f..c1dd9ccc32d0 100644 --- a/drivers/net/dsa/sja1105/sja1105_devlink.c +++ b/drivers/net/dsa/sja1105/sja1105_devlink.c @@ -82,8 +82,8 @@ static int sja1105_setup_devlink_regions(struct dsa_switch *ds) struct devlink_region *region; u64 size; - priv->regions = kcalloc(num_regions, sizeof(struct devlink_region *), - GFP_KERNEL); + priv->regions = kzalloc_objs(struct devlink_region *, num_regions, + GFP_KERNEL); if (!priv->regions) return -ENOMEM; diff --git a/drivers/net/dsa/sja1105/sja1105_flower.c b/drivers/net/dsa/sja1105/sja1105_flower.c index 05d8ed3121e7..c91f7371471c 100644 --- a/drivers/net/dsa/sja1105/sja1105_flower.c +++ b/drivers/net/dsa/sja1105/sja1105_flower.c @@ -41,7 +41,7 @@ static int sja1105_setup_bcast_policer(struct sja1105_private *priv, int rc; if (!rule) { - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; @@ -112,7 +112,7 @@ static int sja1105_setup_tc_policer(struct sja1105_private *priv, int rc; if (!rule) { - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; diff --git a/drivers/net/dsa/sja1105/sja1105_tas.c b/drivers/net/dsa/sja1105/sja1105_tas.c index d5949d2c3e71..a3090c70b428 100644 --- a/drivers/net/dsa/sja1105/sja1105_tas.c +++ b/drivers/net/dsa/sja1105/sja1105_tas.c @@ -477,7 +477,7 @@ bool sja1105_gating_check_conflicts(struct sja1105_private *priv, int port, if (list_empty(&gating_cfg->entries)) return false; - dummy = kzalloc(struct_size(dummy, entries, num_entries), GFP_KERNEL); + dummy = kzalloc_flex(*dummy, entries, num_entries, GFP_KERNEL); if (!dummy) { NL_SET_ERR_MSG_MOD(extack, "Failed to allocate memory"); return true; diff --git a/drivers/net/dsa/sja1105/sja1105_vl.c b/drivers/net/dsa/sja1105/sja1105_vl.c index b7e95d60a6e4..7ec1ce5edf07 100644 --- a/drivers/net/dsa/sja1105/sja1105_vl.c +++ b/drivers/net/dsa/sja1105/sja1105_vl.c @@ -16,7 +16,7 @@ static int sja1105_insert_gate_entry(struct sja1105_gating_config *gating_cfg, struct sja1105_gate_entry *e; int rc; - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) return -ENOMEM; @@ -524,7 +524,7 @@ int sja1105_vl_redirect(struct sja1105_private *priv, int port, } if (!rule) { - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; @@ -622,7 +622,7 @@ int sja1105_vl_gate(struct sja1105_private *priv, int port, } if (!rule) { - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; @@ -635,9 +635,8 @@ int sja1105_vl_gate(struct sja1105_private *priv, int port, rule->vl.base_time = base_time; rule->vl.cycle_time = cycle_time; rule->vl.num_entries = num_entries; - rule->vl.entries = kcalloc(num_entries, - sizeof(struct action_gate_entry), - GFP_KERNEL); + rule->vl.entries = kzalloc_objs(struct action_gate_entry, + num_entries, GFP_KERNEL); if (!rule->vl.entries) { rc = -ENOMEM; goto out; diff --git a/drivers/net/dsa/vitesse-vsc73xx-core.c b/drivers/net/dsa/vitesse-vsc73xx-core.c index 9d31b8258268..a2feb30843b6 100644 --- a/drivers/net/dsa/vitesse-vsc73xx-core.c +++ b/drivers/net/dsa/vitesse-vsc73xx-core.c @@ -1664,7 +1664,7 @@ static int vsc73xx_port_vlan_add(struct dsa_switch *ds, int port, vsc73xx_vlan = vsc73xx_bridge_vlan_find(vsc, vlan->vid); if (!vsc73xx_vlan) { - vsc73xx_vlan = kzalloc(sizeof(*vsc73xx_vlan), GFP_KERNEL); + vsc73xx_vlan = kzalloc_obj(*vsc73xx_vlan, GFP_KERNEL); if (!vsc73xx_vlan) return -ENOMEM; diff --git a/drivers/net/eql.c b/drivers/net/eql.c index 9ba10efd3794..3fccbe2a63a0 100644 --- a/drivers/net/eql.c +++ b/drivers/net/eql.c @@ -425,7 +425,7 @@ static int eql_enslave(struct net_device *master_dev, slaving_request_t __user * if ((master_dev->flags & IFF_UP) == IFF_UP) { /* slave is not a master & not already a slave: */ if (!eql_is_master(slave_dev) && !eql_is_slave(slave_dev)) { - slave_t *s = kzalloc(sizeof(*s), GFP_KERNEL); + slave_t *s = kzalloc_obj(*s, GFP_KERNEL); equalizer_t *eql = netdev_priv(master_dev); int ret; diff --git a/drivers/net/ethernet/adi/adin1110.c b/drivers/net/ethernet/adi/adin1110.c index 1b4e37d000b9..53fac3dc8be6 100644 --- a/drivers/net/ethernet/adi/adin1110.c +++ b/drivers/net/ethernet/adi/adin1110.c @@ -1492,7 +1492,7 @@ static int adin1110_switchdev_event(struct notifier_block *unused, if (!adin1110_port_dev_check(netdev)) return NOTIFY_DONE; - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (WARN_ON(!switchdev_work)) return NOTIFY_BAD; diff --git a/drivers/net/ethernet/agere/et131x.c b/drivers/net/ethernet/agere/et131x.c index 5c8217638dda..30cc8acd2b8c 100644 --- a/drivers/net/ethernet/agere/et131x.c +++ b/drivers/net/ethernet/agere/et131x.c @@ -1866,10 +1866,10 @@ static int et131x_rx_dma_memory_alloc(struct et131x_adapter *adapter) struct fbr_lookup *fbr; /* Alloc memory for the lookup table */ - rx_ring->fbr[0] = kzalloc(sizeof(*fbr), GFP_KERNEL); + rx_ring->fbr[0] = kzalloc_obj(*fbr, GFP_KERNEL); if (rx_ring->fbr[0] == NULL) return -ENOMEM; - rx_ring->fbr[1] = kzalloc(sizeof(*fbr), GFP_KERNEL); + rx_ring->fbr[1] = kzalloc_obj(*fbr, GFP_KERNEL); if (rx_ring->fbr[1] == NULL) return -ENOMEM; @@ -2089,7 +2089,7 @@ static int et131x_init_recv(struct et131x_adapter *adapter) /* Setup each RFD */ for (rfdct = 0; rfdct < rx_ring->num_rfd; rfdct++) { - rfd = kzalloc(sizeof(*rfd), GFP_ATOMIC | GFP_DMA); + rfd = kzalloc_obj(*rfd, GFP_ATOMIC | GFP_DMA); if (!rfd) return -ENOMEM; @@ -2357,8 +2357,8 @@ static int et131x_tx_dma_memory_alloc(struct et131x_adapter *adapter) struct tx_ring *tx_ring = &adapter->tx_ring; /* Allocate memory for the TCB's (Transmit Control Block) */ - tx_ring->tcb_ring = kcalloc(NUM_TCB, sizeof(struct tcb), - GFP_KERNEL | GFP_DMA); + tx_ring->tcb_ring = kzalloc_objs(struct tcb, NUM_TCB, + GFP_KERNEL | GFP_DMA); if (!tx_ring->tcb_ring) return -ENOMEM; diff --git a/drivers/net/ethernet/airoha/airoha_npu.c b/drivers/net/ethernet/airoha/airoha_npu.c index 89f22f3f47dc..84090dee9814 100644 --- a/drivers/net/ethernet/airoha/airoha_npu.c +++ b/drivers/net/ethernet/airoha/airoha_npu.c @@ -333,7 +333,7 @@ static int airoha_npu_ppe_init(struct airoha_npu *npu) struct ppe_mbox_data *ppe_data; int err; - ppe_data = kzalloc(sizeof(*ppe_data), GFP_KERNEL); + ppe_data = kzalloc_obj(*ppe_data, GFP_KERNEL); if (!ppe_data) return -ENOMEM; @@ -354,7 +354,7 @@ static int airoha_npu_ppe_deinit(struct airoha_npu *npu) struct ppe_mbox_data *ppe_data; int err; - ppe_data = kzalloc(sizeof(*ppe_data), GFP_KERNEL); + ppe_data = kzalloc_obj(*ppe_data, GFP_KERNEL); if (!ppe_data) return -ENOMEM; @@ -375,7 +375,7 @@ static int airoha_npu_ppe_flush_sram_entries(struct airoha_npu *npu, struct ppe_mbox_data *ppe_data; int err; - ppe_data = kzalloc(sizeof(*ppe_data), GFP_KERNEL); + ppe_data = kzalloc_obj(*ppe_data, GFP_KERNEL); if (!ppe_data) return -ENOMEM; @@ -399,7 +399,7 @@ static int airoha_npu_foe_commit_entry(struct airoha_npu *npu, struct ppe_mbox_data *ppe_data; int err; - ppe_data = kzalloc(sizeof(*ppe_data), GFP_ATOMIC); + ppe_data = kzalloc_obj(*ppe_data, GFP_ATOMIC); if (!ppe_data) return -ENOMEM; @@ -434,7 +434,7 @@ static int airoha_npu_ppe_stats_setup(struct airoha_npu *npu, int err, size = num_stats_entries * sizeof(*npu->stats); struct ppe_mbox_data *ppe_data; - ppe_data = kzalloc(sizeof(*ppe_data), GFP_ATOMIC); + ppe_data = kzalloc_obj(*ppe_data, GFP_ATOMIC); if (!ppe_data) return -ENOMEM; diff --git a/drivers/net/ethernet/airoha/airoha_ppe.c b/drivers/net/ethernet/airoha/airoha_ppe.c index 2221bafaf7c9..a0f4c6e33bfc 100644 --- a/drivers/net/ethernet/airoha/airoha_ppe.c +++ b/drivers/net/ethernet/airoha/airoha_ppe.c @@ -778,7 +778,7 @@ airoha_ppe_foe_commit_subflow_entry(struct airoha_ppe *ppe, if (!hwe_p) return -EINVAL; - f = kzalloc(sizeof(*f), GFP_ATOMIC); + f = kzalloc_obj(*f, GFP_ATOMIC); if (!f) return -ENOMEM; @@ -1173,7 +1173,7 @@ static int airoha_ppe_flow_offload_replace(struct airoha_eth *eth, return err; } - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) return -ENOMEM; diff --git a/drivers/net/ethernet/alacritech/slicoss.c b/drivers/net/ethernet/alacritech/slicoss.c index 7488fb6ace0b..808ee88dcdc8 100644 --- a/drivers/net/ethernet/alacritech/slicoss.c +++ b/drivers/net/ethernet/alacritech/slicoss.c @@ -192,7 +192,7 @@ static int slic_new_upr(struct slic_device *sdev, unsigned int type, { struct slic_upr *upr; - upr = kmalloc(sizeof(*upr), GFP_ATOMIC); + upr = kmalloc_obj(*upr, GFP_ATOMIC); if (!upr) return -ENOMEM; upr->type = type; @@ -845,7 +845,7 @@ static int slic_init_tx_queue(struct slic_device *sdev) txq->put_idx = 0; txq->done_idx = 0; - txq->txbuffs = kcalloc(txq->len, sizeof(*buff), GFP_KERNEL); + txq->txbuffs = kzalloc_objs(*buff, txq->len, GFP_KERNEL); if (!txq->txbuffs) return -ENOMEM; @@ -922,7 +922,7 @@ static int slic_init_rx_queue(struct slic_device *sdev) rxq->done_idx = 0; rxq->put_idx = 0; - buff = kcalloc(rxq->len, sizeof(*buff), GFP_KERNEL); + buff = kzalloc_objs(*buff, rxq->len, GFP_KERNEL); if (!buff) return -ENOMEM; diff --git a/drivers/net/ethernet/allwinner/sun4i-emac.c b/drivers/net/ethernet/allwinner/sun4i-emac.c index 2f516b950f4e..fc7341a5cbb7 100644 --- a/drivers/net/ethernet/allwinner/sun4i-emac.c +++ b/drivers/net/ethernet/allwinner/sun4i-emac.c @@ -223,7 +223,7 @@ emac_alloc_dma_req(struct emac_board_info *db, { struct emac_dma_req *req; - req = kzalloc(sizeof(struct emac_dma_req), GFP_ATOMIC); + req = kzalloc_obj(struct emac_dma_req, GFP_ATOMIC); if (!req) return NULL; diff --git a/drivers/net/ethernet/alteon/acenic.c b/drivers/net/ethernet/alteon/acenic.c index 9e6f91df2ba0..81f57bc6b3a2 100644 --- a/drivers/net/ethernet/alteon/acenic.c +++ b/drivers/net/ethernet/alteon/acenic.c @@ -1149,7 +1149,7 @@ static int ace_init(struct net_device *dev) /* * Get the memory for the skb rings. */ - if (!(ap->skb = kzalloc(sizeof(struct ace_skb), GFP_KERNEL))) { + if (!(ap->skb = kzalloc_obj(struct ace_skb, GFP_KERNEL))) { ecode = -EAGAIN; goto init_error; } diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c index ca55c5fd11df..2893fbaa51ca 100644 --- a/drivers/net/ethernet/altera/altera_tse_main.c +++ b/drivers/net/ethernet/altera/altera_tse_main.c @@ -258,14 +258,12 @@ static int alloc_init_skbufs(struct altera_tse_private *priv) int i; /* Create Rx ring buffer */ - priv->rx_ring = kcalloc(rx_descs, sizeof(struct tse_buffer), - GFP_KERNEL); + priv->rx_ring = kzalloc_objs(struct tse_buffer, rx_descs, GFP_KERNEL); if (!priv->rx_ring) goto err_rx_ring; /* Create Tx ring buffer */ - priv->tx_ring = kcalloc(tx_descs, sizeof(struct tse_buffer), - GFP_KERNEL); + priv->tx_ring = kzalloc_objs(struct tse_buffer, tx_descs, GFP_KERNEL); if (!priv->tx_ring) goto err_tx_ring; diff --git a/drivers/net/ethernet/amd/lance.c b/drivers/net/ethernet/amd/lance.c index b1e6620ad41d..98afd8cb0efb 100644 --- a/drivers/net/ethernet/amd/lance.c +++ b/drivers/net/ethernet/amd/lance.c @@ -551,7 +551,7 @@ static int __init lance_probe1(struct net_device *dev, int ioaddr, int irq, int dev->base_addr = ioaddr; /* Make certain the data structures used by the LANCE are aligned and DMAble. */ - lp = kzalloc(sizeof(*lp), GFP_DMA | GFP_KERNEL); + lp = kzalloc_obj(*lp, GFP_DMA | GFP_KERNEL); if (!lp) return -ENOMEM; if (lance_debug > 6) printk(" (#0x%05lx)", (unsigned long)lp); diff --git a/drivers/net/ethernet/amd/pcnet32.c b/drivers/net/ethernet/amd/pcnet32.c index 9eaefa0f5e80..e0705a54366b 100644 --- a/drivers/net/ethernet/amd/pcnet32.c +++ b/drivers/net/ethernet/amd/pcnet32.c @@ -491,11 +491,11 @@ static void pcnet32_realloc_tx_ring(struct net_device *dev, if (!new_tx_ring) return; - new_dma_addr_list = kcalloc(entries, sizeof(dma_addr_t), GFP_ATOMIC); + new_dma_addr_list = kzalloc_objs(dma_addr_t, entries, GFP_ATOMIC); if (!new_dma_addr_list) goto free_new_tx_ring; - new_skb_list = kcalloc(entries, sizeof(struct sk_buff *), GFP_ATOMIC); + new_skb_list = kzalloc_objs(struct sk_buff *, entries, GFP_ATOMIC); if (!new_skb_list) goto free_new_lists; @@ -550,11 +550,11 @@ static void pcnet32_realloc_rx_ring(struct net_device *dev, if (!new_rx_ring) return; - new_dma_addr_list = kcalloc(entries, sizeof(dma_addr_t), GFP_ATOMIC); + new_dma_addr_list = kzalloc_objs(dma_addr_t, entries, GFP_ATOMIC); if (!new_dma_addr_list) goto free_new_rx_ring; - new_skb_list = kcalloc(entries, sizeof(struct sk_buff *), GFP_ATOMIC); + new_skb_list = kzalloc_objs(struct sk_buff *, entries, GFP_ATOMIC); if (!new_skb_list) goto free_new_lists; @@ -2035,23 +2035,21 @@ static int pcnet32_alloc_ring(struct net_device *dev, const char *name) return -ENOMEM; } - lp->tx_dma_addr = kcalloc(lp->tx_ring_size, sizeof(dma_addr_t), - GFP_KERNEL); + lp->tx_dma_addr = kzalloc_objs(dma_addr_t, lp->tx_ring_size, GFP_KERNEL); if (!lp->tx_dma_addr) return -ENOMEM; - lp->rx_dma_addr = kcalloc(lp->rx_ring_size, sizeof(dma_addr_t), - GFP_KERNEL); + lp->rx_dma_addr = kzalloc_objs(dma_addr_t, lp->rx_ring_size, GFP_KERNEL); if (!lp->rx_dma_addr) return -ENOMEM; - lp->tx_skbuff = kcalloc(lp->tx_ring_size, sizeof(struct sk_buff *), - GFP_KERNEL); + lp->tx_skbuff = kzalloc_objs(struct sk_buff *, lp->tx_ring_size, + GFP_KERNEL); if (!lp->tx_skbuff) return -ENOMEM; - lp->rx_skbuff = kcalloc(lp->rx_ring_size, sizeof(struct sk_buff *), - GFP_KERNEL); + lp->rx_skbuff = kzalloc_objs(struct sk_buff *, lp->rx_ring_size, + GFP_KERNEL); if (!lp->rx_skbuff) return -ENOMEM; diff --git a/drivers/net/ethernet/amd/pds_core/auxbus.c b/drivers/net/ethernet/amd/pds_core/auxbus.c index 92f359f2b449..6f0ffdf14e96 100644 --- a/drivers/net/ethernet/amd/pds_core/auxbus.c +++ b/drivers/net/ethernet/amd/pds_core/auxbus.c @@ -140,7 +140,7 @@ static struct pds_auxiliary_dev *pdsc_auxbus_dev_register(struct pdsc *cf, struct pds_auxiliary_dev *padev; int err; - padev = kzalloc(sizeof(*padev), GFP_KERNEL); + padev = kzalloc_obj(*padev, GFP_KERNEL); if (!padev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/amd/pds_core/core.c b/drivers/net/ethernet/amd/pds_core/core.c index 076dfe2910c7..af2f2c7f5de5 100644 --- a/drivers/net/ethernet/amd/pds_core/core.c +++ b/drivers/net/ethernet/amd/pds_core/core.c @@ -415,9 +415,9 @@ static int pdsc_viftypes_init(struct pdsc *pdsc) { enum pds_core_vif_types vt; - pdsc->viftype_status = kcalloc(ARRAY_SIZE(pdsc_viftype_defaults), - sizeof(*pdsc->viftype_status), - GFP_KERNEL); + pdsc->viftype_status = kzalloc_objs(*pdsc->viftype_status, + ARRAY_SIZE(pdsc_viftype_defaults), + GFP_KERNEL); if (!pdsc->viftype_status) return -ENOMEM; diff --git a/drivers/net/ethernet/amd/pds_core/dev.c b/drivers/net/ethernet/amd/pds_core/dev.c index 495ef4ef8c10..6ae27bfb3375 100644 --- a/drivers/net/ethernet/amd/pds_core/dev.c +++ b/drivers/net/ethernet/amd/pds_core/dev.c @@ -359,7 +359,7 @@ int pdsc_dev_init(struct pdsc *pdsc) nintrs = min_t(unsigned int, num_online_cpus(), nintrs); /* Get intr_info struct array for tracking */ - pdsc->intr_info = kcalloc(nintrs, sizeof(*pdsc->intr_info), GFP_KERNEL); + pdsc->intr_info = kzalloc_objs(*pdsc->intr_info, nintrs, GFP_KERNEL); if (!pdsc->intr_info) return -ENOMEM; diff --git a/drivers/net/ethernet/amd/pds_core/main.c b/drivers/net/ethernet/amd/pds_core/main.c index c7a2eff57632..743b154d2a88 100644 --- a/drivers/net/ethernet/amd/pds_core/main.c +++ b/drivers/net/ethernet/amd/pds_core/main.c @@ -146,8 +146,7 @@ static int pdsc_sriov_configure(struct pci_dev *pdev, int num_vfs) int ret = 0; if (num_vfs > 0) { - pdsc->vfs = kcalloc(num_vfs, sizeof(struct pdsc_vf), - GFP_KERNEL); + pdsc->vfs = kzalloc_objs(struct pdsc_vf, num_vfs, GFP_KERNEL); if (!pdsc->vfs) return -ENOMEM; pdsc->num_vfs = num_vfs; diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-selftest.c b/drivers/net/ethernet/amd/xgbe/xgbe-selftest.c index 55e5e467facd..488f96bec1e7 100644 --- a/drivers/net/ethernet/amd/xgbe/xgbe-selftest.c +++ b/drivers/net/ethernet/amd/xgbe/xgbe-selftest.c @@ -112,7 +112,7 @@ static int __xgbe_test_loopback(struct xgbe_prv_data *pdata, struct sk_buff *skb = NULL; int ret = 0; - tdata = kzalloc(sizeof(*tdata), GFP_KERNEL); + tdata = kzalloc_obj(*tdata, GFP_KERNEL); if (!tdata) return -ENOMEM; diff --git a/drivers/net/ethernet/apm/xgene-v2/main.c b/drivers/net/ethernet/apm/xgene-v2/main.c index d7ca847d44c7..b88764615994 100644 --- a/drivers/net/ethernet/apm/xgene-v2/main.c +++ b/drivers/net/ethernet/apm/xgene-v2/main.c @@ -405,7 +405,7 @@ static struct xge_desc_ring *xge_create_desc_ring(struct net_device *ndev) struct xge_desc_ring *ring; u16 size; - ring = kzalloc(sizeof(*ring), GFP_KERNEL); + ring = kzalloc_obj(*ring, GFP_KERNEL); if (!ring) return NULL; @@ -417,8 +417,8 @@ static struct xge_desc_ring *xge_create_desc_ring(struct net_device *ndev) if (!ring->desc_addr) goto err; - ring->pkt_info = kcalloc(XGENE_ENET_NUM_DESC, sizeof(*ring->pkt_info), - GFP_KERNEL); + ring->pkt_info = kzalloc_objs(*ring->pkt_info, XGENE_ENET_NUM_DESC, + GFP_KERNEL); if (!ring->pkt_info) goto err; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_filters.c b/drivers/net/ethernet/aquantia/atlantic/aq_filters.c index 30a573db02bb..4f0b66917ce0 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_filters.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_filters.c @@ -688,7 +688,7 @@ int aq_add_rxnfc_rule(struct aq_nic_s *aq_nic, const struct ethtool_rxnfc *cmd) if (err) goto err_exit; - aq_rx_fltr = kzalloc(sizeof(*aq_rx_fltr), GFP_KERNEL); + aq_rx_fltr = kzalloc_obj(*aq_rx_fltr, GFP_KERNEL); if (unlikely(!aq_rx_fltr)) { err = -ENOMEM; goto err_exit; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_macsec.c b/drivers/net/ethernet/aquantia/atlantic/aq_macsec.c index 6afff8af5e86..a47d5ec74b94 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_macsec.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_macsec.c @@ -1462,7 +1462,7 @@ int aq_macsec_init(struct aq_nic_s *nic) if (!(caps_lo & BIT(CAPS_LO_MACSEC))) return 0; - nic->macsec_cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + nic->macsec_cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!nic->macsec_cfg) return -ENOMEM; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c index ed5231dece3f..05d656fb4a27 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c @@ -244,7 +244,7 @@ static int aq_pci_probe(struct pci_dev *pdev, if (err) goto err_ioremap; - self->aq_hw = kzalloc(sizeof(*self->aq_hw), GFP_KERNEL); + self->aq_hw = kzalloc_obj(*self->aq_hw, GFP_KERNEL); if (!self->aq_hw) { err = -ENOMEM; goto err_ioremap; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ptp.c b/drivers/net/ethernet/aquantia/atlantic/aq_ptp.c index 0fa0f891c0e0..83216657d1d8 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_ptp.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_ptp.c @@ -1130,8 +1130,8 @@ static void aq_ptp_gpio_init(struct ptp_clock_info *info, if (!info->n_pins) return; - info->pin_config = kcalloc(info->n_pins, sizeof(struct ptp_pin_desc), - GFP_KERNEL); + info->pin_config = kzalloc_objs(struct ptp_pin_desc, info->n_pins, + GFP_KERNEL); if (!info->pin_config) return; @@ -1183,7 +1183,7 @@ int aq_ptp_init(struct aq_nic_s *aq_nic, unsigned int idx_vec) aq_ptp_offset_init(&mbox.info.ptp_offset); - aq_ptp = kzalloc(sizeof(*aq_ptp), GFP_KERNEL); + aq_ptp = kzalloc_obj(*aq_ptp, GFP_KERNEL); if (!aq_ptp) { err = -ENOMEM; goto err_exit; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c index d23d23bed39f..62478c605503 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_ring.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_ring.c @@ -138,7 +138,7 @@ static int aq_ring_alloc(struct aq_ring_s *self, int err = 0; self->buff_ring = - kcalloc(self->size, sizeof(struct aq_ring_buff_s), GFP_KERNEL); + kzalloc_objs(struct aq_ring_buff_s, self->size, GFP_KERNEL); if (!self->buff_ring) { err = -ENOMEM; diff --git a/drivers/net/ethernet/aquantia/atlantic/aq_vec.c b/drivers/net/ethernet/aquantia/atlantic/aq_vec.c index 9769ab4f9bef..90eaf11076d2 100644 --- a/drivers/net/ethernet/aquantia/atlantic/aq_vec.c +++ b/drivers/net/ethernet/aquantia/atlantic/aq_vec.c @@ -104,7 +104,7 @@ struct aq_vec_s *aq_vec_alloc(struct aq_nic_s *aq_nic, unsigned int idx, { struct aq_vec_s *self = NULL; - self = kzalloc(sizeof(*self), GFP_KERNEL); + self = kzalloc_obj(*self, GFP_KERNEL); if (!self) goto err_exit; diff --git a/drivers/net/ethernet/atheros/ag71xx.c b/drivers/net/ethernet/atheros/ag71xx.c index cbc730c7cff2..13e3bd7fe82b 100644 --- a/drivers/net/ethernet/atheros/ag71xx.c +++ b/drivers/net/ethernet/atheros/ag71xx.c @@ -1305,7 +1305,7 @@ static int ag71xx_rings_init(struct ag71xx *ag) ring_size = BIT(tx->order) + BIT(rx->order); tx_size = BIT(tx->order); - tx->buf = kcalloc(ring_size, sizeof(*tx->buf), GFP_KERNEL); + tx->buf = kzalloc_objs(*tx->buf, ring_size, GFP_KERNEL); if (!tx->buf) return -ENOMEM; diff --git a/drivers/net/ethernet/atheros/alx/main.c b/drivers/net/ethernet/atheros/alx/main.c index ad6d6abd885f..9b1923055293 100644 --- a/drivers/net/ethernet/atheros/alx/main.c +++ b/drivers/net/ethernet/atheros/alx/main.c @@ -616,7 +616,7 @@ static int alx_set_mac_address(struct net_device *netdev, void *data) static int alx_alloc_tx_ring(struct alx_priv *alx, struct alx_tx_queue *txq, int offset) { - txq->bufs = kcalloc(txq->count, sizeof(struct alx_buffer), GFP_KERNEL); + txq->bufs = kzalloc_objs(struct alx_buffer, txq->count, GFP_KERNEL); if (!txq->bufs) return -ENOMEM; @@ -630,7 +630,7 @@ static int alx_alloc_tx_ring(struct alx_priv *alx, struct alx_tx_queue *txq, static int alx_alloc_rx_ring(struct alx_priv *alx, struct alx_rx_queue *rxq, int offset) { - rxq->bufs = kcalloc(rxq->count, sizeof(struct alx_buffer), GFP_KERNEL); + rxq->bufs = kzalloc_objs(struct alx_buffer, rxq->count, GFP_KERNEL); if (!rxq->bufs) return -ENOMEM; @@ -746,7 +746,7 @@ static int alx_alloc_napis(struct alx_priv *alx) /* allocate alx_napi structures */ for (i = 0; i < alx->num_napi; i++) { - np = kzalloc(sizeof(struct alx_napi), GFP_KERNEL); + np = kzalloc_obj(struct alx_napi, GFP_KERNEL); if (!np) goto err_out; @@ -758,7 +758,7 @@ static int alx_alloc_napis(struct alx_priv *alx) /* allocate tx queues */ for (i = 0; i < alx->num_txq; i++) { np = alx->qnapi[i]; - txq = kzalloc(sizeof(*txq), GFP_KERNEL); + txq = kzalloc_obj(*txq, GFP_KERNEL); if (!txq) goto err_out; @@ -775,7 +775,7 @@ static int alx_alloc_napis(struct alx_priv *alx) /* allocate rx queues */ np = alx->qnapi[0]; - rxq = kzalloc(sizeof(*rxq), GFP_KERNEL); + rxq = kzalloc_obj(*rxq, GFP_KERNEL); if (!rxq) goto err_out; diff --git a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c index d0a480430a95..612abed61fff 100644 --- a/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c +++ b/drivers/net/ethernet/broadcom/asp2/bcmasp_intf.c @@ -689,8 +689,8 @@ static int bcmasp_alloc_buffers(struct bcmasp_intf *intf) if (!intf->tx_spb_cpu) goto free_rx_edpkt_dma; - intf->tx_cbs = kcalloc(DESC_RING_COUNT, sizeof(struct bcmasp_tx_cb), - GFP_KERNEL); + intf->tx_cbs = kzalloc_objs(struct bcmasp_tx_cb, DESC_RING_COUNT, + GFP_KERNEL); if (!intf->tx_cbs) goto free_tx_spb_dma; diff --git a/drivers/net/ethernet/broadcom/bcm4908_enet.c b/drivers/net/ethernet/broadcom/bcm4908_enet.c index 203e8d0dd04b..fa1fd5667596 100644 --- a/drivers/net/ethernet/broadcom/bcm4908_enet.c +++ b/drivers/net/ethernet/broadcom/bcm4908_enet.c @@ -181,7 +181,7 @@ static int bcm4908_dma_alloc_buf_descs(struct bcm4908_enet *enet, goto err_free_buf_descs; } - ring->slots = kcalloc(ring->length, sizeof(*ring->slots), GFP_KERNEL); + ring->slots = kzalloc_objs(*ring->slots, ring->length, GFP_KERNEL); if (!ring->slots) goto err_free_buf_descs; diff --git a/drivers/net/ethernet/broadcom/bcm63xx_enet.c b/drivers/net/ethernet/broadcom/bcm63xx_enet.c index 92204fea1f08..00408af127e1 100644 --- a/drivers/net/ethernet/broadcom/bcm63xx_enet.c +++ b/drivers/net/ethernet/broadcom/bcm63xx_enet.c @@ -981,8 +981,8 @@ static int bcm_enet_open(struct net_device *dev) priv->tx_desc_alloc_size = size; priv->tx_desc_cpu = p; - priv->tx_skb = kcalloc(priv->tx_ring_size, sizeof(struct sk_buff *), - GFP_KERNEL); + priv->tx_skb = kzalloc_objs(struct sk_buff *, priv->tx_ring_size, + GFP_KERNEL); if (!priv->tx_skb) { ret = -ENOMEM; goto out_free_tx_ring; @@ -2149,8 +2149,8 @@ static int bcm_enetsw_open(struct net_device *dev) priv->tx_desc_alloc_size = size; priv->tx_desc_cpu = p; - priv->tx_skb = kcalloc(priv->tx_ring_size, sizeof(struct sk_buff *), - GFP_KERNEL); + priv->tx_skb = kzalloc_objs(struct sk_buff *, priv->tx_ring_size, + GFP_KERNEL); if (!priv->tx_skb) { dev_err(kdev, "cannot allocate tx skb queue\n"); ret = -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bcmsysport.c b/drivers/net/ethernet/broadcom/bcmsysport.c index bc4e1f3b3752..f81392cbedd1 100644 --- a/drivers/net/ethernet/broadcom/bcmsysport.c +++ b/drivers/net/ethernet/broadcom/bcmsysport.c @@ -1486,7 +1486,7 @@ static int bcm_sysport_init_tx_ring(struct bcm_sysport_priv *priv, /* Simple descriptors partitioning for now */ size = 256; - ring->cbs = kcalloc(size, sizeof(struct bcm_sysport_cb), GFP_KERNEL); + ring->cbs = kzalloc_objs(struct bcm_sysport_cb, size, GFP_KERNEL); if (!ring->cbs) { netif_err(priv, hw, priv->netdev, "CB allocation failed\n"); return -ENOMEM; @@ -1665,8 +1665,8 @@ static int bcm_sysport_init_rx_ring(struct bcm_sysport_priv *priv) priv->rx_bds = priv->base + SYS_PORT_RDMA_OFFSET; priv->rx_c_index = 0; priv->rx_read_ptr = 0; - priv->rx_cbs = kcalloc(priv->num_rx_bds, sizeof(struct bcm_sysport_cb), - GFP_KERNEL); + priv->rx_cbs = kzalloc_objs(struct bcm_sysport_cb, priv->num_rx_bds, + GFP_KERNEL); if (!priv->rx_cbs) { netif_err(priv, hw, priv->netdev, "CB allocation failed\n"); return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_auxr.c b/drivers/net/ethernet/broadcom/bnge/bnge_auxr.c index 5f4cb4991964..d530046e027d 100644 --- a/drivers/net/ethernet/broadcom/bnge/bnge_auxr.c +++ b/drivers/net/ethernet/broadcom/bnge/bnge_auxr.c @@ -210,7 +210,7 @@ void bnge_rdma_aux_device_init(struct bnge_dev *bd) if (!bnge_is_roce_en(bd)) return; - aux_priv = kzalloc(sizeof(*aux_priv), GFP_KERNEL); + aux_priv = kzalloc_obj(*aux_priv, GFP_KERNEL); if (!aux_priv) goto exit; @@ -235,13 +235,13 @@ void bnge_rdma_aux_device_init(struct bnge_dev *bd) } bd->aux_priv = aux_priv; - auxr_dev = kzalloc(sizeof(*auxr_dev), GFP_KERNEL); + auxr_dev = kzalloc_obj(*auxr_dev, GFP_KERNEL); if (!auxr_dev) goto aux_dev_uninit; aux_priv->auxr_dev = auxr_dev; - auxr_info = kzalloc(sizeof(*auxr_info), GFP_KERNEL); + auxr_info = kzalloc_obj(*auxr_info, GFP_KERNEL); if (!auxr_info) goto aux_dev_uninit; diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_hwrm.c b/drivers/net/ethernet/broadcom/bnge/bnge_hwrm.c index c3087e5cd875..cf6e503d63a6 100644 --- a/drivers/net/ethernet/broadcom/bnge/bnge_hwrm.c +++ b/drivers/net/ethernet/broadcom/bnge/bnge_hwrm.c @@ -229,7 +229,7 @@ bnge_hwrm_create_token(struct bnge_dev *bd, enum bnge_hwrm_chnl dst) { struct bnge_hwrm_wait_token *token; - token = kzalloc(sizeof(*token), GFP_KERNEL); + token = kzalloc_obj(*token, GFP_KERNEL); if (!token) return NULL; diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c b/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c index 91a4ef9e3150..579943445b24 100644 --- a/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c +++ b/drivers/net/ethernet/broadcom/bnge/bnge_hwrm_lib.c @@ -242,7 +242,7 @@ static int bnge_alloc_all_ctx_pg_info(struct bnge_dev *bd, int ctx_max) if (ctxm->instance_bmap) n = hweight32(ctxm->instance_bmap); - ctxm->pg_info = kcalloc(n, sizeof(*ctxm->pg_info), GFP_KERNEL); + ctxm->pg_info = kzalloc_objs(*ctxm->pg_info, n, GFP_KERNEL); if (!ctxm->pg_info) return -ENOMEM; } @@ -269,7 +269,7 @@ int bnge_hwrm_func_backing_store_qcaps(struct bnge_dev *bd) if (rc) return rc; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; bd->ctx = ctx; diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_netdev.c b/drivers/net/ethernet/broadcom/bnge/bnge_netdev.c index b8e258842c61..74b552ee1796 100644 --- a/drivers/net/ethernet/broadcom/bnge/bnge_netdev.c +++ b/drivers/net/ethernet/broadcom/bnge/bnge_netdev.c @@ -127,11 +127,11 @@ static void bnge_free_cp_desc_arr(struct bnge_cp_ring_info *cpr) static int bnge_alloc_nq_desc_arr(struct bnge_nq_ring_info *nqr, int n) { - nqr->desc_ring = kcalloc(n, sizeof(*nqr->desc_ring), GFP_KERNEL); + nqr->desc_ring = kzalloc_objs(*nqr->desc_ring, n, GFP_KERNEL); if (!nqr->desc_ring) return -ENOMEM; - nqr->desc_mapping = kcalloc(n, sizeof(*nqr->desc_mapping), GFP_KERNEL); + nqr->desc_mapping = kzalloc_objs(*nqr->desc_mapping, n, GFP_KERNEL); if (!nqr->desc_mapping) goto err_free_desc_ring; return 0; @@ -144,11 +144,11 @@ err_free_desc_ring: static int bnge_alloc_cp_desc_arr(struct bnge_cp_ring_info *cpr, int n) { - cpr->desc_ring = kcalloc(n, sizeof(*cpr->desc_ring), GFP_KERNEL); + cpr->desc_ring = kzalloc_objs(*cpr->desc_ring, n, GFP_KERNEL); if (!cpr->desc_ring) return -ENOMEM; - cpr->desc_mapping = kcalloc(n, sizeof(*cpr->desc_mapping), GFP_KERNEL); + cpr->desc_mapping = kzalloc_objs(*cpr->desc_mapping, n, GFP_KERNEL); if (!cpr->desc_mapping) goto err_free_desc_ring; return 0; @@ -287,8 +287,7 @@ static int bnge_alloc_nq_tree(struct bnge_net *bn) tx = 1; } - nqr->cp_ring_arr = kcalloc(cp_count, sizeof(*cpr), - GFP_KERNEL); + nqr->cp_ring_arr = kzalloc_objs(*cpr, cp_count, GFP_KERNEL); if (!nqr->cp_ring_arr) { rc = -ENOMEM; goto err_free_nq_tree; @@ -510,21 +509,21 @@ static int bnge_alloc_tpa_info(struct bnge_net *bn) for (i = 0; i < bd->rx_nr_rings; i++) { struct bnge_rx_ring_info *rxr = &bn->rx_ring[i]; - rxr->rx_tpa = kcalloc(bn->max_tpa, sizeof(struct bnge_tpa_info), - GFP_KERNEL); + rxr->rx_tpa = kzalloc_objs(struct bnge_tpa_info, bn->max_tpa, + GFP_KERNEL); if (!rxr->rx_tpa) goto err_free_tpa_info; for (j = 0; j < bn->max_tpa; j++) { struct rx_agg_cmp *agg; - agg = kcalloc(MAX_SKB_FRAGS, sizeof(*agg), GFP_KERNEL); + agg = kzalloc_objs(*agg, MAX_SKB_FRAGS, GFP_KERNEL); if (!agg) goto err_free_tpa_info; rxr->rx_tpa[j].agg_arr = agg; } - rxr->rx_tpa_idx_map = kzalloc(sizeof(*rxr->rx_tpa_idx_map), - GFP_KERNEL); + rxr->rx_tpa_idx_map = kzalloc_obj(*rxr->rx_tpa_idx_map, + GFP_KERNEL); if (!rxr->rx_tpa_idx_map) goto err_free_tpa_info; } @@ -813,8 +812,8 @@ static int bnge_alloc_vnics(struct bnge_net *bn) */ num_vnics = 1; - bn->vnic_info = kcalloc(num_vnics, sizeof(struct bnge_vnic_info), - GFP_KERNEL); + bn->vnic_info = kzalloc_objs(struct bnge_vnic_info, num_vnics, + GFP_KERNEL); if (!bn->vnic_info) return -ENOMEM; @@ -841,9 +840,8 @@ static int bnge_init_ring_grps(struct bnge_net *bn) struct bnge_dev *bd = bn->bd; int i; - bn->grp_info = kcalloc(bd->nq_nr_rings, - sizeof(struct bnge_ring_grp_info), - GFP_KERNEL); + bn->grp_info = kzalloc_objs(struct bnge_ring_grp_info, bd->nq_nr_rings, + GFP_KERNEL); if (!bn->grp_info) return -ENOMEM; for (i = 0; i < bd->nq_nr_rings; i++) { @@ -903,9 +901,8 @@ static int bnge_alloc_core(struct bnge_net *bn) nqr->ring_struct.ring_mem.flags = BNGE_RMEM_RING_PTE_FLAG; } - bn->rx_ring = kcalloc(bd->rx_nr_rings, - sizeof(struct bnge_rx_ring_info), - GFP_KERNEL); + bn->rx_ring = kzalloc_objs(struct bnge_rx_ring_info, bd->rx_nr_rings, + GFP_KERNEL); if (!bn->rx_ring) goto err_free_core; @@ -920,9 +917,8 @@ static int bnge_alloc_core(struct bnge_net *bn) bn->bnapi[i]->rx_ring = &bn->rx_ring[i]; } - bn->tx_ring = kcalloc(bd->tx_nr_rings, - sizeof(struct bnge_tx_ring_info), - GFP_KERNEL); + bn->tx_ring = kzalloc_objs(struct bnge_tx_ring_info, bd->tx_nr_rings, + GFP_KERNEL); if (!bn->tx_ring) goto err_free_core; @@ -1778,7 +1774,7 @@ static struct bnge_l2_filter *bnge_alloc_l2_filter(struct bnge_net *bn, if (fltr) return fltr; - fltr = kzalloc(sizeof(*fltr), gfp); + fltr = kzalloc_obj(*fltr, gfp); if (!fltr) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_resc.c b/drivers/net/ethernet/broadcom/bnge/bnge_resc.c index 943df5f60f01..155b48cd2af8 100644 --- a/drivers/net/ethernet/broadcom/bnge/bnge_resc.c +++ b/drivers/net/ethernet/broadcom/bnge/bnge_resc.c @@ -389,7 +389,7 @@ int bnge_alloc_irqs(struct bnge_dev *bd) num_entries = irqs_demand; if (pci_msix_can_alloc_dyn(bd->pdev)) num_entries = max; - bd->irq_tbl = kcalloc(num_entries, sizeof(*bd->irq_tbl), GFP_KERNEL); + bd->irq_tbl = kzalloc_objs(*bd->irq_tbl, num_entries, GFP_KERNEL); if (!bd->irq_tbl) { rc = -ENOMEM; goto err_free_irqs; diff --git a/drivers/net/ethernet/broadcom/bnge/bnge_rmem.c b/drivers/net/ethernet/broadcom/bnge/bnge_rmem.c index ee97be440c33..fb89737b481d 100644 --- a/drivers/net/ethernet/broadcom/bnge/bnge_rmem.c +++ b/drivers/net/ethernet/broadcom/bnge/bnge_rmem.c @@ -158,8 +158,8 @@ static int bnge_alloc_ctx_pg_tbls(struct bnge_dev *bd, int nr_tbls, i; rmem->depth = 2; - ctx_pg->ctx_pg_tbl = kcalloc(MAX_CTX_PAGES, sizeof(ctx_pg), - GFP_KERNEL); + ctx_pg->ctx_pg_tbl = kzalloc_objs(ctx_pg, MAX_CTX_PAGES, + GFP_KERNEL); if (!ctx_pg->ctx_pg_tbl) return -ENOMEM; nr_tbls = DIV_ROUND_UP(ctx_pg->nr_pages, MAX_CTX_PAGES); @@ -170,7 +170,7 @@ static int bnge_alloc_ctx_pg_tbls(struct bnge_dev *bd, for (i = 0; i < nr_tbls; i++) { struct bnge_ctx_pg_info *pg_tbl; - pg_tbl = kzalloc(sizeof(*pg_tbl), GFP_KERNEL); + pg_tbl = kzalloc_obj(*pg_tbl, GFP_KERNEL); if (!pg_tbl) return -ENOMEM; ctx_pg->ctx_pg_tbl[i] = pg_tbl; diff --git a/drivers/net/ethernet/broadcom/bnx2.c b/drivers/net/ethernet/broadcom/bnx2.c index 805daae9dd36..97aafe021477 100644 --- a/drivers/net/ethernet/broadcom/bnx2.c +++ b/drivers/net/ethernet/broadcom/bnx2.c @@ -8084,7 +8084,7 @@ bnx2_init_board(struct pci_dev *pdev, struct net_device *dev) bp->phy_flags = 0; bp->temp_stats_blk = - kzalloc(sizeof(struct statistics_block), GFP_KERNEL); + kzalloc_obj(struct statistics_block, GFP_KERNEL); if (!bp->temp_stats_blk) { rc = -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c index e59530357e2c..ea0fc6add87d 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c @@ -4582,9 +4582,9 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index) "allocating tx memory of fp %d cos %d\n", index, cos); - txdata->tx_buf_ring = kcalloc(NUM_TX_BD, - sizeof(struct sw_tx_bd), - GFP_KERNEL); + txdata->tx_buf_ring = kzalloc_objs(struct sw_tx_bd, + NUM_TX_BD, + GFP_KERNEL); if (!txdata->tx_buf_ring) goto alloc_mem_err; txdata->tx_desc_ring = BNX2X_PCI_ALLOC(&txdata->tx_desc_mapping, @@ -4598,7 +4598,7 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index) if (!skip_rx_queue(bp, index)) { /* fastpath rx rings: rx_buf rx_desc rx_comp */ bnx2x_fp(bp, index, rx_buf_ring) = - kcalloc(NUM_RX_BD, sizeof(struct sw_rx_bd), GFP_KERNEL); + kzalloc_objs(struct sw_rx_bd, NUM_RX_BD, GFP_KERNEL); if (!bnx2x_fp(bp, index, rx_buf_ring)) goto alloc_mem_err; bnx2x_fp(bp, index, rx_desc_ring) = @@ -4616,8 +4616,7 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index) /* SGE ring */ bnx2x_fp(bp, index, rx_page_ring) = - kcalloc(NUM_RX_SGE, sizeof(struct sw_rx_page), - GFP_KERNEL); + kzalloc_objs(struct sw_rx_page, NUM_RX_SGE, GFP_KERNEL); if (!bnx2x_fp(bp, index, rx_page_ring)) goto alloc_mem_err; bnx2x_fp(bp, index, rx_sge_ring) = @@ -4747,13 +4746,14 @@ int bnx2x_alloc_mem_bp(struct bnx2x *bp) bp->fp_array_size = fp_array_size; BNX2X_DEV_INFO("fp_array_size %d\n", bp->fp_array_size); - fp = kcalloc(bp->fp_array_size, sizeof(*fp), GFP_KERNEL); + fp = kzalloc_objs(*fp, bp->fp_array_size, GFP_KERNEL); if (!fp) goto alloc_err; for (i = 0; i < bp->fp_array_size; i++) { fp[i].tpa_info = - kcalloc(ETH_MAX_AGGREGATION_QUEUES_E1H_E2, - sizeof(struct bnx2x_agg_info), GFP_KERNEL); + kzalloc_objs(struct bnx2x_agg_info, + ETH_MAX_AGGREGATION_QUEUES_E1H_E2, + GFP_KERNEL); if (!(fp[i].tpa_info)) goto alloc_err; } @@ -4761,14 +4761,14 @@ int bnx2x_alloc_mem_bp(struct bnx2x *bp) bp->fp = fp; /* allocate sp objs */ - bp->sp_objs = kcalloc(bp->fp_array_size, sizeof(struct bnx2x_sp_objs), - GFP_KERNEL); + bp->sp_objs = kzalloc_objs(struct bnx2x_sp_objs, bp->fp_array_size, + GFP_KERNEL); if (!bp->sp_objs) goto alloc_err; /* allocate fp_stats */ - bp->fp_stats = kcalloc(bp->fp_array_size, sizeof(struct bnx2x_fp_stats), - GFP_KERNEL); + bp->fp_stats = kzalloc_objs(struct bnx2x_fp_stats, bp->fp_array_size, + GFP_KERNEL); if (!bp->fp_stats) goto alloc_err; @@ -4777,19 +4777,19 @@ int bnx2x_alloc_mem_bp(struct bnx2x *bp) BNX2X_MAX_RSS_COUNT(bp) * BNX2X_MULTI_TX_COS + CNIC_SUPPORT(bp); BNX2X_DEV_INFO("txq_array_size %d", txq_array_size); - bp->bnx2x_txq = kcalloc(txq_array_size, sizeof(struct bnx2x_fp_txdata), - GFP_KERNEL); + bp->bnx2x_txq = kzalloc_objs(struct bnx2x_fp_txdata, txq_array_size, + GFP_KERNEL); if (!bp->bnx2x_txq) goto alloc_err; /* msix table */ - tbl = kcalloc(msix_table_size, sizeof(*tbl), GFP_KERNEL); + tbl = kzalloc_objs(*tbl, msix_table_size, GFP_KERNEL); if (!tbl) goto alloc_err; bp->msix_table = tbl; /* ilt */ - ilt = kzalloc(sizeof(*ilt), GFP_KERNEL); + ilt = kzalloc_obj(*ilt, GFP_KERNEL); if (!ilt) goto alloc_err; bp->ilt = ilt; diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c index 6a1cc2032bf3..745b023e2e08 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c @@ -6577,7 +6577,7 @@ static int bnx2x_gunzip_init(struct bnx2x *bp) if (bp->gunzip_buf == NULL) goto gunzip_nomem1; - bp->strm = kmalloc(sizeof(*bp->strm), GFP_KERNEL); + bp->strm = kmalloc_obj(*bp->strm, GFP_KERNEL); if (bp->strm == NULL) goto gunzip_nomem2; @@ -8396,8 +8396,8 @@ int bnx2x_alloc_mem(struct bnx2x *bp) goto alloc_mem_err; allocated += bp->context[i].size; } - bp->ilt->lines = kcalloc(ILT_MAX_LINES, sizeof(struct ilt_line), - GFP_KERNEL); + bp->ilt->lines = kzalloc_objs(struct ilt_line, ILT_MAX_LINES, + GFP_KERNEL); if (!bp->ilt->lines) goto alloc_mem_err; @@ -10660,7 +10660,7 @@ static int bnx2x_prev_mark_path(struct bnx2x *bp, bool after_undi) up(&bnx2x_prev_sem); /* Create an entry for this path and add it */ - tmp_list = kmalloc(sizeof(struct bnx2x_prev_path_list), GFP_KERNEL); + tmp_list = kmalloc_obj(struct bnx2x_prev_path_list, GFP_KERNEL); if (!tmp_list) { BNX2X_ERR("Failed to allocate 'bnx2x_prev_path_list'\n"); return -ENOMEM; @@ -12954,7 +12954,7 @@ static int bnx2x_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) DP(NETIF_MSG_IFUP, "Adding VLAN %d\n", vid); - vlan = kmalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kmalloc_obj(*vlan, GFP_KERNEL); if (!vlan) return -ENOMEM; @@ -14841,7 +14841,7 @@ static int bnx2x_get_fc_npiv(struct net_device *dev, DP(BNX2X_MSG_MCP, "About to read the FC-NPIV table\n"); - tbl = kmalloc(sizeof(*tbl), GFP_KERNEL); + tbl = kmalloc_obj(*tbl, GFP_KERNEL); if (!tbl) { BNX2X_ERR("Failed to allocate fc_npiv table\n"); goto out; diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c index 02c8213915a5..07a908a2c72f 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c @@ -251,7 +251,7 @@ static inline struct bnx2x_exeq_elem *bnx2x_exe_queue_alloc_elem( struct bnx2x *bp) { DP(BNX2X_MSG_SP, "Allocating a new exe_queue element\n"); - return kzalloc(sizeof(struct bnx2x_exeq_elem), GFP_ATOMIC); + return kzalloc_obj(struct bnx2x_exeq_elem, GFP_ATOMIC); } /************************ raw_obj functions ***********************************/ @@ -1736,7 +1736,7 @@ static inline int bnx2x_vlan_mac_get_registry_elem( /* Allocate a new registry element if needed. */ if (!restore && ((cmd == BNX2X_VLAN_MAC_ADD) || (cmd == BNX2X_VLAN_MAC_MOVE))) { - reg_elem = kzalloc(sizeof(*reg_elem), GFP_ATOMIC); + reg_elem = kzalloc_obj(*reg_elem, GFP_ATOMIC); if (!reg_elem) return -ENOMEM; @@ -2688,7 +2688,7 @@ static int bnx2x_mcast_enqueue_cmd(struct bnx2x *bp, return 0; /* Add mcast is called under spin_lock, thus calling with GFP_ATOMIC */ - new_cmd = kzalloc(sizeof(*new_cmd), GFP_ATOMIC); + new_cmd = kzalloc_obj(*new_cmd, GFP_ATOMIC); if (!new_cmd) return -ENOMEM; @@ -3846,7 +3846,7 @@ static inline int bnx2x_mcast_refresh_registry_e1(struct bnx2x *bp, if (!list_empty(&o->registry.exact_match.macs)) return 0; - elem = kcalloc(len, sizeof(*elem), GFP_ATOMIC); + elem = kzalloc_objs(*elem, len, GFP_ATOMIC); if (!elem) { BNX2X_ERR("Failed to allocate registry memory\n"); return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c index 12198fc3ab22..5aeb5b6a64b5 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.c @@ -551,8 +551,8 @@ int bnx2x_vf_mcast(struct bnx2x *bp, struct bnx2x_virtf *vf, else set_bit(RAMROD_COMP_WAIT, &mcast.ramrod_flags); if (mc_num) { - mc = kcalloc(mc_num, sizeof(struct bnx2x_mcast_list_elem), - GFP_KERNEL); + mc = kzalloc_objs(struct bnx2x_mcast_list_elem, mc_num, + GFP_KERNEL); if (!mc) { BNX2X_ERR("Cannot Configure multicasts due to lack of memory\n"); return -ENOMEM; @@ -1218,7 +1218,7 @@ int bnx2x_iov_init_one(struct bnx2x *bp, int int_mode_param, } /* allocate the vfs database */ - bp->vfdb = kzalloc(sizeof(*(bp->vfdb)), GFP_KERNEL); + bp->vfdb = kzalloc_obj(*(bp->vfdb), GFP_KERNEL); if (!bp->vfdb) { BNX2X_ERR("failed to allocate vf database\n"); err = -ENOMEM; @@ -1247,9 +1247,8 @@ int bnx2x_iov_init_one(struct bnx2x *bp, int int_mode_param, num_vfs_param, iov->nr_virtfn); /* allocate the vf array */ - bp->vfdb->vfs = kcalloc(BNX2X_NR_VIRTFN(bp), - sizeof(struct bnx2x_virtf), - GFP_KERNEL); + bp->vfdb->vfs = kzalloc_objs(struct bnx2x_virtf, BNX2X_NR_VIRTFN(bp), + GFP_KERNEL); if (!bp->vfdb->vfs) { BNX2X_ERR("failed to allocate vf array\n"); err = -ENOMEM; @@ -1275,9 +1274,8 @@ int bnx2x_iov_init_one(struct bnx2x *bp, int int_mode_param, } /* allocate the queue arrays for all VFs */ - bp->vfdb->vfqs = kcalloc(BNX2X_MAX_NUM_VF_QUEUES, - sizeof(struct bnx2x_vf_queue), - GFP_KERNEL); + bp->vfdb->vfqs = kzalloc_objs(struct bnx2x_vf_queue, + BNX2X_MAX_NUM_VF_QUEUES, GFP_KERNEL); if (!bp->vfdb->vfqs) { BNX2X_ERR("failed to allocate vf queue array\n"); diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c index 8946a931e87e..818481f7a3ea 100644 --- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c +++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c @@ -1654,8 +1654,7 @@ static int bnx2x_vf_mbx_macvlan_list(struct bnx2x *bp, int i, j; struct bnx2x_vf_mac_vlan_filters *fl = NULL; - fl = kzalloc(struct_size(fl, filters, tlv->n_mac_vlan_filters), - GFP_KERNEL); + fl = kzalloc_flex(*fl, filters, tlv->n_mac_vlan_filters, GFP_KERNEL); if (!fl) return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt.c b/drivers/net/ethernet/broadcom/bnxt/bnxt.c index fb45e1dd1dd7..ad5035cd8ac3 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt.c @@ -3752,21 +3752,20 @@ static int bnxt_alloc_one_tpa_info(struct bnxt *bp, struct rx_agg_cmp *agg; int i; - rxr->rx_tpa = kcalloc(bp->max_tpa, sizeof(struct bnxt_tpa_info), - GFP_KERNEL); + rxr->rx_tpa = kzalloc_objs(struct bnxt_tpa_info, bp->max_tpa, + GFP_KERNEL); if (!rxr->rx_tpa) return -ENOMEM; if (!(bp->flags & BNXT_FLAG_CHIP_P5_PLUS)) return 0; for (i = 0; i < bp->max_tpa; i++) { - agg = kcalloc(MAX_SKB_FRAGS, sizeof(*agg), GFP_KERNEL); + agg = kzalloc_objs(*agg, MAX_SKB_FRAGS, GFP_KERNEL); if (!agg) return -ENOMEM; rxr->rx_tpa[i].agg_arr = agg; } - rxr->rx_tpa_idx_map = kzalloc(sizeof(*rxr->rx_tpa_idx_map), - GFP_KERNEL); + rxr->rx_tpa_idx_map = kzalloc_obj(*rxr->rx_tpa_idx_map, GFP_KERNEL); if (!rxr->rx_tpa_idx_map) return -ENOMEM; @@ -4081,11 +4080,11 @@ static void bnxt_free_cp_arrays(struct bnxt_cp_ring_info *cpr) static int bnxt_alloc_cp_arrays(struct bnxt_cp_ring_info *cpr, int n) { - cpr->cp_desc_ring = kcalloc(n, sizeof(*cpr->cp_desc_ring), GFP_KERNEL); + cpr->cp_desc_ring = kzalloc_objs(*cpr->cp_desc_ring, n, GFP_KERNEL); if (!cpr->cp_desc_ring) return -ENOMEM; - cpr->cp_desc_mapping = kcalloc(n, sizeof(*cpr->cp_desc_mapping), - GFP_KERNEL); + cpr->cp_desc_mapping = kzalloc_objs(*cpr->cp_desc_mapping, n, + GFP_KERNEL); if (!cpr->cp_desc_mapping) return -ENOMEM; return 0; @@ -4232,8 +4231,7 @@ static int bnxt_alloc_cp_rings(struct bnxt *bp) tx = 1; } - cpr->cp_ring_arr = kcalloc(cp_count, sizeof(*cpr), - GFP_KERNEL); + cpr->cp_ring_arr = kzalloc_objs(*cpr, cp_count, GFP_KERNEL); if (!cpr->cp_ring_arr) return -ENOMEM; cpr->cp_ring_count = cp_count; @@ -4627,9 +4625,8 @@ static int bnxt_init_ring_grps(struct bnxt *bp, bool irq_re_init) int i; if (irq_re_init) { - bp->grp_info = kcalloc(bp->cp_nr_rings, - sizeof(struct bnxt_ring_grp_info), - GFP_KERNEL); + bp->grp_info = kzalloc_objs(struct bnxt_ring_grp_info, + bp->cp_nr_rings, GFP_KERNEL); if (!bp->grp_info) return -ENOMEM; } @@ -4667,8 +4664,8 @@ static int bnxt_alloc_vnics(struct bnxt *bp) if (BNXT_CHIP_TYPE_NITRO_A0(bp)) num_vnics++; - bp->vnic_info = kcalloc(num_vnics, sizeof(struct bnxt_vnic_info), - GFP_KERNEL); + bp->vnic_info = kzalloc_objs(struct bnxt_vnic_info, num_vnics, + GFP_KERNEL); if (!bp->vnic_info) return -ENOMEM; @@ -5248,7 +5245,7 @@ static int bnxt_alloc_stats(struct bnxt *bp) struct bnxt_napi *bnapi = bp->bnapi[i]; struct bnxt_cp_ring_info *cpr = &bnapi->cp_ring; - cpr->sw_stats = kzalloc(sizeof(*cpr->sw_stats), GFP_KERNEL); + cpr->sw_stats = kzalloc_obj(*cpr->sw_stats, GFP_KERNEL); if (!cpr->sw_stats) return -ENOMEM; @@ -5516,9 +5513,8 @@ static int bnxt_alloc_mem(struct bnxt *bp, bool irq_re_init) } } - bp->rx_ring = kcalloc(bp->rx_nr_rings, - sizeof(struct bnxt_rx_ring_info), - GFP_KERNEL); + bp->rx_ring = kzalloc_objs(struct bnxt_rx_ring_info, + bp->rx_nr_rings, GFP_KERNEL); if (!bp->rx_ring) return -ENOMEM; @@ -5537,9 +5533,8 @@ static int bnxt_alloc_mem(struct bnxt *bp, bool irq_re_init) bp->bnapi[i]->rx_ring = &bp->rx_ring[i]; } - bp->tx_ring = kcalloc(bp->tx_nr_rings, - sizeof(struct bnxt_tx_ring_info), - GFP_KERNEL); + bp->tx_ring = kzalloc_objs(struct bnxt_tx_ring_info, + bp->tx_nr_rings, GFP_KERNEL); if (!bp->tx_ring) return -ENOMEM; @@ -6096,7 +6091,7 @@ static struct bnxt_l2_filter *bnxt_alloc_l2_filter(struct bnxt *bp, if (fltr) return fltr; - fltr = kzalloc(sizeof(*fltr), gfp); + fltr = kzalloc_obj(*fltr, gfp); if (!fltr) return ERR_PTR(-ENOMEM); spin_lock_bh(&bp->ntp_fltr_lock); @@ -6125,7 +6120,7 @@ struct bnxt_l2_filter *bnxt_alloc_new_l2_filter(struct bnxt *bp, fltr = ERR_PTR(-EEXIST); goto l2_filter_exit; } - fltr = kzalloc(sizeof(*fltr), GFP_ATOMIC); + fltr = kzalloc_obj(*fltr, GFP_ATOMIC); if (!fltr) { fltr = ERR_PTR(-ENOMEM); goto l2_filter_exit; @@ -8655,7 +8650,7 @@ static int bnxt_alloc_all_ctx_pg_info(struct bnxt *bp, int ctx_max) if (ctxm->instance_bmap) n = hweight32(ctxm->instance_bmap); - ctxm->pg_info = kcalloc(n, sizeof(*ctxm->pg_info), GFP_KERNEL); + ctxm->pg_info = kzalloc_objs(*ctxm->pg_info, n, GFP_KERNEL); if (!ctxm->pg_info) return -ENOMEM; } @@ -8682,7 +8677,7 @@ static int bnxt_hwrm_func_backing_store_qcaps_v2(struct bnxt *bp) return rc; if (!ctx) { - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; bp->ctx = ctx; @@ -8769,7 +8764,7 @@ static int bnxt_hwrm_func_backing_store_qcaps(struct bnxt *bp) ctx = bp->ctx; if (!ctx) { - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) { rc = -ENOMEM; goto ctx_err; @@ -9048,8 +9043,8 @@ static int bnxt_alloc_ctx_pg_tbls(struct bnxt *bp, int nr_tbls, i; rmem->depth = 2; - ctx_pg->ctx_pg_tbl = kcalloc(MAX_CTX_PAGES, sizeof(ctx_pg), - GFP_KERNEL); + ctx_pg->ctx_pg_tbl = kzalloc_objs(ctx_pg, MAX_CTX_PAGES, + GFP_KERNEL); if (!ctx_pg->ctx_pg_tbl) return -ENOMEM; nr_tbls = DIV_ROUND_UP(ctx_pg->nr_pages, MAX_CTX_PAGES); @@ -9060,7 +9055,7 @@ static int bnxt_alloc_ctx_pg_tbls(struct bnxt *bp, for (i = 0; i < nr_tbls; i++) { struct bnxt_ctx_pg_info *pg_tbl; - pg_tbl = kzalloc(sizeof(*pg_tbl), GFP_KERNEL); + pg_tbl = kzalloc_obj(*pg_tbl, GFP_KERNEL); if (!pg_tbl) return -ENOMEM; ctx_pg->ctx_pg_tbl[i] = pg_tbl; @@ -9569,8 +9564,7 @@ static int bnxt_alloc_crash_dump_mem(struct bnxt *bp) if (bp->fw_crash_mem) bnxt_free_ctx_pg_tbls(bp, bp->fw_crash_mem); else - bp->fw_crash_mem = kzalloc(sizeof(*bp->fw_crash_mem), - GFP_KERNEL); + bp->fw_crash_mem = kzalloc_obj(*bp->fw_crash_mem, GFP_KERNEL); if (!bp->fw_crash_mem) return -ENOMEM; @@ -9677,7 +9671,7 @@ static int __bnxt_hwrm_ptp_qcfg(struct bnxt *bp) goto exit; } if (!ptp) { - ptp = kzalloc(sizeof(*ptp), GFP_KERNEL); + ptp = kzalloc_obj(*ptp, GFP_KERNEL); if (!ptp) { rc = -ENOMEM; goto exit; @@ -9949,7 +9943,7 @@ static int __bnxt_alloc_fw_health(struct bnxt *bp) if (bp->fw_health) return 0; - bp->fw_health = kzalloc(sizeof(*bp->fw_health), GFP_KERNEL); + bp->fw_health = kzalloc_obj(*bp->fw_health, GFP_KERNEL); if (!bp->fw_health) return -ENOMEM; @@ -11460,7 +11454,7 @@ static int bnxt_init_int_mode(struct bnxt *bp) tbl_size = total_vecs; if (pci_msix_can_alloc_dyn(bp->pdev)) tbl_size = max; - bp->irq_tbl = kcalloc(tbl_size, sizeof(*bp->irq_tbl), GFP_KERNEL); + bp->irq_tbl = kzalloc_objs(*bp->irq_tbl, tbl_size, GFP_KERNEL); if (bp->irq_tbl) { for (i = 0; i < total_vecs; i++) bp->irq_tbl[i].vector = pci_irq_vector(bp->pdev, i); @@ -12957,7 +12951,7 @@ static int bnxt_set_xps_mapping(struct bnxt *bp) cpumask_t *q_map; int rc = 0; - q_map = kcalloc(bp->tx_nr_rings_per_tc, sizeof(*q_map), GFP_KERNEL); + q_map = kzalloc_objs(*q_map, bp->tx_nr_rings_per_tc, GFP_KERNEL); if (!q_map) return -ENOMEM; @@ -15650,7 +15644,7 @@ static int bnxt_rx_flow_steer(struct net_device *dev, const struct sk_buff *skb, return -EINVAL; } } - new_fltr = kzalloc(sizeof(*new_fltr), GFP_ATOMIC); + new_fltr = kzalloc_obj(*new_fltr, GFP_ATOMIC); if (!new_fltr) { bnxt_del_l2_filter(bp, l2_fltr); return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c index a00b67334f9b..00e3ef076d93 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_dcb.c @@ -529,7 +529,7 @@ static int bnxt_dcbnl_ieee_getets(struct net_device *dev, struct ieee_ets *ets) if (bp->dcbx_cap & DCB_CAP_DCBX_HOST) return 0; - my_ets = kzalloc(sizeof(*my_ets), GFP_KERNEL); + my_ets = kzalloc_obj(*my_ets, GFP_KERNEL); if (!my_ets) return -ENOMEM; rc = bnxt_hwrm_queue_cos2bw_qcfg(bp, my_ets); @@ -568,7 +568,7 @@ static int bnxt_dcbnl_ieee_setets(struct net_device *dev, struct ieee_ets *ets) rc = bnxt_ets_validate(bp, ets, &max_tc); if (!rc) { if (!my_ets) { - my_ets = kzalloc(sizeof(*my_ets), GFP_KERNEL); + my_ets = kzalloc_obj(*my_ets, GFP_KERNEL); if (!my_ets) return -ENOMEM; /* initialize PRI2TC mappings to invalid value */ @@ -604,7 +604,7 @@ static int bnxt_dcbnl_ieee_getpfc(struct net_device *dev, struct ieee_pfc *pfc) if (bp->dcbx_cap & DCB_CAP_DCBX_HOST) return 0; - my_pfc = kzalloc(sizeof(*my_pfc), GFP_KERNEL); + my_pfc = kzalloc_obj(*my_pfc, GFP_KERNEL); if (!my_pfc) return 0; bp->ieee_pfc = my_pfc; @@ -642,7 +642,7 @@ static int bnxt_dcbnl_ieee_setpfc(struct net_device *dev, struct ieee_pfc *pfc) return -EINVAL; if (!my_pfc) { - my_pfc = kzalloc(sizeof(*my_pfc), GFP_KERNEL); + my_pfc = kzalloc_obj(*my_pfc, GFP_KERNEL); if (!my_pfc) return -ENOMEM; bp->ieee_pfc = my_pfc; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c index 53a83b6680c4..e7455ef8984a 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c @@ -1371,7 +1371,7 @@ static int bnxt_add_ntuple_cls_rule(struct bnxt *bp, return -EOPNOTSUPP; } - new_fltr = kzalloc(sizeof(*new_fltr), GFP_KERNEL); + new_fltr = kzalloc_obj(*new_fltr, GFP_KERNEL); if (!new_fltr) return -ENOMEM; @@ -5485,7 +5485,7 @@ void bnxt_ethtool_init(struct bnxt *bp) test_info = bp->test_info; if (!test_info) { - test_info = kzalloc(sizeof(*bp->test_info), GFP_KERNEL); + test_info = kzalloc_obj(*bp->test_info, GFP_KERNEL); if (!test_info) return; bp->test_info = test_info; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c index 5ce190f50120..fcb4edb24012 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_hwrm.c @@ -371,7 +371,7 @@ __hwrm_acquire_token(struct bnxt *bp, enum bnxt_hwrm_chnl dst) { struct bnxt_hwrm_wait_token *token; - token = kzalloc(sizeof(*token), GFP_KERNEL); + token = kzalloc_obj(*token, GFP_KERNEL); if (!token) return NULL; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c index ad89c5fa9b40..0135c53d4b47 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ptp.c @@ -983,9 +983,8 @@ static int bnxt_ptp_pps_init(struct bnxt *bp) pps_info = &ptp->pps_info; pps_info->num_pins = resp->num_pins; ptp_info->n_pins = pps_info->num_pins; - ptp_info->pin_config = kcalloc(ptp_info->n_pins, - sizeof(*ptp_info->pin_config), - GFP_KERNEL); + ptp_info->pin_config = kzalloc_objs(*ptp_info->pin_config, + ptp_info->n_pins, GFP_KERNEL); if (!ptp_info->pin_config) { hwrm_req_drop(bp, req); return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c index be7deb9cc410..d0f5f2ad5b26 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_sriov.c @@ -459,7 +459,7 @@ static int bnxt_alloc_vf_resources(struct bnxt *bp, int num_vfs) struct pci_dev *pdev = bp->pdev; u32 nr_pages, size, i, j, k = 0; - bp->pf.vf = kcalloc(num_vfs, sizeof(struct bnxt_vf_info), GFP_KERNEL); + bp->pf.vf = kzalloc_objs(struct bnxt_vf_info, num_vfs, GFP_KERNEL); if (!bp->pf.vf) return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c index 2d66bf59cd64..c678305d588c 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_tc.c @@ -977,7 +977,7 @@ bnxt_tc_get_l2_node(struct bnxt *bp, struct rhashtable *l2_table, l2_node = rhashtable_lookup_fast(l2_table, l2_key, ht_params); if (!l2_node) { - l2_node = kzalloc(sizeof(*l2_node), GFP_KERNEL); + l2_node = kzalloc_obj(*l2_node, GFP_KERNEL); if (!l2_node) { rc = -ENOMEM; return NULL; @@ -1128,7 +1128,7 @@ bnxt_tc_get_tunnel_node(struct bnxt *bp, struct rhashtable *tunnel_table, tunnel_node = rhashtable_lookup_fast(tunnel_table, tun_key, *ht_params); if (!tunnel_node) { - tunnel_node = kzalloc(sizeof(*tunnel_node), GFP_KERNEL); + tunnel_node = kzalloc_obj(*tunnel_node, GFP_KERNEL); if (!tunnel_node) { rc = -ENOMEM; goto err; @@ -1535,7 +1535,7 @@ static int bnxt_tc_add_flow(struct bnxt *bp, u16 src_fid, int rc; /* allocate memory for the new flow and it's node */ - new_node = kzalloc(sizeof(*new_node), GFP_KERNEL); + new_node = kzalloc_obj(*new_node, GFP_KERNEL); if (!new_node) { rc = -ENOMEM; goto done; @@ -1915,7 +1915,7 @@ static int bnxt_tc_setup_indr_block(struct net_device *netdev, struct Qdisc *sch switch (f->command) { case FLOW_BLOCK_BIND: - cb_priv = kmalloc(sizeof(*cb_priv), GFP_KERNEL); + cb_priv = kmalloc_obj(*cb_priv, GFP_KERNEL); if (!cb_priv) return -ENOMEM; @@ -2018,7 +2018,7 @@ int bnxt_init_tc(struct bnxt *bp) if (bp->hwrm_spec_code < 0x10803) return 0; - tc_info = kzalloc(sizeof(*tc_info), GFP_KERNEL); + tc_info = kzalloc_obj(*tc_info, GFP_KERNEL); if (!tc_info) return -ENOMEM; mutex_init(&tc_info->lock); diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c index 927971c362f1..ca95f6e70dde 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c @@ -333,8 +333,8 @@ void bnxt_ulp_irq_restart(struct bnxt *bp, int err) return; if (!err) { - ent = kcalloc(ulp->msix_requested, sizeof(*ent), - GFP_KERNEL); + ent = kzalloc_objs(*ent, ulp->msix_requested, + GFP_KERNEL); if (!ent) return; bnxt_fill_msix_vecs(bp, ent); @@ -479,7 +479,7 @@ void bnxt_rdma_aux_device_init(struct bnxt *bp) if (!(bp->flags & BNXT_FLAG_ROCE_CAP)) return; - aux_priv = kzalloc(sizeof(*bp->aux_priv), GFP_KERNEL); + aux_priv = kzalloc_obj(*bp->aux_priv, GFP_KERNEL); if (!aux_priv) goto exit; @@ -509,13 +509,13 @@ void bnxt_rdma_aux_device_init(struct bnxt *bp) * any error unwinding will need to include a call to * auxiliary_device_uninit. */ - edev = kzalloc(sizeof(*edev), GFP_KERNEL); + edev = kzalloc_obj(*edev, GFP_KERNEL); if (!edev) goto aux_dev_uninit; aux_priv->edev = edev; - ulp = kzalloc(sizeof(*ulp), GFP_KERNEL); + ulp = kzalloc_obj(*ulp, GFP_KERNEL); if (!ulp) goto aux_dev_uninit; diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c index bd116fd578d8..d0a67616f927 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_vfr.c @@ -496,7 +496,7 @@ int bnxt_vf_reps_create(struct bnxt *bp) if (!(bp->flags & BNXT_FLAG_DSN_VALID)) return -ENODEV; - bp->vf_reps = kcalloc(num_vfs, sizeof(vf_rep), GFP_KERNEL); + bp->vf_reps = kzalloc_objs(vf_rep, num_vfs, GFP_KERNEL); if (!bp->vf_reps) return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/cnic.c b/drivers/net/ethernet/broadcom/cnic.c index 6e97a5a7daaf..bd4238737fef 100644 --- a/drivers/net/ethernet/broadcom/cnic.c +++ b/drivers/net/ethernet/broadcom/cnic.c @@ -1062,7 +1062,7 @@ static int cnic_alloc_uio_rings(struct cnic_dev *dev, int pages) } } - udev = kzalloc(sizeof(struct cnic_uio_dev), GFP_ATOMIC); + udev = kzalloc_obj(struct cnic_uio_dev, GFP_ATOMIC); if (!udev) return -ENOMEM; @@ -1208,7 +1208,7 @@ static int cnic_alloc_bnx2x_context(struct cnic_dev *dev) if (blks > cp->ethdev->ctx_tbl_len) return -ENOMEM; - cp->ctx_arr = kcalloc(blks, sizeof(struct cnic_ctx), GFP_KERNEL); + cp->ctx_arr = kzalloc_objs(struct cnic_ctx, blks, GFP_KERNEL); if (cp->ctx_arr == NULL) return -ENOMEM; @@ -1261,13 +1261,13 @@ static int cnic_alloc_bnx2x_resc(struct cnic_dev *dev) cp->fcoe_init_cid = 0x10; } - cp->iscsi_tbl = kcalloc(MAX_ISCSI_TBL_SZ, sizeof(struct cnic_iscsi), - GFP_KERNEL); + cp->iscsi_tbl = kzalloc_objs(struct cnic_iscsi, MAX_ISCSI_TBL_SZ, + GFP_KERNEL); if (!cp->iscsi_tbl) goto error; - cp->ctx_tbl = kcalloc(cp->max_cid_space, sizeof(struct cnic_context), - GFP_KERNEL); + cp->ctx_tbl = kzalloc_objs(struct cnic_context, cp->max_cid_space, + GFP_KERNEL); if (!cp->ctx_tbl) goto error; @@ -4105,8 +4105,8 @@ static int cnic_cm_alloc_mem(struct cnic_dev *dev) u32 port_id; int i; - cp->csk_tbl = kvcalloc(MAX_CM_SK_TBL_SZ, sizeof(struct cnic_sock), - GFP_KERNEL); + cp->csk_tbl = kvzalloc_objs(struct cnic_sock, MAX_CM_SK_TBL_SZ, + GFP_KERNEL); if (!cp->csk_tbl) return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 05512aa10c20..a6f8805e1932 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -3083,8 +3083,8 @@ static int bcmgenet_init_dma(struct bcmgenet_priv *priv, bool flush_rx) /* Initialize common Rx ring structures */ priv->rx_bds = priv->base + priv->hw_params->rdma_offset; priv->num_rx_bds = TOTAL_DESC; - priv->rx_cbs = kcalloc(priv->num_rx_bds, sizeof(struct enet_cb), - GFP_KERNEL); + priv->rx_cbs = kzalloc_objs(struct enet_cb, priv->num_rx_bds, + GFP_KERNEL); if (!priv->rx_cbs) return -ENOMEM; @@ -3096,8 +3096,8 @@ static int bcmgenet_init_dma(struct bcmgenet_priv *priv, bool flush_rx) /* Initialize common TX ring structures */ priv->tx_bds = priv->base + priv->hw_params->tdma_offset; priv->num_tx_bds = TOTAL_DESC; - priv->tx_cbs = kcalloc(priv->num_tx_bds, sizeof(struct enet_cb), - GFP_KERNEL); + priv->tx_cbs = kzalloc_objs(struct enet_cb, priv->num_tx_bds, + GFP_KERNEL); if (!priv->tx_cbs) { kfree(priv->rx_cbs); return -ENOMEM; diff --git a/drivers/net/ethernet/broadcom/sb1250-mac.c b/drivers/net/ethernet/broadcom/sb1250-mac.c index 30865fe03eeb..4787ea610edc 100644 --- a/drivers/net/ethernet/broadcom/sb1250-mac.c +++ b/drivers/net/ethernet/broadcom/sb1250-mac.c @@ -622,9 +622,9 @@ static void sbdma_initctx(struct sbmacdma *d, struct sbmac_softc *s, int chan, d->sbdma_maxdescr = maxdescr; - d->sbdma_dscrtable_unaligned = kcalloc(d->sbdma_maxdescr + 1, - sizeof(*d->sbdma_dscrtable), - GFP_KERNEL); + d->sbdma_dscrtable_unaligned = kzalloc_objs(*d->sbdma_dscrtable, + d->sbdma_maxdescr + 1, + GFP_KERNEL); /* * The descriptor table must be aligned to at least 16 bytes or the @@ -642,8 +642,8 @@ static void sbdma_initctx(struct sbmacdma *d, struct sbmac_softc *s, int chan, * And context table */ - d->sbdma_ctxtable = kcalloc(d->sbdma_maxdescr, - sizeof(*d->sbdma_ctxtable), GFP_KERNEL); + d->sbdma_ctxtable = kzalloc_objs(*d->sbdma_ctxtable, d->sbdma_maxdescr, + GFP_KERNEL); #ifdef CONFIG_SBMAC_COALESCE /* diff --git a/drivers/net/ethernet/broadcom/tg3.c b/drivers/net/ethernet/broadcom/tg3.c index 75f66587983d..746c95dc11cd 100644 --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c @@ -8729,9 +8729,8 @@ static int tg3_mem_tx_acquire(struct tg3 *tp) tnapi++; for (i = 0; i < tp->txq_cnt; i++, tnapi++) { - tnapi->tx_buffers = kcalloc(TG3_TX_RING_SIZE, - sizeof(struct tg3_tx_ring_info), - GFP_KERNEL); + tnapi->tx_buffers = kzalloc_objs(struct tg3_tx_ring_info, + TG3_TX_RING_SIZE, GFP_KERNEL); if (!tnapi->tx_buffers) goto err_out; diff --git a/drivers/net/ethernet/brocade/bna/bnad.c b/drivers/net/ethernet/brocade/bna/bnad.c index 9bed33295839..ec3750f055b8 100644 --- a/drivers/net/ethernet/brocade/bna/bnad.c +++ b/drivers/net/ethernet/brocade/bna/bnad.c @@ -1345,8 +1345,8 @@ bnad_mem_alloc(struct bnad *bnad, return 0; } - mem_info->mdl = kcalloc(mem_info->num, sizeof(struct bna_mem_descr), - GFP_KERNEL); + mem_info->mdl = kzalloc_objs(struct bna_mem_descr, mem_info->num, + GFP_KERNEL); if (mem_info->mdl == NULL) return -ENOMEM; @@ -1458,9 +1458,8 @@ bnad_txrx_irq_alloc(struct bnad *bnad, enum bnad_intr_source src, if (cfg_flags & BNAD_CF_MSIX) { intr_info->intr_type = BNA_INTR_T_MSIX; - intr_info->idl = kcalloc(intr_info->num, - sizeof(struct bna_intr_descr), - GFP_KERNEL); + intr_info->idl = kzalloc_objs(struct bna_intr_descr, + intr_info->num, GFP_KERNEL); if (!intr_info->idl) return -ENOMEM; @@ -1484,9 +1483,8 @@ bnad_txrx_irq_alloc(struct bnad *bnad, enum bnad_intr_source src, } else { intr_info->intr_type = BNA_INTR_T_INTX; intr_info->num = 1; - intr_info->idl = kcalloc(intr_info->num, - sizeof(struct bna_intr_descr), - GFP_KERNEL); + intr_info->idl = kzalloc_objs(struct bna_intr_descr, + intr_info->num, GFP_KERNEL); if (!intr_info->idl) return -ENOMEM; @@ -2642,7 +2640,7 @@ bnad_enable_msix(struct bnad *bnad) return; bnad->msix_table = - kcalloc(bnad->msix_num, sizeof(struct msix_entry), GFP_KERNEL); + kzalloc_objs(struct msix_entry, bnad->msix_num, GFP_KERNEL); if (!bnad->msix_table) goto intx_mode; diff --git a/drivers/net/ethernet/brocade/bna/bnad_debugfs.c b/drivers/net/ethernet/brocade/bna/bnad_debugfs.c index 8f0972e6737c..8a2eb4504760 100644 --- a/drivers/net/ethernet/brocade/bna/bnad_debugfs.c +++ b/drivers/net/ethernet/brocade/bna/bnad_debugfs.c @@ -45,7 +45,7 @@ bnad_debugfs_open_fwtrc(struct inode *inode, struct file *file) unsigned long flags; int rc; - fw_debug = kzalloc(sizeof(struct bnad_debug_info), GFP_KERNEL); + fw_debug = kzalloc_obj(struct bnad_debug_info, GFP_KERNEL); if (!fw_debug) return -ENOMEM; @@ -85,7 +85,7 @@ bnad_debugfs_open_fwsave(struct inode *inode, struct file *file) unsigned long flags; int rc; - fw_debug = kzalloc(sizeof(struct bnad_debug_info), GFP_KERNEL); + fw_debug = kzalloc_obj(struct bnad_debug_info, GFP_KERNEL); if (!fw_debug) return -ENOMEM; @@ -122,7 +122,7 @@ bnad_debugfs_open_reg(struct inode *inode, struct file *file) { struct bnad_debug_info *reg_debug; - reg_debug = kzalloc(sizeof(struct bnad_debug_info), GFP_KERNEL); + reg_debug = kzalloc_obj(struct bnad_debug_info, GFP_KERNEL); if (!reg_debug) return -ENOMEM; @@ -185,7 +185,7 @@ bnad_debugfs_open_drvinfo(struct inode *inode, struct file *file) struct bnad_debug_info *drv_info; int rc; - drv_info = kzalloc(sizeof(struct bnad_debug_info), GFP_KERNEL); + drv_info = kzalloc_obj(struct bnad_debug_info, GFP_KERNEL); if (!drv_info) return -ENOMEM; diff --git a/drivers/net/ethernet/brocade/bna/bnad_ethtool.c b/drivers/net/ethernet/brocade/bna/bnad_ethtool.c index 216e25f26dbb..446234e3ca53 100644 --- a/drivers/net/ethernet/brocade/bna/bnad_ethtool.c +++ b/drivers/net/ethernet/brocade/bna/bnad_ethtool.c @@ -285,7 +285,7 @@ bnad_get_drvinfo(struct net_device *netdev, struct ethtool_drvinfo *drvinfo) strscpy(drvinfo->driver, BNAD_NAME, sizeof(drvinfo->driver)); - ioc_attr = kzalloc(sizeof(*ioc_attr), GFP_KERNEL); + ioc_attr = kzalloc_obj(*ioc_attr, GFP_KERNEL); if (ioc_attr) { spin_lock_irqsave(&bnad->bna_lock, flags); bfa_nw_ioc_get_attr(&bnad->bna.ioceth.ioc, ioc_attr); @@ -900,7 +900,7 @@ bnad_get_flash_partition_by_offset(struct bnad *bnad, u32 offset, u32 i, flash_part = 0, ret; unsigned long flags = 0; - flash_attr = kzalloc(sizeof(struct bfa_flash_attr), GFP_KERNEL); + flash_attr = kzalloc_obj(struct bfa_flash_attr, GFP_KERNEL); if (!flash_attr) return 0; diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 43cd013bb70e..86f516563db6 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -3734,7 +3734,7 @@ static int gem_add_flow_filter(struct net_device *netdev, int ret = -EINVAL; bool added = false; - newfs = kmalloc(sizeof(*newfs), GFP_KERNEL); + newfs = kmalloc_obj(*newfs, GFP_KERNEL); if (newfs == NULL) return -ENOMEM; memcpy(&newfs->fs, fs, sizeof(newfs->fs)); diff --git a/drivers/net/ethernet/calxeda/xgmac.c b/drivers/net/ethernet/calxeda/xgmac.c index 331ac6a3dc38..283948d784da 100644 --- a/drivers/net/ethernet/calxeda/xgmac.c +++ b/drivers/net/ethernet/calxeda/xgmac.c @@ -729,8 +729,8 @@ static int xgmac_dma_desc_rings_init(struct net_device *dev) netdev_dbg(priv->dev, "mtu [%d] bfsize [%d]\n", dev->mtu, bfsize); - priv->rx_skbuff = kcalloc(DMA_RX_RING_SZ, sizeof(struct sk_buff *), - GFP_KERNEL); + priv->rx_skbuff = kzalloc_objs(struct sk_buff *, DMA_RX_RING_SZ, + GFP_KERNEL); if (!priv->rx_skbuff) return -ENOMEM; @@ -742,8 +742,8 @@ static int xgmac_dma_desc_rings_init(struct net_device *dev) if (!priv->dma_rx) goto err_dma_rx; - priv->tx_skbuff = kcalloc(DMA_TX_RING_SZ, sizeof(struct sk_buff *), - GFP_KERNEL); + priv->tx_skbuff = kzalloc_objs(struct sk_buff *, DMA_TX_RING_SZ, + GFP_KERNEL); if (!priv->tx_skbuff) goto err_tx_skb; diff --git a/drivers/net/ethernet/cavium/liquidio/lio_core.c b/drivers/net/ethernet/cavium/liquidio/lio_core.c index 215dac201b4a..baccb0169068 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_core.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_core.c @@ -89,12 +89,12 @@ int lio_setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs) int i, j; lio->glist_lock = - kcalloc(num_iqs, sizeof(*lio->glist_lock), GFP_KERNEL); + kzalloc_objs(*lio->glist_lock, num_iqs, GFP_KERNEL); if (!lio->glist_lock) return -ENOMEM; lio->glist = - kcalloc(num_iqs, sizeof(*lio->glist), GFP_KERNEL); + kzalloc_objs(*lio->glist, num_iqs, GFP_KERNEL); if (!lio->glist) { kfree(lio->glist_lock); lio->glist_lock = NULL; @@ -107,10 +107,10 @@ int lio_setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs) /* allocate memory to store virtual and dma base address of * per glist consistent memory */ - lio->glists_virt_base = kcalloc(num_iqs, sizeof(*lio->glists_virt_base), - GFP_KERNEL); - lio->glists_dma_base = kcalloc(num_iqs, sizeof(*lio->glists_dma_base), - GFP_KERNEL); + lio->glists_virt_base = kzalloc_objs(*lio->glists_virt_base, num_iqs, + GFP_KERNEL); + lio->glists_dma_base = kzalloc_objs(*lio->glists_dma_base, num_iqs, + GFP_KERNEL); if (!lio->glists_virt_base || !lio->glists_dma_base) { lio_delete_glists(lio); @@ -138,7 +138,7 @@ int lio_setup_glists(struct octeon_device *oct, struct lio *lio, int num_iqs) g = kzalloc_node(sizeof(*g), GFP_KERNEL, numa_node); if (!g) - g = kzalloc(sizeof(*g), GFP_KERNEL); + g = kzalloc_obj(*g, GFP_KERNEL); if (!g) break; @@ -1051,9 +1051,8 @@ int octeon_setup_interrupt(struct octeon_device *oct, u32 num_ioqs) aux_irq_name = &queue_irq_names [IRQ_NAME_OFF(MAX_IOQ_INTERRUPTS_PER_PF)]; - oct->msix_entries = kcalloc(oct->num_msix_irqs, - sizeof(struct msix_entry), - GFP_KERNEL); + oct->msix_entries = kzalloc_objs(struct msix_entry, + oct->num_msix_irqs, GFP_KERNEL); if (!oct->msix_entries) { dev_err(&oct->pci_dev->dev, "Memory Alloc failed...\n"); kfree(oct->irq_name_storage); diff --git a/drivers/net/ethernet/cavium/liquidio/octeon_device.c b/drivers/net/ethernet/cavium/liquidio/octeon_device.c index 1753bb87dfbd..e61f18467a15 100644 --- a/drivers/net/ethernet/cavium/liquidio/octeon_device.c +++ b/drivers/net/ethernet/cavium/liquidio/octeon_device.c @@ -1164,7 +1164,7 @@ octeon_register_dispatch_fn(struct octeon_device *oct, dev_dbg(&oct->pci_dev->dev, "Adding opcode to dispatch list linked list\n"); - dispatch = kmalloc(sizeof(*dispatch), GFP_KERNEL); + dispatch = kmalloc_obj(*dispatch, GFP_KERNEL); if (!dispatch) return 1; diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_main.c b/drivers/net/ethernet/cavium/thunder/nicvf_main.c index 0b6e30a8feb0..7ef2a9f606a1 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_main.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_main.c @@ -1465,7 +1465,7 @@ int nicvf_open(struct net_device *netdev) /* Register NAPI handler for processing CQEs */ for (qidx = 0; qidx < qs->cq_cnt; qidx++) { - cq_poll = kzalloc(sizeof(*cq_poll), GFP_KERNEL); + cq_poll = kzalloc_obj(*cq_poll, GFP_KERNEL); if (!cq_poll) { err = -ENOMEM; goto napi_del; @@ -2052,9 +2052,9 @@ static void nicvf_set_rx_mode(struct net_device *netdev) mode |= BGX_XCAST_MCAST_FILTER; /* here we need to copy mc addrs */ if (netdev_mc_count(netdev)) { - mc_list = kmalloc(struct_size(mc_list, mc, - netdev_mc_count(netdev)), - GFP_ATOMIC); + mc_list = kmalloc_flex(*mc_list, mc, + netdev_mc_count(netdev), + GFP_ATOMIC); if (unlikely(!mc_list)) return; mc_list->count = 0; diff --git a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c index 5211759bfe47..12bea0b6a4e6 100644 --- a/drivers/net/ethernet/cavium/thunder/nicvf_queues.c +++ b/drivers/net/ethernet/cavium/thunder/nicvf_queues.c @@ -289,8 +289,7 @@ static int nicvf_init_rbdr(struct nicvf *nic, struct rbdr *rbdr, rbdr->is_xdp = true; } rbdr->pgcnt = roundup_pow_of_two(rbdr->pgcnt); - rbdr->pgcache = kcalloc(rbdr->pgcnt, sizeof(*rbdr->pgcache), - GFP_KERNEL); + rbdr->pgcache = kzalloc_objs(*rbdr->pgcache, rbdr->pgcnt, GFP_KERNEL); if (!rbdr->pgcache) return -ENOMEM; rbdr->pgidx = 0; diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c index 9efb60842ad1..87723e4140b0 100644 --- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c +++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c @@ -1086,8 +1086,7 @@ static int bgx_lmac_enable(struct bgx *bgx, u8 lmacid) /* actual number of filters available to exact LMAC */ lmac->dmacs_count = (RX_DMAC_COUNT / bgx->lmac_count); - lmac->dmacs = kcalloc(lmac->dmacs_count, sizeof(*lmac->dmacs), - GFP_KERNEL); + lmac->dmacs = kzalloc_objs(*lmac->dmacs, lmac->dmacs_count, GFP_KERNEL); if (!lmac->dmacs) return -ENOMEM; diff --git a/drivers/net/ethernet/chelsio/cxgb/espi.c b/drivers/net/ethernet/chelsio/cxgb/espi.c index ef70569435be..a7dd518b6ea9 100644 --- a/drivers/net/ethernet/chelsio/cxgb/espi.c +++ b/drivers/net/ethernet/chelsio/cxgb/espi.c @@ -280,7 +280,7 @@ void t1_espi_destroy(struct peespi *espi) struct peespi *t1_espi_create(adapter_t *adapter) { - struct peespi *espi = kzalloc(sizeof(*espi), GFP_KERNEL); + struct peespi *espi = kzalloc_obj(*espi, GFP_KERNEL); if (espi) espi->adapter = adapter; diff --git a/drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c b/drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c index 30b003484fc1..4c4a43828110 100644 --- a/drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c +++ b/drivers/net/ethernet/chelsio/cxgb/mv88e1xxx.c @@ -358,7 +358,7 @@ static struct cphy *mv88e1xxx_phy_create(struct net_device *dev, int phy_addr, const struct mdio_ops *mdio_ops) { struct adapter *adapter = netdev_priv(dev); - struct cphy *cphy = kzalloc(sizeof(*cphy), GFP_KERNEL); + struct cphy *cphy = kzalloc_obj(*cphy, GFP_KERNEL); if (!cphy) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb/mv88x201x.c b/drivers/net/ethernet/chelsio/cxgb/mv88x201x.c index 556c8ad68fa8..8c3d3250b72c 100644 --- a/drivers/net/ethernet/chelsio/cxgb/mv88x201x.c +++ b/drivers/net/ethernet/chelsio/cxgb/mv88x201x.c @@ -203,7 +203,7 @@ static struct cphy *mv88x201x_phy_create(struct net_device *dev, int phy_addr, const struct mdio_ops *mdio_ops) { u32 val; - struct cphy *cphy = kzalloc(sizeof(*cphy), GFP_KERNEL); + struct cphy *cphy = kzalloc_obj(*cphy, GFP_KERNEL); if (!cphy) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb/my3126.c b/drivers/net/ethernet/chelsio/cxgb/my3126.c index 60aa45b375b6..9d29f0767dcb 100644 --- a/drivers/net/ethernet/chelsio/cxgb/my3126.c +++ b/drivers/net/ethernet/chelsio/cxgb/my3126.c @@ -171,7 +171,7 @@ static const struct cphy_ops my3126_ops = { static struct cphy *my3126_phy_create(struct net_device *dev, int phy_addr, const struct mdio_ops *mdio_ops) { - struct cphy *cphy = kzalloc(sizeof (*cphy), GFP_KERNEL); + struct cphy *cphy = kzalloc_obj(*cphy, GFP_KERNEL); if (!cphy) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb/sge.c b/drivers/net/ethernet/chelsio/cxgb/sge.c index 5f354cf62cdd..21d7f84af72e 100644 --- a/drivers/net/ethernet/chelsio/cxgb/sge.c +++ b/drivers/net/ethernet/chelsio/cxgb/sge.c @@ -366,7 +366,7 @@ static int tx_sched_init(struct sge *sge) struct sched *s; int i; - s = kzalloc(sizeof (struct sched), GFP_KERNEL); + s = kzalloc_obj(struct sched, GFP_KERNEL); if (!s) return -ENOMEM; @@ -2095,7 +2095,7 @@ static void espibug_workaround(struct timer_list *t) */ struct sge *t1_sge_create(struct adapter *adapter, struct sge_params *p) { - struct sge *sge = kzalloc(sizeof(*sge), GFP_KERNEL); + struct sge *sge = kzalloc_obj(*sge, GFP_KERNEL); int i; if (!sge) diff --git a/drivers/net/ethernet/chelsio/cxgb/tp.c b/drivers/net/ethernet/chelsio/cxgb/tp.c index 4337cee0763e..66dfe57b9f01 100644 --- a/drivers/net/ethernet/chelsio/cxgb/tp.c +++ b/drivers/net/ethernet/chelsio/cxgb/tp.c @@ -58,7 +58,7 @@ void t1_tp_destroy(struct petp *tp) struct petp *t1_tp_create(adapter_t *adapter, struct tp_params *p) { - struct petp *tp = kzalloc(sizeof(*tp), GFP_KERNEL); + struct petp *tp = kzalloc_obj(*tp, GFP_KERNEL); if (!tp) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c index 3b1321c8ed14..ce9880805a42 100644 --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c @@ -3242,7 +3242,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent) mmio_len = pci_resource_len(pdev, 0); ai = t3_get_adapter_info(ent->driver_data); - adapter = kzalloc(sizeof(*adapter), GFP_KERNEL); + adapter = kzalloc_obj(*adapter, GFP_KERNEL); if (!adapter) { err = -ENOMEM; goto out_release_regions; diff --git a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c index 5a9f6925e1fa..cf8916f4e3d6 100644 --- a/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c +++ b/drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c @@ -1185,7 +1185,7 @@ int cxgb3_offload_activate(struct adapter *adapter) unsigned int l2t_capacity; struct l2t_data *l2td; - t = kzalloc(sizeof(*t), GFP_KERNEL); + t = kzalloc_obj(*t, GFP_KERNEL); if (!t) return -ENOMEM; diff --git a/drivers/net/ethernet/chelsio/cxgb3/l2t.c b/drivers/net/ethernet/chelsio/cxgb3/l2t.c index 5d5f3380ecca..6bcb952fe832 100644 --- a/drivers/net/ethernet/chelsio/cxgb3/l2t.c +++ b/drivers/net/ethernet/chelsio/cxgb3/l2t.c @@ -408,7 +408,7 @@ struct l2t_data *t3_init_l2t(unsigned int l2t_capacity) struct l2t_data *d; int i; - d = kvzalloc(struct_size(d, l2tab, l2t_capacity), GFP_KERNEL); + d = kvzalloc_flex(*d, l2tab, l2t_capacity, GFP_KERNEL); if (!d) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c b/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c index 5060d3998889..fb958857bfd6 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c +++ b/drivers/net/ethernet/chelsio/cxgb4/clip_tbl.c @@ -287,7 +287,7 @@ struct clip_tbl *t4_init_clip_tbl(unsigned int clipt_start, if (clipt_size < CLIPT_MIN_HASH_BUCKETS) return NULL; - ctbl = kvzalloc(struct_size(ctbl, hash_list, clipt_size), GFP_KERNEL); + ctbl = kvzalloc_flex(*ctbl, hash_list, clipt_size, GFP_KERNEL); if (!ctbl) return NULL; @@ -301,7 +301,7 @@ struct clip_tbl *t4_init_clip_tbl(unsigned int clipt_start, for (i = 0; i < ctbl->clipt_size; ++i) INIT_LIST_HEAD(&ctbl->hash_list[i]); - cl_list = kvcalloc(clipt_size, sizeof(struct clip_entry), GFP_KERNEL); + cl_list = kvzalloc_objs(struct clip_entry, clipt_size, GFP_KERNEL); if (!cl_list) { kvfree(ctbl); return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c index 14e0d989c3ba..6e2e5644b825 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c @@ -860,7 +860,7 @@ static int cctrl_tbl_show(struct seq_file *seq, void *v) u16 (*incr)[NCCTRL_WIN]; struct adapter *adap = seq->private; - incr = kmalloc_array(NMTUS, sizeof(*incr), GFP_KERNEL); + incr = kmalloc_objs(*incr, NMTUS, GFP_KERNEL); if (!incr) return -ENOMEM; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c index faf8f7e86520..3c66db1f765a 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_ethtool.c @@ -2250,13 +2250,12 @@ int cxgb4_init_ethtool_filters(struct adapter *adap) u32 nentries, i; int ret; - eth_filter = kzalloc(sizeof(*eth_filter), GFP_KERNEL); + eth_filter = kzalloc_obj(*eth_filter, GFP_KERNEL); if (!eth_filter) return -ENOMEM; - eth_filter_info = kcalloc(adap->params.nports, - sizeof(*eth_filter_info), - GFP_KERNEL); + eth_filter_info = kzalloc_objs(*eth_filter_info, adap->params.nports, + GFP_KERNEL); if (!eth_filter_info) { ret = -ENOMEM; goto free_eth_filter; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c index dd9e68465e69..dad0e72a52ab 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_filter.c @@ -1389,7 +1389,7 @@ static int cxgb4_set_hash_filter(struct net_device *dev, if (iq < 0) return iq; - f = kzalloc(sizeof(*f), GFP_KERNEL); + f = kzalloc_obj(*f, GFP_KERNEL); if (!f) return -ENOMEM; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c index 043733c5c812..20eeb4deab49 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_main.c @@ -388,7 +388,7 @@ static int cxgb4_mac_sync(struct net_device *netdev, const u8 *mac_addr) * list and program it */ if (uhash || mhash) { - new_entry = kzalloc(sizeof(*new_entry), GFP_ATOMIC); + new_entry = kzalloc_obj(*new_entry, GFP_ATOMIC); if (!new_entry) return -ENOMEM; ether_addr_copy(new_entry->addr, mac_addr); @@ -478,7 +478,7 @@ int cxgb4_change_mac(struct port_info *pi, unsigned int viid, goto set_hash; } } - new_entry = kzalloc(sizeof(*new_entry), GFP_KERNEL); + new_entry = kzalloc_obj(*new_entry, GFP_KERNEL); if (!new_entry) return -ENOMEM; ether_addr_copy(new_entry->addr, addr); @@ -1330,7 +1330,7 @@ static int cxgb4_port_mirror_alloc_queues(struct net_device *dev) if (s->mirror_rxq[pi->port_id]) return 0; - mirror_rxq = kcalloc(pi->nmirrorqsets, sizeof(*mirror_rxq), GFP_KERNEL); + mirror_rxq = kzalloc_objs(*mirror_rxq, pi->nmirrorqsets, GFP_KERNEL); if (!mirror_rxq) return -ENOMEM; @@ -4057,7 +4057,7 @@ static int adap_config_hma(struct adapter *adapter) page_size = HMA_PAGE_SIZE; page_order = HMA_PAGE_ORDER; - adapter->hma.sgt = kzalloc(sizeof(*adapter->hma.sgt), GFP_KERNEL); + adapter->hma.sgt = kzalloc_obj(*adapter->hma.sgt, GFP_KERNEL); if (unlikely(!adapter->hma.sgt)) { dev_err(adapter->pdev_dev, "HMA SG table allocation failed\n"); return -ENOMEM; @@ -4097,8 +4097,7 @@ static int adap_config_hma(struct adapter *adapter) } adapter->hma.flags |= HMA_DMA_MAPPED_FLAG; - adapter->hma.phy_addr = kcalloc(sgt->nents, sizeof(dma_addr_t), - GFP_KERNEL); + adapter->hma.phy_addr = kzalloc_objs(dma_addr_t, sgt->nents, GFP_KERNEL); if (unlikely(!adapter->hma.phy_addr)) goto free_hma; @@ -4812,7 +4811,7 @@ static int adap_init0(struct adapter *adap, int vpd_skip) /* allocate memory to read the header of the firmware on the * card */ - card_fw = kvzalloc(sizeof(*card_fw), GFP_KERNEL); + card_fw = kvzalloc_obj(*card_fw, GFP_KERNEL); if (!card_fw) { ret = -ENOMEM; goto bye; @@ -5022,15 +5021,15 @@ static int adap_init0(struct adapter *adap, int vpd_skip) adap->sge.egr_sz = val[0] - adap->sge.egr_start + 1; adap->sge.ingr_sz = val[1] - adap->sge.ingr_start + 1; - adap->sge.egr_map = kcalloc(adap->sge.egr_sz, - sizeof(*adap->sge.egr_map), GFP_KERNEL); + adap->sge.egr_map = kzalloc_objs(*adap->sge.egr_map, adap->sge.egr_sz, + GFP_KERNEL); if (!adap->sge.egr_map) { ret = -ENOMEM; goto bye; } - adap->sge.ingr_map = kcalloc(adap->sge.ingr_sz, - sizeof(*adap->sge.ingr_map), GFP_KERNEL); + adap->sge.ingr_map = kzalloc_objs(*adap->sge.ingr_map, + adap->sge.ingr_sz, GFP_KERNEL); if (!adap->sge.ingr_map) { ret = -ENOMEM; goto bye; @@ -5836,7 +5835,7 @@ static int alloc_msix_info(struct adapter *adap, u32 num_vec) { struct msix_info *msix_info; - msix_info = kcalloc(num_vec, sizeof(*msix_info), GFP_KERNEL); + msix_info = kzalloc_objs(*msix_info, num_vec, GFP_KERNEL); if (!msix_info) return -ENOMEM; @@ -5935,7 +5934,7 @@ static int enable_msix(struct adapter *adap) want += EXTRA_VECS; need += EXTRA_VECS; - entries = kmalloc_array(want, sizeof(*entries), GFP_KERNEL); + entries = kmalloc_objs(*entries, want, GFP_KERNEL); if (!entries) return -ENOMEM; @@ -6350,8 +6349,9 @@ static int cxgb4_iov_configure(struct pci_dev *pdev, int num_vfs) return err; } /* Allocate and set up VF Information. */ - adap->vfinfo = kcalloc(pci_sriov_get_totalvfs(pdev), - sizeof(struct vf_info), GFP_KERNEL); + adap->vfinfo = kzalloc_objs(struct vf_info, + pci_sriov_get_totalvfs(pdev), + GFP_KERNEL); if (!adap->vfinfo) { unregister_netdev(adap->port[0]); free_netdev(adap->port[0]); @@ -6604,7 +6604,7 @@ static int init_one(struct pci_dev *pdev, const struct pci_device_id *ent) goto out_disable_device; } - adapter = kzalloc(sizeof(*adapter), GFP_KERNEL); + adapter = kzalloc_obj(*adapter, GFP_KERNEL); if (!adapter) { err = -ENOMEM; goto out_unmap_bar0; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c index 60f4d5b5eb3a..94c8ce39310b 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_mps.c @@ -42,7 +42,7 @@ static int cxgb4_mps_ref_inc(struct adapter *adap, const u8 *mac_addr, goto unlock; } } - mps_entry = kzalloc(sizeof(*mps_entry), GFP_ATOMIC); + mps_entry = kzalloc_obj(*mps_entry, GFP_ATOMIC); if (!mps_entry) { ret = -ENOMEM; goto unlock; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c index e2b5554531b5..79db92f3ba62 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_flower.c @@ -145,7 +145,7 @@ static void cxgb4_action_natmode_tweak(struct ch_filter_specification *fs, static struct ch_tc_flower_entry *allocate_flower_entry(void) { - struct ch_tc_flower_entry *new = kzalloc(sizeof(*new), GFP_KERNEL); + struct ch_tc_flower_entry *new = kzalloc_obj(*new, GFP_KERNEL); if (new) spin_lock_init(&new->lock); return new; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c index f8dcf0b4abcd..4d53744b2130 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_matchall.c @@ -531,13 +531,12 @@ int cxgb4_init_tc_matchall(struct adapter *adap) struct cxgb4_tc_matchall *tc_matchall; int ret; - tc_matchall = kzalloc(sizeof(*tc_matchall), GFP_KERNEL); + tc_matchall = kzalloc_obj(*tc_matchall, GFP_KERNEL); if (!tc_matchall) return -ENOMEM; - tc_port_matchall = kcalloc(adap->params.nports, - sizeof(*tc_port_matchall), - GFP_KERNEL); + tc_port_matchall = kzalloc_objs(*tc_port_matchall, adap->params.nports, + GFP_KERNEL); if (!tc_port_matchall) { ret = -ENOMEM; goto out_free_matchall; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c index a2dcd2e24263..9d07540e2955 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_mqprio.c @@ -100,8 +100,7 @@ static int cxgb4_init_eosw_txq(struct net_device *dev, memset(eosw_txq, 0, sizeof(*eosw_txq)); - ring = kcalloc(CXGB4_EOSW_TXQ_DEFAULT_DESC_NUM, - sizeof(*ring), GFP_KERNEL); + ring = kzalloc_objs(*ring, CXGB4_EOSW_TXQ_DEFAULT_DESC_NUM, GFP_KERNEL); if (!ring) return -ENOMEM; @@ -157,15 +156,13 @@ static int cxgb4_mqprio_alloc_hw_resources(struct net_device *dev) /* Allocate ETHOFLD hardware queue structures if not done already */ if (!refcount_read(&adap->tc_mqprio->refcnt)) { - adap->sge.eohw_rxq = kcalloc(adap->sge.eoqsets, - sizeof(struct sge_ofld_rxq), - GFP_KERNEL); + adap->sge.eohw_rxq = kzalloc_objs(struct sge_ofld_rxq, + adap->sge.eoqsets, GFP_KERNEL); if (!adap->sge.eohw_rxq) return -ENOMEM; - adap->sge.eohw_txq = kcalloc(adap->sge.eoqsets, - sizeof(struct sge_eohw_txq), - GFP_KERNEL); + adap->sge.eohw_txq = kzalloc_objs(struct sge_eohw_txq, + adap->sge.eoqsets, GFP_KERNEL); if (!adap->sge.eohw_txq) { kfree(adap->sge.eohw_rxq); return -ENOMEM; @@ -657,12 +654,12 @@ int cxgb4_init_tc_mqprio(struct adapter *adap) int ret = 0; u8 i; - tc_mqprio = kzalloc(sizeof(*tc_mqprio), GFP_KERNEL); + tc_mqprio = kzalloc_obj(*tc_mqprio, GFP_KERNEL); if (!tc_mqprio) return -ENOMEM; - tc_port_mqprio = kcalloc(adap->params.nports, sizeof(*tc_port_mqprio), - GFP_KERNEL); + tc_port_mqprio = kzalloc_objs(*tc_port_mqprio, adap->params.nports, + GFP_KERNEL); if (!tc_port_mqprio) { ret = -ENOMEM; goto out_free_mqprio; @@ -673,8 +670,8 @@ int cxgb4_init_tc_mqprio(struct adapter *adap) tc_mqprio->port_mqprio = tc_port_mqprio; for (i = 0; i < adap->params.nports; i++) { port_mqprio = &tc_mqprio->port_mqprio[i]; - eosw_txq = kcalloc(adap->tids.neotids, sizeof(*eosw_txq), - GFP_KERNEL); + eosw_txq = kzalloc_objs(*eosw_txq, adap->tids.neotids, + GFP_KERNEL); if (!eosw_txq) { ret = -ENOMEM; goto out_free_ports; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c index 8524246fd67e..dbfa657c04b9 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_tc_u32.c @@ -501,7 +501,7 @@ struct cxgb4_tc_u32_table *cxgb4_init_tc_u32(struct adapter *adap) if (!max_tids) return NULL; - t = kvzalloc(struct_size(t, table, max_tids), GFP_KERNEL); + t = kvzalloc_flex(*t, table, max_tids, GFP_KERNEL); if (!t) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c index 5c13bcb4550d..c1fe70fc3286 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_uld.c @@ -241,7 +241,7 @@ static int cfg_queues_uld(struct adapter *adap, unsigned int uld_type, struct sge_uld_rxq_info *rxq_info; int i, nrxq, ciq_size; - rxq_info = kzalloc(sizeof(*rxq_info), GFP_KERNEL); + rxq_info = kzalloc_obj(*rxq_info, GFP_KERNEL); if (!rxq_info) return -ENOMEM; @@ -269,8 +269,7 @@ static int cfg_queues_uld(struct adapter *adap, unsigned int uld_type, } nrxq = rxq_info->nrxq + rxq_info->nciq; /* total rxq's */ - rxq_info->uldrxq = kcalloc(nrxq, sizeof(struct sge_ofld_rxq), - GFP_KERNEL); + rxq_info->uldrxq = kzalloc_objs(struct sge_ofld_rxq, nrxq, GFP_KERNEL); if (!rxq_info->uldrxq) { kfree(rxq_info); return -ENOMEM; @@ -472,7 +471,7 @@ setup_sge_txq_uld(struct adapter *adap, unsigned int uld_type, (atomic_inc_return(&txq_info->users) > 1)) return 0; - txq_info = kzalloc(sizeof(*txq_info), GFP_KERNEL); + txq_info = kzalloc_obj(*txq_info, GFP_KERNEL); if (!txq_info) return -ENOMEM; if (uld_type == CXGB4_ULD_CRYPTO) { @@ -489,8 +488,8 @@ setup_sge_txq_uld(struct adapter *adap, unsigned int uld_type, i = min_t(int, uld_info->ntxq, num_online_cpus()); txq_info->ntxq = roundup(i, adap->params.nports); } - txq_info->uldtxq = kcalloc(txq_info->ntxq, sizeof(struct sge_uld_txq), - GFP_KERNEL); + txq_info->uldtxq = kzalloc_objs(struct sge_uld_txq, txq_info->ntxq, + GFP_KERNEL); if (!txq_info->uldtxq) { kfree(txq_info); return -ENOMEM; @@ -525,19 +524,17 @@ int t4_uld_mem_alloc(struct adapter *adap) { struct sge *s = &adap->sge; - adap->uld = kcalloc(CXGB4_ULD_MAX, sizeof(*adap->uld), GFP_KERNEL); + adap->uld = kzalloc_objs(*adap->uld, CXGB4_ULD_MAX, GFP_KERNEL); if (!adap->uld) return -ENOMEM; - s->uld_rxq_info = kcalloc(CXGB4_ULD_MAX, - sizeof(struct sge_uld_rxq_info *), - GFP_KERNEL); + s->uld_rxq_info = kzalloc_objs(struct sge_uld_rxq_info *, CXGB4_ULD_MAX, + GFP_KERNEL); if (!s->uld_rxq_info) goto err_uld; - s->uld_txq_info = kcalloc(CXGB4_TX_MAX, - sizeof(struct sge_uld_txq_info *), - GFP_KERNEL); + s->uld_txq_info = kzalloc_objs(struct sge_uld_txq_info *, CXGB4_TX_MAX, + GFP_KERNEL); if (!s->uld_txq_info) goto err_uld_rx; return 0; @@ -805,7 +802,7 @@ void cxgb4_register_uld(enum cxgb4_uld type, if (type >= CXGB4_ULD_MAX) return; - uld_entry = kzalloc(sizeof(*uld_entry), GFP_KERNEL); + uld_entry = kzalloc_obj(*uld_entry, GFP_KERNEL); if (!uld_entry) return; diff --git a/drivers/net/ethernet/chelsio/cxgb4/l2t.c b/drivers/net/ethernet/chelsio/cxgb4/l2t.c index c02b4e9c06b2..1e2a6bac25ba 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/l2t.c +++ b/drivers/net/ethernet/chelsio/cxgb4/l2t.c @@ -620,7 +620,7 @@ struct l2t_data *t4_init_l2t(unsigned int l2t_start, unsigned int l2t_end) if (l2t_size < L2T_MIN_HASH_BUCKETS) return NULL; - d = kvzalloc(struct_size(d, l2tab, l2t_size), GFP_KERNEL); + d = kvzalloc_flex(*d, l2tab, l2t_size, GFP_KERNEL); if (!d) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb4/sched.c b/drivers/net/ethernet/chelsio/cxgb4/sched.c index 38a30aeee122..8e73a5c49529 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/sched.c +++ b/drivers/net/ethernet/chelsio/cxgb4/sched.c @@ -225,7 +225,7 @@ static int t4_sched_queue_bind(struct port_info *pi, struct ch_sched_queue *p) if (p->queue < 0 || p->queue >= pi->nqsets) return -ERANGE; - qe = kvzalloc(sizeof(struct sched_queue_entry), GFP_KERNEL); + qe = kvzalloc_obj(struct sched_queue_entry, GFP_KERNEL); if (!qe) return -ENOMEM; @@ -294,7 +294,7 @@ static int t4_sched_flowc_bind(struct port_info *pi, struct ch_sched_flowc *p) if (p->tid < 0 || p->tid >= adap->tids.neotids) return -ERANGE; - fe = kvzalloc(sizeof(*fe), GFP_KERNEL); + fe = kvzalloc_obj(*fe, GFP_KERNEL); if (!fe) return -ENOMEM; @@ -653,7 +653,7 @@ struct sched_table *t4_init_sched(unsigned int sched_size) struct sched_table *s; unsigned int i; - s = kvzalloc(struct_size(s, tab, sched_size), GFP_KERNEL); + s = kvzalloc_flex(*s, tab, sched_size, GFP_KERNEL); if (!s) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb4/smt.c b/drivers/net/ethernet/chelsio/cxgb4/smt.c index e617e4aabbcc..315c7605622f 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/smt.c +++ b/drivers/net/ethernet/chelsio/cxgb4/smt.c @@ -47,7 +47,7 @@ struct smt_data *t4_init_smt(void) smt_size = SMT_SIZE; - s = kvzalloc(struct_size(s, smtab, smt_size), GFP_KERNEL); + s = kvzalloc_flex(*s, smtab, smt_size, GFP_KERNEL); if (!s) return NULL; s->smt_size = smt_size; diff --git a/drivers/net/ethernet/chelsio/cxgb4/srq.c b/drivers/net/ethernet/chelsio/cxgb4/srq.c index a77d6ac1ee8c..1f7e2dece66c 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/srq.c +++ b/drivers/net/ethernet/chelsio/cxgb4/srq.c @@ -40,7 +40,7 @@ struct srq_data *t4_init_srq(int srq_size) { struct srq_data *s; - s = kvzalloc(sizeof(*s), GFP_KERNEL); + s = kvzalloc_obj(*s, GFP_KERNEL); if (!s) return NULL; diff --git a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c index 2fbe0f059a0b..592f736f6c85 100644 --- a/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c +++ b/drivers/net/ethernet/chelsio/cxgb4vf/cxgb4vf_main.c @@ -288,7 +288,7 @@ static int cxgb4vf_change_mac(struct port_info *pi, unsigned int viid, goto set_hash; } } - new_entry = kzalloc(sizeof(*new_entry), GFP_KERNEL); + new_entry = kzalloc_obj(*new_entry, GFP_KERNEL); if (!new_entry) return -ENOMEM; ether_addr_copy(new_entry->addr, addr); @@ -953,7 +953,7 @@ static int cxgb4vf_mac_sync(struct net_device *netdev, const u8 *mac_addr) * list and program it */ if (uhash || mhash) { - new_entry = kzalloc(sizeof(*new_entry), GFP_ATOMIC); + new_entry = kzalloc_obj(*new_entry, GFP_ATOMIC); if (!new_entry) return -ENOMEM; ether_addr_copy(new_entry->addr, mac_addr); @@ -2935,7 +2935,7 @@ static int cxgb4vf_pci_probe(struct pci_dev *pdev, /* * Allocate our adapter data structure and attach it to the device. */ - adapter = kzalloc(sizeof(*adapter), GFP_KERNEL); + adapter = kzalloc_obj(*adapter, GFP_KERNEL); if (!adapter) { err = -ENOMEM; goto err_release_regions; diff --git a/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c b/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c index 074717d4bb16..e89150c0f2c7 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c +++ b/drivers/net/ethernet/chelsio/inline_crypto/ch_ipsec/chcr_ipsec.c @@ -104,7 +104,7 @@ static void *ch_ipsec_uld_add(const struct cxgb4_lld_info *infop) pr_info_once("%s - version %s\n", CHIPSEC_DRV_DESC, CHIPSEC_DRV_VERSION); - u_ctx = kzalloc(sizeof(*u_ctx), GFP_KERNEL); + u_ctx = kzalloc_obj(*u_ctx, GFP_KERNEL); if (!u_ctx) { u_ctx = ERR_PTR(-ENOMEM); goto out; @@ -295,7 +295,7 @@ static int ch_ipsec_xfrm_add_state(struct net_device *dev, return -ENODEV; } - sa_entry = kzalloc(sizeof(*sa_entry), GFP_KERNEL); + sa_entry = kzalloc_obj(*sa_entry, GFP_KERNEL); if (!sa_entry) { res = -ENOMEM; module_put(THIS_MODULE); diff --git a/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c b/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c index b8ebb56de65e..eb53e3a3ccf9 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c +++ b/drivers/net/ethernet/chelsio/inline_crypto/ch_ktls/chcr_ktls.c @@ -442,7 +442,7 @@ static int chcr_ktls_dev_add(struct net_device *netdev, struct sock *sk, if (u_ctx && u_ctx->detach) goto out; - tx_info = kvzalloc(sizeof(*tx_info), GFP_KERNEL); + tx_info = kvzalloc_obj(*tx_info, GFP_KERNEL); if (!tx_info) goto out; @@ -2117,7 +2117,7 @@ static void *chcr_ktls_uld_add(const struct cxgb4_lld_info *lldi) pr_info_once("%s - version %s\n", CHCR_KTLS_DRV_DESC, CHCR_KTLS_DRV_VERSION); - u_ctx = kzalloc(sizeof(*u_ctx), GFP_KERNEL); + u_ctx = kzalloc_obj(*u_ctx, GFP_KERNEL); if (!u_ctx) { u_ctx = ERR_PTR(-ENOMEM); goto out; diff --git a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c index ee0154337a9c..caa46c191268 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c +++ b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_cm.c @@ -57,7 +57,7 @@ static unsigned char new_state[16] = { static struct chtls_sock *chtls_sock_create(struct chtls_dev *cdev) { - struct chtls_sock *csk = kzalloc(sizeof(*csk), GFP_ATOMIC); + struct chtls_sock *csk = kzalloc_obj(*csk, GFP_ATOMIC); if (!csk) return NULL; @@ -548,7 +548,7 @@ static struct listen_info *listen_hash_add(struct chtls_dev *cdev, struct sock *sk, unsigned int stid) { - struct listen_info *p = kmalloc(sizeof(*p), GFP_KERNEL); + struct listen_info *p = kmalloc_obj(*p, GFP_KERNEL); if (p) { int key = listen_hashfn(sk); @@ -666,7 +666,7 @@ int chtls_listen_start(struct chtls_dev *cdev, struct sock *sk) if (listen_hash_find(cdev, sk) >= 0) /* already have it */ return -EADDRINUSE; - ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kmalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_main.c b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_main.c index daa1ebaef511..511ca3bfce3f 100644 --- a/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_main.c +++ b/drivers/net/ethernet/chelsio/inline_crypto/chtls/chtls_main.c @@ -95,7 +95,7 @@ static int chtls_start_listen(struct chtls_dev *cdev, struct sock *sk) return -EADDRNOTAVAIL; sk->sk_backlog_rcv = listen_backlog_rcv; - clisten = kmalloc(sizeof(*clisten), GFP_KERNEL); + clisten = kmalloc_obj(*clisten, GFP_KERNEL); if (!clisten) return -ENOMEM; clisten->cdev = cdev; @@ -114,7 +114,7 @@ static void chtls_stop_listen(struct chtls_dev *cdev, struct sock *sk) if (sk->sk_protocol != IPPROTO_TCP) return; - clisten = kmalloc(sizeof(*clisten), GFP_KERNEL); + clisten = kmalloc_obj(*clisten, GFP_KERNEL); if (!clisten) return; clisten->cdev = cdev; @@ -238,11 +238,11 @@ static void *chtls_uld_add(const struct cxgb4_lld_info *info) struct chtls_dev *cdev; int i, j; - cdev = kzalloc(sizeof(*cdev), GFP_KERNEL); + cdev = kzalloc_obj(*cdev, GFP_KERNEL); if (!cdev) goto out; - lldi = kzalloc(sizeof(*lldi), GFP_KERNEL); + lldi = kzalloc_obj(*lldi, GFP_KERNEL); if (!lldi) goto out_lldi; diff --git a/drivers/net/ethernet/cisco/enic/enic_clsf.c b/drivers/net/ethernet/cisco/enic/enic_clsf.c index 837f954873ee..581e89da9091 100644 --- a/drivers/net/ethernet/cisco/enic/enic_clsf.c +++ b/drivers/net/ethernet/cisco/enic/enic_clsf.c @@ -235,7 +235,7 @@ int enic_rx_flow_steer(struct net_device *dev, const struct sk_buff *skb, struct hlist_head *head; head = &enic->rfs_h.ht_head[tbl_idx]; - d = kmalloc(sizeof(*d), GFP_ATOMIC); + d = kmalloc_obj(*d, GFP_ATOMIC); if (d) { d->fltr_id = n->fltr_id; INIT_HLIST_NODE(&d->node); @@ -257,7 +257,7 @@ int enic_rx_flow_steer(struct net_device *dev, const struct sk_buff *skb, goto ret_unlock; } - n = kmalloc(sizeof(*n), GFP_ATOMIC); + n = kmalloc_obj(*n, GFP_ATOMIC); if (!n) { res = -ENOMEM; enic->rfs_h.free++; diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index 6bc8dfdb3d4b..14dc4c5aa825 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c @@ -2456,35 +2456,35 @@ static void enic_free_enic_resources(struct enic *enic) static int enic_alloc_enic_resources(struct enic *enic) { - enic->wq = kcalloc(enic->wq_avail, sizeof(struct enic_wq), GFP_KERNEL); + enic->wq = kzalloc_objs(struct enic_wq, enic->wq_avail, GFP_KERNEL); if (!enic->wq) goto free_queues; - enic->rq = kcalloc(enic->rq_avail, sizeof(struct enic_rq), GFP_KERNEL); + enic->rq = kzalloc_objs(struct enic_rq, enic->rq_avail, GFP_KERNEL); if (!enic->rq) goto free_queues; - enic->cq = kcalloc(enic->cq_avail, sizeof(struct vnic_cq), GFP_KERNEL); + enic->cq = kzalloc_objs(struct vnic_cq, enic->cq_avail, GFP_KERNEL); if (!enic->cq) goto free_queues; - enic->napi = kcalloc(enic->wq_avail + enic->rq_avail, - sizeof(struct napi_struct), GFP_KERNEL); + enic->napi = kzalloc_objs(struct napi_struct, + enic->wq_avail + enic->rq_avail, GFP_KERNEL); if (!enic->napi) goto free_queues; - enic->msix_entry = kcalloc(enic->intr_avail, sizeof(struct msix_entry), - GFP_KERNEL); + enic->msix_entry = kzalloc_objs(struct msix_entry, enic->intr_avail, + GFP_KERNEL); if (!enic->msix_entry) goto free_queues; - enic->msix = kcalloc(enic->intr_avail, sizeof(struct enic_msix_entry), - GFP_KERNEL); + enic->msix = kzalloc_objs(struct enic_msix_entry, enic->intr_avail, + GFP_KERNEL); if (!enic->msix) goto free_queues; - enic->intr = kcalloc(enic->intr_avail, sizeof(struct vnic_intr), - GFP_KERNEL); + enic->intr = kzalloc_objs(struct vnic_intr, enic->intr_avail, + GFP_KERNEL); if (!enic->intr) goto free_queues; @@ -2737,7 +2737,7 @@ static int enic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) #endif /* Allocate structure for port profiles */ - enic->pp = kcalloc(num_pps, sizeof(*enic->pp), GFP_KERNEL); + enic->pp = kzalloc_objs(*enic->pp, num_pps, GFP_KERNEL); if (!enic->pp) { err = -ENOMEM; goto err_out_disable_sriov_pp; diff --git a/drivers/net/ethernet/cisco/enic/vnic_dev.c b/drivers/net/ethernet/cisco/enic/vnic_dev.c index 9f6089e81608..5a8a49f8c44f 100644 --- a/drivers/net/ethernet/cisco/enic/vnic_dev.c +++ b/drivers/net/ethernet/cisco/enic/vnic_dev.c @@ -371,7 +371,7 @@ static int vnic_dev_init_devcmd2(struct vnic_dev *vdev) if (vdev->devcmd2) return 0; - vdev->devcmd2 = kzalloc(sizeof(*vdev->devcmd2), GFP_KERNEL); + vdev->devcmd2 = kzalloc_obj(*vdev->devcmd2, GFP_KERNEL); if (!vdev->devcmd2) return -ENOMEM; @@ -1053,7 +1053,7 @@ struct vnic_dev *vnic_dev_register(struct vnic_dev *vdev, unsigned int num_bars) { if (!vdev) { - vdev = kzalloc(sizeof(struct vnic_dev), GFP_KERNEL); + vdev = kzalloc_obj(struct vnic_dev, GFP_KERNEL); if (!vdev) return NULL; } diff --git a/drivers/net/ethernet/cortina/gemini.c b/drivers/net/ethernet/cortina/gemini.c index 6a2004bbe87f..d5608611cee8 100644 --- a/drivers/net/ethernet/cortina/gemini.c +++ b/drivers/net/ethernet/cortina/gemini.c @@ -554,7 +554,7 @@ static int gmac_setup_txqs(struct net_device *netdev) rwptr_reg = port->dma_base + GMAC_SW_TX_QUEUE0_PTR_REG; - skb_tab = kcalloc(len, sizeof(*skb_tab), GFP_KERNEL); + skb_tab = kzalloc_objs(*skb_tab, len, GFP_KERNEL); if (!skb_tab) return -ENOMEM; @@ -940,8 +940,7 @@ static int geth_setup_freeq(struct gemini_ethernet *geth) } /* Allocate a mapping to page look-up index */ - geth->freeq_pages = kcalloc(pages, sizeof(*geth->freeq_pages), - GFP_KERNEL); + geth->freeq_pages = kzalloc_objs(*geth->freeq_pages, pages, GFP_KERNEL); if (!geth->freeq_pages) goto err_freeq; geth->num_freeq_pages = pages; diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c index 52e10467b3e4..fb9c9d8bc659 100644 --- a/drivers/net/ethernet/emulex/benet/be_main.c +++ b/drivers/net/ethernet/emulex/benet/be_main.c @@ -4207,8 +4207,7 @@ static int be_vf_setup_init(struct be_adapter *adapter) struct be_vf_cfg *vf_cfg; int vf; - adapter->vf_cfg = kcalloc(adapter->num_vfs, sizeof(*vf_cfg), - GFP_KERNEL); + adapter->vf_cfg = kzalloc_objs(*vf_cfg, adapter->num_vfs, GFP_KERNEL); if (!adapter->vf_cfg) return -ENOMEM; @@ -4686,13 +4685,13 @@ static int be_if_create(struct be_adapter *adapter) if (!adapter->pmac_id) return -ENOMEM; - adapter->mc_list = kcalloc(be_max_mc(adapter), - sizeof(*adapter->mc_list), GFP_KERNEL); + adapter->mc_list = kzalloc_objs(*adapter->mc_list, be_max_mc(adapter), + GFP_KERNEL); if (!adapter->mc_list) return -ENOMEM; - adapter->uc_list = kcalloc(be_max_uc(adapter), - sizeof(*adapter->uc_list), GFP_KERNEL); + adapter->uc_list = kzalloc_objs(*adapter->uc_list, be_max_uc(adapter), + GFP_KERNEL); if (!adapter->uc_list) return -ENOMEM; @@ -5048,7 +5047,7 @@ static struct be_cmd_work *be_alloc_work(struct be_adapter *adapter, { struct be_cmd_work *work; - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) { dev_err(&adapter->pdev->dev, "be_work memory allocation failed\n"); diff --git a/drivers/net/ethernet/engleder/tsnep_main.c b/drivers/net/ethernet/engleder/tsnep_main.c index b118407c30e8..eddfde68d503 100644 --- a/drivers/net/ethernet/engleder/tsnep_main.c +++ b/drivers/net/ethernet/engleder/tsnep_main.c @@ -2102,14 +2102,12 @@ int tsnep_enable_xsk(struct tsnep_queue *queue, struct xsk_buff_pool *pool) if (frame_size < TSNEP_XSK_RX_BUF_SIZE) return -EOPNOTSUPP; - queue->rx->page_buffer = kcalloc(TSNEP_RING_SIZE, - sizeof(*queue->rx->page_buffer), - GFP_KERNEL); + queue->rx->page_buffer = kzalloc_objs(*queue->rx->page_buffer, + TSNEP_RING_SIZE, GFP_KERNEL); if (!queue->rx->page_buffer) return -ENOMEM; - queue->rx->xdp_batch = kcalloc(TSNEP_RING_SIZE, - sizeof(*queue->rx->xdp_batch), - GFP_KERNEL); + queue->rx->xdp_batch = kzalloc_objs(*queue->rx->xdp_batch, + TSNEP_RING_SIZE, GFP_KERNEL); if (!queue->rx->xdp_batch) { kfree(queue->rx->page_buffer); queue->rx->page_buffer = NULL; diff --git a/drivers/net/ethernet/engleder/tsnep_rxnfc.c b/drivers/net/ethernet/engleder/tsnep_rxnfc.c index 9ac2a0cf3833..9342dff7a073 100644 --- a/drivers/net/ethernet/engleder/tsnep_rxnfc.c +++ b/drivers/net/ethernet/engleder/tsnep_rxnfc.c @@ -231,7 +231,7 @@ int tsnep_rxnfc_add_rule(struct tsnep_adapter *adapter, return -EINVAL; } - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; diff --git a/drivers/net/ethernet/engleder/tsnep_selftests.c b/drivers/net/ethernet/engleder/tsnep_selftests.c index 8a9145f93147..1a67d3136456 100644 --- a/drivers/net/ethernet/engleder/tsnep_selftests.c +++ b/drivers/net/ethernet/engleder/tsnep_selftests.c @@ -354,7 +354,7 @@ static bool tsnep_test_taprio(struct tsnep_adapter *adapter) struct tc_taprio_qopt_offload *qopt; int i; - qopt = kzalloc(struct_size(qopt, entries, 255), GFP_KERNEL); + qopt = kzalloc_flex(*qopt, entries, 255, GFP_KERNEL); if (!qopt) return false; for (i = 0; i < 255; i++) @@ -451,7 +451,7 @@ static bool tsnep_test_taprio_change(struct tsnep_adapter *adapter) struct tc_taprio_qopt_offload *qopt; int i; - qopt = kzalloc(struct_size(qopt, entries, 255), GFP_KERNEL); + qopt = kzalloc_flex(*qopt, entries, 255, GFP_KERNEL); if (!qopt) return false; for (i = 0; i < 255; i++) @@ -604,7 +604,7 @@ static bool tsnep_test_taprio_extension(struct tsnep_adapter *adapter) struct tc_taprio_qopt_offload *qopt; int i; - qopt = kzalloc(struct_size(qopt, entries, 255), GFP_KERNEL); + qopt = kzalloc_flex(*qopt, entries, 255, GFP_KERNEL); if (!qopt) return false; for (i = 0; i < 255; i++) diff --git a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c index ed3fa80af8c3..0071d9538661 100644 --- a/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c +++ b/drivers/net/ethernet/freescale/dpaa/dpaa_ethtool.c @@ -421,7 +421,7 @@ static int dpaa_set_coalesce(struct net_device *dev, bool *needs_revert; int cpu, res; - needs_revert = kcalloc(num_possible_cpus(), sizeof(bool), GFP_KERNEL); + needs_revert = kzalloc_objs(bool, num_possible_cpus(), GFP_KERNEL); if (!needs_revert) return -ENOMEM; diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c index 76f808d38066..0db00bebb268 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth-devlink.c @@ -237,14 +237,14 @@ int dpaa2_eth_dl_traps_register(struct dpaa2_eth_priv *priv) struct device *dev = net_dev->dev.parent; int err; - dpaa2_eth_trap_data = kzalloc(sizeof(*dpaa2_eth_trap_data), GFP_KERNEL); + dpaa2_eth_trap_data = kzalloc_obj(*dpaa2_eth_trap_data, GFP_KERNEL); if (!dpaa2_eth_trap_data) return -ENOMEM; priv->trap_data = dpaa2_eth_trap_data; - dpaa2_eth_trap_data->trap_items_arr = kcalloc(ARRAY_SIZE(dpaa2_eth_traps_arr), - sizeof(struct dpaa2_eth_trap_item), - GFP_KERNEL); + dpaa2_eth_trap_data->trap_items_arr = kzalloc_objs(struct dpaa2_eth_trap_item, + ARRAY_SIZE(dpaa2_eth_traps_arr), + GFP_KERNEL); if (!dpaa2_eth_trap_data->trap_items_arr) { err = -ENOMEM; goto trap_data_free; diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c index 18d86badd6ea..70691bf85e2d 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c @@ -920,7 +920,7 @@ static int dpaa2_eth_build_sg_fd(struct dpaa2_eth_priv *priv, if (unlikely(PAGE_SIZE / sizeof(struct scatterlist) < nr_frags + 1)) return -EINVAL; - scl = kmalloc_array(nr_frags + 1, sizeof(struct scatterlist), GFP_ATOMIC); + scl = kmalloc_objs(struct scatterlist, nr_frags + 1, GFP_ATOMIC); if (unlikely(!scl)) return -ENOMEM; @@ -3125,7 +3125,7 @@ static struct dpaa2_eth_channel *dpaa2_eth_alloc_channel(struct dpaa2_eth_priv * struct device *dev = priv->net_dev->dev.parent; int err; - channel = kzalloc(sizeof(*channel), GFP_KERNEL); + channel = kzalloc_obj(*channel, GFP_KERNEL); if (!channel) return NULL; @@ -3392,7 +3392,7 @@ struct dpaa2_eth_bp *dpaa2_eth_allocate_dpbp(struct dpaa2_eth_priv *priv) return ERR_PTR(err); } - bp = kzalloc(sizeof(*bp), GFP_KERNEL); + bp = kzalloc_obj(*bp, GFP_KERNEL); if (!bp) { err = -ENOMEM; goto err_alloc; @@ -4673,7 +4673,7 @@ static int dpaa2_eth_connect_mac(struct dpaa2_eth_priv *priv) goto out_put_device; } - mac = kzalloc(sizeof(struct dpaa2_mac), GFP_KERNEL); + mac = kzalloc_obj(struct dpaa2_mac, GFP_KERNEL); if (!mac) { err = -ENOMEM; goto out_put_device; diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c index 701a87370737..388f81713f1e 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch-flower.c @@ -505,7 +505,7 @@ dpaa2_switch_cls_flower_replace_acl(struct dpaa2_switch_filter_block *block, return -ENOMEM; } - acl_entry = kzalloc(sizeof(*acl_entry), GFP_KERNEL); + acl_entry = kzalloc_obj(*acl_entry, GFP_KERNEL); if (!acl_entry) return -ENOMEM; @@ -633,7 +633,7 @@ dpaa2_switch_cls_flower_replace_mirror(struct dpaa2_switch_filter_block *block, } } - mirror_entry = kzalloc(sizeof(*mirror_entry), GFP_KERNEL); + mirror_entry = kzalloc_obj(*mirror_entry, GFP_KERNEL); if (!mirror_entry) return -ENOMEM; @@ -708,7 +708,7 @@ dpaa2_switch_cls_matchall_replace_acl(struct dpaa2_switch_filter_block *block, return -ENOMEM; } - acl_entry = kzalloc(sizeof(*acl_entry), GFP_KERNEL); + acl_entry = kzalloc_obj(*acl_entry, GFP_KERNEL); if (!acl_entry) return -ENOMEM; @@ -780,7 +780,7 @@ dpaa2_switch_cls_matchall_replace_mirror(struct dpaa2_switch_filter_block *block } } - mirror_entry = kzalloc(sizeof(*mirror_entry), GFP_KERNEL); + mirror_entry = kzalloc_obj(*mirror_entry, GFP_KERNEL); if (!mirror_entry) return -ENOMEM; diff --git a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c index 66240c340492..2b0cac347fec 100644 --- a/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c +++ b/drivers/net/ethernet/freescale/dpaa2/dpaa2-switch.c @@ -1456,7 +1456,7 @@ static int dpaa2_switch_port_connect_mac(struct ethsw_port_priv *port_priv) goto out_put_device; } - mac = kzalloc(sizeof(*mac), GFP_KERNEL); + mac = kzalloc_obj(*mac, GFP_KERNEL); if (!mac) { err = -ENOMEM; goto out_put_device; @@ -2334,7 +2334,7 @@ static int dpaa2_switch_port_event(struct notifier_block *nb, if (!dpaa2_switch_port_dev_check(dev)) return NOTIFY_DONE; - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (!switchdev_work) return NOTIFY_BAD; @@ -3385,7 +3385,7 @@ static int dpaa2_switch_probe(struct fsl_mc_device *sw_dev) int i, err; /* Allocate switch core*/ - ethsw = kzalloc(sizeof(*ethsw), GFP_KERNEL); + ethsw = kzalloc_obj(*ethsw, GFP_KERNEL); if (!ethsw) return -ENOMEM; @@ -3408,23 +3408,22 @@ static int dpaa2_switch_probe(struct fsl_mc_device *sw_dev) if (err) goto err_free_cmdport; - ethsw->ports = kcalloc(ethsw->sw_attr.num_ifs, sizeof(*ethsw->ports), - GFP_KERNEL); + ethsw->ports = kzalloc_objs(*ethsw->ports, ethsw->sw_attr.num_ifs, + GFP_KERNEL); if (!(ethsw->ports)) { err = -ENOMEM; goto err_teardown; } - ethsw->fdbs = kcalloc(ethsw->sw_attr.num_ifs, sizeof(*ethsw->fdbs), - GFP_KERNEL); + ethsw->fdbs = kzalloc_objs(*ethsw->fdbs, ethsw->sw_attr.num_ifs, + GFP_KERNEL); if (!ethsw->fdbs) { err = -ENOMEM; goto err_free_ports; } - ethsw->filter_blocks = kcalloc(ethsw->sw_attr.num_ifs, - sizeof(*ethsw->filter_blocks), - GFP_KERNEL); + ethsw->filter_blocks = kzalloc_objs(*ethsw->filter_blocks, + ethsw->sw_attr.num_ifs, GFP_KERNEL); if (!ethsw->filter_blocks) { err = -ENOMEM; goto err_free_fdbs; diff --git a/drivers/net/ethernet/freescale/enetc/enetc.c b/drivers/net/ethernet/freescale/enetc/enetc.c index e380a4f39855..d6575a446adf 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc.c +++ b/drivers/net/ethernet/freescale/enetc/enetc.c @@ -2268,7 +2268,7 @@ enetc_alloc_tx_resources(struct enetc_ndev_priv *priv) struct enetc_bdr_resource *tx_res; int i, err; - tx_res = kcalloc(priv->num_tx_rings, sizeof(*tx_res), GFP_KERNEL); + tx_res = kzalloc_objs(*tx_res, priv->num_tx_rings, GFP_KERNEL); if (!tx_res) return ERR_PTR(-ENOMEM); @@ -2340,7 +2340,7 @@ enetc_alloc_rx_resources(struct enetc_ndev_priv *priv, bool extended) struct enetc_bdr_resource *rx_res; int i, err; - rx_res = kcalloc(priv->num_rx_rings, sizeof(*rx_res), GFP_KERNEL); + rx_res = kzalloc_objs(*rx_res, priv->num_rx_rings, GFP_KERNEL); if (!rx_res) return ERR_PTR(-ENOMEM); @@ -2469,7 +2469,7 @@ static int enetc_setup_default_rss_table(struct enetc_si *si, int num_groups) int *rss_table; int i; - rss_table = kmalloc_array(si->num_rss, sizeof(*rss_table), GFP_KERNEL); + rss_table = kmalloc_objs(*rss_table, si->num_rss, GFP_KERNEL); if (!rss_table) return -ENOMEM; @@ -2562,8 +2562,8 @@ int enetc_alloc_si_resources(struct enetc_ndev_priv *priv) { struct enetc_si *si = priv->si; - priv->cls_rules = kcalloc(si->num_fs_entries, sizeof(*priv->cls_rules), - GFP_KERNEL); + priv->cls_rules = kzalloc_objs(*priv->cls_rules, si->num_fs_entries, + GFP_KERNEL); if (!priv->cls_rules) return -ENOMEM; @@ -3454,7 +3454,7 @@ static int enetc_int_vector_init(struct enetc_ndev_priv *priv, int i, struct enetc_bdr *bdr; int j, err; - v = kzalloc(struct_size(v, tx_ring, v_tx_rings), GFP_KERNEL); + v = kzalloc_flex(*v, tx_ring, v_tx_rings, GFP_KERNEL); if (!v) return -ENOMEM; diff --git a/drivers/net/ethernet/freescale/enetc/enetc4_pf.c b/drivers/net/ethernet/freescale/enetc/enetc4_pf.c index 5850540634b0..689b9f13c5eb 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc4_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc4_pf.c @@ -192,7 +192,7 @@ static int enetc4_pf_set_uc_exact_filter(struct enetc_pf *pf) goto unlock_netif_addr; } - mac_tbl = kcalloc(mac_cnt, sizeof(*mac_tbl), GFP_ATOMIC); + mac_tbl = kzalloc_objs(*mac_tbl, mac_cnt, GFP_ATOMIC); if (!mac_tbl) { err = -ENOMEM; goto unlock_netif_addr; diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c b/drivers/net/ethernet/freescale/enetc/enetc_pf.c index de0fb272c847..eb3a50a94df7 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c @@ -814,7 +814,7 @@ static int enetc_init_port_rss_memory(struct enetc_si *si) if (!num_rss) return 0; - rss_table = kcalloc(num_rss, sizeof(*rss_table), GFP_KERNEL); + rss_table = kzalloc_objs(*rss_table, num_rss, GFP_KERNEL); if (!rss_table) return -ENOMEM; @@ -958,8 +958,8 @@ static int enetc_pf_probe(struct pci_dev *pdev, pf->total_vfs = pci_sriov_get_totalvfs(pdev); if (pf->total_vfs) { - pf->vf_state = kcalloc(pf->total_vfs, sizeof(struct enetc_vf_state), - GFP_KERNEL); + pf->vf_state = kzalloc_objs(struct enetc_vf_state, + pf->total_vfs, GFP_KERNEL); if (!pf->vf_state) goto err_alloc_vf_state; } diff --git a/drivers/net/ethernet/freescale/enetc/enetc_ptp.c b/drivers/net/ethernet/freescale/enetc/enetc_ptp.c index b8413d3b4f16..dbf35abea7f7 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_ptp.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_ptp.c @@ -53,7 +53,7 @@ static int enetc_ptp_probe(struct pci_dev *pdev, pci_set_master(pdev); - ptp_qoriq = kzalloc(sizeof(*ptp_qoriq), GFP_KERNEL); + ptp_qoriq = kzalloc_obj(*ptp_qoriq, GFP_KERNEL); if (!ptp_qoriq) { err = -ENOMEM; goto err_alloc_ptp; diff --git a/drivers/net/ethernet/freescale/enetc/enetc_qos.c b/drivers/net/ethernet/freescale/enetc/enetc_qos.c index ccf86651455c..6ff65108cc97 100644 --- a/drivers/net/ethernet/freescale/enetc/enetc_qos.c +++ b/drivers/net/ethernet/freescale/enetc/enetc_qos.c @@ -1153,7 +1153,7 @@ static int enetc_psfp_parse_clsflower(struct enetc_ndev_priv *priv, if (!entryg) return -EINVAL; - filter = kzalloc(sizeof(*filter), GFP_KERNEL); + filter = kzalloc_obj(*filter, GFP_KERNEL); if (!filter) return -ENOMEM; @@ -1266,7 +1266,7 @@ static int enetc_psfp_parse_clsflower(struct enetc_ndev_priv *priv, filter->sgi_index = sgi->index; - sfi = kzalloc(sizeof(*sfi), GFP_KERNEL); + sfi = kzalloc_obj(*sfi, GFP_KERNEL); if (!sfi) { err = -ENOMEM; goto free_gate; @@ -1283,7 +1283,7 @@ static int enetc_psfp_parse_clsflower(struct enetc_ndev_priv *priv, goto free_sfi; if (entryp->police.burst) { - fmi = kzalloc(sizeof(*fmi), GFP_KERNEL); + fmi = kzalloc_obj(*fmi, GFP_KERNEL); if (!fmi) { err = -ENOMEM; goto free_sfi; diff --git a/drivers/net/ethernet/freescale/fec_main.c b/drivers/net/ethernet/freescale/fec_main.c index 0d926bf18195..c43539d4bab0 100644 --- a/drivers/net/ethernet/freescale/fec_main.c +++ b/drivers/net/ethernet/freescale/fec_main.c @@ -3952,7 +3952,7 @@ static int fec_enet_alloc_queue(struct net_device *ndev) struct fec_enet_priv_tx_q *txq; for (i = 0; i < fep->num_tx_queues; i++) { - txq = kzalloc(sizeof(*txq), GFP_KERNEL); + txq = kzalloc_obj(*txq, GFP_KERNEL); if (!txq) { ret = -ENOMEM; goto alloc_failed; @@ -3975,8 +3975,7 @@ static int fec_enet_alloc_queue(struct net_device *ndev) } for (i = 0; i < fep->num_rx_queues; i++) { - fep->rx_queue[i] = kzalloc(sizeof(*fep->rx_queue[i]), - GFP_KERNEL); + fep->rx_queue[i] = kzalloc_obj(*fep->rx_queue[i], GFP_KERNEL); if (!fep->rx_queue[i]) { ret = -ENOMEM; goto alloc_failed; @@ -4426,7 +4425,7 @@ fec_alloc_new_rxq_xsk(struct fec_enet_private *fep, int queue, union fec_rx_buffer *buf; int i; - rxq = kzalloc(sizeof(*rxq), GFP_KERNEL); + rxq = kzalloc_obj(*rxq, GFP_KERNEL); if (!rxq) return NULL; @@ -4467,7 +4466,7 @@ fec_alloc_new_rxq_pp(struct fec_enet_private *fep, int queue) union fec_rx_buffer *buf; int i = 0; - rxq = kzalloc(sizeof(*rxq), GFP_KERNEL); + rxq = kzalloc_obj(*rxq, GFP_KERNEL); if (!rxq) return NULL; diff --git a/drivers/net/ethernet/freescale/fec_mpc52xx_phy.c b/drivers/net/ethernet/freescale/fec_mpc52xx_phy.c index 3d073f0fae63..f182480909f1 100644 --- a/drivers/net/ethernet/freescale/fec_mpc52xx_phy.c +++ b/drivers/net/ethernet/freescale/fec_mpc52xx_phy.c @@ -74,7 +74,7 @@ static int mpc52xx_fec_mdio_probe(struct platform_device *of) bus = mdiobus_alloc(); if (bus == NULL) return -ENOMEM; - priv = kzalloc(sizeof(*priv), GFP_KERNEL); + priv = kzalloc_obj(*priv, GFP_KERNEL); if (priv == NULL) { err = -ENOMEM; goto out_free; diff --git a/drivers/net/ethernet/freescale/fman/fman.c b/drivers/net/ethernet/freescale/fman/fman.c index 11887458f050..b8d603fb70dc 100644 --- a/drivers/net/ethernet/freescale/fman/fman.c +++ b/drivers/net/ethernet/freescale/fman/fman.c @@ -1688,12 +1688,12 @@ static int fman_config(struct fman *fman) base_addr = fman->dts_params.base_addr; - fman->state = kzalloc(sizeof(*fman->state), GFP_KERNEL); + fman->state = kzalloc_obj(*fman->state, GFP_KERNEL); if (!fman->state) goto err_fm_state; /* Allocate the FM driver's parameters structure */ - fman->cfg = kzalloc(sizeof(*fman->cfg), GFP_KERNEL); + fman->cfg = kzalloc_obj(*fman->cfg, GFP_KERNEL); if (!fman->cfg) goto err_fm_drv; @@ -2697,7 +2697,7 @@ static struct fman *read_dts_node(struct platform_device *of_dev) struct clk *clk; u32 clk_rate; - fman = kzalloc(sizeof(*fman), GFP_KERNEL); + fman = kzalloc_obj(*fman, GFP_KERNEL); if (!fman) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/freescale/fman/fman_dtsec.c b/drivers/net/ethernet/freescale/fman/fman_dtsec.c index 51402dff72c5..12d739808f16 100644 --- a/drivers/net/ethernet/freescale/fman/fman_dtsec.c +++ b/drivers/net/ethernet/freescale/fman/fman_dtsec.c @@ -1055,7 +1055,7 @@ static int dtsec_add_hash_mac_address(struct fman_mac *dtsec, set_bucket(dtsec->regs, bucket, true); /* Create element to be added to the driver hash table */ - hash_entry = kmalloc(sizeof(*hash_entry), GFP_ATOMIC); + hash_entry = kmalloc_obj(*hash_entry, GFP_ATOMIC); if (!hash_entry) return -ENOMEM; hash_entry->addr = addr; @@ -1348,12 +1348,12 @@ static struct fman_mac *dtsec_config(struct mac_device *mac_dev, struct dtsec_cfg *dtsec_drv_param; /* allocate memory for the UCC GETH data structure. */ - dtsec = kzalloc(sizeof(*dtsec), GFP_KERNEL); + dtsec = kzalloc_obj(*dtsec, GFP_KERNEL); if (!dtsec) return NULL; /* allocate memory for the d_tsec driver parameters data structure. */ - dtsec_drv_param = kzalloc(sizeof(*dtsec_drv_param), GFP_KERNEL); + dtsec_drv_param = kzalloc_obj(*dtsec_drv_param, GFP_KERNEL); if (!dtsec_drv_param) goto err_dtsec; diff --git a/drivers/net/ethernet/freescale/fman/fman_keygen.c b/drivers/net/ethernet/freescale/fman/fman_keygen.c index e73f6ef3c6ee..f4b83b5eb018 100644 --- a/drivers/net/ethernet/freescale/fman/fman_keygen.c +++ b/drivers/net/ethernet/freescale/fman/fman_keygen.c @@ -629,7 +629,7 @@ struct fman_keygen *keygen_init(struct fman_kg_regs __iomem *keygen_regs) int i; /* Allocate memory for KeyGen driver */ - keygen = kzalloc(sizeof(*keygen), GFP_KERNEL); + keygen = kzalloc_obj(*keygen, GFP_KERNEL); if (!keygen) return NULL; diff --git a/drivers/net/ethernet/freescale/fman/fman_mac.h b/drivers/net/ethernet/freescale/fman/fman_mac.h index e5d6cddea731..83d53f33abc2 100644 --- a/drivers/net/ethernet/freescale/fman/fman_mac.h +++ b/drivers/net/ethernet/freescale/fman/fman_mac.h @@ -224,14 +224,13 @@ static inline struct eth_hash_t *alloc_hash_table(u16 size) struct eth_hash_t *hash; /* Allocate address hash table */ - hash = kmalloc(sizeof(*hash), GFP_KERNEL); + hash = kmalloc_obj(*hash, GFP_KERNEL); if (!hash) return NULL; hash->size = size; - hash->lsts = kmalloc_array(hash->size, sizeof(struct list_head), - GFP_KERNEL); + hash->lsts = kmalloc_objs(struct list_head, hash->size, GFP_KERNEL); if (!hash->lsts) { kfree(hash); return NULL; diff --git a/drivers/net/ethernet/freescale/fman/fman_memac.c b/drivers/net/ethernet/freescale/fman/fman_memac.c index c84f0336c94c..f9461bba1a66 100644 --- a/drivers/net/ethernet/freescale/fman/fman_memac.c +++ b/drivers/net/ethernet/freescale/fman/fman_memac.c @@ -811,7 +811,7 @@ static int memac_add_hash_mac_address(struct fman_mac *memac, hash = get_mac_addr_hash_code(addr) & HASH_CTRL_ADDR_MASK; /* Create element to be added to the driver hash table */ - hash_entry = kmalloc(sizeof(*hash_entry), GFP_ATOMIC); + hash_entry = kmalloc_obj(*hash_entry, GFP_ATOMIC); if (!hash_entry) return -ENOMEM; hash_entry->addr = addr; @@ -1086,12 +1086,12 @@ static struct fman_mac *memac_config(struct mac_device *mac_dev, struct memac_cfg *memac_drv_param; /* allocate memory for the m_emac data structure */ - memac = kzalloc(sizeof(*memac), GFP_KERNEL); + memac = kzalloc_obj(*memac, GFP_KERNEL); if (!memac) return NULL; /* allocate memory for the m_emac driver parameters data structure */ - memac_drv_param = kzalloc(sizeof(*memac_drv_param), GFP_KERNEL); + memac_drv_param = kzalloc_obj(*memac_drv_param, GFP_KERNEL); if (!memac_drv_param) { memac_free(memac); return NULL; diff --git a/drivers/net/ethernet/freescale/fman/fman_muram.c b/drivers/net/ethernet/freescale/fman/fman_muram.c index 1ed245a2ee01..eb85c54c9408 100644 --- a/drivers/net/ethernet/freescale/fman/fman_muram.c +++ b/drivers/net/ethernet/freescale/fman/fman_muram.c @@ -40,7 +40,7 @@ struct muram_info *fman_muram_init(phys_addr_t base, size_t size) void __iomem *vaddr; int ret; - muram = kzalloc(sizeof(*muram), GFP_KERNEL); + muram = kzalloc_obj(*muram, GFP_KERNEL); if (!muram) return NULL; diff --git a/drivers/net/ethernet/freescale/fman/fman_port.c b/drivers/net/ethernet/freescale/fman/fman_port.c index e977389f7088..a3e8c77dbb57 100644 --- a/drivers/net/ethernet/freescale/fman/fman_port.c +++ b/drivers/net/ethernet/freescale/fman/fman_port.c @@ -1297,7 +1297,7 @@ int fman_port_config(struct fman_port *port, struct fman_port_params *params) int err; /* Allocate the FM driver's parameters structure */ - port->cfg = kzalloc(sizeof(*port->cfg), GFP_KERNEL); + port->cfg = kzalloc_obj(*port->cfg, GFP_KERNEL); if (!port->cfg) return -EINVAL; @@ -1753,7 +1753,7 @@ static int fman_port_probe(struct platform_device *of_dev) u16 port_speed; u8 port_id; - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); if (!port) return -ENOMEM; diff --git a/drivers/net/ethernet/freescale/fman/fman_tgec.c b/drivers/net/ethernet/freescale/fman/fman_tgec.c index fecfca6eba03..05edac07ba6c 100644 --- a/drivers/net/ethernet/freescale/fman/fman_tgec.c +++ b/drivers/net/ethernet/freescale/fman/fman_tgec.c @@ -505,7 +505,7 @@ static int tgec_add_hash_mac_address(struct fman_mac *tgec, hash = (crc >> TGEC_HASH_MCAST_SHIFT) & TGEC_HASH_ADR_MSK; /* Create element to be added to the driver hash table */ - hash_entry = kmalloc(sizeof(*hash_entry), GFP_ATOMIC); + hash_entry = kmalloc_obj(*hash_entry, GFP_ATOMIC); if (!hash_entry) return -ENOMEM; hash_entry->addr = addr; @@ -711,12 +711,12 @@ static struct fman_mac *tgec_config(struct mac_device *mac_dev, struct tgec_cfg *cfg; /* allocate memory for the UCC GETH data structure. */ - tgec = kzalloc(sizeof(*tgec), GFP_KERNEL); + tgec = kzalloc_obj(*tgec, GFP_KERNEL); if (!tgec) return NULL; /* allocate memory for the 10G MAC driver parameters data structure. */ - cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!cfg) { tgec_free(tgec); return NULL; diff --git a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c index f563692a4a00..3ba98561f566 100644 --- a/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c +++ b/drivers/net/ethernet/freescale/fs_enet/fs_enet-main.c @@ -866,7 +866,7 @@ static int fs_enet_probe(struct platform_device *ofdev) if (!ops) return -EINVAL; - fpi = kzalloc(sizeof(*fpi), GFP_KERNEL); + fpi = kzalloc_obj(*fpi, GFP_KERNEL); if (!fpi) return -ENOMEM; diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c index 66038e2a4ae3..2a27dc0b5653 100644 --- a/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c +++ b/drivers/net/ethernet/freescale/fs_enet/mii-bitbang.c @@ -152,7 +152,7 @@ static int fs_enet_mdio_probe(struct platform_device *ofdev) struct bb_info *bitbang; int ret = -ENOMEM; - bitbang = kzalloc(sizeof(struct bb_info), GFP_KERNEL); + bitbang = kzalloc_obj(struct bb_info, GFP_KERNEL); if (!bitbang) goto out; diff --git a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c index dec31b638941..512e897cea08 100644 --- a/drivers/net/ethernet/freescale/fs_enet/mii-fec.c +++ b/drivers/net/ethernet/freescale/fs_enet/mii-fec.c @@ -108,7 +108,7 @@ static int fs_enet_mdio_probe(struct platform_device *ofdev) if (!new_bus) goto out; - fec = kzalloc(sizeof(struct fec_info), GFP_KERNEL); + fec = kzalloc_obj(struct fec_info, GFP_KERNEL); if (!fec) goto out_mii; diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index 7c0f049f0938..a58cd09b4c0d 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -413,8 +413,8 @@ static int gfar_alloc_tx_queues(struct gfar_private *priv) int i; for (i = 0; i < priv->num_tx_queues; i++) { - priv->tx_queue[i] = kzalloc(sizeof(struct gfar_priv_tx_q), - GFP_KERNEL); + priv->tx_queue[i] = kzalloc_obj(struct gfar_priv_tx_q, + GFP_KERNEL); if (!priv->tx_queue[i]) return -ENOMEM; @@ -431,8 +431,8 @@ static int gfar_alloc_rx_queues(struct gfar_private *priv) int i; for (i = 0; i < priv->num_rx_queues; i++) { - priv->rx_queue[i] = kzalloc(sizeof(struct gfar_priv_rx_q), - GFP_KERNEL); + priv->rx_queue[i] = kzalloc_obj(struct gfar_priv_rx_q, + GFP_KERNEL); if (!priv->rx_queue[i]) return -ENOMEM; @@ -507,8 +507,7 @@ static int gfar_parse_group(struct device_node *np, int i; for (i = 0; i < GFAR_NUM_IRQS; i++) { - grp->irqinfo[i] = kzalloc(sizeof(struct gfar_irqinfo), - GFP_KERNEL); + grp->irqinfo[i] = kzalloc_obj(struct gfar_irqinfo, GFP_KERNEL); if (!grp->irqinfo[i]) return -ENOMEM; } @@ -1376,9 +1375,8 @@ static int gfar_alloc_skb_resources(struct net_device *ndev) for (i = 0; i < priv->num_tx_queues; i++) { tx_queue = priv->tx_queue[i]; tx_queue->tx_skbuff = - kmalloc_array(tx_queue->tx_ring_size, - sizeof(*tx_queue->tx_skbuff), - GFP_KERNEL); + kmalloc_objs(*tx_queue->tx_skbuff, + tx_queue->tx_ring_size, GFP_KERNEL); if (!tx_queue->tx_skbuff) goto cleanup; @@ -1388,9 +1386,9 @@ static int gfar_alloc_skb_resources(struct net_device *ndev) for (i = 0; i < priv->num_rx_queues; i++) { rx_queue = priv->rx_queue[i]; - rx_queue->rx_buff = kcalloc(rx_queue->rx_ring_size, - sizeof(*rx_queue->rx_buff), - GFP_KERNEL); + rx_queue->rx_buff = kzalloc_objs(*rx_queue->rx_buff, + rx_queue->rx_ring_size, + GFP_KERNEL); if (!rx_queue->rx_buff) goto cleanup; } diff --git a/drivers/net/ethernet/freescale/gianfar_ethtool.c b/drivers/net/ethernet/freescale/gianfar_ethtool.c index 6fa752d3b60d..528a0717084c 100644 --- a/drivers/net/ethernet/freescale/gianfar_ethtool.c +++ b/drivers/net/ethernet/freescale/gianfar_ethtool.c @@ -1241,7 +1241,7 @@ static int gfar_process_filer_changes(struct gfar_private *priv) s32 ret = 0; /* So index is set to zero, too! */ - tab = kzalloc(sizeof(*tab), GFP_KERNEL); + tab = kzalloc_obj(*tab, GFP_KERNEL); if (tab == NULL) return -ENOMEM; @@ -1293,7 +1293,7 @@ static int gfar_add_cls(struct gfar_private *priv, struct ethtool_flow_spec_container *temp, *comp; int ret = 0; - temp = kmalloc(sizeof(*temp), GFP_KERNEL); + temp = kmalloc_obj(*temp, GFP_KERNEL); if (temp == NULL) return -ENOMEM; memcpy(&temp->fs, flow, sizeof(temp->fs)); diff --git a/drivers/net/ethernet/freescale/ucc_geth.c b/drivers/net/ethernet/freescale/ucc_geth.c index 131d1210dc4a..b1ced6432f26 100644 --- a/drivers/net/ethernet/freescale/ucc_geth.c +++ b/drivers/net/ethernet/freescale/ucc_geth.c @@ -2071,8 +2071,8 @@ static int ucc_geth_alloc_tx(struct ucc_geth_private *ugeth) for (j = 0; j < ucc_geth_tx_queues(ug_info); j++) { /* Setup the skbuff rings */ ugeth->tx_skbuff[j] = - kcalloc(ugeth->ug_info->bdRingLenTx[j], - sizeof(struct sk_buff *), GFP_KERNEL); + kzalloc_objs(struct sk_buff *, + ugeth->ug_info->bdRingLenTx[j], GFP_KERNEL); if (ugeth->tx_skbuff[j] == NULL) { if (netif_msg_ifup(ugeth)) @@ -2129,8 +2129,8 @@ static int ucc_geth_alloc_rx(struct ucc_geth_private *ugeth) for (j = 0; j < ucc_geth_rx_queues(ug_info); j++) { /* Setup the skbuff rings */ ugeth->rx_skbuff[j] = - kcalloc(ugeth->ug_info->bdRingLenRx[j], - sizeof(struct sk_buff *), GFP_KERNEL); + kzalloc_objs(struct sk_buff *, + ugeth->ug_info->bdRingLenRx[j], GFP_KERNEL); if (ugeth->rx_skbuff[j] == NULL) { if (netif_msg_ifup(ugeth)) @@ -2677,7 +2677,7 @@ static int ucc_geth_startup(struct ucc_geth_private *ugeth) * allocated resources can be released when the channel is freed. */ if (!(ugeth->p_init_enet_param_shadow = - kzalloc(sizeof(struct ucc_geth_init_pram), GFP_KERNEL))) { + kzalloc_obj(struct ucc_geth_init_pram, GFP_KERNEL))) { if (netif_msg_ifup(ugeth)) pr_err("Can not allocate memory for p_UccInitEnetParamShadows\n"); return -ENOMEM; diff --git a/drivers/net/ethernet/fungible/funcore/fun_dev.c b/drivers/net/ethernet/fungible/funcore/fun_dev.c index ce97b76f9ae0..1c1e66068fed 100644 --- a/drivers/net/ethernet/fungible/funcore/fun_dev.c +++ b/drivers/net/ethernet/fungible/funcore/fun_dev.c @@ -210,7 +210,7 @@ static int fun_init_cmd_ctx(struct fun_dev *fdev, unsigned int ntags) { unsigned int i; - fdev->cmd_ctx = kvcalloc(ntags, sizeof(*fdev->cmd_ctx), GFP_KERNEL); + fdev->cmd_ctx = kvzalloc_objs(*fdev->cmd_ctx, ntags, GFP_KERNEL); if (!fdev->cmd_ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/fungible/funcore/fun_queue.c b/drivers/net/ethernet/fungible/funcore/fun_queue.c index d07ee3e4f52a..200983145606 100644 --- a/drivers/net/ethernet/fungible/funcore/fun_queue.c +++ b/drivers/net/ethernet/fungible/funcore/fun_queue.c @@ -405,7 +405,7 @@ void fun_free_queue(struct fun_queue *funq) struct fun_queue *fun_alloc_queue(struct fun_dev *fdev, int qid, const struct fun_queue_alloc_req *req) { - struct fun_queue *funq = kzalloc(sizeof(*funq), GFP_KERNEL); + struct fun_queue *funq = kzalloc_obj(*funq, GFP_KERNEL); if (!funq) return NULL; diff --git a/drivers/net/ethernet/fungible/funeth/funeth_main.c b/drivers/net/ethernet/fungible/funeth/funeth_main.c index 792cddac6f1b..2255f203674a 100644 --- a/drivers/net/ethernet/fungible/funeth/funeth_main.c +++ b/drivers/net/ethernet/fungible/funeth/funeth_main.c @@ -424,7 +424,7 @@ static struct funeth_txq **alloc_xdpqs(struct net_device *dev, unsigned int nqs, unsigned int i; int err; - xdpqs = kcalloc(nqs, sizeof(*xdpqs), GFP_KERNEL); + xdpqs = kzalloc_objs(*xdpqs, nqs, GFP_KERNEL); if (!xdpqs) return ERR_PTR(-ENOMEM); @@ -486,7 +486,7 @@ static int fun_alloc_rings(struct net_device *netdev, struct fun_qset *qset) if (err) return err; - rxqs = kcalloc(qset->ntxqs + qset->nrxqs, sizeof(*rxqs), GFP_KERNEL); + rxqs = kzalloc_objs(*rxqs, qset->ntxqs + qset->nrxqs, GFP_KERNEL); if (!rxqs) return -ENOMEM; @@ -1175,7 +1175,7 @@ static int fun_init_vports(struct fun_ethdev *ed, unsigned int n) if (ed->num_vports) return -EINVAL; - ed->vport_info = kvcalloc(n, sizeof(*ed->vport_info), GFP_KERNEL); + ed->vport_info = kvzalloc_objs(*ed->vport_info, n, GFP_KERNEL); if (!ed->vport_info) return -ENOMEM; ed->num_vports = n; @@ -1833,7 +1833,7 @@ static int fun_create_ports(struct fun_ethdev *ed, unsigned int nports) return -EINVAL; } - ed->netdevs = kcalloc(nports, sizeof(*ed->netdevs), GFP_KERNEL); + ed->netdevs = kzalloc_objs(*ed->netdevs, nports, GFP_KERNEL); if (!ed->netdevs) return -ENOMEM; diff --git a/drivers/net/ethernet/google/gve/gve_ethtool.c b/drivers/net/ethernet/google/gve/gve_ethtool.c index 42a0a6f7b296..a2b5aeee0831 100644 --- a/drivers/net/ethernet/google/gve/gve_ethtool.c +++ b/drivers/net/ethernet/google/gve/gve_ethtool.c @@ -176,8 +176,8 @@ gve_get_ethtool_stats(struct net_device *netdev, priv = netdev_priv(netdev); num_tx_queues = gve_num_tx_queues(priv); report_stats = priv->stats_report->stats; - rx_qid_to_stats_idx = kmalloc_array(priv->rx_cfg.num_queues, - sizeof(int), GFP_KERNEL); + rx_qid_to_stats_idx = kmalloc_objs(int, priv->rx_cfg.num_queues, + GFP_KERNEL); if (!rx_qid_to_stats_idx) return; for (ring = 0; ring < priv->rx_cfg.num_queues; ring++) { @@ -185,8 +185,7 @@ gve_get_ethtool_stats(struct net_device *netdev, if (!gve_rx_was_added_to_block(priv, ring)) num_stopped_rxqs++; } - tx_qid_to_stats_idx = kmalloc_array(num_tx_queues, - sizeof(int), GFP_KERNEL); + tx_qid_to_stats_idx = kmalloc_objs(int, num_tx_queues, GFP_KERNEL); if (!tx_qid_to_stats_idx) { kfree(rx_qid_to_stats_idx); return; diff --git a/drivers/net/ethernet/google/gve/gve_flow_rule.c b/drivers/net/ethernet/google/gve/gve_flow_rule.c index 0bb8cd1876a3..f97b124b1c6a 100644 --- a/drivers/net/ethernet/google/gve/gve_flow_rule.c +++ b/drivers/net/ethernet/google/gve/gve_flow_rule.c @@ -269,7 +269,7 @@ int gve_add_flow_rule(struct gve_priv *priv, struct ethtool_rxnfc *cmd) if (!priv->max_flow_rules) return -EOPNOTSUPP; - rule = kvzalloc(sizeof(*rule), GFP_KERNEL); + rule = kvzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; diff --git a/drivers/net/ethernet/google/gve/gve_main.c b/drivers/net/ethernet/google/gve/gve_main.c index 0ee864b0afe0..75c4748f9de2 100644 --- a/drivers/net/ethernet/google/gve/gve_main.c +++ b/drivers/net/ethernet/google/gve/gve_main.c @@ -151,8 +151,8 @@ static int gve_alloc_flow_rule_caches(struct gve_priv *priv) return 0; flow_rules_cache->rules_cache = - kvcalloc(GVE_FLOW_RULES_CACHE_SIZE, sizeof(*flow_rules_cache->rules_cache), - GFP_KERNEL); + kvzalloc_objs(*flow_rules_cache->rules_cache, + GVE_FLOW_RULES_CACHE_SIZE, GFP_KERNEL); if (!flow_rules_cache->rules_cache) { dev_err(&priv->pdev->dev, "Cannot alloc flow rules cache\n"); return -ENOMEM; @@ -485,8 +485,8 @@ static int gve_alloc_notify_blocks(struct gve_priv *priv) int i, j; int err; - priv->msix_vectors = kvcalloc(num_vecs_requested, - sizeof(*priv->msix_vectors), GFP_KERNEL); + priv->msix_vectors = kvzalloc_objs(*priv->msix_vectors, + num_vecs_requested, GFP_KERNEL); if (!priv->msix_vectors) return -ENOMEM; for (i = 0; i < num_vecs_requested; i++) @@ -666,8 +666,8 @@ static int gve_setup_device_resources(struct gve_priv *priv) } if (!gve_is_gqi(priv)) { - priv->ptype_lut_dqo = kvzalloc(sizeof(*priv->ptype_lut_dqo), - GFP_KERNEL); + priv->ptype_lut_dqo = kvzalloc_obj(*priv->ptype_lut_dqo, + GFP_KERNEL); if (!priv->ptype_lut_dqo) { err = -ENOMEM; goto abort_with_stats_report; @@ -1090,17 +1090,17 @@ struct gve_queue_page_list *gve_alloc_queue_page_list(struct gve_priv *priv, int err; int i; - qpl = kvzalloc(sizeof(*qpl), GFP_KERNEL); + qpl = kvzalloc_obj(*qpl, GFP_KERNEL); if (!qpl) return NULL; qpl->id = id; qpl->num_entries = 0; - qpl->pages = kvcalloc(pages, sizeof(*qpl->pages), GFP_KERNEL); + qpl->pages = kvzalloc_objs(*qpl->pages, pages, GFP_KERNEL); if (!qpl->pages) goto abort; - qpl->page_buses = kvcalloc(pages, sizeof(*qpl->page_buses), GFP_KERNEL); + qpl->page_buses = kvzalloc_objs(*qpl->page_buses, pages, GFP_KERNEL); if (!qpl->page_buses) goto abort; diff --git a/drivers/net/ethernet/google/gve/gve_ptp.c b/drivers/net/ethernet/google/gve/gve_ptp.c index de42fc2c19a1..eb836ebcbd60 100644 --- a/drivers/net/ethernet/google/gve/gve_ptp.c +++ b/drivers/net/ethernet/google/gve/gve_ptp.c @@ -70,7 +70,7 @@ static int gve_ptp_init(struct gve_priv *priv) struct gve_ptp *ptp; int err; - priv->ptp = kzalloc(sizeof(*priv->ptp), GFP_KERNEL); + priv->ptp = kzalloc_obj(*priv->ptp, GFP_KERNEL); if (!priv->ptp) return -ENOMEM; diff --git a/drivers/net/ethernet/google/gve/gve_rx.c b/drivers/net/ethernet/google/gve/gve_rx.c index ec424d2f4f57..197513da0fe5 100644 --- a/drivers/net/ethernet/google/gve/gve_rx.c +++ b/drivers/net/ethernet/google/gve/gve_rx.c @@ -390,8 +390,8 @@ int gve_rx_alloc_rings_gqi(struct gve_priv *priv, int err = 0; int i, j; - rx = kvcalloc(cfg->qcfg_rx->max_queues, sizeof(struct gve_rx_ring), - GFP_KERNEL); + rx = kvzalloc_objs(struct gve_rx_ring, cfg->qcfg_rx->max_queues, + GFP_KERNEL); if (!rx) return -ENOMEM; diff --git a/drivers/net/ethernet/google/gve/gve_rx_dqo.c b/drivers/net/ethernet/google/gve/gve_rx_dqo.c index 63a96106a693..282c10e50d53 100644 --- a/drivers/net/ethernet/google/gve/gve_rx_dqo.c +++ b/drivers/net/ethernet/google/gve/gve_rx_dqo.c @@ -320,8 +320,8 @@ int gve_rx_alloc_rings_dqo(struct gve_priv *priv, int err; int i; - rx = kvcalloc(cfg->qcfg_rx->max_queues, sizeof(struct gve_rx_ring), - GFP_KERNEL); + rx = kvzalloc_objs(struct gve_rx_ring, cfg->qcfg_rx->max_queues, + GFP_KERNEL); if (!rx) return -ENOMEM; diff --git a/drivers/net/ethernet/google/gve/gve_tx.c b/drivers/net/ethernet/google/gve/gve_tx.c index 97efc8d27e6f..d2023cee1f35 100644 --- a/drivers/net/ethernet/google/gve/gve_tx.c +++ b/drivers/net/ethernet/google/gve/gve_tx.c @@ -345,8 +345,8 @@ int gve_tx_alloc_rings_gqi(struct gve_priv *priv, return -EINVAL; } - tx = kvcalloc(cfg->qcfg->max_queues, sizeof(struct gve_tx_ring), - GFP_KERNEL); + tx = kvzalloc_objs(struct gve_tx_ring, cfg->qcfg->max_queues, + GFP_KERNEL); if (!tx) return -ENOMEM; diff --git a/drivers/net/ethernet/google/gve/gve_tx_dqo.c b/drivers/net/ethernet/google/gve/gve_tx_dqo.c index 28e85730f785..44980f61e330 100644 --- a/drivers/net/ethernet/google/gve/gve_tx_dqo.c +++ b/drivers/net/ethernet/google/gve/gve_tx_dqo.c @@ -266,9 +266,8 @@ static int gve_tx_qpl_buf_init(struct gve_tx_ring *tx) tx->dqo.qpl->num_entries; int i; - tx->dqo.tx_qpl_buf_next = kvcalloc(num_tx_qpl_bufs, - sizeof(tx->dqo.tx_qpl_buf_next[0]), - GFP_KERNEL); + tx->dqo.tx_qpl_buf_next = kvzalloc_objs(tx->dqo.tx_qpl_buf_next[0], + num_tx_qpl_bufs, GFP_KERNEL); if (!tx->dqo.tx_qpl_buf_next) return -ENOMEM; @@ -337,9 +336,9 @@ static int gve_tx_alloc_ring_dqo(struct gve_priv *priv, num_pending_packets /= 2; tx->dqo.num_pending_packets = min_t(int, num_pending_packets, S16_MAX); - tx->dqo.pending_packets = kvcalloc(tx->dqo.num_pending_packets, - sizeof(tx->dqo.pending_packets[0]), - GFP_KERNEL); + tx->dqo.pending_packets = kvzalloc_objs(tx->dqo.pending_packets[0], + tx->dqo.num_pending_packets, + GFP_KERNEL); if (!tx->dqo.pending_packets) goto err; @@ -417,8 +416,8 @@ int gve_tx_alloc_rings_dqo(struct gve_priv *priv, return -EINVAL; } - tx = kvcalloc(cfg->qcfg->max_queues, sizeof(struct gve_tx_ring), - GFP_KERNEL); + tx = kvzalloc_objs(struct gve_tx_ring, cfg->qcfg->max_queues, + GFP_KERNEL); if (!tx) return -ENOMEM; diff --git a/drivers/net/ethernet/hisilicon/hns/hnae.c b/drivers/net/ethernet/hisilicon/hns/hnae.c index d4293f76d69d..5c3b4eaf144b 100644 --- a/drivers/net/ethernet/hisilicon/hns/hnae.c +++ b/drivers/net/ethernet/hisilicon/hns/hnae.c @@ -208,8 +208,8 @@ hnae_init_ring(struct hnae_queue *q, struct hnae_ring *ring, int flags) assert(ring->next_to_use == 0); assert(ring->next_to_clean == 0); - ring->desc_cb = kcalloc(ring->desc_num, sizeof(ring->desc_cb[0]), - GFP_KERNEL); + ring->desc_cb = kzalloc_objs(ring->desc_cb[0], ring->desc_num, + GFP_KERNEL); if (!ring->desc_cb) { ret = -ENOMEM; goto out; diff --git a/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c b/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c index 8ce910f8d0cc..a4f4c4d14035 100644 --- a/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c +++ b/drivers/net/ethernet/hisilicon/hns/hns_ae_adapt.c @@ -81,8 +81,7 @@ static struct hnae_handle *hns_ae_get_handle(struct hnae_ae_dev *dev, vfnum_per_port = hns_ae_get_vf_num_per_port(dsaf_dev, port_id); qnum_per_vf = hns_ae_get_q_num_per_vf(dsaf_dev, port_id); - vf_cb = kzalloc(struct_size(vf_cb, ae_handle.qs, qnum_per_vf), - GFP_KERNEL); + vf_cb = kzalloc_flex(*vf_cb, ae_handle.qs, qnum_per_vf, GFP_KERNEL); if (unlikely(!vf_cb)) { dev_err(dsaf_dev->dev, "malloc vf_cb fail!\n"); ae_handle = ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c index 6d746a9fb687..dbc6d5c6644c 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3_ethtool.c @@ -1099,8 +1099,8 @@ static struct hns3_enet_ring *hns3_backup_ringparam(struct hns3_nic_priv *priv) struct hns3_enet_ring *tmp_rings; int i; - tmp_rings = kcalloc(handle->kinfo.num_tqps * 2, - sizeof(struct hns3_enet_ring), GFP_KERNEL); + tmp_rings = kzalloc_objs(struct hns3_enet_ring, + handle->kinfo.num_tqps * 2, GFP_KERNEL); if (!tmp_rings) return NULL; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c index b76d25074e99..5a7ce1eea30c 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_debugfs.c @@ -800,7 +800,7 @@ hclge_dbg_dump_reg_tqp(struct hclge_dev *hdev, if (ret) return ret; - desc_src = kcalloc(bd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc_src = kzalloc_objs(struct hclge_desc, bd_num, GFP_KERNEL); if (!desc_src) return -ENOMEM; @@ -852,7 +852,7 @@ hclge_dbg_dump_reg_common(struct hclge_dev *hdev, if (ret) return ret; - desc_src = kcalloc(bd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc_src = kzalloc_objs(struct hclge_desc, bd_num, GFP_KERNEL); if (!desc_src) return -ENOMEM; @@ -2278,7 +2278,7 @@ static int hclge_dbg_get_imp_stats_info(struct seq_file *s, void *data) return -EINVAL; } - desc_src = kcalloc(bd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc_src = kzalloc_objs(struct hclge_desc, bd_num, GFP_KERNEL); if (!desc_src) return -ENOMEM; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c index cc7f46c0b35f..02d21c5e8e0e 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_err.c @@ -2481,7 +2481,7 @@ static int hclge_handle_all_ras_errors(struct hclge_dev *hdev) return ret; bd_num = max_t(u32, mpf_bd_num, pf_bd_num); - desc = kcalloc(bd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc = kzalloc_objs(struct hclge_desc, bd_num, GFP_KERNEL); if (!desc) return -ENOMEM; @@ -3038,7 +3038,7 @@ static int hclge_handle_all_hw_msix_error(struct hclge_dev *hdev, goto out; bd_num = max_t(u32, mpf_bd_num, pf_bd_num); - desc = kcalloc(bd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc = kzalloc_objs(struct hclge_desc, bd_num, GFP_KERNEL); if (!desc) return -ENOMEM; @@ -3127,7 +3127,7 @@ void hclge_handle_all_hns_hw_errors(struct hnae3_ae_dev *ae_dev) return; bd_num = max_t(u32, mpf_bd_num, pf_bd_num); - desc = kcalloc(bd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc = kzalloc_objs(struct hclge_desc, bd_num, GFP_KERNEL); if (!desc) return; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c index edec994981c7..80aa566ad31f 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c @@ -492,7 +492,7 @@ static int hclge_mac_update_stats_complete(struct hclge_dev *hdev) /* This may be called inside atomic sections, * so GFP_ATOMIC is more suitable here */ - desc = kcalloc(desc_num, sizeof(struct hclge_desc), GFP_ATOMIC); + desc = kzalloc_objs(struct hclge_desc, desc_num, GFP_ATOMIC); if (!desc) return -ENOMEM; @@ -2418,7 +2418,7 @@ int hclge_buffer_alloc(struct hclge_dev *hdev) struct hclge_pkt_buf_alloc *pkt_buf; int ret; - pkt_buf = kzalloc(sizeof(*pkt_buf), GFP_KERNEL); + pkt_buf = kzalloc_obj(*pkt_buf, GFP_KERNEL); if (!pkt_buf) return -ENOMEM; @@ -6582,7 +6582,7 @@ static int hclge_add_fd_entry(struct hnae3_handle *handle, if (ret) return ret; - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; @@ -7124,7 +7124,7 @@ static int hclge_add_fd_entry_by_arfs(struct hnae3_handle *handle, u16 queue_id, return -ENOSPC; } - rule = kzalloc(sizeof(*rule), GFP_ATOMIC); + rule = kzalloc_obj(*rule, GFP_ATOMIC); if (!rule) { spin_unlock_bh(&hdev->fd_rule_lock); return -ENOMEM; @@ -7410,7 +7410,7 @@ static int hclge_add_cls_flower(struct hnae3_handle *handle, return ret; } - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; @@ -8578,7 +8578,7 @@ int hclge_update_mac_list(struct hclge_vport *vport, return -ENOENT; } - mac_node = kzalloc(sizeof(*mac_node), GFP_ATOMIC); + mac_node = kzalloc_obj(*mac_node, GFP_ATOMIC); if (!mac_node) { spin_unlock_bh(&vport->mac_list_lock); return -ENOMEM; @@ -8986,7 +8986,7 @@ static void hclge_sync_vport_mac_table(struct hclge_vport *vport, list_move_tail(&mac_node->node, &tmp_del_list); break; case HCLGE_MAC_TO_ADD: - new_node = kzalloc(sizeof(*new_node), GFP_ATOMIC); + new_node = kzalloc_obj(*new_node, GFP_ATOMIC); if (!new_node) goto stop_traverse; ether_addr_copy(new_node->mac_addr, mac_node->mac_addr); @@ -9328,7 +9328,7 @@ int hclge_update_mac_node_for_dev_addr(struct hclge_vport *vport, new_node = hclge_find_mac_node(list, new_addr); if (!new_node) { - new_node = kzalloc(sizeof(*new_node), GFP_ATOMIC); + new_node = kzalloc_obj(*new_node, GFP_ATOMIC); if (!new_node) return -ENOMEM; @@ -10093,7 +10093,7 @@ static void hclge_add_vport_vlan_table(struct hclge_vport *vport, u16 vlan_id, } } - vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kzalloc_obj(*vlan, GFP_KERNEL); if (!vlan) { mutex_unlock(&hdev->vport_lock); return; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c index b7d4e06a55d4..7801c39df38d 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_mbx.c @@ -212,7 +212,7 @@ static int hclge_get_ring_chain_from_mbx( cur_chain = ring_chain; for (i = 1; i < ring_num; i++) { - new_chain = kzalloc(sizeof(*new_chain), GFP_KERNEL); + new_chain = kzalloc_obj(*new_chain, GFP_KERNEL); if (!new_chain) goto err; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c index 8c057192aae6..3bd3195d789e 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_regs.c @@ -190,7 +190,7 @@ static int hclge_get_32_bit_regs(struct hclge_dev *hdev, u32 regs_num, nodata_num = HCLGE_32_BIT_DESC_NODATA_LEN; cmd_num = DIV_ROUND_UP(regs_num + nodata_num, HCLGE_32_BIT_REG_RTN_DATANUM); - desc = kcalloc(cmd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc = kzalloc_objs(struct hclge_desc, cmd_num, GFP_KERNEL); if (!desc) return -ENOMEM; @@ -244,7 +244,7 @@ static int hclge_get_64_bit_regs(struct hclge_dev *hdev, u32 regs_num, nodata_len = HCLGE_64_BIT_DESC_NODATA_LEN; cmd_num = DIV_ROUND_UP(regs_num + nodata_len, HCLGE_64_BIT_REG_RTN_DATANUM); - desc = kcalloc(cmd_num, sizeof(struct hclge_desc), GFP_KERNEL); + desc = kzalloc_objs(struct hclge_desc, cmd_num, GFP_KERNEL); if (!desc) return -ENOMEM; @@ -394,7 +394,7 @@ static int hclge_get_dfx_reg_len(struct hclge_dev *hdev, int *len) int ret; u32 i; - bd_num_list = kcalloc(dfx_reg_type_num, sizeof(int), GFP_KERNEL); + bd_num_list = kzalloc_objs(int, dfx_reg_type_num, GFP_KERNEL); if (!bd_num_list) return -ENOMEM; @@ -455,7 +455,7 @@ static int hclge_get_dfx_reg(struct hclge_dev *hdev, void *data) int ret; u32 i; - bd_num_list = kcalloc(dfx_reg_type_num, sizeof(int), GFP_KERNEL); + bd_num_list = kzalloc_objs(int, dfx_reg_type_num, GFP_KERNEL); if (!bd_num_list) return -ENOMEM; diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c index 70327a73dee3..0cc911e6c732 100644 --- a/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c +++ b/drivers/net/ethernet/hisilicon/hns3/hns3vf/hclgevf_main.c @@ -977,7 +977,7 @@ static int hclgevf_update_mac_list(struct hnae3_handle *handle, return -ENOENT; } - mac_node = kzalloc(sizeof(*mac_node), GFP_ATOMIC); + mac_node = kzalloc_obj(*mac_node, GFP_ATOMIC); if (!mac_node) { spin_unlock_bh(&hdev->mac_table.mac_list_lock); return -ENOMEM; @@ -1156,7 +1156,7 @@ static void hclgevf_sync_mac_list(struct hclgevf_dev *hdev, list_move_tail(&mac_node->node, &tmp_del_list); break; case HCLGEVF_MAC_TO_ADD: - new_node = kzalloc(sizeof(*new_node), GFP_ATOMIC); + new_node = kzalloc_obj(*new_node, GFP_ATOMIC); if (!new_node) goto stop_traverse; diff --git a/drivers/net/ethernet/huawei/hinic/hinic_debugfs.c b/drivers/net/ethernet/huawei/hinic/hinic_debugfs.c index 061952c6c21a..39ceba2820bf 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_debugfs.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_debugfs.c @@ -88,7 +88,7 @@ static int hinic_dbg_get_func_table(struct hinic_dev *nic_dev, int idx) int ret = ~0; int err; - read_data = kzalloc(sizeof(*read_data), GFP_KERNEL); + read_data = kzalloc_obj(*read_data, GFP_KERNEL); if (!read_data) return ~0; @@ -182,7 +182,7 @@ static int create_dbg_files(struct hinic_dev *dev, enum hinic_dbg_type type, voi struct hinic_debug_priv *tmp; int i; - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c index 300bc267a259..f4d34fdbc014 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_devlink.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_devlink.c @@ -130,7 +130,7 @@ static int hinic_flash_fw(struct hinic_devlink_priv *priv, const u8 *data, int total_len_flag = 0; int err; - fw_update_msg = kzalloc(sizeof(*fw_update_msg), GFP_KERNEL); + fw_update_msg = kzalloc_obj(*fw_update_msg, GFP_KERNEL); if (!fw_update_msg) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c b/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c index f28528df5aac..d4787347d0c5 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_ethtool.c @@ -1392,7 +1392,7 @@ static void hinic_get_ethtool_stats(struct net_device *netdev, sizeof(u64)) ? *(u64 *)p : *(u32 *)p; } - port_stats = kzalloc(sizeof(*port_stats), GFP_KERNEL); + port_stats = kzalloc_obj(*port_stats, GFP_KERNEL); if (!port_stats) { memset(&data[i], 0, ARRAY_SIZE(hinic_port_stats) * sizeof(*data)); diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c b/drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c index 97c1584dc05b..f8aef328f8c0 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_mbox.c @@ -487,7 +487,7 @@ static void recv_mbox_handler(struct hinic_mbox_func_to_func *func_to_func, if (!rcv_mbox_temp->buf_out) goto err_alloc_rcv_mbox_buf; - mbox_work = kzalloc(sizeof(*mbox_work), GFP_KERNEL); + mbox_work = kzalloc_obj(*mbox_work, GFP_KERNEL); if (!mbox_work) goto err_alloc_mbox_work; @@ -603,7 +603,7 @@ static bool check_vf_mbox_random_id(struct hinic_mbox_func_to_func *func_to_func "The mailbox random id(0x%x) of func_id(0x%x) doesn't match with pf reservation(0x%x)\n", random_id, src, func_to_func->vf_mbx_rand_id[src]); - mbox_work = kzalloc(sizeof(*mbox_work), GFP_KERNEL); + mbox_work = kzalloc_obj(*mbox_work, GFP_KERNEL); if (!mbox_work) return false; @@ -1402,7 +1402,7 @@ int hinic_func_to_func_init(struct hinic_hwdev *hwdev) int err; pfhwdev = container_of(hwdev, struct hinic_pfhwdev, hwdev); - func_to_func = kzalloc(sizeof(*func_to_func), GFP_KERNEL); + func_to_func = kzalloc_obj(*func_to_func, GFP_KERNEL); if (!func_to_func) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c b/drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c index 4aa1f433ed24..8bda0a26a345 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_mgmt.c @@ -441,7 +441,7 @@ static void mgmt_recv_msg_handler(struct hinic_pf_to_mgmt *pf_to_mgmt, { struct hinic_mgmt_msg_handle_work *mgmt_work = NULL; - mgmt_work = kzalloc(sizeof(*mgmt_work), GFP_KERNEL); + mgmt_work = kzalloc_obj(*mgmt_work, GFP_KERNEL); if (!mgmt_work) return; diff --git a/drivers/net/ethernet/huawei/hinic/hinic_port.c b/drivers/net/ethernet/huawei/hinic/hinic_port.c index 486fb0e20bef..868e666cc392 100644 --- a/drivers/net/ethernet/huawei/hinic/hinic_port.c +++ b/drivers/net/ethernet/huawei/hinic/hinic_port.c @@ -1032,7 +1032,7 @@ int hinic_get_phy_port_stats(struct hinic_dev *nic_dev, struct pci_dev *pdev = hwif->pdev; int err; - port_stats = kzalloc(sizeof(*port_stats), GFP_KERNEL); + port_stats = kzalloc_obj(*port_stats, GFP_KERNEL); if (!port_stats) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c b/drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c index 86720bb119e9..ab38da085ae5 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c @@ -123,7 +123,7 @@ struct hinic3_cmd_buf *hinic3_alloc_cmd_buf(struct hinic3_hwdev *hwdev) cmdqs = hwdev->cmdqs; - cmd_buf = kmalloc(sizeof(*cmd_buf), GFP_ATOMIC); + cmd_buf = kmalloc_obj(*cmd_buf, GFP_ATOMIC); if (!cmd_buf) return NULL; @@ -614,8 +614,8 @@ static int init_cmdq(struct hinic3_cmdq *cmdq, struct hinic3_hwdev *hwdev, spin_lock_init(&cmdq->cmdq_lock); - cmdq->cmd_infos = kcalloc(cmdq->wq.q_depth, sizeof(*cmdq->cmd_infos), - GFP_KERNEL); + cmdq->cmd_infos = kzalloc_objs(*cmdq->cmd_infos, cmdq->wq.q_depth, + GFP_KERNEL); if (!cmdq->cmd_infos) { err = -ENOMEM; return err; @@ -738,7 +738,7 @@ static int init_cmdqs(struct hinic3_hwdev *hwdev) { struct hinic3_cmdqs *cmdqs; - cmdqs = kzalloc(sizeof(*cmdqs), GFP_KERNEL); + cmdqs = kzalloc_obj(*cmdqs, GFP_KERNEL); if (!cmdqs) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c b/drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c index a2c3962116d5..78f50dc6513a 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c @@ -648,7 +648,7 @@ int hinic3_aeqs_init(struct hinic3_hwdev *hwdev, u16 num_aeqs, u16 q_id; int err; - aeqs = kzalloc(sizeof(*aeqs), GFP_KERNEL); + aeqs = kzalloc_obj(*aeqs, GFP_KERNEL); if (!aeqs) return -ENOMEM; @@ -720,7 +720,7 @@ int hinic3_ceqs_init(struct hinic3_hwdev *hwdev, u16 num_ceqs, u16 q_id; int err; - ceqs = kzalloc(sizeof(*ceqs), GFP_KERNEL); + ceqs = kzalloc_obj(*ceqs, GFP_KERNEL); if (!ceqs) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_filter.c b/drivers/net/ethernet/huawei/hinic3/hinic3_filter.c index 6349d71f574b..6d378c86aabd 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_filter.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_filter.c @@ -75,7 +75,7 @@ static void hinic3_add_filter(struct net_device *netdev, struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); struct hinic3_mac_filter *f; - f = kzalloc(sizeof(*f), GFP_ATOMIC); + f = kzalloc_obj(*f, GFP_ATOMIC); if (!f) return; @@ -110,7 +110,7 @@ hinic3_mac_filter_entry_clone(const struct hinic3_mac_filter *src) { struct hinic3_mac_filter *f; - f = kzalloc(sizeof(*f), GFP_ATOMIC); + f = kzalloc_obj(*f, GFP_ATOMIC); if (!f) return NULL; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.c b/drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.c index 7827c1f626db..c65dec383535 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.c @@ -86,8 +86,7 @@ static int hinic3_init_irq_info(struct hinic3_hwdev *hwdev) } irq_info = &cfg_mgmt->irq_info; - irq_info->irq = kcalloc(intr_num, sizeof(struct hinic3_irq), - GFP_KERNEL); + irq_info->irq = kzalloc_objs(struct hinic3_irq, intr_num, GFP_KERNEL); if (!irq_info->irq) return -ENOMEM; @@ -130,7 +129,7 @@ int hinic3_init_cfg_mgmt(struct hinic3_hwdev *hwdev) struct hinic3_cfg_mgmt_info *cfg_mgmt; int err; - cfg_mgmt = kzalloc(sizeof(*cfg_mgmt), GFP_KERNEL); + cfg_mgmt = kzalloc_obj(*cfg_mgmt, GFP_KERNEL); if (!cfg_mgmt) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c b/drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c index 7906d4057cf2..f0b402b792b9 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c @@ -528,7 +528,7 @@ int hinic3_init_hwdev(struct pci_dev *pdev) struct hinic3_hwdev *hwdev; int err; - hwdev = kzalloc(sizeof(*hwdev), GFP_KERNEL); + hwdev = kzalloc_obj(*hwdev, GFP_KERNEL); if (!hwdev) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c b/drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c index 801f48e241f8..c1eeedbe0c15 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c @@ -432,7 +432,7 @@ int hinic3_init_hwif(struct hinic3_hwdev *hwdev) u32 attr1, attr4, attr5; int err; - hwif = kzalloc(sizeof(*hwif), GFP_KERNEL); + hwif = kzalloc_obj(*hwif, GFP_KERNEL); if (!hwif) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c b/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c index 87413e192f10..b5d026c95d39 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_lld.c @@ -60,7 +60,7 @@ static struct hinic3_adev *hinic3_add_one_adev(struct hinic3_hwdev *hwdev, const char *svc_name; int ret; - hadev = kzalloc(sizeof(*hadev), GFP_KERNEL); + hadev = kzalloc_obj(*hadev, GFP_KERNEL); if (!hadev) return NULL; @@ -250,7 +250,7 @@ static int hinic3_pci_init(struct pci_dev *pdev) struct hinic3_pcidev *pci_adapter; int err; - pci_adapter = kzalloc(sizeof(*pci_adapter), GFP_KERNEL); + pci_adapter = kzalloc_obj(*pci_adapter, GFP_KERNEL); if (!pci_adapter) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_main.c b/drivers/net/ethernet/huawei/hinic3/hinic3_main.c index 6275d94dfefd..3c9efe037793 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_main.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_main.c @@ -57,9 +57,8 @@ static int hinic3_init_intr_coalesce(struct net_device *netdev) { struct hinic3_nic_dev *nic_dev = netdev_priv(netdev); - nic_dev->intr_coalesce = kcalloc(nic_dev->max_qps, - sizeof(*nic_dev->intr_coalesce), - GFP_KERNEL); + nic_dev->intr_coalesce = kzalloc_objs(*nic_dev->intr_coalesce, + nic_dev->max_qps, GFP_KERNEL); if (!nic_dev->intr_coalesce) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c b/drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c index c871fd0fb109..8c7bb38cc57d 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c @@ -320,7 +320,7 @@ static int hinic3_init_func_mbox_msg_channel(struct hinic3_hwdev *hwdev) int err; mbox = hwdev->mbox; - mbox->func_msg = kzalloc(sizeof(*mbox->func_msg), GFP_KERNEL); + mbox->func_msg = kzalloc_obj(*mbox->func_msg, GFP_KERNEL); if (!mbox->func_msg) return -ENOMEM; @@ -412,7 +412,7 @@ int hinic3_init_mbox(struct hinic3_hwdev *hwdev) struct hinic3_mbox *mbox; int err; - mbox = kzalloc(sizeof(*mbox), GFP_KERNEL); + mbox = kzalloc_obj(*mbox, GFP_KERNEL); if (!mbox) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_mgmt.c b/drivers/net/ethernet/huawei/hinic3/hinic3_mgmt.c index be2a2ae75fc0..29422ac14bb8 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_mgmt.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_mgmt.c @@ -120,7 +120,7 @@ static void hinic3_init_mgmt_msg_work(struct hinic3_msg_pf_to_mgmt *pf_to_mgmt, { struct mgmt_msg_handle_work *mgmt_work; - mgmt_work = kmalloc(sizeof(*mgmt_work), GFP_KERNEL); + mgmt_work = kmalloc_obj(*mgmt_work, GFP_KERNEL); if (!mgmt_work) return; @@ -252,7 +252,7 @@ int hinic3_pf_to_mgmt_init(struct hinic3_hwdev *hwdev) struct hinic3_msg_pf_to_mgmt *pf_to_mgmt; int err; - pf_to_mgmt = kzalloc(sizeof(*pf_to_mgmt), GFP_KERNEL); + pf_to_mgmt = kzalloc_obj(*pf_to_mgmt, GFP_KERNEL); if (!pf_to_mgmt) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c b/drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c index 75adfe897e81..7830bff30859 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_netdev_ops.c @@ -99,9 +99,8 @@ static int hinic3_setup_num_qps(struct net_device *netdev) nic_dev->num_qp_irq = 0; - nic_dev->qps_msix_entries = kcalloc(nic_dev->max_qps, - sizeof(struct msix_entry), - GFP_KERNEL); + nic_dev->qps_msix_entries = kzalloc_objs(struct msix_entry, + nic_dev->max_qps, GFP_KERNEL); if (!nic_dev->qps_msix_entries) return -ENOMEM; @@ -127,20 +126,20 @@ static int hinic3_alloc_txrxq_resources(struct net_device *netdev, { int err; - q_params->txqs_res = kcalloc(q_params->num_qps, - sizeof(*q_params->txqs_res), GFP_KERNEL); + q_params->txqs_res = kzalloc_objs(*q_params->txqs_res, + q_params->num_qps, GFP_KERNEL); if (!q_params->txqs_res) return -ENOMEM; - q_params->rxqs_res = kcalloc(q_params->num_qps, - sizeof(*q_params->rxqs_res), GFP_KERNEL); + q_params->rxqs_res = kzalloc_objs(*q_params->rxqs_res, + q_params->num_qps, GFP_KERNEL); if (!q_params->rxqs_res) { err = -ENOMEM; goto err_free_txqs_res_arr; } - q_params->irq_cfg = kcalloc(q_params->num_qps, - sizeof(*q_params->irq_cfg), GFP_KERNEL); + q_params->irq_cfg = kzalloc_objs(*q_params->irq_cfg, q_params->num_qps, + GFP_KERNEL); if (!q_params->irq_cfg) { err = -ENOMEM; goto err_free_rxqs_res_arr; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c b/drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c index 90887d2bb127..0ded1000b369 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_nic_io.c @@ -212,7 +212,7 @@ int hinic3_init_nic_io(struct hinic3_nic_dev *nic_dev) struct hinic3_nic_io *nic_io; int err; - nic_io = kzalloc(sizeof(*nic_io), GFP_KERNEL); + nic_io = kzalloc_obj(*nic_io, GFP_KERNEL); if (!nic_io) return -ENOMEM; @@ -408,13 +408,13 @@ int hinic3_alloc_qps(struct hinic3_nic_dev *nic_dev, if (qp_params->num_qps > nic_io->max_qps || !qp_params->num_qps) return -EINVAL; - sqs = kcalloc(qp_params->num_qps, sizeof(*sqs), GFP_KERNEL); + sqs = kzalloc_objs(*sqs, qp_params->num_qps, GFP_KERNEL); if (!sqs) { err = -ENOMEM; goto err_out; } - rqs = kcalloc(qp_params->num_qps, sizeof(*rqs), GFP_KERNEL); + rqs = kzalloc_objs(*rqs, qp_params->num_qps, GFP_KERNEL); if (!rqs) { err = -ENOMEM; goto err_free_sqs; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_queue_common.c b/drivers/net/ethernet/huawei/hinic3/hinic3_queue_common.c index fab9011de9ad..9c00d1ed825a 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_queue_common.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_queue_common.c @@ -44,8 +44,8 @@ int hinic3_queue_pages_alloc(struct hinic3_hwdev *hwdev, u32 pg_idx; int err; - qpages->pages = kcalloc(qpages->num_pages, sizeof(qpages->pages[0]), - GFP_KERNEL); + qpages->pages = kzalloc_objs(qpages->pages[0], qpages->num_pages, + GFP_KERNEL); if (!qpages->pages) return -ENOMEM; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_rx.c b/drivers/net/ethernet/huawei/hinic3/hinic3_rx.c index 159c291fa293..f2d43beab444 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_rx.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_rx.c @@ -66,7 +66,7 @@ int hinic3_alloc_rxqs(struct net_device *netdev) struct hinic3_rxq *rxq; u16 q_id; - nic_dev->rxqs = kcalloc(num_rxqs, sizeof(*nic_dev->rxqs), GFP_KERNEL); + nic_dev->rxqs = kzalloc_objs(*nic_dev->rxqs, num_rxqs, GFP_KERNEL); if (!nic_dev->rxqs) return -ENOMEM; @@ -419,8 +419,8 @@ int hinic3_alloc_rxqs_res(struct net_device *netdev, u16 num_rq, for (idx = 0; idx < num_rq; idx++) { rqres = &rxqs_res[idx]; - rqres->rx_info = kcalloc(rq_depth, sizeof(*rqres->rx_info), - GFP_KERNEL); + rqres->rx_info = kzalloc_objs(*rqres->rx_info, rq_depth, + GFP_KERNEL); if (!rqres->rx_info) goto err_free_rqres; diff --git a/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c b/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c index 6d3dc930ca97..8c988df8963e 100644 --- a/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c +++ b/drivers/net/ethernet/huawei/hinic3/hinic3_tx.c @@ -48,7 +48,7 @@ int hinic3_alloc_txqs(struct net_device *netdev) struct pci_dev *pdev = nic_dev->pdev; struct hinic3_txq *txq; - nic_dev->txqs = kcalloc(num_txqs, sizeof(*nic_dev->txqs), GFP_KERNEL); + nic_dev->txqs = kzalloc_objs(*nic_dev->txqs, num_txqs, GFP_KERNEL); if (!nic_dev->txqs) return -ENOMEM; @@ -681,14 +681,14 @@ int hinic3_alloc_txqs_res(struct net_device *netdev, u16 num_sq, for (idx = 0; idx < num_sq; idx++) { tqres = &txqs_res[idx]; - tqres->tx_info = kcalloc(sq_depth, sizeof(*tqres->tx_info), - GFP_KERNEL); + tqres->tx_info = kzalloc_objs(*tqres->tx_info, sq_depth, + GFP_KERNEL); if (!tqres->tx_info) goto err_free_tqres; - tqres->bds = kcalloc(sq_depth * HINIC3_BDS_PER_SQ_WQEBB + - HINIC3_MAX_SQ_SGE, sizeof(*tqres->bds), - GFP_KERNEL); + tqres->bds = kzalloc_objs(*tqres->bds, + sq_depth * HINIC3_BDS_PER_SQ_WQEBB + HINIC3_MAX_SQ_SGE, + GFP_KERNEL); if (!tqres->bds) { kfree(tqres->tx_info); goto err_free_tqres; diff --git a/drivers/net/ethernet/ibm/ehea/ehea_main.c b/drivers/net/ethernet/ibm/ehea/ehea_main.c index 9b006bc353a1..a2d7f5468590 100644 --- a/drivers/net/ethernet/ibm/ehea/ehea_main.c +++ b/drivers/net/ethernet/ibm/ehea/ehea_main.c @@ -173,7 +173,7 @@ static void ehea_update_firmware_handles(void) num_portres * EHEA_NUM_PORTRES_FW_HANDLES; if (num_fw_handles) { - arr = kcalloc(num_fw_handles, sizeof(*arr), GFP_KERNEL); + arr = kzalloc_objs(*arr, num_fw_handles, GFP_KERNEL); if (!arr) goto out; /* Keep the existing array */ } else @@ -256,7 +256,7 @@ static void ehea_update_bcmc_registrations(void) } if (num_registrations) { - arr = kcalloc(num_registrations, sizeof(*arr), GFP_ATOMIC); + arr = kzalloc_objs(*arr, num_registrations, GFP_ATOMIC); if (!arr) goto out; /* Keep the existing array */ } else @@ -1487,7 +1487,7 @@ static int ehea_init_port_res(struct ehea_port *port, struct ehea_port_res *pr, pr->send_cq->attr.act_nr_of_cqes, pr->recv_cq->attr.act_nr_of_cqes); - init_attr = kzalloc(sizeof(*init_attr), GFP_KERNEL); + init_attr = kzalloc_obj(*init_attr, GFP_KERNEL); if (!init_attr) { ret = -ENOMEM; pr_err("no mem for ehea_qp_init_attr\n"); @@ -1899,7 +1899,7 @@ static void ehea_add_multicast_entry(struct ehea_port *port, u8 *mc_mac_addr) struct ehea_mc_list *ehea_mcl_entry; u64 hret; - ehea_mcl_entry = kzalloc(sizeof(*ehea_mcl_entry), GFP_ATOMIC); + ehea_mcl_entry = kzalloc_obj(*ehea_mcl_entry, GFP_ATOMIC); if (!ehea_mcl_entry) return; @@ -2968,7 +2968,7 @@ static struct ehea_port *ehea_setup_single_port(struct ehea_adapter *adapter, port->msg_enable = netif_msg_init(msg_level, EHEA_MSG_DEFAULT); - port->mc_list = kzalloc(sizeof(struct ehea_mc_list), GFP_KERNEL); + port->mc_list = kzalloc_obj(struct ehea_mc_list, GFP_KERNEL); if (!port->mc_list) { ret = -ENOMEM; goto out_free_ethdev; diff --git a/drivers/net/ethernet/ibm/ehea/ehea_qmr.c b/drivers/net/ethernet/ibm/ehea/ehea_qmr.c index db45373ea31c..e9d51e65efe8 100644 --- a/drivers/net/ethernet/ibm/ehea/ehea_qmr.c +++ b/drivers/net/ethernet/ibm/ehea/ehea_qmr.c @@ -114,7 +114,7 @@ struct ehea_cq *ehea_create_cq(struct ehea_adapter *adapter, int ret; void *vpage; - cq = kzalloc(sizeof(*cq), GFP_KERNEL); + cq = kzalloc_obj(*cq, GFP_KERNEL); if (!cq) goto out_nomem; @@ -235,7 +235,7 @@ struct ehea_eq *ehea_create_eq(struct ehea_adapter *adapter, void *vpage; struct ehea_eq *eq; - eq = kzalloc(sizeof(*eq), GFP_KERNEL); + eq = kzalloc_obj(*eq, GFP_KERNEL); if (!eq) return NULL; @@ -404,7 +404,7 @@ struct ehea_qp *ehea_create_qp(struct ehea_adapter *adapter, u32 wqe_size_in_bytes_rq2, wqe_size_in_bytes_rq3; - qp = kzalloc(sizeof(*qp), GFP_KERNEL); + qp = kzalloc_obj(*qp, GFP_KERNEL); if (!qp) return NULL; @@ -542,7 +542,7 @@ static inline int ehea_init_top_bmap(struct ehea_top_bmap *ehea_top_bmap, { if (!ehea_top_bmap->dir[dir]) { ehea_top_bmap->dir[dir] = - kzalloc(sizeof(struct ehea_dir_bmap), GFP_KERNEL); + kzalloc_obj(struct ehea_dir_bmap, GFP_KERNEL); if (!ehea_top_bmap->dir[dir]) return -ENOMEM; } @@ -553,7 +553,7 @@ static inline int ehea_init_bmap(struct ehea_bmap *ehea_bmap, int top, int dir) { if (!ehea_bmap->top[top]) { ehea_bmap->top[top] = - kzalloc(sizeof(struct ehea_top_bmap), GFP_KERNEL); + kzalloc_obj(struct ehea_top_bmap, GFP_KERNEL); if (!ehea_bmap->top[top]) return -ENOMEM; } @@ -613,7 +613,7 @@ static int ehea_update_busmap(unsigned long pfn, unsigned long nr_pages, int add return 0; if (!ehea_bmap) { - ehea_bmap = kzalloc(sizeof(struct ehea_bmap), GFP_KERNEL); + ehea_bmap = kzalloc_obj(struct ehea_bmap, GFP_KERNEL); if (!ehea_bmap) return -ENOMEM; } diff --git a/drivers/net/ethernet/ibm/ibmveth.c b/drivers/net/ethernet/ibm/ibmveth.c index 6f0821f1e798..3108bf50576f 100644 --- a/drivers/net/ethernet/ibm/ibmveth.c +++ b/drivers/net/ethernet/ibm/ibmveth.c @@ -169,7 +169,7 @@ static int ibmveth_alloc_buffer_pool(struct ibmveth_buff_pool *pool) if (!pool->free_map) return -1; - pool->dma_addr = kcalloc(pool->size, sizeof(dma_addr_t), GFP_KERNEL); + pool->dma_addr = kzalloc_objs(dma_addr_t, pool->size, GFP_KERNEL); if (!pool->dma_addr) { kfree(pool->free_map); pool->free_map = NULL; diff --git a/drivers/net/ethernet/ibm/ibmvnic.c b/drivers/net/ethernet/ibm/ibmvnic.c index 3808148c1fc7..1241be315d58 100644 --- a/drivers/net/ethernet/ibm/ibmvnic.c +++ b/drivers/net/ethernet/ibm/ibmvnic.c @@ -932,16 +932,14 @@ static void release_stats_buffers(struct ibmvnic_adapter *adapter) static int init_stats_buffers(struct ibmvnic_adapter *adapter) { adapter->tx_stats_buffers = - kcalloc(IBMVNIC_MAX_QUEUES, - sizeof(struct ibmvnic_tx_queue_stats), - GFP_KERNEL); + kzalloc_objs(struct ibmvnic_tx_queue_stats, + IBMVNIC_MAX_QUEUES, GFP_KERNEL); if (!adapter->tx_stats_buffers) return -ENOMEM; adapter->rx_stats_buffers = - kcalloc(IBMVNIC_MAX_QUEUES, - sizeof(struct ibmvnic_rx_queue_stats), - GFP_KERNEL); + kzalloc_objs(struct ibmvnic_rx_queue_stats, + IBMVNIC_MAX_QUEUES, GFP_KERNEL); if (!adapter->rx_stats_buffers) return -ENOMEM; @@ -1096,9 +1094,8 @@ static int init_rx_pools(struct net_device *netdev) /* Allocate/populate the pools. */ release_rx_pools(adapter); - adapter->rx_pool = kcalloc(num_pools, - sizeof(struct ibmvnic_rx_pool), - GFP_KERNEL); + adapter->rx_pool = kzalloc_objs(struct ibmvnic_rx_pool, num_pools, + GFP_KERNEL); if (!adapter->rx_pool) { dev_err(dev, "Failed to allocate rx pools\n"); return -ENOMEM; @@ -1120,17 +1117,15 @@ static int init_rx_pools(struct net_device *netdev) rx_pool->index = i; rx_pool->buff_size = ALIGN(buff_size, L1_CACHE_BYTES); - rx_pool->free_map = kcalloc(rx_pool->size, sizeof(int), - GFP_KERNEL); + rx_pool->free_map = kzalloc_objs(int, rx_pool->size, GFP_KERNEL); if (!rx_pool->free_map) { dev_err(dev, "Couldn't alloc free_map %d\n", i); rc = -ENOMEM; goto out_release; } - rx_pool->rx_buff = kcalloc(rx_pool->size, - sizeof(struct ibmvnic_rx_buff), - GFP_KERNEL); + rx_pool->rx_buff = kzalloc_objs(struct ibmvnic_rx_buff, + rx_pool->size, GFP_KERNEL); if (!rx_pool->rx_buff) { dev_err(dev, "Couldn't alloc rx buffers\n"); rc = -ENOMEM; @@ -1243,13 +1238,12 @@ static int init_one_tx_pool(struct net_device *netdev, { int i; - tx_pool->tx_buff = kcalloc(pool_size, - sizeof(struct ibmvnic_tx_buff), - GFP_KERNEL); + tx_pool->tx_buff = kzalloc_objs(struct ibmvnic_tx_buff, pool_size, + GFP_KERNEL); if (!tx_pool->tx_buff) return -ENOMEM; - tx_pool->free_map = kcalloc(pool_size, sizeof(int), GFP_KERNEL); + tx_pool->free_map = kzalloc_objs(int, pool_size, GFP_KERNEL); if (!tx_pool->free_map) { kfree(tx_pool->tx_buff); tx_pool->tx_buff = NULL; @@ -1341,13 +1335,13 @@ static int init_tx_pools(struct net_device *netdev) pool_size = adapter->req_tx_entries_per_subcrq; num_pools = adapter->num_active_tx_scrqs; - adapter->tx_pool = kcalloc(num_pools, - sizeof(struct ibmvnic_tx_pool), GFP_KERNEL); + adapter->tx_pool = kzalloc_objs(struct ibmvnic_tx_pool, num_pools, + GFP_KERNEL); if (!adapter->tx_pool) return -ENOMEM; - adapter->tso_pool = kcalloc(num_pools, - sizeof(struct ibmvnic_tx_pool), GFP_KERNEL); + adapter->tso_pool = kzalloc_objs(struct ibmvnic_tx_pool, num_pools, + GFP_KERNEL); /* To simplify release_tx_pools() ensure that ->tx_pool and * ->tso_pool are either both NULL or both non-NULL. */ @@ -1471,8 +1465,8 @@ static int init_napi(struct ibmvnic_adapter *adapter) { int i; - adapter->napi = kcalloc(adapter->req_rx_queues, - sizeof(struct napi_struct), GFP_KERNEL); + adapter->napi = kzalloc_objs(struct napi_struct, adapter->req_rx_queues, + GFP_KERNEL); if (!adapter->napi) return -ENOMEM; @@ -1859,7 +1853,7 @@ static int init_resources(struct ibmvnic_adapter *adapter) if (rc) return rc; - adapter->vpd = kzalloc(sizeof(*adapter->vpd), GFP_KERNEL); + adapter->vpd = kzalloc_obj(*adapter->vpd, GFP_KERNEL); if (!adapter->vpd) return -ENOMEM; @@ -3450,7 +3444,7 @@ static int ibmvnic_reset(struct ibmvnic_adapter *adapter, } } - rwi = kzalloc(sizeof(*rwi), GFP_ATOMIC); + rwi = kzalloc_obj(*rwi, GFP_ATOMIC); if (!rwi) { ret = ENOMEM; goto err; @@ -4055,7 +4049,7 @@ static struct ibmvnic_sub_crq_queue *init_sub_crq_queue(struct ibmvnic_adapter struct ibmvnic_sub_crq_queue *scrq; int rc; - scrq = kzalloc(sizeof(*scrq), GFP_KERNEL); + scrq = kzalloc_obj(*scrq, GFP_KERNEL); if (!scrq) return NULL; @@ -4447,7 +4441,7 @@ static int init_sub_crqs(struct ibmvnic_adapter *adapter) total_queues = adapter->req_tx_queues + adapter->req_rx_queues; - allqueues = kcalloc(total_queues, sizeof(*allqueues), GFP_KERNEL); + allqueues = kzalloc_objs(*allqueues, total_queues, GFP_KERNEL); if (!allqueues) return -ENOMEM; @@ -4486,8 +4480,8 @@ static int init_sub_crqs(struct ibmvnic_adapter *adapter) } } - adapter->tx_scrq = kcalloc(adapter->req_tx_queues, - sizeof(*adapter->tx_scrq), GFP_KERNEL); + adapter->tx_scrq = kzalloc_objs(*adapter->tx_scrq, + adapter->req_tx_queues, GFP_KERNEL); if (!adapter->tx_scrq) goto tx_failed; @@ -4497,8 +4491,8 @@ static int init_sub_crqs(struct ibmvnic_adapter *adapter) adapter->num_active_tx_scrqs++; } - adapter->rx_scrq = kcalloc(adapter->req_rx_queues, - sizeof(*adapter->rx_scrq), GFP_KERNEL); + adapter->rx_scrq = kzalloc_objs(*adapter->rx_scrq, + adapter->req_rx_queues, GFP_KERNEL); if (!adapter->rx_scrq) goto rx_failed; diff --git a/drivers/net/ethernet/intel/e100.c b/drivers/net/ethernet/intel/e100.c index 5c56c1edd492..321a15a220a6 100644 --- a/drivers/net/ethernet/intel/e100.c +++ b/drivers/net/ethernet/intel/e100.c @@ -2156,7 +2156,7 @@ static int e100_rx_alloc_list(struct nic *nic) nic->rx_to_use = nic->rx_to_clean = NULL; nic->ru_running = RU_UNINITIALIZED; - if (!(nic->rxs = kcalloc(count, sizeof(struct rx), GFP_KERNEL))) + if (!(nic->rxs = kzalloc_objs(struct rx, count, GFP_KERNEL))) return -ENOMEM; for (rx = nic->rxs, i = 0; i < count; rx++, i++) { diff --git a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c index 726365c567ef..132644a387ef 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_ethtool.c +++ b/drivers/net/ethernet/intel/e1000/e1000_ethtool.c @@ -582,13 +582,13 @@ static int e1000_set_ringparam(struct net_device *netdev, rx_old = adapter->rx_ring; err = -ENOMEM; - txdr = kcalloc(adapter->num_tx_queues, sizeof(struct e1000_tx_ring), - GFP_KERNEL); + txdr = kzalloc_objs(struct e1000_tx_ring, adapter->num_tx_queues, + GFP_KERNEL); if (!txdr) goto err_alloc_tx; - rxdr = kcalloc(adapter->num_rx_queues, sizeof(struct e1000_rx_ring), - GFP_KERNEL); + rxdr = kzalloc_objs(struct e1000_rx_ring, adapter->num_rx_queues, + GFP_KERNEL); if (!rxdr) goto err_alloc_rx; @@ -984,8 +984,8 @@ static int e1000_setup_desc_rings(struct e1000_adapter *adapter) if (!txdr->count) txdr->count = E1000_DEFAULT_TXD; - txdr->buffer_info = kcalloc(txdr->count, sizeof(struct e1000_tx_buffer), - GFP_KERNEL); + txdr->buffer_info = kzalloc_objs(struct e1000_tx_buffer, txdr->count, + GFP_KERNEL); if (!txdr->buffer_info) { ret_val = 1; goto err_nomem; @@ -1043,8 +1043,8 @@ static int e1000_setup_desc_rings(struct e1000_adapter *adapter) if (!rxdr->count) rxdr->count = E1000_DEFAULT_RXD; - rxdr->buffer_info = kcalloc(rxdr->count, sizeof(struct e1000_rx_buffer), - GFP_KERNEL); + rxdr->buffer_info = kzalloc_objs(struct e1000_rx_buffer, rxdr->count, + GFP_KERNEL); if (!rxdr->buffer_info) { ret_val = 5; goto err_nomem; diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c index 7f078ec9c14c..b0ecd3413ffb 100644 --- a/drivers/net/ethernet/intel/e1000/e1000_main.c +++ b/drivers/net/ethernet/intel/e1000/e1000_main.c @@ -1322,13 +1322,13 @@ static int e1000_sw_init(struct e1000_adapter *adapter) **/ static int e1000_alloc_queues(struct e1000_adapter *adapter) { - adapter->tx_ring = kcalloc(adapter->num_tx_queues, - sizeof(struct e1000_tx_ring), GFP_KERNEL); + adapter->tx_ring = kzalloc_objs(struct e1000_tx_ring, + adapter->num_tx_queues, GFP_KERNEL); if (!adapter->tx_ring) return -ENOMEM; - adapter->rx_ring = kcalloc(adapter->num_rx_queues, - sizeof(struct e1000_rx_ring), GFP_KERNEL); + adapter->rx_ring = kzalloc_objs(struct e1000_rx_ring, + adapter->num_rx_queues, GFP_KERNEL); if (!adapter->rx_ring) { kfree(adapter->tx_ring); return -ENOMEM; diff --git a/drivers/net/ethernet/intel/e1000e/ethtool.c b/drivers/net/ethernet/intel/e1000e/ethtool.c index 7b1ac90b3de4..21094a03189a 100644 --- a/drivers/net/ethernet/intel/e1000e/ethtool.c +++ b/drivers/net/ethernet/intel/e1000e/ethtool.c @@ -1173,8 +1173,8 @@ static int e1000_setup_desc_rings(struct e1000_adapter *adapter) if (!tx_ring->count) tx_ring->count = E1000_DEFAULT_TXD; - tx_ring->buffer_info = kcalloc(tx_ring->count, - sizeof(struct e1000_buffer), GFP_KERNEL); + tx_ring->buffer_info = kzalloc_objs(struct e1000_buffer, tx_ring->count, + GFP_KERNEL); if (!tx_ring->buffer_info) { ret_val = 1; goto err_nomem; @@ -1234,8 +1234,8 @@ static int e1000_setup_desc_rings(struct e1000_adapter *adapter) if (!rx_ring->count) rx_ring->count = E1000_DEFAULT_RXD; - rx_ring->buffer_info = kcalloc(rx_ring->count, - sizeof(struct e1000_buffer), GFP_KERNEL); + rx_ring->buffer_info = kzalloc_objs(struct e1000_buffer, rx_ring->count, + GFP_KERNEL); if (!rx_ring->buffer_info) { ret_val = 5; goto err_nomem; diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c index ddbe2f7d8112..edd503b79f98 100644 --- a/drivers/net/ethernet/intel/e1000e/netdev.c +++ b/drivers/net/ethernet/intel/e1000e/netdev.c @@ -2050,10 +2050,9 @@ void e1000e_set_interrupt_capability(struct e1000_adapter *adapter) case E1000E_INT_MODE_MSIX: if (adapter->flags & FLAG_HAS_MSIX) { adapter->num_vectors = 3; /* RxQ0, TxQ0 and other */ - adapter->msix_entries = kcalloc(adapter->num_vectors, - sizeof(struct - msix_entry), - GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, + adapter->num_vectors, + GFP_KERNEL); if (adapter->msix_entries) { struct e1000_adapter *a = adapter; @@ -2370,9 +2369,9 @@ int e1000e_setup_rx_resources(struct e1000_ring *rx_ring) for (i = 0; i < rx_ring->count; i++) { buffer_info = &rx_ring->buffer_info[i]; - buffer_info->ps_pages = kcalloc(PS_PAGE_BUFFERS, - sizeof(struct e1000_ps_page), - GFP_KERNEL); + buffer_info->ps_pages = kzalloc_objs(struct e1000_ps_page, + PS_PAGE_BUFFERS, + GFP_KERNEL); if (!buffer_info->ps_pages) goto err_pages; } diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_main.c b/drivers/net/ethernet/intel/fm10k/fm10k_main.c index b8c15b837fda..9f2620a14484 100644 --- a/drivers/net/ethernet/intel/fm10k/fm10k_main.c +++ b/drivers/net/ethernet/intel/fm10k/fm10k_main.c @@ -1597,7 +1597,7 @@ static int fm10k_alloc_q_vector(struct fm10k_intfc *interface, ring_count = txr_count + rxr_count; /* allocate q_vector and rings */ - q_vector = kzalloc(struct_size(q_vector, ring, ring_count), GFP_KERNEL); + q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL); if (!q_vector) return -ENOMEM; @@ -1825,8 +1825,8 @@ static int fm10k_init_msix_capability(struct fm10k_intfc *interface) v_budget = min_t(int, v_budget, hw->mac.max_msix_vectors); /* A failure in MSI-X entry allocation is fatal. */ - interface->msix_entries = kcalloc(v_budget, sizeof(struct msix_entry), - GFP_KERNEL); + interface->msix_entries = kzalloc_objs(struct msix_entry, v_budget, + GFP_KERNEL); if (!interface->msix_entries) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c index 34ab5ff9823b..c86701be4364 100644 --- a/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c +++ b/drivers/net/ethernet/intel/fm10k/fm10k_netdev.c @@ -649,7 +649,7 @@ int fm10k_queue_vlan_request(struct fm10k_intfc *interface, /* This must be atomic since we may be called while the netdev * addr_list_lock is held */ - request = kzalloc(sizeof(*request), GFP_ATOMIC); + request = kzalloc_obj(*request, GFP_ATOMIC); if (!request) return -ENOMEM; @@ -688,7 +688,7 @@ int fm10k_queue_mac_request(struct fm10k_intfc *interface, u16 glort, /* This must be atomic since we may be called while the netdev * addr_list_lock is held */ - request = kzalloc(sizeof(*request), GFP_ATOMIC); + request = kzalloc_obj(*request, GFP_ATOMIC); if (!request) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/i40e/i40e_client.c b/drivers/net/ethernet/intel/i40e/i40e_client.c index 518bc738ea3b..dacebf773adf 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_client.c +++ b/drivers/net/ethernet/intel/i40e/i40e_client.c @@ -291,7 +291,7 @@ static int i40e_register_auxiliary_dev(struct i40e_info *ldev, const char *name) struct auxiliary_device *aux_dev; int ret; - i40e_aux_dev = kzalloc(sizeof(*i40e_aux_dev), GFP_KERNEL); + i40e_aux_dev = kzalloc_obj(*i40e_aux_dev, GFP_KERNEL); if (!i40e_aux_dev) return -ENOMEM; @@ -337,7 +337,7 @@ static void i40e_client_add_instance(struct i40e_pf *pf) struct i40e_client_instance *cdev = NULL; struct netdev_hw_addr *mac = NULL; - cdev = kzalloc(sizeof(*cdev), GFP_KERNEL); + cdev = kzalloc_obj(*cdev, GFP_KERNEL); if (!cdev) return; @@ -466,7 +466,7 @@ int i40e_lan_add_device(struct i40e_pf *pf) goto out; } } - ldev = kzalloc(sizeof(*ldev), GFP_KERNEL); + ldev = kzalloc_obj(*ldev, GFP_KERNEL); if (!ldev) { ret = -ENOMEM; goto out; @@ -566,8 +566,8 @@ static int i40e_client_setup_qvlist(struct i40e_info *ldev, struct i40e_qv_info *qv_info; u32 v_idx, i, reg_idx, reg; - ldev->qvlist_info = kzalloc(struct_size(ldev->qvlist_info, qv_info, - qvlist_info->num_vectors), GFP_KERNEL); + ldev->qvlist_info = kzalloc_flex(*ldev->qvlist_info, qv_info, + qvlist_info->num_vectors, GFP_KERNEL); if (!ldev->qvlist_info) return -ENOMEM; ldev->qvlist_info->num_vectors = qvlist_info->num_vectors; diff --git a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c index c17b5d290f0a..8056fa9d9cf2 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_debugfs.c +++ b/drivers/net/ethernet/intel/i40e/i40e_debugfs.c @@ -983,9 +983,8 @@ static ssize_t i40e_dbg_command_write(struct file *filp, int i, ret; u16 switch_id; - bw_data = kzalloc(sizeof( - struct i40e_aqc_query_port_ets_config_resp), - GFP_KERNEL); + bw_data = kzalloc_obj(struct i40e_aqc_query_port_ets_config_resp, + GFP_KERNEL); if (!bw_data) { ret = -ENOMEM; goto command_write_done; @@ -1229,7 +1228,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp, struct libie_aq_desc *desc; int ret; - desc = kzalloc(sizeof(*desc), GFP_KERNEL); + desc = kzalloc_obj(*desc, GFP_KERNEL); if (!desc) goto command_write_done; cnt = sscanf(&cmd_buf[11], @@ -1277,7 +1276,7 @@ static ssize_t i40e_dbg_command_write(struct file *filp, u8 *buff; int ret; - desc = kzalloc(sizeof(*desc), GFP_KERNEL); + desc = kzalloc_obj(*desc, GFP_KERNEL); if (!desc) goto command_write_done; cnt = sscanf(&cmd_buf[20], diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c index 6a47ea0927e9..3ddc29db8dc5 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c +++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c @@ -2120,8 +2120,8 @@ static int i40e_set_ringparam(struct net_device *netdev, netdev_info(netdev, "Changing Tx descriptor count from %d to %d.\n", vsi->tx_rings[0]->count, new_tx_count); - tx_rings = kcalloc(tx_alloc_queue_pairs, - sizeof(struct i40e_ring), GFP_KERNEL); + tx_rings = kzalloc_objs(struct i40e_ring, tx_alloc_queue_pairs, + GFP_KERNEL); if (!tx_rings) { err = -ENOMEM; goto done; @@ -2159,8 +2159,8 @@ static int i40e_set_ringparam(struct net_device *netdev, netdev_info(netdev, "Changing Rx descriptor count from %d to %d\n", vsi->rx_rings[0]->count, new_rx_count); - rx_rings = kcalloc(vsi->alloc_queue_pairs, - sizeof(struct i40e_ring), GFP_KERNEL); + rx_rings = kzalloc_objs(struct i40e_ring, + vsi->alloc_queue_pairs, GFP_KERNEL); if (!rx_rings) { err = -ENOMEM; goto free_tx; @@ -3976,7 +3976,7 @@ static int i40e_add_flex_offset(struct list_head *flex_pit_list, { struct i40e_flex_pit *new_pit, *entry; - new_pit = kzalloc(sizeof(*entry), GFP_KERNEL); + new_pit = kzalloc_obj(*entry, GFP_KERNEL); if (!new_pit) return -ENOMEM; @@ -4867,7 +4867,7 @@ static int i40e_add_fdir_ethtool(struct i40e_vsi *vsi, q_index = ring; } - input = kzalloc(sizeof(*input), GFP_KERNEL); + input = kzalloc_obj(*input, GFP_KERNEL); if (!input) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c index 02de186dcc8f..05dc5ddc918c 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_main.c +++ b/drivers/net/ethernet/intel/i40e/i40e_main.c @@ -1462,7 +1462,7 @@ static int i40e_correct_mac_vlan_filters(struct i40e_vsi *vsi, return -ENOMEM; /* Create a temporary i40e_new_mac_filter */ - new = kzalloc(sizeof(*new), GFP_ATOMIC); + new = kzalloc_obj(*new, GFP_ATOMIC); if (!new) return -ENOMEM; @@ -1574,7 +1574,7 @@ static int i40e_correct_vf_mac_vlan_filters(struct i40e_vsi *vsi, if (!add_head) return -ENOMEM; /* Create a temporary i40e_new_mac_filter */ - new_mac = kzalloc(sizeof(*new_mac), GFP_ATOMIC); + new_mac = kzalloc_obj(*new_mac, GFP_ATOMIC); if (!new_mac) return -ENOMEM; new_mac->f = add_head; @@ -1651,7 +1651,7 @@ struct i40e_mac_filter *i40e_add_filter(struct i40e_vsi *vsi, f = i40e_find_filter(vsi, macaddr, vlan); if (!f) { - f = kzalloc(sizeof(*f), GFP_ATOMIC); + f = kzalloc_obj(*f, GFP_ATOMIC); if (!f) return NULL; @@ -2606,7 +2606,7 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi) } if (f->state == I40E_FILTER_NEW) { /* Create a temporary i40e_new_mac_filter */ - new = kzalloc(sizeof(*new), GFP_ATOMIC); + new = kzalloc_obj(*new, GFP_ATOMIC); if (!new) goto err_no_memory_locked; @@ -6686,7 +6686,7 @@ static int i40e_configure_queue_channels(struct i40e_vsi *vsi) vsi->tc_seid_map[0] = vsi->seid; for (i = 1; i < I40E_MAX_TRAFFIC_CLASS; i++) { if (vsi->tc_config.enabled_tc & BIT(i)) { - ch = kzalloc(sizeof(*ch), GFP_KERNEL); + ch = kzalloc_obj(*ch, GFP_KERNEL); if (!ch) { ret = -ENOMEM; goto err_free; @@ -7962,7 +7962,7 @@ static int i40e_setup_macvlans(struct i40e_vsi *vsi, u16 macvlan_cnt, u16 qcnt, /* Create channels for macvlans */ INIT_LIST_HEAD(&vsi->macvlan_list); for (i = 0; i < macvlan_cnt; i++) { - ch = kzalloc(sizeof(*ch), GFP_KERNEL); + ch = kzalloc_obj(*ch, GFP_KERNEL); if (!ch) { ret = -ENOMEM; goto err_free; @@ -8074,7 +8074,7 @@ static void *i40e_fwd_add(struct net_device *netdev, struct net_device *vdev) return ERR_PTR(-EBUSY); /* create the fwd struct */ - fwd = kzalloc(sizeof(*fwd), GFP_KERNEL); + fwd = kzalloc_obj(*fwd, GFP_KERNEL); if (!fwd) return ERR_PTR(-ENOMEM); @@ -8835,7 +8835,7 @@ static int i40e_configure_clsflower(struct i40e_vsi *vsi, clear_bit(I40E_FLAG_FD_SB_TO_CLOUD_FILTER, vsi->back->flags); } - filter = kzalloc(sizeof(*filter), GFP_KERNEL); + filter = kzalloc_obj(*filter, GFP_KERNEL); if (!filter) return -ENOMEM; @@ -11540,7 +11540,7 @@ static int i40e_vsi_mem_alloc(struct i40e_pf *pf, enum i40e_vsi_type type) } pf->next_vsi = ++i; - vsi = kzalloc(sizeof(*vsi), GFP_KERNEL); + vsi = kzalloc_obj(*vsi, GFP_KERNEL); if (!vsi) { ret = -ENOMEM; goto unlock_pf; @@ -11711,7 +11711,7 @@ static int i40e_alloc_rings(struct i40e_vsi *vsi) /* Set basic values in the rings to be used later during open() */ for (i = 0; i < vsi->alloc_queue_pairs; i++) { /* allocate space for both Tx and Rx in one shot */ - ring = kcalloc(qpv, sizeof(struct i40e_ring), GFP_KERNEL); + ring = kzalloc_objs(struct i40e_ring, qpv, GFP_KERNEL); if (!ring) goto err_out; @@ -11914,8 +11914,7 @@ static int i40e_init_msix(struct i40e_pf *pf) "Calculation of remaining vectors underflowed. This is an accounting bug when determining total MSI-X vectors.\n"); v_budget += pf->num_lan_msix; - pf->msix_entries = kcalloc(v_budget, sizeof(struct msix_entry), - GFP_KERNEL); + pf->msix_entries = kzalloc_objs(struct msix_entry, v_budget, GFP_KERNEL); if (!pf->msix_entries) return -ENOMEM; @@ -12028,7 +12027,7 @@ static int i40e_vsi_alloc_q_vector(struct i40e_vsi *vsi, int v_idx) struct i40e_q_vector *q_vector; /* allocate q_vector */ - q_vector = kzalloc(sizeof(struct i40e_q_vector), GFP_KERNEL); + q_vector = kzalloc_obj(struct i40e_q_vector, GFP_KERNEL); if (!q_vector) return -ENOMEM; @@ -14581,7 +14580,7 @@ static int i40e_veb_mem_alloc(struct i40e_pf *pf) goto err_alloc_veb; /* out of VEB slots! */ } - veb = kzalloc(sizeof(*veb), GFP_KERNEL); + veb = kzalloc_obj(*veb, GFP_KERNEL); if (!veb) { ret = -ENOMEM; goto err_alloc_veb; @@ -15441,8 +15440,7 @@ static int i40e_init_recovery_mode(struct i40e_pf *pf, struct i40e_hw *hw) pf->num_alloc_vsi = pf->hw.func_caps.num_vsis; /* Set up the vsi struct and our local tracking of the MAIN PF vsi. */ - pf->vsi = kcalloc(pf->num_alloc_vsi, sizeof(struct i40e_vsi *), - GFP_KERNEL); + pf->vsi = kzalloc_objs(struct i40e_vsi *, pf->num_alloc_vsi, GFP_KERNEL); if (!pf->vsi) { err = -ENOMEM; goto err_switch_setup; @@ -15865,8 +15863,7 @@ static int i40e_probe(struct pci_dev *pdev, const struct pci_device_id *ent) } /* Set up the *vsi struct and our local tracking of the MAIN PF vsi. */ - pf->vsi = kcalloc(pf->num_alloc_vsi, sizeof(struct i40e_vsi *), - GFP_KERNEL); + pf->vsi = kzalloc_objs(struct i40e_vsi *, pf->num_alloc_vsi, GFP_KERNEL); if (!pf->vsi) { err = -ENOMEM; goto err_switch_setup; diff --git a/drivers/net/ethernet/intel/i40e/i40e_ptp.c b/drivers/net/ethernet/intel/i40e/i40e_ptp.c index 33535418178b..416b42743439 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_ptp.c +++ b/drivers/net/ethernet/intel/i40e/i40e_ptp.c @@ -1132,7 +1132,7 @@ int i40e_ptp_alloc_pins(struct i40e_pf *pf) return 0; pf->ptp_pins = - kzalloc(sizeof(struct i40e_ptp_pins_settings), GFP_KERNEL); + kzalloc_obj(struct i40e_ptp_pins_settings, GFP_KERNEL); if (!pf->ptp_pins) { dev_warn(&pf->pdev->dev, "Cannot allocate memory for PTP pins structure.\n"); @@ -1344,9 +1344,8 @@ static int i40e_init_pin_config(struct i40e_pf *pf) pf->ptp_caps.pps = 1; pf->ptp_caps.n_per_out = 2; - pf->ptp_caps.pin_config = kcalloc(pf->ptp_caps.n_pins, - sizeof(*pf->ptp_caps.pin_config), - GFP_KERNEL); + pf->ptp_caps.pin_config = kzalloc_objs(*pf->ptp_caps.pin_config, + pf->ptp_caps.n_pins, GFP_KERNEL); if (!pf->ptp_caps.pin_config) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index cc0b9efc2637..f89927bfa9d1 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -1572,7 +1572,7 @@ int i40e_setup_rx_descriptors(struct i40e_ring *rx_ring) rx_ring->xdp_prog = rx_ring->vsi->xdp_prog; rx_ring->rx_bi = - kcalloc(rx_ring->count, sizeof(*rx_ring->rx_bi), GFP_KERNEL); + kzalloc_objs(*rx_ring->rx_bi, rx_ring->count, GFP_KERNEL); if (!rx_ring->rx_bi) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c index 1fa877b52f61..fb4560cc42f4 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c +++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl_pf.c @@ -1261,7 +1261,7 @@ static void i40e_get_vlan_list_sync(struct i40e_vsi *vsi, u16 *num_vlans, spin_lock_bh(&vsi->mac_filter_hash_lock); *num_vlans = __i40e_getnum_vf_vsi_vlan_filters(vsi); - *vlan_list = kcalloc(*num_vlans, sizeof(**vlan_list), GFP_ATOMIC); + *vlan_list = kzalloc_objs(**vlan_list, *num_vlans, GFP_ATOMIC); if (!(*vlan_list)) goto err; @@ -1844,7 +1844,7 @@ int i40e_alloc_vfs(struct i40e_pf *pf, u16 num_alloc_vfs) } } /* allocate memory */ - vfs = kcalloc(num_alloc_vfs, sizeof(struct i40e_vf), GFP_KERNEL); + vfs = kzalloc_objs(struct i40e_vf, num_alloc_vfs, GFP_KERNEL); if (!vfs) { ret = -ENOMEM; goto err_alloc; @@ -3956,7 +3956,7 @@ static int i40e_vc_add_cloud_filter(struct i40e_vf *vf, u8 *msg) goto err_out; } - cfilter = kzalloc(sizeof(*cfilter), GFP_KERNEL); + cfilter = kzalloc_obj(*cfilter, GFP_KERNEL); if (!cfilter) { aq_ret = -ENOMEM; goto err_out; diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c index 2cc21289a707..e0163e2e022b 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c +++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c @@ -1276,7 +1276,7 @@ static int iavf_add_fdir_ethtool(struct iavf_adapter *adapter, struct ethtool_rx } spin_unlock_bh(&adapter->fdir_fltr_lock); - fltr = kzalloc(sizeof(*fltr), GFP_KERNEL); + fltr = kzalloc_obj(*fltr, GFP_KERNEL); if (!fltr) return -ENOMEM; @@ -1519,7 +1519,7 @@ iavf_set_rxfh_fields(struct net_device *netdev, if (hash_flds == IAVF_ADV_RSS_HASH_INVALID) return -EINVAL; - rss_new = kzalloc(sizeof(*rss_new), GFP_KERNEL); + rss_new = kzalloc_obj(*rss_new, GFP_KERNEL); if (!rss_new) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c index 4b0fc8f354bc..5ee145d9dd0b 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -771,7 +771,7 @@ iavf_vlan_filter *iavf_add_vlan(struct iavf_adapter *adapter, f = iavf_find_vlan(adapter, vlan); if (!f) { - f = kzalloc(sizeof(*f), GFP_ATOMIC); + f = kzalloc_obj(*f, GFP_ATOMIC); if (!f) goto clearout; @@ -978,7 +978,7 @@ struct iavf_mac_filter *iavf_add_filter(struct iavf_adapter *adapter, f = iavf_find_filter(adapter, macaddr); if (!f) { - f = kzalloc(sizeof(*f), GFP_ATOMIC); + f = kzalloc_obj(*f, GFP_ATOMIC); if (!f) return f; @@ -1585,12 +1585,12 @@ static int iavf_alloc_queues(struct iavf_adapter *adapter) (int)(num_online_cpus())); - adapter->tx_rings = kcalloc(num_active_queues, - sizeof(struct iavf_ring), GFP_KERNEL); + adapter->tx_rings = kzalloc_objs(struct iavf_ring, num_active_queues, + GFP_KERNEL); if (!adapter->tx_rings) goto err_out; - adapter->rx_rings = kcalloc(num_active_queues, - sizeof(struct iavf_ring), GFP_KERNEL); + adapter->rx_rings = kzalloc_objs(struct iavf_ring, num_active_queues, + GFP_KERNEL); if (!adapter->rx_rings) goto err_out; @@ -1653,8 +1653,8 @@ static int iavf_set_interrupt_capability(struct iavf_adapter *adapter) v_budget = min_t(int, pairs + NONQ_VECS, (int)adapter->vf_res->max_vectors); - adapter->msix_entries = kcalloc(v_budget, - sizeof(struct msix_entry), GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, v_budget, + GFP_KERNEL); if (!adapter->msix_entries) { err = -ENOMEM; goto out; @@ -1812,8 +1812,7 @@ static int iavf_alloc_q_vectors(struct iavf_adapter *adapter) struct iavf_q_vector *q_vector; num_q_vectors = adapter->num_msix_vectors - NONQ_VECS; - adapter->q_vectors = kcalloc(num_q_vectors, sizeof(*q_vector), - GFP_KERNEL); + adapter->q_vectors = kzalloc_objs(*q_vector, num_q_vectors, GFP_KERNEL); if (!adapter->q_vectors) return -ENOMEM; @@ -4119,7 +4118,7 @@ static int iavf_configure_clsflower(struct iavf_adapter *adapter, return -EINVAL; } - filter = kzalloc(sizeof(*filter), GFP_KERNEL); + filter = kzalloc_obj(*filter, GFP_KERNEL); if (!filter) return -ENOMEM; filter->cookie = cls_flower->cookie; @@ -4234,7 +4233,7 @@ static int iavf_add_cls_u32(struct iavf_adapter *adapter, return -EOPNOTSUPP; } - fltr = kzalloc(sizeof(*fltr), GFP_KERNEL); + fltr = kzalloc_obj(*fltr, GFP_KERNEL); if (!fltr) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/iavf/iavf_ptp.c b/drivers/net/ethernet/intel/iavf/iavf_ptp.c index 9cbd8c154031..f2f3411878e1 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_ptp.c +++ b/drivers/net/ethernet/intel/iavf/iavf_ptp.c @@ -133,7 +133,7 @@ static struct iavf_ptp_aq_cmd *iavf_allocate_ptp_cmd(enum virtchnl_ops v_opcode, { struct iavf_ptp_aq_cmd *cmd; - cmd = kzalloc(struct_size(cmd, msg, msglen), GFP_KERNEL); + cmd = kzalloc_flex(*cmd, msg, msglen, GFP_KERNEL); if (!cmd) return NULL; diff --git a/drivers/net/ethernet/intel/ice/devlink/devlink.c b/drivers/net/ethernet/intel/ice/devlink/devlink.c index 2ef39cc70c21..38081776ce65 100644 --- a/drivers/net/ethernet/intel/ice/devlink/devlink.c +++ b/drivers/net/ethernet/intel/ice/devlink/devlink.c @@ -285,7 +285,7 @@ static int ice_devlink_info_get(struct devlink *devlink, return err; } - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/devlink/port.c b/drivers/net/ethernet/intel/ice/devlink/port.c index 63fb36fc4b3d..ce830213e73a 100644 --- a/drivers/net/ethernet/intel/ice/devlink/port.c +++ b/drivers/net/ethernet/intel/ice/devlink/port.c @@ -58,8 +58,9 @@ static void ice_devlink_port_options_print(struct ice_pf *pf) const char *str; int status; - options = kcalloc(ICE_AQC_PORT_OPT_MAX * ICE_MAX_PORT_PER_PCI_DEV, - sizeof(*options), GFP_KERNEL); + options = kzalloc_objs(*options, + ICE_AQC_PORT_OPT_MAX * ICE_MAX_PORT_PER_PCI_DEV, + GFP_KERNEL); if (!options) return; @@ -920,7 +921,7 @@ ice_alloc_dynamic_port(struct ice_pf *pf, if (err) return err; - dyn_port = kzalloc(sizeof(*dyn_port), GFP_KERNEL); + dyn_port = kzalloc_obj(*dyn_port, GFP_KERNEL); if (!dyn_port) { err = -ENOMEM; goto unroll_reserve_sf_num; diff --git a/drivers/net/ethernet/intel/ice/ice_adapter.c b/drivers/net/ethernet/intel/ice/ice_adapter.c index 0a8a48cd4bce..d5b857b07f21 100644 --- a/drivers/net/ethernet/intel/ice/ice_adapter.c +++ b/drivers/net/ethernet/intel/ice/ice_adapter.c @@ -55,7 +55,7 @@ static struct ice_adapter *ice_adapter_new(struct pci_dev *pdev) { struct ice_adapter *adapter; - adapter = kzalloc(sizeof(*adapter), GFP_KERNEL); + adapter = kzalloc_obj(*adapter, GFP_KERNEL); if (!adapter) return NULL; diff --git a/drivers/net/ethernet/intel/ice/ice_arfs.c b/drivers/net/ethernet/intel/ice/ice_arfs.c index 1f7834c03550..fe9b40654df2 100644 --- a/drivers/net/ethernet/intel/ice/ice_arfs.c +++ b/drivers/net/ethernet/intel/ice/ice_arfs.c @@ -534,13 +534,12 @@ static int ice_init_arfs_cntrs(struct ice_vsi *vsi) if (!vsi || vsi->type != ICE_VSI_PF) return -EINVAL; - vsi->arfs_fltr_cntrs = kzalloc(sizeof(*vsi->arfs_fltr_cntrs), - GFP_KERNEL); + vsi->arfs_fltr_cntrs = kzalloc_obj(*vsi->arfs_fltr_cntrs, GFP_KERNEL); if (!vsi->arfs_fltr_cntrs) return -ENOMEM; - vsi->arfs_last_fltr_id = kzalloc(sizeof(*vsi->arfs_last_fltr_id), - GFP_KERNEL); + vsi->arfs_last_fltr_id = kzalloc_obj(*vsi->arfs_last_fltr_id, + GFP_KERNEL); if (!vsi->arfs_last_fltr_id) { kfree(vsi->arfs_fltr_cntrs); vsi->arfs_fltr_cntrs = NULL; @@ -562,8 +561,8 @@ void ice_init_arfs(struct ice_vsi *vsi) if (!vsi || vsi->type != ICE_VSI_PF || ice_is_arfs_active(vsi)) return; - arfs_fltr_list = kcalloc(ICE_MAX_ARFS_LIST, sizeof(*arfs_fltr_list), - GFP_KERNEL); + arfs_fltr_list = kzalloc_objs(*arfs_fltr_list, ICE_MAX_ARFS_LIST, + GFP_KERNEL); if (!arfs_fltr_list) return; diff --git a/drivers/net/ethernet/intel/ice/ice_base.c b/drivers/net/ethernet/intel/ice/ice_base.c index afbff8aa9ceb..35089e80e810 100644 --- a/drivers/net/ethernet/intel/ice/ice_base.c +++ b/drivers/net/ethernet/intel/ice/ice_base.c @@ -107,7 +107,7 @@ static int ice_vsi_alloc_q_vector(struct ice_vsi *vsi, u16 v_idx) int err; /* allocate q_vector */ - q_vector = kzalloc(sizeof(*q_vector), GFP_KERNEL); + q_vector = kzalloc_obj(*q_vector, GFP_KERNEL); if (!q_vector) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_common.c b/drivers/net/ethernet/intel/ice/ice_common.c index 64e798b8f18f..651cd5476f88 100644 --- a/drivers/net/ethernet/intel/ice/ice_common.c +++ b/drivers/net/ethernet/intel/ice/ice_common.c @@ -1067,7 +1067,7 @@ int ice_init_hw(struct ice_hw *hw) if (status) goto err_unroll_sched; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) { status = -ENOMEM; goto err_unroll_sched; @@ -1103,8 +1103,8 @@ int ice_init_hw(struct ice_hw *hw) /* Get MAC information */ /* A single port can report up to two (LAN and WoL) addresses */ - mac_buf = kcalloc(2, sizeof(struct ice_aqc_manage_mac_read_resp), - GFP_KERNEL); + mac_buf = kzalloc_objs(struct ice_aqc_manage_mac_read_resp, 2, + GFP_KERNEL); if (!mac_buf) { status = -ENOMEM; goto err_unroll_fltr_mgmt_struct; @@ -3630,7 +3630,7 @@ int ice_update_link_info(struct ice_port_info *pi) if (li->link_info & ICE_AQ_MEDIA_AVAILABLE) { struct ice_aqc_get_phy_caps_data *pcaps __free(kfree) = NULL; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; @@ -3881,7 +3881,7 @@ ice_set_fc(struct ice_port_info *pi, u8 *aq_failures, bool ena_auto_link_update) *aq_failures = 0; hw = pi->hw; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; @@ -4020,7 +4020,7 @@ ice_cfg_phy_fec(struct ice_port_info *pi, struct ice_aqc_set_phy_cfg_data *cfg, hw = pi->hw; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; @@ -4358,7 +4358,7 @@ int ice_get_phy_lane_number(struct ice_hw *hw) hw->device_id == ICE_DEV_ID_E825C_SGMII) return hw->pf_id; - options = kcalloc(ICE_AQC_PORT_OPT_MAX, sizeof(*options), GFP_KERNEL); + options = kzalloc_objs(*options, ICE_AQC_PORT_OPT_MAX, GFP_KERNEL); if (!options) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c b/drivers/net/ethernet/intel/ice/ice_dcb_lib.c index 9fc8681cc58e..9d0e71598948 100644 --- a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_dcb_lib.c @@ -399,7 +399,7 @@ int ice_pf_dcb_cfg(struct ice_pf *pf, struct ice_dcbx_cfg *new_cfg, bool locked) } /* Notify AUX drivers about impending change to TCs */ - event = kzalloc(sizeof(*event), GFP_KERNEL); + event = kzalloc_obj(*event, GFP_KERNEL); if (!event) { ret = -ENOMEM; goto free_cfg; @@ -575,7 +575,7 @@ void ice_dcb_rebuild(struct ice_pf *pf) dcb_error: dev_err(dev, "Disabling DCB until new settings occur\n"); - err_cfg = kzalloc(sizeof(*err_cfg), GFP_KERNEL); + err_cfg = kzalloc_obj(*err_cfg, GFP_KERNEL); if (!err_cfg) { mutex_unlock(&pf->tc_mutex); return; @@ -641,7 +641,7 @@ int ice_dcb_sw_dflt_cfg(struct ice_pf *pf, bool ets_willing, bool locked) hw = &pf->hw; pi = hw->port_info; - dcbcfg = kzalloc(sizeof(*dcbcfg), GFP_KERNEL); + dcbcfg = kzalloc_obj(*dcbcfg, GFP_KERNEL); if (!dcbcfg) return -ENOMEM; @@ -791,7 +791,7 @@ void ice_pf_dcb_recfg(struct ice_pf *pf, bool locked) privd = cdev->iidc_priv; ice_setup_dcb_qos_info(pf, &privd->qos_info); /* Notify the AUX drivers that TC change is finished */ - event = kzalloc(sizeof(*event), GFP_KERNEL); + event = kzalloc_obj(*event, GFP_KERNEL); if (!event) return; diff --git a/drivers/net/ethernet/intel/ice/ice_dpll.c b/drivers/net/ethernet/intel/ice/ice_dpll.c index baf02512d041..23bbfcbca490 100644 --- a/drivers/net/ethernet/intel/ice/ice_dpll.c +++ b/drivers/net/ethernet/intel/ice/ice_dpll.c @@ -3276,7 +3276,7 @@ static int ice_dpll_pin_notify(struct notifier_block *nb, unsigned long action, if (pin->fwnode != info->fwnode) return NOTIFY_DONE; /* Not this pin */ - work = kzalloc(sizeof(*work), GFP_KERNEL); + work = kzalloc_obj(*work, GFP_KERNEL); if (!work) return NOTIFY_DONE; @@ -4145,7 +4145,7 @@ static int ice_dpll_init_info_e825c(struct ice_pf *pf) d->clock_id = ice_generate_clock_id(pf); d->num_inputs = ICE_SYNCE_CLK_NUM; - d->inputs = kcalloc(d->num_inputs, sizeof(*d->inputs), GFP_KERNEL); + d->inputs = kzalloc_objs(*d->inputs, d->num_inputs, GFP_KERNEL); if (!d->inputs) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_eswitch_br.c b/drivers/net/ethernet/intel/ice/ice_eswitch_br.c index cccb7ddf61c9..e043e8ddbc9d 100644 --- a/drivers/net/ethernet/intel/ice/ice_eswitch_br.c +++ b/drivers/net/ethernet/intel/ice/ice_eswitch_br.c @@ -129,11 +129,11 @@ ice_eswitch_br_fwd_rule_create(struct ice_hw *hw, int vsi_idx, int port_type, lkups_cnt = ice_eswitch_br_get_lkups_cnt(vid); - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return ERR_PTR(-ENOMEM); - list = kcalloc(lkups_cnt, sizeof(*list), GFP_ATOMIC); + list = kzalloc_objs(*list, lkups_cnt, GFP_ATOMIC); if (!list) { err = -ENOMEM; goto err_list_alloc; @@ -190,11 +190,11 @@ ice_eswitch_br_guard_rule_create(struct ice_hw *hw, u16 vsi_idx, lkups_cnt = ice_eswitch_br_get_lkups_cnt(vid); - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) goto err_exit; - list = kcalloc(lkups_cnt, sizeof(*list), GFP_ATOMIC); + list = kzalloc_objs(*list, lkups_cnt, GFP_ATOMIC); if (!list) goto err_list_alloc; @@ -233,7 +233,7 @@ ice_eswitch_br_flow_create(struct device *dev, struct ice_hw *hw, int vsi_idx, struct ice_esw_br_flow *flow; int err; - flow = kzalloc(sizeof(*flow), GFP_KERNEL); + flow = kzalloc_obj(*flow, GFP_KERNEL); if (!flow) return ERR_PTR(-ENOMEM); @@ -418,7 +418,7 @@ ice_eswitch_br_fdb_entry_create(struct net_device *netdev, if (fdb_entry) ice_eswitch_br_fdb_entry_notify_and_cleanup(bridge, fdb_entry); - fdb_entry = kzalloc(sizeof(*fdb_entry), GFP_KERNEL); + fdb_entry = kzalloc_obj(*fdb_entry, GFP_KERNEL); if (!fdb_entry) { err = -ENOMEM; goto err_exit; @@ -513,7 +513,7 @@ ice_eswitch_br_fdb_work_alloc(struct switchdev_notifier_fdb_info *fdb_info, struct ice_esw_br_fdb_work *work; unsigned char *mac; - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) return ERR_PTR(-ENOMEM); @@ -698,7 +698,7 @@ ice_eswitch_br_vlan_create(u16 vid, u16 flags, struct ice_esw_br_port *port) struct ice_esw_br_vlan *vlan; int err; - vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kzalloc_obj(*vlan, GFP_KERNEL); if (!vlan) return ERR_PTR(-ENOMEM); @@ -916,7 +916,7 @@ ice_eswitch_br_port_init(struct ice_esw_br *bridge) { struct ice_esw_br_port *br_port; - br_port = kzalloc(sizeof(*br_port), GFP_KERNEL); + br_port = kzalloc_obj(*br_port, GFP_KERNEL); if (!br_port) return ERR_PTR(-ENOMEM); @@ -1013,7 +1013,7 @@ ice_eswitch_br_init(struct ice_esw_br_offloads *br_offloads, int ifindex) struct ice_esw_br *bridge; int err; - bridge = kzalloc(sizeof(*bridge), GFP_KERNEL); + bridge = kzalloc_obj(*bridge, GFP_KERNEL); if (!bridge) return ERR_PTR(-ENOMEM); @@ -1217,7 +1217,7 @@ ice_eswitch_br_offloads_alloc(struct ice_pf *pf) if (pf->eswitch.br_offloads) return ERR_PTR(-EEXIST); - br_offloads = kzalloc(sizeof(*br_offloads), GFP_KERNEL); + br_offloads = kzalloc_obj(*br_offloads, GFP_KERNEL); if (!br_offloads) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c index c6bc29cfb8e6..4cce51840369 100644 --- a/drivers/net/ethernet/intel/ice/ice_ethtool.c +++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c @@ -1652,7 +1652,7 @@ ice_get_fecparam(struct net_device *netdev, struct ethtool_fecparam *fecparam) break; } - caps = kzalloc(sizeof(*caps), GFP_KERNEL); + caps = kzalloc_obj(*caps, GFP_KERNEL); if (!caps) return -ENOMEM; @@ -2364,7 +2364,7 @@ ice_get_link_ksettings(struct net_device *netdev, /* flow control is symmetric and always supported */ ethtool_link_ksettings_add_link_mode(ks, supported, Pause); - caps = kzalloc(sizeof(*caps), GFP_KERNEL); + caps = kzalloc_obj(*caps, GFP_KERNEL); if (!caps) return -ENOMEM; @@ -2629,7 +2629,7 @@ ice_set_link_ksettings(struct net_device *netdev, pi->phy.link_info.link_info & ICE_AQ_LINK_UP) return -EOPNOTSUPP; - phy_caps = kzalloc(sizeof(*phy_caps), GFP_KERNEL); + phy_caps = kzalloc_obj(*phy_caps, GFP_KERNEL); if (!phy_caps) return -ENOMEM; @@ -3265,7 +3265,7 @@ ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring, netdev_info(netdev, "Changing Tx descriptor count from %d to %d\n", vsi->tx_rings[0]->count, new_tx_cnt); - tx_rings = kcalloc(vsi->num_txq, sizeof(*tx_rings), GFP_KERNEL); + tx_rings = kzalloc_objs(*tx_rings, vsi->num_txq, GFP_KERNEL); if (!tx_rings) { err = -ENOMEM; goto done; @@ -3295,7 +3295,7 @@ ice_set_ringparam(struct net_device *netdev, struct ethtool_ringparam *ring, netdev_info(netdev, "Changing XDP descriptor count from %d to %d\n", vsi->xdp_rings[0]->count, new_tx_cnt); - xdp_rings = kcalloc(vsi->num_xdp_txq, sizeof(*xdp_rings), GFP_KERNEL); + xdp_rings = kzalloc_objs(*xdp_rings, vsi->num_xdp_txq, GFP_KERNEL); if (!xdp_rings) { err = -ENOMEM; goto free_tx; @@ -3325,7 +3325,7 @@ process_rx: netdev_info(netdev, "Changing Rx descriptor count from %d to %d\n", vsi->rx_rings[0]->count, new_rx_cnt); - rx_rings = kcalloc(vsi->num_rxq, sizeof(*rx_rings), GFP_KERNEL); + rx_rings = kzalloc_objs(*rx_rings, vsi->num_rxq, GFP_KERNEL); if (!rx_rings) { err = -ENOMEM; goto done; @@ -3445,7 +3445,7 @@ ice_get_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *pause) dcbx_cfg = &pi->qos_cfg.local_dcbx_cfg; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return; @@ -3511,7 +3511,7 @@ ice_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *pause) * so compare pause->autoneg with SW configured to prevent the user from * using set pause param to chance autoneg. */ - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_flex_pipe.c b/drivers/net/ethernet/intel/ice/ice_flex_pipe.c index c0dbec369366..28516878fa53 100644 --- a/drivers/net/ethernet/intel/ice/ice_flex_pipe.c +++ b/drivers/net/ethernet/intel/ice/ice_flex_pipe.c @@ -3734,7 +3734,7 @@ ice_adj_prof_priorities(struct ice_hw *hw, enum ice_block blk, u16 vsig, int status = 0; u16 idx; - attr_used = kcalloc(ICE_MAX_PTG_ATTRS, sizeof(*attr_used), GFP_KERNEL); + attr_used = kzalloc_objs(*attr_used, ICE_MAX_PTG_ATTRS, GFP_KERNEL); if (!attr_used) return -ENOMEM; @@ -4021,7 +4021,7 @@ ice_find_prof_vsig(struct ice_hw *hw, enum ice_block blk, u64 hdl, u16 *vsig) INIT_LIST_HEAD(&lst); - t = kzalloc(sizeof(*t), GFP_KERNEL); + t = kzalloc_obj(*t, GFP_KERNEL); if (!t) return false; diff --git a/drivers/net/ethernet/intel/ice/ice_flow.c b/drivers/net/ethernet/intel/ice/ice_flow.c index c9b6d0a84bd1..51f718020073 100644 --- a/drivers/net/ethernet/intel/ice/ice_flow.c +++ b/drivers/net/ethernet/intel/ice/ice_flow.c @@ -1468,7 +1468,7 @@ ice_flow_add_prof_sync(struct ice_hw *hw, enum ice_block blk, if (prof_id >= ids->count) return -ENOSPC; - params = kzalloc(sizeof(*params), GFP_KERNEL); + params = kzalloc_obj(*params, GFP_KERNEL); if (!params) return -ENOMEM; @@ -1661,7 +1661,7 @@ ice_flow_set_parser_prof(struct ice_hw *hw, u16 dest_vsi, u16 fdir_vsi, int status; int i, idx; - params = kzalloc(sizeof(*params), GFP_KERNEL); + params = kzalloc_obj(*params, GFP_KERNEL); if (!params) return -ENOMEM; @@ -2552,7 +2552,7 @@ ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, segs_cnt = (cfg->hdr_type == ICE_RSS_OUTER_HEADERS) ? ICE_FLOW_SEG_SINGLE : ICE_FLOW_SEG_MAX; - segs = kcalloc(segs_cnt, sizeof(*segs), GFP_KERNEL); + segs = kzalloc_objs(*segs, segs_cnt, GFP_KERNEL); if (!segs) return -ENOMEM; @@ -2699,7 +2699,7 @@ ice_rem_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, segs_cnt = (cfg->hdr_type == ICE_RSS_OUTER_HEADERS) ? ICE_FLOW_SEG_SINGLE : ICE_FLOW_SEG_MAX; - segs = kcalloc(segs_cnt, sizeof(*segs), GFP_KERNEL); + segs = kzalloc_objs(*segs, segs_cnt, GFP_KERNEL); if (!segs) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_fw_update.c b/drivers/net/ethernet/intel/ice/ice_fw_update.c index 973a13d3d92a..b67fde32577a 100644 --- a/drivers/net/ethernet/intel/ice/ice_fw_update.c +++ b/drivers/net/ethernet/intel/ice/ice_fw_update.c @@ -862,7 +862,7 @@ int ice_get_pending_updates(struct ice_pf *pf, u8 *pending, struct ice_hw *hw = &pf->hw; int err; - dev_caps = kzalloc(sizeof(*dev_caps), GFP_KERNEL); + dev_caps = kzalloc_obj(*dev_caps, GFP_KERNEL); if (!dev_caps) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_gnss.c b/drivers/net/ethernet/intel/ice/ice_gnss.c index 6b26290452d4..e81d46412043 100644 --- a/drivers/net/ethernet/intel/ice/ice_gnss.c +++ b/drivers/net/ethernet/intel/ice/ice_gnss.c @@ -174,7 +174,7 @@ static struct gnss_serial *ice_gnss_struct_init(struct ice_pf *pf) struct kthread_worker *kworker; struct gnss_serial *gnss; - gnss = kzalloc(sizeof(*gnss), GFP_KERNEL); + gnss = kzalloc_obj(*gnss, GFP_KERNEL); if (!gnss) return NULL; diff --git a/drivers/net/ethernet/intel/ice/ice_idc.c b/drivers/net/ethernet/intel/ice/ice_idc.c index 420d45c2558b..5487edc36260 100644 --- a/drivers/net/ethernet/intel/ice/ice_idc.c +++ b/drivers/net/ethernet/intel/ice/ice_idc.c @@ -308,7 +308,7 @@ int ice_plug_aux_dev(struct ice_pf *pf) if (!cdev) return -ENODEV; - iadev = kzalloc(sizeof(*iadev), GFP_KERNEL); + iadev = kzalloc_obj(*iadev, GFP_KERNEL); if (!iadev) return -ENOMEM; @@ -376,13 +376,13 @@ int ice_init_rdma(struct ice_pf *pf) return 0; } - cdev = kzalloc(sizeof(*cdev), GFP_KERNEL); + cdev = kzalloc_obj(*cdev, GFP_KERNEL); if (!cdev) return -ENOMEM; pf->cdev_info = cdev; - privd = kzalloc(sizeof(*privd), GFP_KERNEL); + privd = kzalloc_obj(*privd, GFP_KERNEL); if (!privd) { ret = -ENOMEM; goto err_privd_alloc; diff --git a/drivers/net/ethernet/intel/ice/ice_irq.c b/drivers/net/ethernet/intel/ice/ice_irq.c index 1d9b2d646474..3864fdcdeae0 100644 --- a/drivers/net/ethernet/intel/ice/ice_irq.c +++ b/drivers/net/ethernet/intel/ice/ice_irq.c @@ -81,7 +81,7 @@ static struct ice_irq_entry *ice_get_irq_res(struct ice_pf *pf, unsigned int index; int ret; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return NULL; diff --git a/drivers/net/ethernet/intel/ice/ice_lag.c b/drivers/net/ethernet/intel/ice/ice_lag.c index d2576d606e10..af285bba3b1a 100644 --- a/drivers/net/ethernet/intel/ice/ice_lag.c +++ b/drivers/net/ethernet/intel/ice/ice_lag.c @@ -742,7 +742,7 @@ static void ice_lag_build_netdev_list(struct ice_lag *lag, INIT_LIST_HEAD(&ndlist->node); rcu_read_lock(); for_each_netdev_in_bond_rcu(lag->upper_netdev, tmp_nd) { - nl = kzalloc(sizeof(*nl), GFP_ATOMIC); + nl = kzalloc_obj(*nl, GFP_ATOMIC); if (!nl) break; @@ -2310,7 +2310,7 @@ ice_lag_event_handler(struct notifier_block *notif_blk, unsigned long event, return NOTIFY_DONE; /* This memory will be freed at the end of ice_lag_process_event */ - lag_work = kzalloc(sizeof(*lag_work), GFP_KERNEL); + lag_work = kzalloc_obj(*lag_work, GFP_KERNEL); if (!lag_work) return -ENOMEM; @@ -2332,7 +2332,7 @@ ice_lag_event_handler(struct notifier_block *notif_blk, unsigned long event, rcu_read_lock(); for_each_netdev_in_bond_rcu(upper_netdev, tmp_nd) { - nd_list = kzalloc(sizeof(*nd_list), GFP_ATOMIC); + nd_list = kzalloc_obj(*nd_list, GFP_ATOMIC); if (!nd_list) break; @@ -2577,7 +2577,7 @@ int ice_init_lag(struct ice_pf *pf) if (!ice_is_feature_supported(pf, ICE_F_SRIOV_LAG)) return 0; - pf->lag = kzalloc(sizeof(*lag), GFP_KERNEL); + pf->lag = kzalloc_obj(*lag, GFP_KERNEL); if (!pf->lag) return -ENOMEM; lag = pf->lag; diff --git a/drivers/net/ethernet/intel/ice/ice_lib.c b/drivers/net/ethernet/intel/ice/ice_lib.c index d921269e1fe7..c5695b2e2319 100644 --- a/drivers/net/ethernet/intel/ice/ice_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_lib.c @@ -290,7 +290,7 @@ static void ice_vsi_delete_from_hw(struct ice_vsi *vsi) int status; ice_fltr_remove_all(vsi); - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return; @@ -396,7 +396,7 @@ static int ice_vsi_alloc_ring_stats(struct ice_vsi *vsi) ring_stats = tx_ring_stats[i]; if (!ring_stats) { - ring_stats = kzalloc(sizeof(*ring_stats), GFP_KERNEL); + ring_stats = kzalloc_obj(*ring_stats, GFP_KERNEL); if (!ring_stats) goto err_out; @@ -417,7 +417,7 @@ static int ice_vsi_alloc_ring_stats(struct ice_vsi *vsi) ring_stats = rx_ring_stats[i]; if (!ring_stats) { - ring_stats = kzalloc(sizeof(*ring_stats), GFP_KERNEL); + ring_stats = kzalloc_obj(*ring_stats, GFP_KERNEL); if (!ring_stats) goto err_out; @@ -533,19 +533,19 @@ static int ice_vsi_alloc_stat_arrays(struct ice_vsi *vsi) /* realloc will happen in rebuild path */ return 0; - vsi_stat = kzalloc(sizeof(*vsi_stat), GFP_KERNEL); + vsi_stat = kzalloc_obj(*vsi_stat, GFP_KERNEL); if (!vsi_stat) return -ENOMEM; vsi_stat->tx_ring_stats = - kcalloc(vsi->alloc_txq, sizeof(*vsi_stat->tx_ring_stats), - GFP_KERNEL); + kzalloc_objs(*vsi_stat->tx_ring_stats, vsi->alloc_txq, + GFP_KERNEL); if (!vsi_stat->tx_ring_stats) goto err_alloc_tx; vsi_stat->rx_ring_stats = - kcalloc(vsi->alloc_rxq, sizeof(*vsi_stat->rx_ring_stats), - GFP_KERNEL); + kzalloc_objs(*vsi_stat->rx_ring_stats, vsi->alloc_rxq, + GFP_KERNEL); if (!vsi_stat->rx_ring_stats) goto err_alloc_rx; @@ -1239,7 +1239,7 @@ static int ice_vsi_init(struct ice_vsi *vsi, u32 vsi_flags) int ret = 0; dev = ice_pf_to_dev(pf); - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -1403,7 +1403,7 @@ static int ice_vsi_alloc_rings(struct ice_vsi *vsi) struct ice_tx_ring *ring; /* allocate with kzalloc(), free with kfree_rcu() */ - ring = kzalloc(sizeof(*ring), GFP_KERNEL); + ring = kzalloc_obj(*ring, GFP_KERNEL); if (!ring) goto err_out; @@ -1427,7 +1427,7 @@ static int ice_vsi_alloc_rings(struct ice_vsi *vsi) struct ice_rx_ring *ring; /* allocate with kzalloc(), free with kfree_rcu() */ - ring = kzalloc(sizeof(*ring), GFP_KERNEL); + ring = kzalloc_obj(*ring, GFP_KERNEL); if (!ring) goto err_out; @@ -3104,8 +3104,8 @@ int ice_vsi_rebuild(struct ice_vsi *vsi, u32 vsi_flags) if (ret) goto unlock; - coalesce = kcalloc(vsi->num_q_vectors, - sizeof(struct ice_coalesce_stored), GFP_KERNEL); + coalesce = kzalloc_objs(struct ice_coalesce_stored, vsi->num_q_vectors, + GFP_KERNEL); if (!coalesce) { ret = -ENOMEM; goto decfg; @@ -3387,7 +3387,7 @@ int ice_vsi_cfg_tc(struct ice_vsi *vsi, u8 ena_tc) vsi->tc_cfg.ena_tc = ena_tc; vsi->tc_cfg.numtc = num_tc; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c index 4da37caa3ec9..45036a066012 100644 --- a/drivers/net/ethernet/intel/ice/ice_main.c +++ b/drivers/net/ethernet/intel/ice/ice_main.c @@ -875,7 +875,7 @@ void ice_print_link_msg(struct ice_vsi *vsi, bool isup) an = "False"; /* Get FEC mode requested based on PHY caps last SW configuration */ - caps = kzalloc(sizeof(*caps), GFP_KERNEL); + caps = kzalloc_obj(*caps, GFP_KERNEL); if (!caps) { fec_req = "Unknown"; an_advertised = "Unknown"; @@ -1951,7 +1951,7 @@ static int ice_force_phys_link_state(struct ice_vsi *vsi, bool link_up) pi = vsi->port_info; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; @@ -2010,7 +2010,7 @@ static int ice_init_nvm_phy_type(struct ice_port_info *pi) struct ice_pf *pf = pi->hw->back; int err; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; @@ -2122,7 +2122,7 @@ static int ice_init_phy_user_cfg(struct ice_port_info *pi) if (!(phy->link_info.link_info & ICE_AQ_MEDIA_AVAILABLE)) return -EIO; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; @@ -2202,7 +2202,7 @@ static int ice_configure_phy(struct ice_vsi *vsi) if (test_bit(ICE_FLAG_LINK_DOWN_ON_CLOSE_ENA, pf->flags)) return ice_force_phys_link_state(vsi, true); - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; @@ -2236,7 +2236,7 @@ static int ice_configure_phy(struct ice_vsi *vsi) goto done; } - cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!cfg) { err = -ENOMEM; goto done; @@ -2385,7 +2385,7 @@ static void ice_service_task(struct work_struct *work) if (test_and_clear_bit(ICE_AUX_ERR_PENDING, pf->state)) { struct iidc_rdma_event *event; - event = kzalloc(sizeof(*event), GFP_KERNEL); + event = kzalloc_obj(*event, GFP_KERNEL); if (event) { set_bit(IIDC_RDMA_EVENT_CRIT_ERR, event->type); /* report the entire OICR value to AUX driver */ @@ -2408,7 +2408,7 @@ static void ice_service_task(struct work_struct *work) if (test_and_clear_bit(ICE_FLAG_MTU_CHANGED, pf->flags)) { struct iidc_rdma_event *event; - event = kzalloc(sizeof(*event), GFP_KERNEL); + event = kzalloc_obj(*event, GFP_KERNEL); if (event) { set_bit(IIDC_RDMA_EVENT_AFTER_MTU_CHANGE, event->type); ice_send_event_to_aux(pf, event); @@ -2609,11 +2609,11 @@ static int ice_xdp_alloc_setup_rings(struct ice_vsi *vsi) struct ice_ring_stats *ring_stats; struct ice_tx_ring *xdp_ring; - xdp_ring = kzalloc(sizeof(*xdp_ring), GFP_KERNEL); + xdp_ring = kzalloc_obj(*xdp_ring, GFP_KERNEL); if (!xdp_ring) goto free_xdp_rings; - ring_stats = kzalloc(sizeof(*ring_stats), GFP_KERNEL); + ring_stats = kzalloc_obj(*ring_stats, GFP_KERNEL); if (!ring_stats) { ice_free_tx_ring(xdp_ring); goto free_xdp_rings; @@ -4204,7 +4204,7 @@ static void ice_set_safe_mode_vlan_cfg(struct ice_pf *pf) if (!vsi) return; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return; @@ -4910,7 +4910,7 @@ static int ice_init_pf_sw(struct ice_pf *pf) int err; /* create switch struct for the switch element created by FW on boot */ - pf->first_sw = kzalloc(sizeof(*pf->first_sw), GFP_KERNEL); + pf->first_sw = kzalloc_obj(*pf->first_sw, GFP_KERNEL); if (!pf->first_sw) return -ENOMEM; @@ -8096,7 +8096,7 @@ int ice_set_rss_hfunc(struct ice_vsi *vsi, u8 hfunc) hfunc != ICE_AQ_VSI_Q_OPT_RSS_HASH_SYM_TPLZ) return -EOPNOTSUPP; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; @@ -8168,7 +8168,7 @@ static int ice_vsi_update_bridge_mode(struct ice_vsi *vsi, u16 bmode) vsi_props = &vsi->info; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -9142,7 +9142,7 @@ static int ice_create_q_channels(struct ice_vsi *vsi) if (!(vsi->all_enatc & BIT(i))) continue; - ch = kzalloc(sizeof(*ch), GFP_KERNEL); + ch = kzalloc_obj(*ch, GFP_KERNEL); if (!ch) { ret = -ENOMEM; goto err_free; @@ -9573,7 +9573,7 @@ ice_indr_setup_tc_block(struct net_device *netdev, struct Qdisc *sch, if (indr_priv) return -EEXIST; - indr_priv = kzalloc(sizeof(*indr_priv), GFP_KERNEL); + indr_priv = kzalloc_obj(*indr_priv, GFP_KERNEL); if (!indr_priv) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_parser.c b/drivers/net/ethernet/intel/ice/ice_parser.c index 664beb64f557..4dd3f666daa8 100644 --- a/drivers/net/ethernet/intel/ice/ice_parser.c +++ b/drivers/net/ethernet/intel/ice/ice_parser.c @@ -1895,7 +1895,7 @@ static struct ice_xlt_kb *ice_xlt_kb_get(struct ice_hw *hw, u32 sect_type) if (!seg) return ERR_PTR(-EINVAL); - kb = kzalloc(sizeof(*kb), GFP_KERNEL); + kb = kzalloc_obj(*kb, GFP_KERNEL); if (!kb) return ERR_PTR(-ENOMEM); @@ -2000,7 +2000,7 @@ struct ice_parser *ice_parser_create(struct ice_hw *hw) struct ice_parser *p; void *err; - p = kzalloc(sizeof(*p), GFP_KERNEL); + p = kzalloc_obj(*p, GFP_KERNEL); if (!p) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/intel/ice/ice_ptp.c b/drivers/net/ethernet/intel/ice/ice_ptp.c index 22c3986b910a..db2213e0e1b5 100644 --- a/drivers/net/ethernet/intel/ice/ice_ptp.c +++ b/drivers/net/ethernet/intel/ice/ice_ptp.c @@ -706,7 +706,7 @@ ice_ptp_alloc_tx_tracker(struct ice_ptp_tx *tx) unsigned long *in_use, *stale; struct ice_tx_tstamp *tstamps; - tstamps = kcalloc(tx->len, sizeof(*tstamps), GFP_KERNEL); + tstamps = kzalloc_objs(*tstamps, tx->len, GFP_KERNEL); in_use = bitmap_zalloc(tx->len, GFP_KERNEL); stale = bitmap_zalloc(tx->len, GFP_KERNEL); diff --git a/drivers/net/ethernet/intel/ice/ice_repr.c b/drivers/net/ethernet/intel/ice/ice_repr.c index cb08746556a6..7bdcc0e5986b 100644 --- a/drivers/net/ethernet/intel/ice/ice_repr.c +++ b/drivers/net/ethernet/intel/ice/ice_repr.c @@ -369,7 +369,7 @@ static struct ice_repr *ice_repr_create(struct ice_vsi *src_vsi) struct ice_repr *repr; int err; - repr = kzalloc(sizeof(*repr), GFP_KERNEL); + repr = kzalloc_obj(*repr, GFP_KERNEL); if (!repr) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/intel/ice/ice_sf_eth.c b/drivers/net/ethernet/intel/ice/ice_sf_eth.c index 1a2c94375ca7..93e62050e00a 100644 --- a/drivers/net/ethernet/intel/ice/ice_sf_eth.c +++ b/drivers/net/ethernet/intel/ice/ice_sf_eth.c @@ -273,7 +273,7 @@ ice_sf_eth_activate(struct ice_dynamic_port *dyn_port, return err; } - sf_dev = kzalloc(sizeof(*sf_dev), GFP_KERNEL); + sf_dev = kzalloc_obj(*sf_dev, GFP_KERNEL); if (!sf_dev) { err = -ENOMEM; NL_SET_ERR_MSG_MOD(extack, "Could not allocate SF memory"); diff --git a/drivers/net/ethernet/intel/ice/ice_sriov.c b/drivers/net/ethernet/intel/ice/ice_sriov.c index 6b1126ddb561..7c15d62bb14b 100644 --- a/drivers/net/ethernet/intel/ice/ice_sriov.c +++ b/drivers/net/ethernet/intel/ice/ice_sriov.c @@ -695,7 +695,7 @@ static int ice_create_vf_entries(struct ice_pf *pf, u16 num_vfs) pci_read_config_word(pdev, pos + PCI_SRIOV_VF_DID, &vf_pdev_id); for (u16 vf_id = 0; vf_id < num_vfs; vf_id++) { - vf = kzalloc(sizeof(*vf), GFP_KERNEL); + vf = kzalloc_obj(*vf, GFP_KERNEL); if (!vf) { err = -ENOMEM; goto err_free_entries; diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c index 84848f0123e7..515e96c44bfa 100644 --- a/drivers/net/ethernet/intel/ice/ice_switch.c +++ b/drivers/net/ethernet/intel/ice/ice_switch.c @@ -1847,7 +1847,7 @@ ice_cfg_rdma_fltr(struct ice_hw *hw, u16 vsi_handle, bool enable) if (!cached_ctx) return -ENOENT; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; @@ -2069,7 +2069,7 @@ ice_update_recipe_lkup_idx(struct ice_hw *hw, u16 num_recps = ICE_MAX_NUM_RECIPES; int status; - rcp_list = kcalloc(num_recps, sizeof(*rcp_list), GFP_KERNEL); + rcp_list = kzalloc_objs(*rcp_list, num_recps, GFP_KERNEL); if (!rcp_list) return -ENOMEM; @@ -2326,7 +2326,7 @@ ice_get_recp_frm_fw(struct ice_hw *hw, struct ice_sw_recipe *recps, u8 rid, bitmap_zero(result_bm, ICE_MAX_FV_WORDS); /* we need a buffer big enough to accommodate all the recipes */ - tmp = kcalloc(ICE_MAX_NUM_RECIPES, sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_objs(*tmp, ICE_MAX_NUM_RECIPES, GFP_KERNEL); if (!tmp) return -ENOMEM; @@ -5096,7 +5096,7 @@ ice_add_sw_recipe(struct ice_hw *hw, struct ice_sw_recipe *rm, if (recp_cnt > ICE_MAX_CHAIN_RECIPE_RES) return -E2BIG; - buf = kcalloc(recp_cnt, sizeof(*buf), GFP_KERNEL); + buf = kzalloc_objs(*buf, recp_cnt, GFP_KERNEL); if (!buf) return -ENOMEM; @@ -5324,7 +5324,7 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups, if (!lkups_cnt) return -EINVAL; - lkup_exts = kzalloc(sizeof(*lkup_exts), GFP_KERNEL); + lkup_exts = kzalloc_obj(*lkup_exts, GFP_KERNEL); if (!lkup_exts) return -ENOMEM; @@ -5346,7 +5346,7 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups, } } - rm = kzalloc(sizeof(*rm), GFP_KERNEL); + rm = kzalloc_obj(*rm, GFP_KERNEL); if (!rm) { status = -ENOMEM; goto err_free_lkup_exts; @@ -5530,7 +5530,7 @@ ice_dummy_packet_add_vlan(const struct ice_dummy_pkt_profile *dummy_pkt, memcpy(pkt + etype_off + off, dummy_pkt->pkt + etype_off, dummy_pkt->pkt_len - etype_off); - profile = kzalloc(sizeof(*profile), GFP_KERNEL); + profile = kzalloc_obj(*profile, GFP_KERNEL); if (!profile) { kfree(offsets); kfree(pkt); diff --git a/drivers/net/ethernet/intel/ice/ice_tc_lib.c b/drivers/net/ethernet/intel/ice/ice_tc_lib.c index fb9ea7f8ef44..c687da8d950d 100644 --- a/drivers/net/ethernet/intel/ice/ice_tc_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_tc_lib.c @@ -931,7 +931,7 @@ ice_eswitch_add_tc_fltr(struct ice_vsi *vsi, struct ice_tc_flower_fltr *fltr) return ice_pass_vf_tx_lldp(vsi, false); lkups_cnt = ice_tc_count_lkups(flags, fltr); - list = kcalloc(lkups_cnt, sizeof(*list), GFP_ATOMIC); + list = kzalloc_objs(*list, lkups_cnt, GFP_ATOMIC); if (!list) return -ENOMEM; @@ -1177,7 +1177,7 @@ ice_add_tc_flower_adv_fltr(struct ice_vsi *vsi, } lkups_cnt = ice_tc_count_lkups(flags, tc_fltr); - list = kcalloc(lkups_cnt, sizeof(*list), GFP_ATOMIC); + list = kzalloc_objs(*list, lkups_cnt, GFP_ATOMIC); if (!list) return -ENOMEM; @@ -2191,7 +2191,7 @@ ice_add_tc_fltr(struct net_device *netdev, struct ice_vsi *vsi, /* by default, set output to be INVALID */ *__fltr = NULL; - fltr = kzalloc(sizeof(*fltr), GFP_KERNEL); + fltr = kzalloc_obj(*fltr, GFP_KERNEL); if (!fltr) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_txrx.c b/drivers/net/ethernet/intel/ice/ice_txrx.c index 6fa201a14f51..642b761c38a2 100644 --- a/drivers/net/ethernet/intel/ice/ice_txrx.c +++ b/drivers/net/ethernet/intel/ice/ice_txrx.c @@ -397,7 +397,7 @@ static int ice_alloc_tstamp_ring(struct ice_tx_ring *tx_ring) struct ice_tstamp_ring *tstamp_ring; /* allocate with kzalloc(), free with kfree_rcu() */ - tstamp_ring = kzalloc(sizeof(*tstamp_ring), GFP_KERNEL); + tstamp_ring = kzalloc_obj(*tstamp_ring, GFP_KERNEL); if (!tstamp_ring) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_vf_lib.c b/drivers/net/ethernet/intel/ice/ice_vf_lib.c index de9e81ccee66..dba56e317b77 100644 --- a/drivers/net/ethernet/intel/ice/ice_vf_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_vf_lib.c @@ -1112,7 +1112,7 @@ static int ice_cfg_mac_antispoof(struct ice_vsi *vsi, bool enable) struct ice_vsi_ctx *ctx; int err; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.c b/drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.c index ada78f83b3ac..79f18e693e04 100644 --- a/drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.c +++ b/drivers/net/ethernet/intel/ice/ice_vsi_vlan_lib.c @@ -94,7 +94,7 @@ static int ice_vsi_manage_vlan_insertion(struct ice_vsi *vsi) struct ice_vsi_ctx *ctxt; int err; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -141,7 +141,7 @@ static int ice_vsi_manage_vlan_stripping(struct ice_vsi *vsi, bool ena) if (vsi->info.port_based_inner_vlan) return 0; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -239,7 +239,7 @@ static int __ice_vsi_set_inner_port_vlan(struct ice_vsi *vsi, u16 pvid_info) struct ice_vsi_ctx *ctxt; int ret; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -292,7 +292,7 @@ int ice_vsi_clear_inner_port_vlan(struct ice_vsi *vsi) struct ice_vsi_ctx *ctxt; int ret; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -336,7 +336,7 @@ static int ice_cfg_vlan_pruning(struct ice_vsi *vsi, bool ena) return 0; pf = vsi->back; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -382,7 +382,7 @@ static int ice_cfg_vlan_antispoof(struct ice_vsi *vsi, bool enable) struct ice_vsi_ctx *ctx; int err; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; @@ -478,7 +478,7 @@ int ice_vsi_ena_outer_stripping(struct ice_vsi *vsi, u16 tpid) if (tpid_to_vsi_outer_vlan_type(tpid, &tag_type)) return -EINVAL; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -529,7 +529,7 @@ int ice_vsi_dis_outer_stripping(struct ice_vsi *vsi) if (vsi->info.port_based_outer_vlan) return 0; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -584,7 +584,7 @@ int ice_vsi_ena_outer_insertion(struct ice_vsi *vsi, u16 tpid) if (tpid_to_vsi_outer_vlan_type(tpid, &tag_type)) return -EINVAL; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -636,7 +636,7 @@ int ice_vsi_dis_outer_insertion(struct ice_vsi *vsi) if (vsi->info.port_based_outer_vlan) return 0; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -694,7 +694,7 @@ __ice_vsi_set_outer_port_vlan(struct ice_vsi *vsi, u16 vlan_info, u16 tpid) if (tpid_to_vsi_outer_vlan_type(tpid, &tag_type)) return -EINVAL; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -767,7 +767,7 @@ int ice_vsi_clear_outer_port_vlan(struct ice_vsi *vsi) struct ice_vsi_ctx *ctxt; int err; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; @@ -794,7 +794,7 @@ int ice_vsi_clear_port_vlan(struct ice_vsi *vsi) struct ice_vsi_ctx *ctxt; int err; - ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL); + ctxt = kzalloc_obj(*ctxt, GFP_KERNEL); if (!ctxt) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/ice_xsk.c b/drivers/net/ethernet/intel/ice/ice_xsk.c index 953e68ed0f9a..e01eae07b6ed 100644 --- a/drivers/net/ethernet/intel/ice/ice_xsk.c +++ b/drivers/net/ethernet/intel/ice/ice_xsk.c @@ -174,9 +174,8 @@ int ice_realloc_rx_xdp_bufs(struct ice_rx_ring *rx_ring, bool pool_present) { if (pool_present) { - rx_ring->xdp_buf = kcalloc(rx_ring->count, - sizeof(*rx_ring->xdp_buf), - GFP_KERNEL); + rx_ring->xdp_buf = kzalloc_objs(*rx_ring->xdp_buf, + rx_ring->count, GFP_KERNEL); if (!rx_ring->xdp_buf) return -ENOMEM; } else { diff --git a/drivers/net/ethernet/intel/ice/virt/fdir.c b/drivers/net/ethernet/intel/ice/virt/fdir.c index ae83c3914e29..8b2c882fb39c 100644 --- a/drivers/net/ethernet/intel/ice/virt/fdir.c +++ b/drivers/net/ethernet/intel/ice/virt/fdir.c @@ -875,7 +875,7 @@ ice_vc_fdir_parse_raw(struct ice_vf *vf, if (hw->debug_mask & ICE_DBG_PARSER) ice_parser_result_dump(hw, &rslt); - conf->prof = kzalloc(sizeof(*conf->prof), GFP_KERNEL); + conf->prof = kzalloc_obj(*conf->prof, GFP_KERNEL); if (!conf->prof) { status = -ENOMEM; goto err_parser_destroy; @@ -2128,7 +2128,7 @@ int ice_vc_add_fdir_fltr(struct ice_vf *vf, u8 *msg) goto err_exit; } - stat = kzalloc(sizeof(*stat), GFP_KERNEL); + stat = kzalloc_obj(*stat, GFP_KERNEL); if (!stat) { v_ret = VIRTCHNL_STATUS_ERR_NO_MEMORY; dev_dbg(dev, "Alloc stat for VF %d failed\n", vf->vf_id); @@ -2332,7 +2332,7 @@ int ice_vc_del_fdir_fltr(struct ice_vf *vf, u8 *msg) goto err_exit; } - stat = kzalloc(sizeof(*stat), GFP_KERNEL); + stat = kzalloc_obj(*stat, GFP_KERNEL); if (!stat) { v_ret = VIRTCHNL_STATUS_ERR_NO_MEMORY; dev_dbg(dev, "Alloc stat for VF %d failed\n", vf->vf_id); diff --git a/drivers/net/ethernet/intel/ice/virt/rss.c b/drivers/net/ethernet/intel/ice/virt/rss.c index 085e69ec0cfc..2f259b261512 100644 --- a/drivers/net/ethernet/intel/ice/virt/rss.c +++ b/drivers/net/ethernet/intel/ice/virt/rss.c @@ -380,7 +380,7 @@ ice_vc_rss_hash_update(struct ice_hw *hw, struct ice_vsi *vsi, u8 hash_type) struct ice_vsi_ctx *ctx; int ret; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ice/virt/virtchnl.c b/drivers/net/ethernet/intel/ice/virt/virtchnl.c index f3f921134379..9abfba8ae6bd 100644 --- a/drivers/net/ethernet/intel/ice/virt/virtchnl.c +++ b/drivers/net/ethernet/intel/ice/virt/virtchnl.c @@ -1658,7 +1658,7 @@ static int ice_vc_get_offload_vlan_v2_caps(struct ice_vf *vf) goto out; } - caps = kzalloc(sizeof(*caps), GFP_KERNEL); + caps = kzalloc_obj(*caps, GFP_KERNEL); if (!caps) { v_ret = VIRTCHNL_STATUS_ERR_NO_MEMORY; goto out; @@ -2477,7 +2477,7 @@ static int ice_vc_get_phc_time(struct ice_vf *vf) v_ret = VIRTCHNL_STATUS_SUCCESS; - phc_time = kzalloc(sizeof(*phc_time), GFP_KERNEL); + phc_time = kzalloc_obj(*phc_time, GFP_KERNEL); if (!phc_time) { v_ret = VIRTCHNL_STATUS_ERR_NO_MEMORY; goto err; diff --git a/drivers/net/ethernet/intel/idpf/idpf_controlq.c b/drivers/net/ethernet/intel/idpf/idpf_controlq.c index 67894eda2d29..e3681dedc888 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_controlq.c +++ b/drivers/net/ethernet/intel/idpf/idpf_controlq.c @@ -127,7 +127,7 @@ int idpf_ctlq_add(struct idpf_hw *hw, bool is_rxq = false; int err; - cq = kzalloc(sizeof(*cq), GFP_KERNEL); + cq = kzalloc_obj(*cq, GFP_KERNEL); if (!cq) return -ENOMEM; @@ -159,9 +159,8 @@ int idpf_ctlq_add(struct idpf_hw *hw, idpf_ctlq_init_rxq_bufs(cq); } else { /* Allocate the array of msg pointers for TX queues */ - cq->bi.tx_msg = kcalloc(qinfo->len, - sizeof(struct idpf_ctlq_msg *), - GFP_KERNEL); + cq->bi.tx_msg = kzalloc_objs(struct idpf_ctlq_msg *, qinfo->len, + GFP_KERNEL); if (!cq->bi.tx_msg) { err = -ENOMEM; goto init_dealloc_q_mem; diff --git a/drivers/net/ethernet/intel/idpf/idpf_controlq_setup.c b/drivers/net/ethernet/intel/idpf/idpf_controlq_setup.c index a942a6385d06..dfdbfb89b090 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_controlq_setup.c +++ b/drivers/net/ethernet/intel/idpf/idpf_controlq_setup.c @@ -40,8 +40,8 @@ static int idpf_ctlq_alloc_bufs(struct idpf_hw *hw, /* We'll be allocating the buffer info memory first, then we can * allocate the mapped buffers for the event processing */ - cq->bi.rx_buff = kcalloc(cq->ring_size, sizeof(struct idpf_dma_mem *), - GFP_KERNEL); + cq->bi.rx_buff = kzalloc_objs(struct idpf_dma_mem *, cq->ring_size, + GFP_KERNEL); if (!cq->bi.rx_buff) return -ENOMEM; @@ -50,8 +50,8 @@ static int idpf_ctlq_alloc_bufs(struct idpf_hw *hw, struct idpf_dma_mem *bi; int num = 1; /* number of idpf_dma_mem to be allocated */ - cq->bi.rx_buff[i] = kcalloc(num, sizeof(struct idpf_dma_mem), - GFP_KERNEL); + cq->bi.rx_buff[i] = kzalloc_objs(struct idpf_dma_mem, num, + GFP_KERNEL); if (!cq->bi.rx_buff[i]) goto unwind_alloc_cq_bufs; diff --git a/drivers/net/ethernet/intel/idpf/idpf_dev.c b/drivers/net/ethernet/intel/idpf/idpf_dev.c index a4625638cf3f..c7c38e22c975 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_dev.c +++ b/drivers/net/ethernet/intel/idpf/idpf_dev.c @@ -83,8 +83,7 @@ static int idpf_intr_reg_init(struct idpf_vport *vport, u16 total_vecs; total_vecs = idpf_get_reserved_vecs(vport->adapter); - reg_vals = kcalloc(total_vecs, sizeof(struct idpf_vec_regs), - GFP_KERNEL); + reg_vals = kzalloc_objs(struct idpf_vec_regs, total_vecs, GFP_KERNEL); if (!reg_vals) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c index 1d78a621d65b..8cfb09ff8ebd 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_ethtool.c +++ b/drivers/net/ethernet/intel/idpf/idpf_ethtool.c @@ -200,11 +200,11 @@ static int idpf_add_flow_steer(struct net_device *netdev, if (q_index >= num_rxq) return -EINVAL; - rule = kzalloc(struct_size(rule, rule_info, 1), GFP_KERNEL); + rule = kzalloc_flex(*rule, rule_info, 1, GFP_KERNEL); if (!rule) return -ENOMEM; - fltr = kzalloc(sizeof(*fltr), GFP_KERNEL); + fltr = kzalloc_obj(*fltr, GFP_KERNEL); if (!fltr) { err = -ENOMEM; goto out_free_rule; @@ -310,7 +310,7 @@ static int idpf_del_flow_steer(struct net_device *netdev, if (!idpf_sideband_action_ena(vport, fsp)) return -EOPNOTSUPP; - rule = kzalloc(struct_size(rule, rule_info, 1), GFP_KERNEL); + rule = kzalloc_flex(*rule, rule_info, 1, GFP_KERNEL); if (!rule) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/idpf/idpf_idc.c b/drivers/net/ethernet/intel/idpf/idpf_idc.c index 6dad0593f7f2..42fb8659142a 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_idc.c +++ b/drivers/net/ethernet/intel/idpf/idpf_idc.c @@ -60,7 +60,7 @@ static int idpf_plug_vport_aux_dev(struct iidc_rdma_core_dev_info *cdev_info, struct auxiliary_device *adev; int ret; - iadev = kzalloc(sizeof(*iadev), GFP_KERNEL); + iadev = kzalloc_obj(*iadev, GFP_KERNEL); if (!iadev) return -ENOMEM; @@ -120,7 +120,7 @@ static int idpf_idc_init_aux_vport_dev(struct idpf_vport *vport) if (!(le16_to_cpu(vport_msg->vport_flags) & VIRTCHNL2_VPORT_ENABLE_RDMA)) return 0; - vport->vdev_info = kzalloc(sizeof(*vdev_info), GFP_KERNEL); + vport->vdev_info = kzalloc_obj(*vdev_info, GFP_KERNEL); if (!vport->vdev_info) return -ENOMEM; @@ -198,7 +198,7 @@ static int idpf_plug_core_aux_dev(struct iidc_rdma_core_dev_info *cdev_info) struct auxiliary_device *adev; int ret; - iadev = kzalloc(sizeof(*iadev), GFP_KERNEL); + iadev = kzalloc_obj(*iadev, GFP_KERNEL); if (!iadev) return -ENOMEM; @@ -414,12 +414,12 @@ int idpf_idc_init_aux_core_dev(struct idpf_adapter *adapter, struct iidc_rdma_priv_dev_info *privd; int err, i; - adapter->cdev_info = kzalloc(sizeof(*cdev_info), GFP_KERNEL); + adapter->cdev_info = kzalloc_obj(*cdev_info, GFP_KERNEL); if (!adapter->cdev_info) return -ENOMEM; cdev_info = adapter->cdev_info; - privd = kzalloc(sizeof(*privd), GFP_KERNEL); + privd = kzalloc_obj(*privd, GFP_KERNEL); if (!privd) { err = -ENOMEM; goto err_privd_alloc; @@ -431,9 +431,8 @@ int idpf_idc_init_aux_core_dev(struct idpf_adapter *adapter, privd->ftype = ftype; privd->mapped_mem_regions = - kcalloc(adapter->hw.num_lan_regs, - sizeof(struct iidc_rdma_lan_mapped_mem_region), - GFP_KERNEL); + kzalloc_objs(struct iidc_rdma_lan_mapped_mem_region, + adapter->hw.num_lan_regs, GFP_KERNEL); if (!privd->mapped_mem_regions) { err = -ENOMEM; goto err_plug_aux_dev; diff --git a/drivers/net/ethernet/intel/idpf/idpf_lib.c b/drivers/net/ethernet/intel/idpf/idpf_lib.c index 94da5fbd56f1..a70f8ba7aad2 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_lib.c +++ b/drivers/net/ethernet/intel/idpf/idpf_lib.c @@ -359,9 +359,9 @@ int idpf_intr_req(struct idpf_adapter *adapter) num_rdma_vecs = IDPF_MIN_RDMA_VEC; } - adapter->rdma_msix_entries = kcalloc(num_rdma_vecs, - sizeof(struct msix_entry), - GFP_KERNEL); + adapter->rdma_msix_entries = kzalloc_objs(struct msix_entry, + num_rdma_vecs, + GFP_KERNEL); if (!adapter->rdma_msix_entries) { err = -ENOMEM; goto free_irq; @@ -369,8 +369,8 @@ int idpf_intr_req(struct idpf_adapter *adapter) } num_lan_vecs = actual_vecs - num_rdma_vecs; - adapter->msix_entries = kcalloc(num_lan_vecs, sizeof(struct msix_entry), - GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, num_lan_vecs, + GFP_KERNEL); if (!adapter->msix_entries) { err = -ENOMEM; goto free_rdma_msix; @@ -577,7 +577,7 @@ static int __idpf_add_mac_filter(struct idpf_vport_config *vport_config, return 0; } - f = kzalloc(sizeof(*f), GFP_ATOMIC); + f = kzalloc_obj(*f, GFP_ATOMIC); if (!f) { spin_unlock_bh(&vport_config->mac_filter_list_lock); @@ -1239,7 +1239,7 @@ static struct idpf_vport *idpf_vport_alloc(struct idpf_adapter *adapter, if (idx == IDPF_NO_FREE_SLOT) return NULL; - vport = kzalloc(sizeof(*vport), GFP_KERNEL); + vport = kzalloc_obj(*vport, GFP_KERNEL); if (!vport) return vport; @@ -1248,14 +1248,14 @@ static struct idpf_vport *idpf_vport_alloc(struct idpf_adapter *adapter, struct idpf_vport_config *vport_config; struct idpf_q_coalesce *q_coal; - vport_config = kzalloc(sizeof(*vport_config), GFP_KERNEL); + vport_config = kzalloc_obj(*vport_config, GFP_KERNEL); if (!vport_config) { kfree(vport); return NULL; } - q_coal = kcalloc(num_max_q, sizeof(*q_coal), GFP_KERNEL); + q_coal = kzalloc_objs(*q_coal, num_max_q, GFP_KERNEL); if (!q_coal) { kfree(vport_config); kfree(vport); @@ -2027,7 +2027,7 @@ int idpf_initiate_soft_reset(struct idpf_vport *vport, * error occurred, the existing vport will be untouched. * */ - new_vport = kzalloc(sizeof(*vport), GFP_KERNEL); + new_vport = kzalloc_obj(*vport, GFP_KERNEL); if (!new_vport) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/idpf/idpf_main.c b/drivers/net/ethernet/intel/idpf/idpf_main.c index de5d722cc21d..be6760249dc8 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_main.c +++ b/drivers/net/ethernet/intel/idpf/idpf_main.c @@ -238,7 +238,7 @@ static int idpf_probe(struct pci_dev *pdev, const struct pci_device_id *ent) struct idpf_adapter *adapter; int err; - adapter = kzalloc(sizeof(*adapter), GFP_KERNEL); + adapter = kzalloc_obj(*adapter, GFP_KERNEL); if (!adapter) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/idpf/idpf_ptp.c b/drivers/net/ethernet/intel/idpf/idpf_ptp.c index 4a805a9541f0..c098d3f66a34 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_ptp.c +++ b/drivers/net/ethernet/intel/idpf/idpf_ptp.c @@ -936,7 +936,7 @@ int idpf_ptp_init(struct idpf_adapter *adapter) return -EOPNOTSUPP; } - adapter->ptp = kzalloc(sizeof(*adapter->ptp), GFP_KERNEL); + adapter->ptp = kzalloc_obj(*adapter->ptp, GFP_KERNEL); if (!adapter->ptp) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/idpf/idpf_txrx.c b/drivers/net/ethernet/intel/idpf/idpf_txrx.c index 376050308b06..259316af9ec5 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_txrx.c +++ b/drivers/net/ethernet/intel/idpf/idpf_txrx.c @@ -183,8 +183,8 @@ static int idpf_tx_buf_alloc_all(struct idpf_tx_queue *tx_q) tx_q->buf_pool_size = U16_MAX; else tx_q->buf_pool_size = tx_q->desc_count; - tx_q->tx_buf = kcalloc(tx_q->buf_pool_size, sizeof(*tx_q->tx_buf), - GFP_KERNEL); + tx_q->tx_buf = kzalloc_objs(*tx_q->tx_buf, tx_q->buf_pool_size, + GFP_KERNEL); if (!tx_q->tx_buf) return -ENOMEM; @@ -1204,9 +1204,9 @@ static int idpf_qp_enable(const struct idpf_vport *vport, if (!rsrc->xdp_txq_offset) goto config; - q_vector->xsksq = kcalloc(DIV_ROUND_UP(rsrc->num_rxq_grp, - rsrc->num_q_vectors), - sizeof(*q_vector->xsksq), GFP_KERNEL); + q_vector->xsksq = kzalloc_objs(*q_vector->xsksq, + DIV_ROUND_UP(rsrc->num_rxq_grp, rsrc->num_q_vectors), + GFP_KERNEL); if (!q_vector->xsksq) return -ENOMEM; @@ -1439,8 +1439,7 @@ static int idpf_vport_init_fast_path_txqs(struct idpf_vport *vport, struct work_struct *tstamp_task = &vport->tstamp_task; int k = 0; - vport->txqs = kcalloc(rsrc->num_txq, sizeof(*vport->txqs), - GFP_KERNEL); + vport->txqs = kzalloc_objs(*vport->txqs, rsrc->num_txq, GFP_KERNEL); if (!vport->txqs) return -ENOMEM; @@ -1711,8 +1710,8 @@ static int idpf_txq_group_alloc(struct idpf_vport *vport, { bool split, flow_sch_en; - rsrc->txq_grps = kcalloc(rsrc->num_txq_grp, - sizeof(*rsrc->txq_grps), GFP_KERNEL); + rsrc->txq_grps = kzalloc_objs(*rsrc->txq_grps, rsrc->num_txq_grp, + GFP_KERNEL); if (!rsrc->txq_grps) return -ENOMEM; @@ -1728,8 +1727,8 @@ static int idpf_txq_group_alloc(struct idpf_vport *vport, tx_qgrp->num_txq = num_txq; for (unsigned int j = 0; j < tx_qgrp->num_txq; j++) { - tx_qgrp->txqs[j] = kzalloc(sizeof(*tx_qgrp->txqs[j]), - GFP_KERNEL); + tx_qgrp->txqs[j] = kzalloc_obj(*tx_qgrp->txqs[j], + GFP_KERNEL); if (!tx_qgrp->txqs[j]) goto err_alloc; } @@ -1756,7 +1755,7 @@ static int idpf_txq_group_alloc(struct idpf_vport *vport, idpf_queue_set(FLOW_SCH_EN, q); - q->refillq = kzalloc(sizeof(*q->refillq), GFP_KERNEL); + q->refillq = kzalloc_obj(*q->refillq, GFP_KERNEL); if (!q->refillq) goto err_alloc; @@ -1767,9 +1766,9 @@ static int idpf_txq_group_alloc(struct idpf_vport *vport, if (!split) continue; - tx_qgrp->complq = kcalloc(IDPF_COMPLQ_PER_GROUP, - sizeof(*tx_qgrp->complq), - GFP_KERNEL); + tx_qgrp->complq = kzalloc_objs(*tx_qgrp->complq, + IDPF_COMPLQ_PER_GROUP, + GFP_KERNEL); if (!tx_qgrp->complq) goto err_alloc; @@ -1806,8 +1805,8 @@ static int idpf_rxq_group_alloc(struct idpf_vport *vport, bool hs, rsc; int err = 0; - rsrc->rxq_grps = kcalloc(rsrc->num_rxq_grp, - sizeof(struct idpf_rxq_group), GFP_KERNEL); + rsrc->rxq_grps = kzalloc_objs(struct idpf_rxq_group, rsrc->num_rxq_grp, + GFP_KERNEL); if (!rsrc->rxq_grps) return -ENOMEM; @@ -1821,9 +1820,8 @@ static int idpf_rxq_group_alloc(struct idpf_vport *vport, if (!idpf_is_queue_model_split(rsrc->rxq_model)) { rx_qgrp->singleq.num_rxq = num_rxq; for (unsigned int j = 0; j < num_rxq; j++) { - rx_qgrp->singleq.rxqs[j] = - kzalloc(sizeof(*rx_qgrp->singleq.rxqs[j]), - GFP_KERNEL); + rx_qgrp->singleq.rxqs[j] = kzalloc_obj(*rx_qgrp->singleq.rxqs[j], + GFP_KERNEL); if (!rx_qgrp->singleq.rxqs[j]) { err = -ENOMEM; goto err_alloc; @@ -1835,17 +1833,16 @@ static int idpf_rxq_group_alloc(struct idpf_vport *vport, for (unsigned int j = 0; j < num_rxq; j++) { rx_qgrp->splitq.rxq_sets[j] = - kzalloc(sizeof(struct idpf_rxq_set), - GFP_KERNEL); + kzalloc_obj(struct idpf_rxq_set, GFP_KERNEL); if (!rx_qgrp->splitq.rxq_sets[j]) { err = -ENOMEM; goto err_alloc; } } - rx_qgrp->splitq.bufq_sets = kcalloc(rsrc->num_bufqs_per_qgrp, - sizeof(struct idpf_bufq_set), - GFP_KERNEL); + rx_qgrp->splitq.bufq_sets = kzalloc_objs(struct idpf_bufq_set, + rsrc->num_bufqs_per_qgrp, + GFP_KERNEL); if (!rx_qgrp->splitq.bufq_sets) { err = -ENOMEM; goto err_alloc; @@ -1880,9 +1877,9 @@ static int idpf_rxq_group_alloc(struct idpf_vport *vport, rsrc->bufq_desc_count[j]; idpf_queue_set(GEN_CHK, refillq); idpf_queue_set(RFL_GEN_CHK, refillq); - refillq->ring = kcalloc(refillq->desc_count, - sizeof(*refillq->ring), - GFP_KERNEL); + refillq->ring = kzalloc_objs(*refillq->ring, + refillq->desc_count, + GFP_KERNEL); if (!refillq->ring) { err = -ENOMEM; goto err_alloc; @@ -4567,8 +4564,8 @@ int idpf_vport_intr_alloc(struct idpf_vport *vport, user_config = &vport->adapter->vport_config[idx]->user_config; - rsrc->q_vectors = kcalloc(rsrc->num_q_vectors, - sizeof(struct idpf_q_vector), GFP_KERNEL); + rsrc->q_vectors = kzalloc_objs(struct idpf_q_vector, + rsrc->num_q_vectors, GFP_KERNEL); if (!rsrc->q_vectors) return -ENOMEM; @@ -4595,37 +4592,34 @@ int idpf_vport_intr_alloc(struct idpf_vport *vport, q_vector->rx_intr_mode = q_coal->rx_intr_mode; q_vector->rx_itr_idx = VIRTCHNL2_ITR_IDX_0; - q_vector->tx = kcalloc(txqs_per_vector, sizeof(*q_vector->tx), - GFP_KERNEL); + q_vector->tx = kzalloc_objs(*q_vector->tx, txqs_per_vector, + GFP_KERNEL); if (!q_vector->tx) goto error; - q_vector->rx = kcalloc(rxqs_per_vector, sizeof(*q_vector->rx), - GFP_KERNEL); + q_vector->rx = kzalloc_objs(*q_vector->rx, rxqs_per_vector, + GFP_KERNEL); if (!q_vector->rx) goto error; if (!idpf_is_queue_model_split(rsrc->rxq_model)) continue; - q_vector->bufq = kcalloc(bufqs_per_vector, - sizeof(*q_vector->bufq), - GFP_KERNEL); + q_vector->bufq = kzalloc_objs(*q_vector->bufq, bufqs_per_vector, + GFP_KERNEL); if (!q_vector->bufq) goto error; - q_vector->complq = kcalloc(complqs_per_vector, - sizeof(*q_vector->complq), - GFP_KERNEL); + q_vector->complq = kzalloc_objs(*q_vector->complq, + complqs_per_vector, GFP_KERNEL); if (!q_vector->complq) goto error; if (!rsrc->xdp_txq_offset) continue; - q_vector->xsksq = kcalloc(rxqs_per_vector, - sizeof(*q_vector->xsksq), - GFP_KERNEL); + q_vector->xsksq = kzalloc_objs(*q_vector->xsksq, + rxqs_per_vector, GFP_KERNEL); if (!q_vector->xsksq) goto error; } diff --git a/drivers/net/ethernet/intel/idpf/idpf_vf_dev.c b/drivers/net/ethernet/intel/idpf/idpf_vf_dev.c index 7527b967e2e7..57559a2bc9dd 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_vf_dev.c +++ b/drivers/net/ethernet/intel/idpf/idpf_vf_dev.c @@ -82,8 +82,7 @@ static int idpf_vf_intr_reg_init(struct idpf_vport *vport, u16 total_vecs; total_vecs = idpf_get_reserved_vecs(vport->adapter); - reg_vals = kcalloc(total_vecs, sizeof(struct idpf_vec_regs), - GFP_KERNEL); + reg_vals = kzalloc_objs(struct idpf_vec_regs, total_vecs, GFP_KERNEL); if (!reg_vals) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c index d46affaf7185..f1a8ae9d8118 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl.c @@ -132,7 +132,7 @@ static int idpf_mb_clean(struct idpf_adapter *adapter, struct idpf_dma_mem *dma_mem; int err; - q_msg = kcalloc(num_q_msg, sizeof(struct idpf_ctlq_msg *), GFP_ATOMIC); + q_msg = kzalloc_objs(struct idpf_ctlq_msg *, num_q_msg, GFP_ATOMIC); if (!q_msg) return -ENOMEM; @@ -238,11 +238,11 @@ int idpf_send_mb_msg(struct idpf_adapter *adapter, struct idpf_ctlq_info *asq, if (err) return err; - ctlq_msg = kzalloc(sizeof(*ctlq_msg), GFP_ATOMIC); + ctlq_msg = kzalloc_obj(*ctlq_msg, GFP_ATOMIC); if (!ctlq_msg) return -ENOMEM; - dma_mem = kzalloc(sizeof(*dma_mem), GFP_ATOMIC); + dma_mem = kzalloc_obj(*dma_mem, GFP_ATOMIC); if (!dma_mem) { err = -ENOMEM; goto dma_mem_error; @@ -740,7 +740,7 @@ struct idpf_queue_set *idpf_alloc_queue_set(struct idpf_adapter *adapter, { struct idpf_queue_set *qp; - qp = kzalloc(struct_size(qp, qs, num), GFP_KERNEL); + qp = kzalloc_flex(*qp, qs, num, GFP_KERNEL); if (!qp) return NULL; @@ -1059,7 +1059,7 @@ static int idpf_send_get_lan_memory_regions(struct idpf_adapter *adapter) return -EINVAL; hw = &adapter->hw; - hw->lan_regs = kcalloc(num_regions, sizeof(*hw->lan_regs), GFP_KERNEL); + hw->lan_regs = kzalloc_objs(*hw->lan_regs, num_regions, GFP_KERNEL); if (!hw->lan_regs) return -ENOMEM; @@ -1091,8 +1091,7 @@ static int idpf_calc_remaining_mmio_regs(struct idpf_adapter *adapter) struct idpf_hw *hw = &adapter->hw; hw->num_lan_regs = IDPF_MMIO_MAP_FALLBACK_MAX_REMAINING; - hw->lan_regs = kcalloc(hw->num_lan_regs, sizeof(*hw->lan_regs), - GFP_KERNEL); + hw->lan_regs = kzalloc_objs(*hw->lan_regs, hw->num_lan_regs, GFP_KERNEL); if (!hw->lan_regs) return -ENOMEM; @@ -1291,8 +1290,8 @@ idpf_vport_init_queue_reg_chunks(struct idpf_vport_config *vport_config, kfree(q_info->queue_chunks); - q_info->queue_chunks = kcalloc(num_chunks, sizeof(*q_info->queue_chunks), - GFP_KERNEL); + q_info->queue_chunks = kzalloc_objs(*q_info->queue_chunks, num_chunks, + GFP_KERNEL); if (!q_info->queue_chunks) { q_info->num_chunks = 0; return -ENOMEM; @@ -1845,7 +1844,7 @@ static int idpf_send_config_tx_queue_set_msg(const struct idpf_queue_set *qs) .chunk_sz = sizeof(*qi), }; - qi = kcalloc(qs->num, sizeof(*qi), GFP_KERNEL); + qi = kzalloc_objs(*qi, qs->num, GFP_KERNEL); if (!qi) return -ENOMEM; @@ -2034,7 +2033,7 @@ static int idpf_send_config_rx_queue_set_msg(const struct idpf_queue_set *qs) .chunk_sz = sizeof(*qi), }; - qi = kcalloc(qs->num, sizeof(*qi), GFP_KERNEL); + qi = kzalloc_objs(*qi, qs->num, GFP_KERNEL); if (!qi) return -ENOMEM; @@ -2161,7 +2160,7 @@ static int idpf_send_ena_dis_queue_set_msg(const struct idpf_queue_set *qs, .num_chunks = qs->num, }; - qc = kcalloc(qs->num, sizeof(*qc), GFP_KERNEL); + qc = kzalloc_objs(*qc, qs->num, GFP_KERNEL); if (!qc) return -ENOMEM; @@ -2328,7 +2327,7 @@ idpf_send_map_unmap_queue_set_vector_msg(const struct idpf_queue_set *qs, }; bool split; - vqv = kcalloc(qs->num, sizeof(*vqv), GFP_KERNEL); + vqv = kzalloc_objs(*vqv, qs->num, GFP_KERNEL); if (!vqv) return -ENOMEM; @@ -3198,16 +3197,16 @@ static int idpf_send_get_rx_ptype_msg(struct idpf_adapter *adapter) u16 next_ptype_id = 0; ssize_t reply_sz; - singleq_pt_lkup = kcalloc(IDPF_RX_MAX_BASE_PTYPE, - sizeof(*singleq_pt_lkup), GFP_KERNEL); + singleq_pt_lkup = kzalloc_objs(*singleq_pt_lkup, IDPF_RX_MAX_BASE_PTYPE, + GFP_KERNEL); if (!singleq_pt_lkup) return -ENOMEM; - splitq_pt_lkup = kcalloc(max_ptype, sizeof(*splitq_pt_lkup), GFP_KERNEL); + splitq_pt_lkup = kzalloc_objs(*splitq_pt_lkup, max_ptype, GFP_KERNEL); if (!splitq_pt_lkup) return -ENOMEM; - get_ptype_info = kzalloc(sizeof(*get_ptype_info), GFP_KERNEL); + get_ptype_info = kzalloc_obj(*get_ptype_info, GFP_KERNEL); if (!get_ptype_info) return -ENOMEM; @@ -3435,15 +3434,13 @@ static int idpf_vport_params_buf_alloc(struct idpf_adapter *adapter) { u16 num_max_vports = idpf_get_max_vports(adapter); - adapter->vport_params_reqd = kcalloc(num_max_vports, - sizeof(*adapter->vport_params_reqd), - GFP_KERNEL); + adapter->vport_params_reqd = kzalloc_objs(*adapter->vport_params_reqd, + num_max_vports, GFP_KERNEL); if (!adapter->vport_params_reqd) return -ENOMEM; - adapter->vport_params_recvd = kcalloc(num_max_vports, - sizeof(*adapter->vport_params_recvd), - GFP_KERNEL); + adapter->vport_params_recvd = kzalloc_objs(*adapter->vport_params_recvd, + num_max_vports, GFP_KERNEL); if (!adapter->vport_params_recvd) goto err_mem; @@ -3454,9 +3451,8 @@ static int idpf_vport_params_buf_alloc(struct idpf_adapter *adapter) if (adapter->vport_config) return 0; - adapter->vport_config = kcalloc(num_max_vports, - sizeof(*adapter->vport_config), - GFP_KERNEL); + adapter->vport_config = kzalloc_objs(*adapter->vport_config, + num_max_vports, GFP_KERNEL); if (!adapter->vport_config) goto err_mem; @@ -3488,7 +3484,8 @@ int idpf_vc_core_init(struct idpf_adapter *adapter) int err = 0; if (!adapter->vcxn_mngr) { - adapter->vcxn_mngr = kzalloc(sizeof(*adapter->vcxn_mngr), GFP_KERNEL); + adapter->vcxn_mngr = kzalloc_obj(*adapter->vcxn_mngr, + GFP_KERNEL); if (!adapter->vcxn_mngr) { err = -ENOMEM; goto init_failed; @@ -3560,15 +3557,14 @@ restart: pci_sriov_set_totalvfs(adapter->pdev, idpf_get_max_vfs(adapter)); num_max_vports = idpf_get_max_vports(adapter); adapter->max_vports = num_max_vports; - adapter->vports = kcalloc(num_max_vports, sizeof(*adapter->vports), - GFP_KERNEL); + adapter->vports = kzalloc_objs(*adapter->vports, num_max_vports, + GFP_KERNEL); if (!adapter->vports) return -ENOMEM; if (!adapter->netdevs) { - adapter->netdevs = kcalloc(num_max_vports, - sizeof(struct net_device *), - GFP_KERNEL); + adapter->netdevs = kzalloc_objs(struct net_device *, + num_max_vports, GFP_KERNEL); if (!adapter->netdevs) { err = -ENOMEM; goto err_netdev_alloc; @@ -4335,8 +4331,8 @@ int idpf_add_del_mac_filters(struct idpf_adapter *adapter, } /* Fill all the new filters into virtchannel message */ - mac_addr = kcalloc(total_filters, sizeof(struct virtchnl2_mac_addr), - GFP_ATOMIC); + mac_addr = kzalloc_objs(struct virtchnl2_mac_addr, total_filters, + GFP_ATOMIC); if (!mac_addr) { spin_unlock_bh(&vport_config->mac_filter_list_lock); diff --git a/drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c b/drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c index 61cedb6f2854..2980164ba9fb 100644 --- a/drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c +++ b/drivers/net/ethernet/intel/idpf/idpf_virtchnl_ptp.c @@ -39,8 +39,8 @@ int idpf_ptp_get_caps(struct idpf_adapter *adapter) u32 temp_offset; int reply_sz; - recv_ptp_caps_msg = kzalloc(sizeof(struct virtchnl2_ptp_get_caps), - GFP_KERNEL); + recv_ptp_caps_msg = kzalloc_obj(struct virtchnl2_ptp_get_caps, + GFP_KERNEL); if (!recv_ptp_caps_msg) return -ENOMEM; @@ -395,7 +395,7 @@ int idpf_ptp_get_vport_tstamps_caps(struct idpf_vport *vport) for (u16 i = 0; i < tstamp_caps->num_entries; i++) { __le32 offset_l, offset_h; - ptp_tx_tstamp = kzalloc(sizeof(*ptp_tx_tstamp), GFP_KERNEL); + ptp_tx_tstamp = kzalloc_obj(*ptp_tx_tstamp, GFP_KERNEL); if (!ptp_tx_tstamp) { err = -ENOMEM; goto err_free_ptp_tx_stamp_list; diff --git a/drivers/net/ethernet/intel/idpf/xdp.c b/drivers/net/ethernet/intel/idpf/xdp.c index 2b60f2a78684..a94bde86f84f 100644 --- a/drivers/net/ethernet/intel/idpf/xdp.c +++ b/drivers/net/ethernet/intel/idpf/xdp.c @@ -154,7 +154,7 @@ int idpf_xdpsqs_get(const struct idpf_vport *vport) if (!idpf_xdp_enabled(vport)) return 0; - timers = kvcalloc(vport->num_xdp_txq, sizeof(*timers), GFP_KERNEL); + timers = kvzalloc_objs(*timers, vport->num_xdp_txq, GFP_KERNEL); if (!timers) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c index b507576b28b2..117d2a0ca620 100644 --- a/drivers/net/ethernet/intel/igb/igb_ethtool.c +++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c @@ -2919,7 +2919,7 @@ static int igb_add_ethtool_nfc_entry(struct igb_adapter *adapter, if ((fsp->flow_type & ~FLOW_EXT) != ETHER_FLOW) return -EINVAL; - input = kzalloc(sizeof(*input), GFP_KERNEL); + input = kzalloc_obj(*input, GFP_KERNEL); if (!input) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c index dbea37269d2c..5dc97daf6ac1 100644 --- a/drivers/net/ethernet/intel/igb/igb_main.c +++ b/drivers/net/ethernet/intel/igb/igb_main.c @@ -2711,7 +2711,7 @@ static int igb_configure_clsflower(struct igb_adapter *adapter, return -EINVAL; } - filter = kzalloc(sizeof(*filter), GFP_KERNEL); + filter = kzalloc_obj(*filter, GFP_KERNEL); if (!filter) return -ENOMEM; @@ -3775,8 +3775,9 @@ static int igb_enable_sriov(struct pci_dev *pdev, int num_vfs, bool reinit) } else adapter->vfs_allocated_count = num_vfs; - adapter->vf_data = kcalloc(adapter->vfs_allocated_count, - sizeof(struct vf_data_storage), GFP_KERNEL); + adapter->vf_data = kzalloc_objs(struct vf_data_storage, + adapter->vfs_allocated_count, + GFP_KERNEL); /* if allocation failed then we do not support SR-IOV */ if (!adapter->vf_data) { @@ -3794,9 +3795,8 @@ static int igb_enable_sriov(struct pci_dev *pdev, int num_vfs, bool reinit) (1 + IGB_PF_MAC_FILTERS_RESERVED + adapter->vfs_allocated_count); - adapter->vf_mac_list = kcalloc(num_vf_mac_filters, - sizeof(struct vf_mac_filter), - GFP_KERNEL); + adapter->vf_mac_list = kzalloc_objs(struct vf_mac_filter, + num_vf_mac_filters, GFP_KERNEL); mac_list = adapter->vf_mac_list; INIT_LIST_HEAD(&adapter->vf_macs.l); @@ -4091,9 +4091,8 @@ static int igb_sw_init(struct igb_adapter *adapter) /* Assume MSI-X interrupts, will be checked during IRQ allocation */ adapter->flags |= IGB_FLAG_HAS_MSIX; - adapter->mac_table = kcalloc(hw->mac.rar_entry_count, - sizeof(struct igb_mac_addr), - GFP_KERNEL); + adapter->mac_table = kzalloc_objs(struct igb_mac_addr, + hw->mac.rar_entry_count, GFP_KERNEL); if (!adapter->mac_table) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c index ac57212ab02b..72ea2e6ce15b 100644 --- a/drivers/net/ethernet/intel/igbvf/netdev.c +++ b/drivers/net/ethernet/intel/igbvf/netdev.c @@ -1017,8 +1017,7 @@ static void igbvf_set_interrupt_capability(struct igbvf_adapter *adapter) int i; /* we allocate 3 vectors, 1 for Tx, 1 for Rx, one for PF messages */ - adapter->msix_entries = kcalloc(3, sizeof(struct msix_entry), - GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, 3, GFP_KERNEL); if (adapter->msix_entries) { for (i = 0; i < 3; i++) adapter->msix_entries[i].entry = i; @@ -1098,11 +1097,11 @@ static int igbvf_alloc_queues(struct igbvf_adapter *adapter) { struct net_device *netdev = adapter->netdev; - adapter->tx_ring = kzalloc(sizeof(struct igbvf_ring), GFP_KERNEL); + adapter->tx_ring = kzalloc_obj(struct igbvf_ring, GFP_KERNEL); if (!adapter->tx_ring) return -ENOMEM; - adapter->rx_ring = kzalloc(sizeof(struct igbvf_ring), GFP_KERNEL); + adapter->rx_ring = kzalloc_obj(struct igbvf_ring, GFP_KERNEL); if (!adapter->rx_ring) { kfree(adapter->tx_ring); return -ENOMEM; diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c b/drivers/net/ethernet/intel/igc/igc_ethtool.c index 3172cdbca9cc..35b74213ca8b 100644 --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c @@ -1395,7 +1395,7 @@ static int igc_ethtool_add_nfc_rule(struct igc_adapter *adapter, return -EINVAL; } - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/igc/igc_leds.c b/drivers/net/ethernet/intel/igc/igc_leds.c index 3929b25b6ae6..d6e011695adc 100644 --- a/drivers/net/ethernet/intel/igc/igc_leds.c +++ b/drivers/net/ethernet/intel/igc/igc_leds.c @@ -268,7 +268,7 @@ int igc_led_setup(struct igc_adapter *adapter) mutex_init(&adapter->led_mutex); - leds = kcalloc(IGC_NUM_LEDS, sizeof(*leds), GFP_KERNEL); + leds = kzalloc_objs(*leds, IGC_NUM_LEDS, GFP_KERNEL); if (!leds) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/igc/igc_main.c b/drivers/net/ethernet/intel/igc/igc_main.c index 89a321a344d2..73d841e63d2d 100644 --- a/drivers/net/ethernet/intel/igc/igc_main.c +++ b/drivers/net/ethernet/intel/igc/igc_main.c @@ -4633,8 +4633,8 @@ static void igc_set_interrupt_capability(struct igc_adapter *adapter, /* add 1 vector for link status interrupts */ numvecs++; - adapter->msix_entries = kcalloc(numvecs, sizeof(struct msix_entry), - GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, numvecs, + GFP_KERNEL); if (!adapter->msix_entries) return; @@ -4863,8 +4863,7 @@ static int igc_alloc_q_vector(struct igc_adapter *adapter, /* allocate q_vector and rings */ q_vector = adapter->q_vector[v_idx]; if (!q_vector) - q_vector = kzalloc(struct_size(q_vector, ring, ring_count), - GFP_KERNEL); + q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL); else memset(q_vector, 0, struct_size(q_vector, ring, ring_count)); if (!q_vector) diff --git a/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c b/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c index d227f4d2a2d1..165a8f12745f 100644 --- a/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c +++ b/drivers/net/ethernet/intel/ixgbe/devlink/devlink.c @@ -318,7 +318,7 @@ static int ixgbe_devlink_info_get(struct devlink *devlink, struct ixgbe_info_ctx *ctx; int err; - ctx = kmalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kmalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c index 3dd5a16a14df..0ecc4f7d0288 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_dcb_nl.c @@ -516,8 +516,8 @@ static int ixgbe_dcbnl_ieee_setets(struct net_device *dev, return -EINVAL; if (!adapter->ixgbe_ieee_ets) { - adapter->ixgbe_ieee_ets = kmalloc(sizeof(struct ieee_ets), - GFP_KERNEL); + adapter->ixgbe_ieee_ets = kmalloc_obj(struct ieee_ets, + GFP_KERNEL); if (!adapter->ixgbe_ieee_ets) return -ENOMEM; @@ -593,8 +593,8 @@ static int ixgbe_dcbnl_ieee_setpfc(struct net_device *dev, return -EINVAL; if (!adapter->ixgbe_ieee_pfc) { - adapter->ixgbe_ieee_pfc = kmalloc(sizeof(struct ieee_pfc), - GFP_KERNEL); + adapter->ixgbe_ieee_pfc = kmalloc_obj(struct ieee_pfc, + GFP_KERNEL); if (!adapter->ixgbe_ieee_pfc) return -ENOMEM; } diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c index c2f8189a0738..f8a4331e8fe3 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_e610.c @@ -1285,7 +1285,7 @@ int ixgbe_update_link_info(struct ixgbe_hw *hw) if (!(li->link_info & IXGBE_ACI_MEDIA_AVAILABLE)) return 0; - pcaps = kzalloc(sizeof(*pcaps), GFP_KERNEL); + pcaps = kzalloc_obj(*pcaps, GFP_KERNEL); if (!pcaps) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c index bb4b53fee234..56aabaa5caec 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c @@ -2981,7 +2981,7 @@ static int ixgbe_add_ethtool_fdir_entry(struct ixgbe_adapter *adapter, return -EINVAL; } - input = kzalloc(sizeof(*input), GFP_ATOMIC); + input = kzalloc_obj(*input, GFP_ATOMIC); if (!input) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c index e5479fc07a07..c44c9bf53cc4 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_fw_update.c @@ -516,7 +516,7 @@ int ixgbe_get_pending_updates(struct ixgbe_adapter *adapter, u8 *pending, struct ixgbe_hw *hw = &adapter->hw; int err; - dev_caps = kzalloc(sizeof(*dev_caps), GFP_KERNEL); + dev_caps = kzalloc_obj(*dev_caps, GFP_KERNEL); if (!dev_caps) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c index d1f4073b36f9..6da3e52cea7a 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ipsec.c @@ -904,7 +904,7 @@ int ixgbe_ipsec_vf_add_sa(struct ixgbe_adapter *adapter, u32 *msgbuf, u32 vf) goto err_out; } - xs = kzalloc(sizeof(*xs), GFP_ATOMIC); + xs = kzalloc_obj(*xs, GFP_ATOMIC); if (unlikely(!xs)) { err = -ENOMEM; goto err_out; @@ -1233,7 +1233,7 @@ void ixgbe_init_ipsec_offload(struct ixgbe_adapter *adapter) if (t_dis || r_dis) return; - ipsec = kzalloc(sizeof(*ipsec), GFP_KERNEL); + ipsec = kzalloc_obj(*ipsec, GFP_KERNEL); if (!ipsec) goto err1; hash_init(ipsec->rx_sa_list); diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c index a1d04914fbbc..f5c00cf57d43 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c @@ -768,9 +768,8 @@ static int ixgbe_acquire_msix_vectors(struct ixgbe_adapter *adapter) */ vector_threshold = MIN_MSIX_COUNT; - adapter->msix_entries = kcalloc(vectors, - sizeof(struct msix_entry), - GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, vectors, + GFP_KERNEL); if (!adapter->msix_entries) return -ENOMEM; @@ -859,8 +858,7 @@ static int ixgbe_alloc_q_vector(struct ixgbe_adapter *adapter, q_vector = kzalloc_node(struct_size(q_vector, ring, ring_count), GFP_KERNEL, node); if (!q_vector) - q_vector = kzalloc(struct_size(q_vector, ring, ring_count), - GFP_KERNEL); + q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL); if (!q_vector) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c index c58051e4350b..59b3acb62134 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c @@ -6895,8 +6895,8 @@ static int ixgbe_sw_init(struct ixgbe_adapter *adapter, #endif /* IXGBE_FCOE */ /* initialize static ixgbe jump table entries */ - adapter->jump_tables[0] = kzalloc(sizeof(*adapter->jump_tables[0]), - GFP_KERNEL); + adapter->jump_tables[0] = kzalloc_obj(*adapter->jump_tables[0], + GFP_KERNEL); if (!adapter->jump_tables[0]) return -ENOMEM; adapter->jump_tables[0]->mat = ixgbe_ipv4_fields; @@ -6904,9 +6904,8 @@ static int ixgbe_sw_init(struct ixgbe_adapter *adapter, for (i = 1; i < IXGBE_MAX_LINK_HANDLE; i++) adapter->jump_tables[i] = NULL; - adapter->mac_table = kcalloc(hw->mac.num_rar_entries, - sizeof(struct ixgbe_mac_addr), - GFP_KERNEL); + adapter->mac_table = kzalloc_objs(struct ixgbe_mac_addr, + hw->mac.num_rar_entries, GFP_KERNEL); if (!adapter->mac_table) return -ENOMEM; @@ -10273,15 +10272,15 @@ static int ixgbe_configure_clsu32(struct ixgbe_adapter *adapter, (__force u32)cls->knode.sel->offmask) return err; - jump = kzalloc(sizeof(*jump), GFP_KERNEL); + jump = kzalloc_obj(*jump, GFP_KERNEL); if (!jump) return -ENOMEM; - input = kzalloc(sizeof(*input), GFP_KERNEL); + input = kzalloc_obj(*input, GFP_KERNEL); if (!input) { err = -ENOMEM; goto free_jump; } - mask = kzalloc(sizeof(*mask), GFP_KERNEL); + mask = kzalloc_obj(*mask, GFP_KERNEL); if (!mask) { err = -ENOMEM; goto free_input; @@ -10305,10 +10304,10 @@ static int ixgbe_configure_clsu32(struct ixgbe_adapter *adapter, return 0; } - input = kzalloc(sizeof(*input), GFP_KERNEL); + input = kzalloc_obj(*input, GFP_KERNEL); if (!input) return -ENOMEM; - mask = kzalloc(sizeof(*mask), GFP_KERNEL); + mask = kzalloc_obj(*mask, GFP_KERNEL); if (!mask) { err = -ENOMEM; goto free_input; @@ -10786,7 +10785,7 @@ static void *ixgbe_fwd_add(struct net_device *pdev, struct net_device *vdev) return ERR_PTR(-ENOMEM); } - accel = kzalloc(sizeof(*accel), GFP_KERNEL); + accel = kzalloc_obj(*accel, GFP_KERNEL); if (!accel) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c index ee133d6749b3..40dfdf62ab33 100644 --- a/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_sriov.c @@ -37,8 +37,7 @@ static inline void ixgbe_alloc_vf_macvlans(struct ixgbe_adapter *adapter, if (!num_vf_macvlans) return; - mv_list = kcalloc(num_vf_macvlans, sizeof(struct vf_macvlans), - GFP_KERNEL); + mv_list = kzalloc_objs(struct vf_macvlans, num_vf_macvlans, GFP_KERNEL); if (mv_list) { for (i = 0; i < num_vf_macvlans; i++) { mv_list[i].vf = -1; @@ -65,8 +64,8 @@ static int __ixgbe_enable_sriov(struct ixgbe_adapter *adapter, IXGBE_FLAG_VMDQ_ENABLED; /* Allocate memory for per VF control structures */ - adapter->vfinfo = kcalloc(num_vfs, sizeof(struct vf_data_storage), - GFP_KERNEL); + adapter->vfinfo = kzalloc_objs(struct vf_data_storage, num_vfs, + GFP_KERNEL); if (!adapter->vfinfo) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/ixgbevf/ipsec.c b/drivers/net/ethernet/intel/ixgbevf/ipsec.c index fce35924ff8b..780ebcdbd4a7 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ipsec.c +++ b/drivers/net/ethernet/intel/ixgbevf/ipsec.c @@ -628,7 +628,7 @@ void ixgbevf_init_ipsec_offload(struct ixgbevf_adapter *adapter) return; } - ipsec = kzalloc(sizeof(*ipsec), GFP_KERNEL); + ipsec = kzalloc_obj(*ipsec, GFP_KERNEL); if (!ipsec) goto err1; hash_init(ipsec->rx_sa_list); diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c index d5ce20f47def..38af1f35b339 100644 --- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c +++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c @@ -2716,8 +2716,8 @@ static int ixgbevf_set_interrupt_capability(struct ixgbevf_adapter *adapter) v_budget = min_t(int, v_budget, num_online_cpus()); v_budget += NON_Q_VECTORS; - adapter->msix_entries = kcalloc(v_budget, - sizeof(struct msix_entry), GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, v_budget, + GFP_KERNEL); if (!adapter->msix_entries) return -ENOMEM; diff --git a/drivers/net/ethernet/intel/libie/fwlog.c b/drivers/net/ethernet/intel/libie/fwlog.c index f39cc11cb7c5..5b69a26ef2bd 100644 --- a/drivers/net/ethernet/intel/libie/fwlog.c +++ b/drivers/net/ethernet/intel/libie/fwlog.c @@ -153,7 +153,7 @@ static void libie_fwlog_realloc_rings(struct libie_fwlog *fwlog, int index) * old rings and buffers. that way if we don't have enough * memory then we at least have what we had before */ - ring.rings = kcalloc(ring_size, sizeof(*ring.rings), GFP_KERNEL); + ring.rings = kzalloc_objs(*ring.rings, ring_size, GFP_KERNEL); if (!ring.rings) return; @@ -208,7 +208,7 @@ libie_aq_fwlog_set(struct libie_fwlog *fwlog, int status; int i; - fw_modules = kcalloc(num_entries, sizeof(*fw_modules), GFP_KERNEL); + fw_modules = kzalloc_objs(*fw_modules, num_entries, GFP_KERNEL); if (!fw_modules) return -ENOMEM; @@ -838,8 +838,8 @@ static void libie_debugfs_fwlog_init(struct libie_fwlog *fwlog, /* allocate space for this first because if it fails then we don't * need to unwind */ - fw_modules = kcalloc(LIBIE_NR_FW_LOG_MODULES, sizeof(*fw_modules), - GFP_KERNEL); + fw_modules = kzalloc_objs(*fw_modules, LIBIE_NR_FW_LOG_MODULES, + GFP_KERNEL); if (!fw_modules) return; @@ -978,7 +978,7 @@ static void libie_fwlog_set_supported(struct libie_fwlog *fwlog) fwlog->supported = false; - cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!cfg) return; @@ -1013,9 +1013,9 @@ int libie_fwlog_init(struct libie_fwlog *fwlog, struct libie_fwlog_api *api) if (status) return status; - fwlog->ring.rings = kcalloc(LIBIE_FWLOG_RING_SIZE_DFLT, - sizeof(*fwlog->ring.rings), - GFP_KERNEL); + fwlog->ring.rings = kzalloc_objs(*fwlog->ring.rings, + LIBIE_FWLOG_RING_SIZE_DFLT, + GFP_KERNEL); if (!fwlog->ring.rings) { dev_warn(&fwlog->pdev->dev, "Unable to allocate memory for FW log rings\n"); return -ENOMEM; diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c index d8be0e4dcb07..25ec5f757c68 100644 --- a/drivers/net/ethernet/jme.c +++ b/drivers/net/ethernet/jme.c @@ -576,9 +576,9 @@ jme_setup_tx_resources(struct jme_adapter *jme) atomic_set(&txring->next_to_clean, 0); atomic_set(&txring->nr_free, jme->tx_ring_size); - txring->bufinf = kcalloc(jme->tx_ring_size, - sizeof(struct jme_buffer_info), - GFP_ATOMIC); + txring->bufinf = kzalloc_objs(struct jme_buffer_info, + jme->tx_ring_size, + GFP_ATOMIC); if (unlikely(!(txring->bufinf))) goto err_free_txring; @@ -819,9 +819,9 @@ jme_setup_rx_resources(struct jme_adapter *jme) rxring->next_to_use = 0; atomic_set(&rxring->next_to_clean, 0); - rxring->bufinf = kcalloc(jme->rx_ring_size, - sizeof(struct jme_buffer_info), - GFP_ATOMIC); + rxring->bufinf = kzalloc_objs(struct jme_buffer_info, + jme->rx_ring_size, + GFP_ATOMIC); if (unlikely(!(rxring->bufinf))) goto err_free_rxring; diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c index 0ab52c57c648..1bc31e0b443d 100644 --- a/drivers/net/ethernet/marvell/mv643xx_eth.c +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c @@ -1967,8 +1967,7 @@ static int rxq_init(struct mv643xx_eth_private *mp, int index) memset(rxq->rx_desc_area, 0, size); rxq->rx_desc_area_size = size; - rxq->rx_skb = kcalloc(rxq->rx_ring_size, sizeof(*rxq->rx_skb), - GFP_KERNEL); + rxq->rx_skb = kzalloc_objs(*rxq->rx_skb, rxq->rx_ring_size, GFP_KERNEL); if (rxq->rx_skb == NULL) goto out_free; diff --git a/drivers/net/ethernet/marvell/mvneta.c b/drivers/net/ethernet/marvell/mvneta.c index 7af44f858fa3..c058df3bb85f 100644 --- a/drivers/net/ethernet/marvell/mvneta.c +++ b/drivers/net/ethernet/marvell/mvneta.c @@ -3554,7 +3554,7 @@ static int mvneta_txq_sw_init(struct mvneta_port *pp, txq->last_desc = txq->size - 1; - txq->buf = kmalloc_array(txq->size, sizeof(*txq->buf), GFP_KERNEL); + txq->buf = kmalloc_objs(*txq->buf, txq->size, GFP_KERNEL); if (!txq->buf) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c index c116da7d7f18..83ba45f54180 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_cls.c @@ -1367,7 +1367,7 @@ int mvpp2_ethtool_cls_rule_ins(struct mvpp2_port *port, if (info->fs.location >= MVPP2_N_RFS_ENTRIES_PER_FLOW) return -EINVAL; - efs = kzalloc(sizeof(*efs), GFP_KERNEL); + efs = kzalloc_obj(*efs, GFP_KERNEL); if (!efs) return -ENOMEM; @@ -1503,8 +1503,7 @@ static int mvpp22_rss_context_create(struct mvpp2_port *port, u32 *rss_ctx) if (ctx == MVPP22_N_RSS_TABLES) return -EINVAL; - priv->rss_tables[ctx] = kzalloc(sizeof(*priv->rss_tables[ctx]), - GFP_KERNEL); + priv->rss_tables[ctx] = kzalloc_obj(*priv->rss_tables[ctx], GFP_KERNEL); if (!priv->rss_tables[ctx]) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c index 0f9bc4f8ec3b..2aef0c77f4d6 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_debugfs.c @@ -706,7 +706,7 @@ void mvpp2_dbgfs_init(struct mvpp2 *priv, const char *name) mvpp2_dir = debugfs_create_dir(name, mvpp2_root); priv->dbgfs_dir = mvpp2_dir; - priv->dbgfs_entries = kzalloc(sizeof(*priv->dbgfs_entries), GFP_KERNEL); + priv->dbgfs_entries = kzalloc_obj(*priv->dbgfs_entries, GFP_KERNEL); if (!priv->dbgfs_entries) goto err; diff --git a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c index 33426fded919..58f77972c86a 100644 --- a/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c +++ b/drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c @@ -3151,9 +3151,8 @@ static int mvpp2_txq_init(struct mvpp2_port *port, for (thread = 0; thread < port->priv->nthreads; thread++) { txq_pcpu = per_cpu_ptr(txq->pcpu, thread); txq_pcpu->size = txq->size; - txq_pcpu->buffs = kmalloc_array(txq_pcpu->size, - sizeof(*txq_pcpu->buffs), - GFP_KERNEL); + txq_pcpu->buffs = kmalloc_objs(*txq_pcpu->buffs, txq_pcpu->size, + GFP_KERNEL); if (!txq_pcpu->buffs) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c index 57db7ea2f5be..fd9abcfeb4e0 100644 --- a/drivers/net/ethernet/marvell/octeon_ep/octep_main.c +++ b/drivers/net/ethernet/marvell/octeon_ep/octep_main.c @@ -115,8 +115,8 @@ static int octep_enable_msix_range(struct octep_device *oct) /* Generic interrupts apart from input/output queues */ num_msix = oct->num_oqs + CFG_GET_NON_IOQ_MSIX(oct->conf); - oct->msix_entries = kcalloc(num_msix, - sizeof(struct msix_entry), GFP_KERNEL); + oct->msix_entries = kzalloc_objs(struct msix_entry, num_msix, + GFP_KERNEL); if (!oct->msix_entries) goto msix_alloc_err; @@ -1293,7 +1293,7 @@ int octep_device_setup(struct octep_device *oct) int i, ret; /* allocate memory for oct->conf */ - oct->conf = kzalloc(sizeof(*oct->conf), GFP_KERNEL); + oct->conf = kzalloc_obj(*oct->conf, GFP_KERNEL); if (!oct->conf) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_main.c b/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_main.c index 1d9760b4b8f4..b794b517c304 100644 --- a/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_main.c +++ b/drivers/net/ethernet/marvell/octeon_ep_vf/octep_vf_main.c @@ -113,7 +113,8 @@ static int octep_vf_enable_msix_range(struct octep_vf_device *oct) /* Generic interrupts apart from input/output queues */ //num_msix = oct->num_oqs + CFG_GET_NON_IOQ_MSIX(oct->conf); num_msix = oct->num_oqs; - oct->msix_entries = kcalloc(num_msix, sizeof(struct msix_entry), GFP_KERNEL); + oct->msix_entries = kzalloc_objs(struct msix_entry, num_msix, + GFP_KERNEL); if (!oct->msix_entries) goto msix_alloc_err; @@ -951,7 +952,7 @@ int octep_vf_device_setup(struct octep_vf_device *oct) struct pci_dev *pdev = oct->pdev; /* allocate memory for oct->conf */ - oct->conf = kzalloc(sizeof(*oct->conf), GFP_KERNEL); + oct->conf = kzalloc_obj(*oct->conf, GFP_KERNEL); if (!oct->conf) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c b/drivers/net/ethernet/marvell/octeontx2/af/cgx.c index fd4792e432bf..dc4537623578 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/cgx.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/cgx.c @@ -1725,7 +1725,7 @@ static int cgx_lmac_init(struct cgx *cgx) cgx->lmac_count = cgx->max_lmac_per_mac; for (i = 0; i < cgx->lmac_count; i++) { - lmac = kzalloc(sizeof(struct lmac), GFP_KERNEL); + lmac = kzalloc_obj(struct lmac, GFP_KERNEL); if (!lmac) return -ENOMEM; lmac->name = kcalloc(1, sizeof("cgx_fwi_xxx_yyy"), GFP_KERNEL); diff --git a/drivers/net/ethernet/marvell/octeontx2/af/mbox.c b/drivers/net/ethernet/marvell/octeontx2/af/mbox.c index 75872d257eca..ad62be730bbc 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/mbox.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/mbox.c @@ -133,7 +133,7 @@ int cn20k_mbox_setup(struct otx2_mbox *mbox, struct pci_dev *pdev, mbox->reg_base = reg_base; mbox->pdev = pdev; - mbox->dev = kcalloc(ndevs, sizeof(struct otx2_mbox_dev), GFP_KERNEL); + mbox->dev = kzalloc_objs(struct otx2_mbox_dev, ndevs, GFP_KERNEL); if (!mbox->dev) { otx2_mbox_destroy(mbox); return -ENOMEM; @@ -211,7 +211,7 @@ static int otx2_mbox_setup(struct otx2_mbox *mbox, struct pci_dev *pdev, mbox->reg_base = reg_base; mbox->pdev = pdev; - mbox->dev = kcalloc(ndevs, sizeof(struct otx2_mbox_dev), GFP_KERNEL); + mbox->dev = kzalloc_objs(struct otx2_mbox_dev, ndevs, GFP_KERNEL); if (!mbox->dev) { otx2_mbox_destroy(mbox); return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c b/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c index a80c8e7c94f2..d98b49f47970 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/mcs_rvu_if.c @@ -105,7 +105,7 @@ int mcs_add_intr_wq_entry(struct mcs *mcs, struct mcs_intr_event *event) if (!(pfvf->intr_mask && event->intr_mask)) return 0; - qentry = kmalloc(sizeof(*qentry), GFP_ATOMIC); + qentry = kmalloc_obj(*qentry, GFP_ATOMIC); if (!qentry) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/ptp.c b/drivers/net/ethernet/marvell/octeontx2/af/ptp.c index 66749b3649c1..f38b5addd4d8 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/ptp.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/ptp.c @@ -520,7 +520,7 @@ static int ptp_probe(struct pci_dev *pdev, struct ptp *ptp; int err; - ptp = kzalloc(sizeof(*ptp), GFP_KERNEL); + ptp = kzalloc_obj(*ptp, GFP_KERNEL); if (!ptp) { err = -ENOMEM; goto error; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu.c index 8530df8b3fda..2e3b3345a362 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu.c @@ -2516,7 +2516,7 @@ static int rvu_mbox_init(struct rvu *rvu, struct mbox_wq_info *mw, if (!pf_bmap) return -ENOMEM; - ng_rvu_mbox = kzalloc(sizeof(*ng_rvu_mbox), GFP_KERNEL); + ng_rvu_mbox = kzalloc_obj(*ng_rvu_mbox, GFP_KERNEL); if (!ng_rvu_mbox) { err = -ENOMEM; goto free_bitmap; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c index 3d91a34f8b57..b9980253dcb0 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_cgx.c @@ -184,7 +184,7 @@ static int rvu_cgx_send_link_info(int cgx_id, int lmac_id, struct rvu *rvu) unsigned long flags; int err; - qentry = kmalloc(sizeof(*qentry), GFP_KERNEL); + qentry = kmalloc_obj(*qentry, GFP_KERNEL); if (!qentry) return -ENOMEM; @@ -215,7 +215,7 @@ static int cgx_lmac_postevent(struct cgx_link_event *event, void *data) struct rvu *rvu = data; /* post event to the event queue */ - qentry = kmalloc(sizeof(*qentry), GFP_ATOMIC); + qentry = kmalloc_obj(*qentry, GFP_ATOMIC); if (!qentry) return -ENOMEM; qentry->link_event = *event; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c index 0f9953eaf1b0..71c411d8eb83 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_devlink.c @@ -494,12 +494,12 @@ static int rvu_nix_register_reporters(struct rvu_devlink *rvu_dl) struct rvu_nix_event_ctx *nix_event_context; struct rvu *rvu = rvu_dl->rvu; - rvu_reporters = kzalloc(sizeof(*rvu_reporters), GFP_KERNEL); + rvu_reporters = kzalloc_obj(*rvu_reporters, GFP_KERNEL); if (!rvu_reporters) return -ENOMEM; rvu_dl->rvu_nix_health_reporter = rvu_reporters; - nix_event_context = kzalloc(sizeof(*nix_event_context), GFP_KERNEL); + nix_event_context = kzalloc_obj(*nix_event_context, GFP_KERNEL); if (!nix_event_context) return -ENOMEM; @@ -1048,12 +1048,12 @@ static int rvu_npa_register_reporters(struct rvu_devlink *rvu_dl) struct rvu_npa_event_ctx *npa_event_context; struct rvu *rvu = rvu_dl->rvu; - rvu_reporters = kzalloc(sizeof(*rvu_reporters), GFP_KERNEL); + rvu_reporters = kzalloc_obj(*rvu_reporters, GFP_KERNEL); if (!rvu_reporters) return -ENOMEM; rvu_dl->rvu_npa_health_reporter = rvu_reporters; - npa_event_context = kzalloc(sizeof(*npa_event_context), GFP_KERNEL); + npa_event_context = kzalloc_obj(*npa_event_context, GFP_KERNEL); if (!npa_event_context) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c index 49f7ff5eddfc..0964a85b536f 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_nix.c @@ -2455,7 +2455,7 @@ static int nix_smq_flush(struct rvu *rvu, int blkaddr, } /* XOFF all TL2s whose parent TL1 matches SMQ tree TL1 */ - smq_flush_ctx = kzalloc(sizeof(*smq_flush_ctx), GFP_KERNEL); + smq_flush_ctx = kzalloc_obj(*smq_flush_ctx, GFP_KERNEL); if (!smq_flush_ctx) return -ENOMEM; nix_smq_flush_fill_ctx(rvu, blkaddr, smq, smq_flush_ctx); @@ -3373,7 +3373,7 @@ static int nix_add_mce_list_entry(struct rvu *rvu, mce_list = &elem->mcast_mce_list; for (i = 0; i < num_entry; i++) { - mce = kzalloc(sizeof(*mce), GFP_KERNEL); + mce = kzalloc_obj(*mce, GFP_KERNEL); if (!mce) goto free_mce; @@ -3435,7 +3435,7 @@ static int nix_update_mce_list_entry(struct nix_mce_list *mce_list, return 0; /* Add a new one to the list, at the tail */ - mce = kzalloc(sizeof(*mce), GFP_KERNEL); + mce = kzalloc_obj(*mce, GFP_KERNEL); if (!mce) return -ENOMEM; mce->pcifunc = pcifunc; @@ -6420,7 +6420,7 @@ int rvu_mbox_handler_nix_mcast_grp_create(struct rvu *rvu, return err; mcast_grp = &nix_hw->mcast_grp; - elem = kzalloc(sizeof(*elem), GFP_KERNEL); + elem = kzalloc_obj(*elem, GFP_KERNEL); if (!elem) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c index b56395ac5a74..1b7dd4e771c7 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c @@ -1297,7 +1297,7 @@ static int npc_install_flow(struct rvu *rvu, int blkaddr, u16 target, find_rule: rule = rvu_mcam_find_rule(mcam, entry_index); if (!rule) { - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; new = true; @@ -1741,7 +1741,7 @@ int npc_install_mcam_drop_rule(struct rvu *rvu, int mcam_idx, u16 *counter_idx, } /* Add this entry to mcam rules list */ - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c index 999f6d93c7fe..7ed5750435c1 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_npc_hash.c @@ -796,7 +796,7 @@ static int rvu_npc_exact_add_to_list(struct rvu *rvu, enum npc_exact_opc_type op return -EFAULT; } - entry = kmalloc(sizeof(*entry), GFP_KERNEL); + entry = kmalloc_obj(*entry, GFP_KERNEL); if (!entry) { rvu_npc_exact_free_id(rvu, *seq_id); dev_err(rvu->dev, "%s: Memory allocation failed\n", __func__); @@ -1896,7 +1896,7 @@ int rvu_npc_exact_init(struct rvu *rvu) /* Set capability to true */ rvu->hw->cap.npc_exact_match_enabled = true; - table = kzalloc(sizeof(*table), GFP_KERNEL); + table = kzalloc_obj(*table, GFP_KERNEL); if (!table) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/af/rvu_rep.c b/drivers/net/ethernet/marvell/octeontx2/af/rvu_rep.c index 4415d0ce9aef..901f6fd40fd4 100644 --- a/drivers/net/ethernet/marvell/octeontx2/af/rvu_rep.c +++ b/drivers/net/ethernet/marvell/octeontx2/af/rvu_rep.c @@ -97,7 +97,7 @@ int rvu_mbox_handler_rep_event_notify(struct rvu *rvu, struct rep_event *req, { struct rep_evtq_ent *qentry; - qentry = kmalloc(sizeof(*qentry), GFP_ATOMIC); + qentry = kmalloc_obj(*qentry, GFP_ATOMIC); if (!qentry) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c b/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c index 060c715ebad0..5f90f38071da 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/cn10k_macsec.c @@ -914,7 +914,7 @@ static struct cn10k_mcs_txsc *cn10k_mcs_create_txsc(struct otx2_nic *pfvf) struct cn10k_mcs_txsc *txsc; int ret; - txsc = kzalloc(sizeof(*txsc), GFP_KERNEL); + txsc = kzalloc_obj(*txsc, GFP_KERNEL); if (!txsc) return ERR_PTR(-ENOMEM); @@ -987,7 +987,7 @@ static struct cn10k_mcs_rxsc *cn10k_mcs_create_rxsc(struct otx2_nic *pfvf) struct cn10k_mcs_rxsc *rxsc; int ret; - rxsc = kzalloc(sizeof(*rxsc), GFP_KERNEL); + rxsc = kzalloc_obj(*rxsc, GFP_KERNEL); if (!rxsc) return ERR_PTR(-ENOMEM); @@ -1772,7 +1772,7 @@ int cn10k_mcs_init(struct otx2_nic *pfvf) if (!test_bit(CN10K_HW_MACSEC, &pfvf->hw.cap_flag)) return 0; - cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!cfg) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c index 75ebb17419c4..768503b255fb 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_common.c @@ -1005,7 +1005,7 @@ int otx2_sq_init(struct otx2_nic *pfvf, u16 qidx, u16 sqb_aura) } sq->sqe_base = sq->sqe->base; - sq->sg = kcalloc(qset->sqe_cnt, sizeof(struct sg_list), GFP_KERNEL); + sq->sg = kzalloc_objs(struct sg_list, qset->sqe_cnt, GFP_KERNEL); if (!sq->sg) return -ENOMEM; @@ -1585,7 +1585,7 @@ int otx2_sq_aura_pool_init(struct otx2_nic *pfvf) sq = &qset->sq[qidx]; sq->sqb_count = 0; - sq->sqb_ptrs = kcalloc(num_sqbs, sizeof(*sq->sqb_ptrs), GFP_KERNEL); + sq->sqb_ptrs = kzalloc_objs(*sq->sqb_ptrs, num_sqbs, GFP_KERNEL); if (!sq->sqb_ptrs) { err = -ENOMEM; goto err_mem; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c index 64c6d9162ef6..f61730e8d73a 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_flows.c @@ -1063,7 +1063,7 @@ static int otx2_add_flow_with_pfmac(struct otx2_nic *pfvf, struct otx2_flow *pf_mac; struct ethhdr *eth_hdr; - pf_mac = kzalloc(sizeof(*pf_mac), GFP_KERNEL); + pf_mac = kzalloc_obj(*pf_mac, GFP_KERNEL); if (!pf_mac) return -ENOMEM; @@ -1131,7 +1131,7 @@ int otx2_add_flow(struct otx2_nic *pfvf, struct ethtool_rxnfc *nfc) flow = otx2_find_flow(pfvf, fsp->location); if (!flow) { - flow = kzalloc(sizeof(*flow), GFP_KERNEL); + flow = kzalloc_obj(*flow, GFP_KERNEL); if (!flow) return -ENOMEM; flow->location = fsp->location; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c index 444bb67494ab..333071ac7598 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_pf.c @@ -1936,7 +1936,7 @@ int otx2_alloc_queue_mem(struct otx2_nic *pf) pf->qset.cq_cnt = pf->hw.rx_queues + otx2_get_total_tx_queues(pf); - qset->napi = kcalloc(pf->hw.cint_cnt, sizeof(*cq_poll), GFP_KERNEL); + qset->napi = kzalloc_objs(*cq_poll, pf->hw.cint_cnt, GFP_KERNEL); if (!qset->napi) return -ENOMEM; @@ -1945,18 +1945,18 @@ int otx2_alloc_queue_mem(struct otx2_nic *pf) /* CQ size of SQ */ qset->sqe_cnt = qset->sqe_cnt ? qset->sqe_cnt : Q_COUNT(Q_SIZE_4K); - qset->cq = kcalloc(pf->qset.cq_cnt, - sizeof(struct otx2_cq_queue), GFP_KERNEL); + qset->cq = kzalloc_objs(struct otx2_cq_queue, pf->qset.cq_cnt, + GFP_KERNEL); if (!qset->cq) goto err_free_mem; - qset->sq = kcalloc(otx2_get_total_tx_queues(pf), - sizeof(struct otx2_snd_queue), GFP_KERNEL); + qset->sq = kzalloc_objs(struct otx2_snd_queue, + otx2_get_total_tx_queues(pf), GFP_KERNEL); if (!qset->sq) goto err_free_mem; - qset->rq = kcalloc(pf->hw.rx_queues, - sizeof(struct otx2_rcv_queue), GFP_KERNEL); + qset->rq = kzalloc_objs(struct otx2_rcv_queue, pf->hw.rx_queues, + GFP_KERNEL); if (!qset->rq) goto err_free_mem; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c index dedd586ed310..de9b90e498cc 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_ptp.c @@ -408,7 +408,7 @@ int otx2_ptp_init(struct otx2_nic *pfvf) } mutex_unlock(&pfvf->mbox.lock); - ptp_ptr = kzalloc(sizeof(*ptp_ptr), GFP_KERNEL); + ptp_ptr = kzalloc_obj(*ptp_ptr, GFP_KERNEL); if (!ptp_ptr) { err = -ENOMEM; goto error; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c index 26a08d2cfbb1..9b569e0d6222 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/otx2_tc.c @@ -1271,7 +1271,7 @@ static int otx2_tc_add_flow(struct otx2_nic *nic, } /* allocate memory for the new flow and it's node */ - new_node = kzalloc(sizeof(*new_node), GFP_KERNEL); + new_node = kzalloc_obj(*new_node, GFP_KERNEL); if (!new_node) return -ENOMEM; spin_lock_init(&new_node->lock); diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/qos.c b/drivers/net/ethernet/marvell/octeontx2/nic/qos.c index 5765bac119f0..435c176c2643 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/qos.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/qos.c @@ -407,7 +407,7 @@ otx2_qos_alloc_root(struct otx2_nic *pfvf) { struct otx2_qos_node *node; - node = kzalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc_obj(*node, GFP_KERNEL); if (!node) return ERR_PTR(-ENOMEM); @@ -463,7 +463,7 @@ static int otx2_qos_alloc_txschq_node(struct otx2_nic *pfvf, parent = node; for (lvl = node->level - 1; lvl >= NIX_TXSCH_LVL_MDQ; lvl--) { - txschq_node = kzalloc(sizeof(*txschq_node), GFP_KERNEL); + txschq_node = kzalloc_obj(*txschq_node, GFP_KERNEL); if (!txschq_node) goto err_out; @@ -508,7 +508,7 @@ otx2_qos_sw_create_leaf_node(struct otx2_nic *pfvf, struct otx2_qos_node *node; int err; - node = kzalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc_obj(*node, GFP_KERNEL); if (!node) return ERR_PTR(-ENOMEM); @@ -1045,7 +1045,7 @@ static int otx2_qos_root_add(struct otx2_nic *pfvf, u16 htb_maj_id, u16 htb_defc } /* allocate txschq queue */ - new_cfg = kzalloc(sizeof(*new_cfg), GFP_KERNEL); + new_cfg = kzalloc_obj(*new_cfg, GFP_KERNEL); if (!new_cfg) { NL_SET_ERR_MSG_MOD(extack, "Memory allocation error"); err = -ENOMEM; @@ -1279,7 +1279,7 @@ static int otx2_qos_leaf_alloc_queue(struct otx2_nic *pfvf, u16 classid, set_bit(prio, parent->prio_bmap); /* read current txschq configuration */ - old_cfg = kzalloc(sizeof(*old_cfg), GFP_KERNEL); + old_cfg = kzalloc_obj(*old_cfg, GFP_KERNEL); if (!old_cfg) { NL_SET_ERR_MSG_MOD(extack, "Memory allocation error"); ret = -ENOMEM; @@ -1308,7 +1308,7 @@ static int otx2_qos_leaf_alloc_queue(struct otx2_nic *pfvf, u16 classid, } /* push new txschq config to hw */ - new_cfg = kzalloc(sizeof(*new_cfg), GFP_KERNEL); + new_cfg = kzalloc_obj(*new_cfg, GFP_KERNEL); if (!new_cfg) { NL_SET_ERR_MSG_MOD(extack, "Memory allocation error"); ret = -ENOMEM; @@ -1417,7 +1417,7 @@ static int otx2_qos_leaf_to_inner(struct otx2_nic *pfvf, u16 classid, qid = node->qid; /* read current txschq configuration */ - old_cfg = kzalloc(sizeof(*old_cfg), GFP_KERNEL); + old_cfg = kzalloc_obj(*old_cfg, GFP_KERNEL); if (!old_cfg) { NL_SET_ERR_MSG_MOD(extack, "Memory allocation error"); ret = -ENOMEM; @@ -1445,7 +1445,7 @@ static int otx2_qos_leaf_to_inner(struct otx2_nic *pfvf, u16 classid, } /* push new txschq config to hw */ - new_cfg = kzalloc(sizeof(*new_cfg), GFP_KERNEL); + new_cfg = kzalloc_obj(*new_cfg, GFP_KERNEL); if (!new_cfg) { NL_SET_ERR_MSG_MOD(extack, "Memory allocation error"); ret = -ENOMEM; @@ -1668,7 +1668,7 @@ static int otx2_qos_leaf_del_last(struct otx2_nic *pfvf, u16 classid, bool force __set_bit(qid, pfvf->qos.qos_sq_bmap); /* push new txschq config to hw */ - new_cfg = kzalloc(sizeof(*new_cfg), GFP_KERNEL); + new_cfg = kzalloc_obj(*new_cfg, GFP_KERNEL); if (!new_cfg) { NL_SET_ERR_MSG_MOD(extack, "Memory allocation error"); return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c index b476733a0234..7706ec417d2b 100644 --- a/drivers/net/ethernet/marvell/octeontx2/nic/rep.c +++ b/drivers/net/ethernet/marvell/octeontx2/nic/rep.c @@ -40,7 +40,7 @@ static int rvu_rep_mcam_flow_init(struct rep_dev *rep) int ent, allocated = 0; int count; - rep->flow_cfg = kcalloc(1, sizeof(struct otx2_flow_config), GFP_KERNEL); + rep->flow_cfg = kzalloc_objs(struct otx2_flow_config, 1, GFP_KERNEL); if (!rep->flow_cfg) return -ENOMEM; @@ -504,7 +504,7 @@ static int rvu_rep_napi_init(struct otx2_nic *priv, int err = 0, qidx, vec; char *irq_name; - qset->napi = kcalloc(hw->cint_cnt, sizeof(*cq_poll), GFP_KERNEL); + qset->napi = kzalloc_objs(*cq_poll, hw->cint_cnt, GFP_KERNEL); if (!qset->napi) return -ENOMEM; @@ -656,7 +656,7 @@ int rvu_rep_create(struct otx2_nic *priv, struct netlink_ext_ack *extack) if (err) return -ENOMEM; - priv->reps = kcalloc(rep_cnt, sizeof(struct rep_dev *), GFP_KERNEL); + priv->reps = kzalloc_objs(struct rep_dev *, rep_cnt, GFP_KERNEL); if (!priv->reps) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_acl.c b/drivers/net/ethernet/marvell/prestera/prestera_acl.c index cba89fda504b..02f113f9af9f 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_acl.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_acl.c @@ -144,7 +144,7 @@ prestera_acl_ruleset_create(struct prestera_acl *acl, if (!prestera_acl_chain_is_supported(chain_index, block->ingress)) return ERR_PTR(-EINVAL); - ruleset = kzalloc(sizeof(*ruleset), GFP_KERNEL); + ruleset = kzalloc_obj(*ruleset, GFP_KERNEL); if (!ruleset) return ERR_PTR(-ENOMEM); @@ -438,7 +438,7 @@ prestera_acl_rule_create(struct prestera_acl_ruleset *ruleset, { struct prestera_acl_rule *rule; - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return ERR_PTR(-ENOMEM); @@ -713,7 +713,7 @@ prestera_acl_rule_entry_create(struct prestera_acl *acl, struct prestera_acl_rule_entry *e; int err; - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) goto err_kzalloc; @@ -816,7 +816,7 @@ int prestera_acl_vtcam_id_get(struct prestera_acl *acl, u8 lookup, u8 dir, } /* vtcam not found, try to create new one */ - vtcam = kzalloc(sizeof(*vtcam), GFP_KERNEL); + vtcam = kzalloc_obj(*vtcam, GFP_KERNEL); if (!vtcam) return -ENOMEM; @@ -880,7 +880,7 @@ int prestera_acl_init(struct prestera_switch *sw) struct prestera_acl *acl; int err; - acl = kzalloc(sizeof(*acl), GFP_KERNEL); + acl = kzalloc_obj(*acl, GFP_KERNEL); if (!acl) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_counter.c b/drivers/net/ethernet/marvell/prestera/prestera_counter.c index 634f4543c1d7..c59ed115c700 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_counter.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_counter.c @@ -147,7 +147,7 @@ prestera_counter_block_get(struct prestera_counter *counter, u32 client) if (block) return block; - block = kzalloc(sizeof(*block), GFP_KERNEL); + block = kzalloc_obj(*block, GFP_KERNEL); if (!block) return ERR_PTR(-ENOMEM); @@ -157,8 +157,8 @@ prestera_counter_block_get(struct prestera_counter *counter, u32 client) if (err) goto err_block; - block->stats = kcalloc(block->num_counters, - sizeof(*block->stats), GFP_KERNEL); + block->stats = kzalloc_objs(*block->stats, block->num_counters, + GFP_KERNEL); if (!block->stats) { err = -ENOMEM; goto err_stats; @@ -437,11 +437,11 @@ int prestera_counter_init(struct prestera_switch *sw) { struct prestera_counter *counter; - counter = kzalloc(sizeof(*counter), GFP_KERNEL); + counter = kzalloc_obj(*counter, GFP_KERNEL); if (!counter) return -ENOMEM; - counter->block_list = kzalloc(sizeof(*counter->block_list), GFP_KERNEL); + counter->block_list = kzalloc_obj(*counter->block_list, GFP_KERNEL); if (!counter->block_list) { kfree(counter); return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_devlink.c b/drivers/net/ethernet/marvell/prestera/prestera_devlink.c index e63d95c1842f..981b9e835be7 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_devlink.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_devlink.c @@ -451,13 +451,12 @@ int prestera_devlink_traps_register(struct prestera_switch *sw) struct prestera_trap *prestera_trap; int err, i; - trap_data = kzalloc(sizeof(*trap_data), GFP_KERNEL); + trap_data = kzalloc_obj(*trap_data, GFP_KERNEL); if (!trap_data) return -ENOMEM; - trap_data->trap_items_arr = kcalloc(traps_count, - sizeof(struct prestera_trap_item), - GFP_KERNEL); + trap_data->trap_items_arr = kzalloc_objs(struct prestera_trap_item, + traps_count, GFP_KERNEL); if (!trap_data->trap_items_arr) { err = -ENOMEM; goto err_trap_items_alloc; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_flow.c b/drivers/net/ethernet/marvell/prestera/prestera_flow.c index 9f4267f326b0..21c052bfa6e8 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_flow.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_flow.c @@ -82,7 +82,7 @@ prestera_flow_block_create(struct prestera_switch *sw, { struct prestera_flow_block *block; - block = kzalloc(sizeof(*block), GFP_KERNEL); + block = kzalloc_obj(*block, GFP_KERNEL); if (!block) return NULL; @@ -130,7 +130,7 @@ static int prestera_flow_block_bind(struct prestera_flow_block *block, struct prestera_flow_block_binding *binding; int err; - binding = kzalloc(sizeof(*binding), GFP_KERNEL); + binding = kzalloc_obj(*binding, GFP_KERNEL); if (!binding) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_flower.c b/drivers/net/ethernet/marvell/prestera/prestera_flower.c index 418101a93149..28077005efaa 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_flower.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_flower.c @@ -495,7 +495,7 @@ int prestera_flower_tmplt_create(struct prestera_flow_block *block, if (err) return err; - template = kmalloc(sizeof(*template), GFP_KERNEL); + template = kmalloc_obj(*template, GFP_KERNEL); if (!template) { err = -ENOMEM; goto err_malloc; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_hw.c b/drivers/net/ethernet/marvell/prestera/prestera_hw.c index 197198ba61b1..e20bd0eca18d 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_hw.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_hw.c @@ -2256,7 +2256,7 @@ int prestera_hw_event_handler_register(struct prestera_switch *sw, if (eh) return -EEXIST; - eh = kmalloc(sizeof(*eh), GFP_KERNEL); + eh = kmalloc_obj(*eh, GFP_KERNEL); if (!eh) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_main.c b/drivers/net/ethernet/marvell/prestera/prestera_main.c index 65e7ef033bde..0d12ed32586b 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_main.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_main.c @@ -1014,7 +1014,7 @@ static int prestera_lag_init(struct prestera_switch *sw) { u16 id; - sw->lags = kcalloc(sw->lag_max, sizeof(*sw->lags), GFP_KERNEL); + sw->lags = kzalloc_objs(*sw->lags, sw->lag_max, GFP_KERNEL); if (!sw->lags) return -ENOMEM; @@ -1209,7 +1209,7 @@ prestera_mdb_entry_create(struct prestera_switch *sw, struct prestera_flood_domain *flood_domain; struct prestera_mdb_entry *mdb_entry; - mdb_entry = kzalloc(sizeof(*mdb_entry), GFP_KERNEL); + mdb_entry = kzalloc_obj(*mdb_entry, GFP_KERNEL); if (!mdb_entry) goto err_mdb_alloc; @@ -1247,7 +1247,7 @@ prestera_flood_domain_create(struct prestera_switch *sw) { struct prestera_flood_domain *domain; - domain = kzalloc(sizeof(*domain), GFP_KERNEL); + domain = kzalloc_obj(*domain, GFP_KERNEL); if (!domain) return NULL; @@ -1279,7 +1279,7 @@ prestera_flood_domain_port_create(struct prestera_flood_domain *flood_domain, bool is_first_port_in_list = false; int err; - flood_domain_port = kzalloc(sizeof(*flood_domain_port), GFP_KERNEL); + flood_domain_port = kzalloc_obj(*flood_domain_port, GFP_KERNEL); if (!flood_domain_port) { err = -ENOMEM; goto err_port_alloc; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_router.c b/drivers/net/ethernet/marvell/prestera/prestera_router.c index de317179a7dc..a75764610eef 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_router.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_router.c @@ -485,7 +485,7 @@ __prestera_kern_neigh_cache_create(struct prestera_switch *sw, struct prestera_kern_neigh_cache *n_cache; int err; - n_cache = kzalloc(sizeof(*n_cache), GFP_KERNEL); + n_cache = kzalloc_obj(*n_cache, GFP_KERNEL); if (!n_cache) goto err_kzalloc; @@ -623,7 +623,7 @@ prestera_kern_fib_cache_create(struct prestera_switch *sw, struct prestera_kern_fib_cache *fib_cache; int err; - fib_cache = kzalloc(sizeof(*fib_cache), GFP_KERNEL); + fib_cache = kzalloc_obj(*fib_cache, GFP_KERNEL); if (!fib_cache) goto err_kzalloc; @@ -1448,7 +1448,7 @@ static int __prestera_router_fib_event(struct notifier_block *nb, if (!fen_info->fi) return NOTIFY_DONE; - fib_work = kzalloc(sizeof(*fib_work), GFP_ATOMIC); + fib_work = kzalloc_obj(*fib_work, GFP_ATOMIC); if (WARN_ON(!fib_work)) return NOTIFY_BAD; @@ -1503,7 +1503,7 @@ static int prestera_router_netevent_event(struct notifier_block *nb, if (n->tbl->family != AF_INET) return NOTIFY_DONE; - net_work = kzalloc(sizeof(*net_work), GFP_ATOMIC); + net_work = kzalloc_obj(*net_work, GFP_ATOMIC); if (WARN_ON(!net_work)) return NOTIFY_BAD; @@ -1550,7 +1550,7 @@ int prestera_router_init(struct prestera_switch *sw) struct prestera_router *router; int err, nhgrp_cache_bytes; - router = kzalloc(sizeof(*sw->router), GFP_KERNEL); + router = kzalloc_obj(*sw->router, GFP_KERNEL); if (!router) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_router_hw.c b/drivers/net/ethernet/marvell/prestera/prestera_router_hw.c index 02faaea2aefa..b94e28d403e7 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_router_hw.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_router_hw.c @@ -127,7 +127,7 @@ static struct prestera_vr *__prestera_vr_create(struct prestera_switch *sw, struct prestera_vr *vr; int err; - vr = kzalloc(sizeof(*vr), GFP_KERNEL); + vr = kzalloc_obj(*vr, GFP_KERNEL); if (!vr) { err = -ENOMEM; goto err_alloc_vr; @@ -252,7 +252,7 @@ prestera_rif_entry_create(struct prestera_switch *sw, struct prestera_rif_entry *e; struct prestera_iface iface; - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) goto err_kzalloc; @@ -301,7 +301,7 @@ __prestera_nh_neigh_create(struct prestera_switch *sw, struct prestera_nh_neigh *neigh; int err; - neigh = kzalloc(sizeof(*neigh), GFP_KERNEL); + neigh = kzalloc_obj(*neigh, GFP_KERNEL); if (!neigh) goto err_kzalloc; @@ -397,7 +397,7 @@ __prestera_nexthop_group_create(struct prestera_switch *sw, struct prestera_nh_neigh *nh_neigh; int nh_cnt, err, gid; - nh_grp = kzalloc(sizeof(*nh_grp), GFP_KERNEL); + nh_grp = kzalloc_obj(*nh_grp, GFP_KERNEL); if (!nh_grp) goto err_kzalloc; @@ -628,7 +628,7 @@ prestera_fib_node_create(struct prestera_switch *sw, struct prestera_vr *vr; int err; - fib_node = kzalloc(sizeof(*fib_node), GFP_KERNEL); + fib_node = kzalloc_obj(*fib_node, GFP_KERNEL); if (!fib_node) goto err_kzalloc; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_rxtx.c b/drivers/net/ethernet/marvell/prestera/prestera_rxtx.c index 39d9bf82c115..696625d6dcbc 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_rxtx.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_rxtx.c @@ -379,7 +379,7 @@ static int prestera_sdma_rx_init(struct prestera_sdma *sdma) struct prestera_sdma_buf *head, *tail, *next, *prev; struct prestera_rx_ring *ring = &sdma->rx_ring[q]; - ring->bufs = kmalloc_array(bnum, sizeof(*head), GFP_KERNEL); + ring->bufs = kmalloc_objs(*head, bnum, GFP_KERNEL); if (!ring->bufs) return -ENOMEM; @@ -529,7 +529,7 @@ static int prestera_sdma_tx_init(struct prestera_sdma *sdma) INIT_WORK(&sdma->tx_work, prestera_sdma_tx_recycle_work_fn); spin_lock_init(&sdma->tx_lock); - tx_ring->bufs = kmalloc_array(bnum, sizeof(*head), GFP_KERNEL); + tx_ring->bufs = kmalloc_objs(*head, bnum, GFP_KERNEL); if (!tx_ring->bufs) return -ENOMEM; @@ -784,7 +784,7 @@ int prestera_rxtx_switch_init(struct prestera_switch *sw) struct prestera_rxtx *rxtx; int err; - rxtx = kzalloc(sizeof(*rxtx), GFP_KERNEL); + rxtx = kzalloc_obj(*rxtx, GFP_KERNEL); if (!rxtx) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_span.c b/drivers/net/ethernet/marvell/prestera/prestera_span.c index 1005182ce3bc..dd86164e6a19 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_span.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_span.c @@ -27,7 +27,7 @@ prestera_span_entry_create(struct prestera_port *port, u8 span_id) { struct prestera_span_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return ERR_PTR(-ENOMEM); @@ -170,7 +170,7 @@ int prestera_span_init(struct prestera_switch *sw) { struct prestera_span *span; - span = kzalloc(sizeof(*span), GFP_KERNEL); + span = kzalloc_obj(*span, GFP_KERNEL); if (!span) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/prestera/prestera_switchdev.c b/drivers/net/ethernet/marvell/prestera/prestera_switchdev.c index e548cd32582e..1ca197fb08a6 100644 --- a/drivers/net/ethernet/marvell/prestera/prestera_switchdev.c +++ b/drivers/net/ethernet/marvell/prestera/prestera_switchdev.c @@ -180,7 +180,7 @@ prestera_bridge_vlan_create(struct prestera_bridge_port *br_port, u16 vid) { struct prestera_bridge_vlan *br_vlan; - br_vlan = kzalloc(sizeof(*br_vlan), GFP_KERNEL); + br_vlan = kzalloc_obj(*br_vlan, GFP_KERNEL); if (!br_vlan) return NULL; @@ -263,7 +263,7 @@ prestera_port_vlan_create(struct prestera_port *port, u16 vid, bool untagged) if (err) return ERR_PTR(err); - port_vlan = kzalloc(sizeof(*port_vlan), GFP_KERNEL); + port_vlan = kzalloc_obj(*port_vlan, GFP_KERNEL); if (!port_vlan) { err = -ENOMEM; goto err_port_vlan_alloc; @@ -443,7 +443,7 @@ prestera_bridge_create(struct prestera_switchdev *swdev, struct net_device *dev) return ERR_PTR(-EINVAL); } - bridge = kzalloc(sizeof(*bridge), GFP_KERNEL); + bridge = kzalloc_obj(*bridge, GFP_KERNEL); if (!bridge) return ERR_PTR(-ENOMEM); @@ -562,7 +562,7 @@ prestera_bridge_port_create(struct prestera_bridge *bridge, { struct prestera_bridge_port *br_port; - br_port = kzalloc(sizeof(*br_port), GFP_KERNEL); + br_port = kzalloc_obj(*br_port, GFP_KERNEL); if (!br_port) return NULL; @@ -1313,7 +1313,7 @@ static int prestera_switchdev_event(struct notifier_block *unused, if (!netif_is_bridge_master(upper)) return NOTIFY_DONE; - swdev_work = kzalloc(sizeof(*swdev_work), GFP_ATOMIC); + swdev_work = kzalloc_obj(*swdev_work, GFP_ATOMIC); if (!swdev_work) return NOTIFY_BAD; @@ -1498,7 +1498,7 @@ prestera_br_mdb_entry_create(struct prestera_switch *sw, struct prestera_br_mdb_entry *br_mdb_entry; struct prestera_mdb_entry *mdb_entry; - br_mdb_entry = kzalloc(sizeof(*br_mdb_entry), GFP_KERNEL); + br_mdb_entry = kzalloc_obj(*br_mdb_entry, GFP_KERNEL); if (!br_mdb_entry) return NULL; @@ -1530,7 +1530,7 @@ static int prestera_br_mdb_port_add(struct prestera_br_mdb_entry *br_mdb, if (br_mdb_port->br_port == br_port) return 0; - br_mdb_port = kzalloc(sizeof(*br_mdb_port), GFP_KERNEL); + br_mdb_port = kzalloc_obj(*br_mdb_port, GFP_KERNEL); if (!br_mdb_port) return -ENOMEM; @@ -1873,7 +1873,7 @@ int prestera_switchdev_init(struct prestera_switch *sw) struct prestera_switchdev *swdev; int err; - swdev = kzalloc(sizeof(*swdev), GFP_KERNEL); + swdev = kzalloc_obj(*swdev, GFP_KERNEL); if (!swdev) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/pxa168_eth.c b/drivers/net/ethernet/marvell/pxa168_eth.c index 68f8a1e36aa6..a2f6622e6ff5 100644 --- a/drivers/net/ethernet/marvell/pxa168_eth.c +++ b/drivers/net/ethernet/marvell/pxa168_eth.c @@ -1024,7 +1024,7 @@ static int rxq_init(struct net_device *dev) int rx_desc_num = pep->rx_ring_size; /* Allocate RX skb rings */ - pep->rx_skb = kcalloc(rx_desc_num, sizeof(*pep->rx_skb), GFP_KERNEL); + pep->rx_skb = kzalloc_objs(*pep->rx_skb, rx_desc_num, GFP_KERNEL); if (!pep->rx_skb) return -ENOMEM; @@ -1083,7 +1083,7 @@ static int txq_init(struct net_device *dev) int size = 0, i = 0; int tx_desc_num = pep->tx_ring_size; - pep->tx_skb = kcalloc(tx_desc_num, sizeof(*pep->tx_skb), GFP_KERNEL); + pep->tx_skb = kzalloc_objs(*pep->tx_skb, tx_desc_num, GFP_KERNEL); if (!pep->tx_skb) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/skge.c b/drivers/net/ethernet/marvell/skge.c index cf4e26d337bb..49942779418c 100644 --- a/drivers/net/ethernet/marvell/skge.c +++ b/drivers/net/ethernet/marvell/skge.c @@ -918,7 +918,7 @@ static int skge_ring_alloc(struct skge_ring *ring, void *vaddr, u32 base) struct skge_element *e; int i; - ring->start = kcalloc(ring->count, sizeof(*e), GFP_KERNEL); + ring->start = kzalloc_objs(*e, ring->count, GFP_KERNEL); if (!ring->start) return -ENOMEM; diff --git a/drivers/net/ethernet/marvell/sky2.c b/drivers/net/ethernet/marvell/sky2.c index 3831f533b9db..27af9627394a 100644 --- a/drivers/net/ethernet/marvell/sky2.c +++ b/drivers/net/ethernet/marvell/sky2.c @@ -1601,8 +1601,8 @@ static int sky2_alloc_buffers(struct sky2_port *sky2) if (!sky2->tx_le) goto nomem; - sky2->tx_ring = kcalloc(sky2->tx_ring_size, sizeof(struct tx_ring_info), - GFP_KERNEL); + sky2->tx_ring = kzalloc_objs(struct tx_ring_info, sky2->tx_ring_size, + GFP_KERNEL); if (!sky2->tx_ring) goto nomem; @@ -1611,8 +1611,8 @@ static int sky2_alloc_buffers(struct sky2_port *sky2) if (!sky2->rx_le) goto nomem; - sky2->rx_ring = kcalloc(sky2->rx_pending, sizeof(struct rx_ring_info), - GFP_KERNEL); + sky2->rx_ring = kzalloc_objs(struct rx_ring_info, sky2->rx_pending, + GFP_KERNEL); if (!sky2->rx_ring) goto nomem; diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c index 35fef28ee2f9..61065fb30acb 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -2647,8 +2647,7 @@ static int mtk_tx_alloc(struct mtk_eth *eth) else ring_size = soc->tx.dma_size; - ring->buf = kcalloc(ring_size, sizeof(*ring->buf), - GFP_KERNEL); + ring->buf = kzalloc_objs(*ring->buf, ring_size, GFP_KERNEL); if (!ring->buf) goto no_tx_mem; diff --git a/drivers/net/ethernet/mediatek/mtk_ppe.c b/drivers/net/ethernet/mediatek/mtk_ppe.c index ada852adc5f7..75f7728fc796 100644 --- a/drivers/net/ethernet/mediatek/mtk_ppe.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe.c @@ -705,7 +705,7 @@ mtk_foe_entry_commit_subflow(struct mtk_ppe *ppe, struct mtk_flow_entry *entry, u32 ib1_mask = mtk_get_ib1_pkt_type_mask(ppe->eth) | MTK_FOE_IB1_UDP; int type; - flow_info = kzalloc(sizeof(*flow_info), GFP_ATOMIC); + flow_info = kzalloc_obj(*flow_info, GFP_ATOMIC); if (!flow_info) return; diff --git a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c index e9bd32741983..bc53b08ff205 100644 --- a/drivers/net/ethernet/mediatek/mtk_ppe_offload.c +++ b/drivers/net/ethernet/mediatek/mtk_ppe_offload.c @@ -469,7 +469,7 @@ mtk_flow_offload_replace(struct mtk_eth *eth, struct flow_cls_offload *f, if (wed_index >= 0 && (err = mtk_wed_flow_add(wed_index)) < 0) return err; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; diff --git a/drivers/net/ethernet/mediatek/mtk_wed.c b/drivers/net/ethernet/mediatek/mtk_wed.c index 1ed1f88dd7f8..303e3945b72c 100644 --- a/drivers/net/ethernet/mediatek/mtk_wed.c +++ b/drivers/net/ethernet/mediatek/mtk_wed.c @@ -656,7 +656,7 @@ mtk_wed_tx_buffer_alloc(struct mtk_wed_device *dev) } n_pages = dev->tx_buf_ring.size / MTK_WED_BUF_PER_PAGE; - page_list = kcalloc(n_pages, sizeof(*page_list), GFP_KERNEL); + page_list = kzalloc_objs(*page_list, n_pages, GFP_KERNEL); if (!page_list) return -ENOMEM; @@ -780,7 +780,7 @@ mtk_wed_hwrro_buffer_alloc(struct mtk_wed_device *dev) if (!dev->wlan.hw_rro) return 0; - page_list = kcalloc(n_pages, sizeof(*page_list), GFP_KERNEL); + page_list = kzalloc_objs(*page_list, n_pages, GFP_KERNEL); if (!page_list) return -ENOMEM; @@ -2718,7 +2718,7 @@ mtk_wed_setup_tc_block(struct mtk_wed_hw *hw, struct net_device *dev, return 0; } - priv = kzalloc(sizeof(*priv), GFP_KERNEL); + priv = kzalloc_obj(*priv, GFP_KERNEL); if (!priv) return -ENOMEM; @@ -2822,7 +2822,7 @@ void mtk_wed_add_hw(struct device_node *np, struct mtk_eth *eth, if (WARN_ON(hw_list[index])) goto unlock; - hw = kzalloc(sizeof(*hw), GFP_KERNEL); + hw = kzalloc_obj(*hw, GFP_KERNEL); if (!hw) goto unlock; diff --git a/drivers/net/ethernet/mellanox/mlx4/alloc.c b/drivers/net/ethernet/mellanox/mlx4/alloc.c index 07b061a97a6e..7e4d1998fd0d 100644 --- a/drivers/net/ethernet/mellanox/mlx4/alloc.c +++ b/drivers/net/ethernet/mellanox/mlx4/alloc.c @@ -223,7 +223,7 @@ struct mlx4_zone_entry { struct mlx4_zone_allocator *mlx4_zone_allocator_create(enum mlx4_zone_alloc_flags flags) { - struct mlx4_zone_allocator *zones = kmalloc(sizeof(*zones), GFP_KERNEL); + struct mlx4_zone_allocator *zones = kmalloc_obj(*zones, GFP_KERNEL); if (NULL == zones) return NULL; @@ -247,7 +247,7 @@ int mlx4_zone_add_one(struct mlx4_zone_allocator *zone_alloc, { u32 mask = mlx4_bitmap_masked_value(bitmap, (u32)-1); struct mlx4_zone_entry *it; - struct mlx4_zone_entry *zone = kmalloc(sizeof(*zone), GFP_KERNEL); + struct mlx4_zone_entry *zone = kmalloc_obj(*zone, GFP_KERNEL); if (NULL == zone) return -ENOMEM; @@ -594,8 +594,8 @@ int mlx4_buf_alloc(struct mlx4_dev *dev, int size, int max_direct, buf->nbufs = DIV_ROUND_UP(size, PAGE_SIZE); buf->npages = buf->nbufs; buf->page_shift = PAGE_SHIFT; - buf->page_list = kcalloc(buf->nbufs, sizeof(*buf->page_list), - GFP_KERNEL); + buf->page_list = kzalloc_objs(*buf->page_list, buf->nbufs, + GFP_KERNEL); if (!buf->page_list) return -ENOMEM; @@ -642,7 +642,7 @@ static struct mlx4_db_pgdir *mlx4_alloc_db_pgdir(struct device *dma_device) { struct mlx4_db_pgdir *pgdir; - pgdir = kzalloc(sizeof(*pgdir), GFP_KERNEL); + pgdir = kzalloc_obj(*pgdir, GFP_KERNEL); if (!pgdir) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx4/cmd.c b/drivers/net/ethernet/mellanox/mlx4/cmd.c index 7f20813456e2..150ede6eb18f 100644 --- a/drivers/net/ethernet/mellanox/mlx4/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx4/cmd.c @@ -1674,7 +1674,7 @@ static int mlx4_master_process_vhcr(struct mlx4_dev *dev, int slave, int err = 0; /* Create sw representation of Virtual HCR */ - vhcr = kzalloc(sizeof(struct mlx4_vhcr), GFP_KERNEL); + vhcr = kzalloc_obj(struct mlx4_vhcr, GFP_KERNEL); if (!vhcr) return -ENOMEM; @@ -1873,7 +1873,7 @@ static int mlx4_master_immediate_activate_vlan_qos(struct mlx4_priv *priv, vp_admin->default_vlan, vp_admin->default_qos, vp_admin->link_state); - work = kzalloc(sizeof(*work), GFP_KERNEL); + work = kzalloc_obj(*work, GFP_KERNEL); if (!work) return -ENOMEM; @@ -2368,23 +2368,20 @@ int mlx4_multi_func_init(struct mlx4_dev *dev) struct mlx4_vf_admin_state *vf_admin; priv->mfunc.master.slave_state = - kcalloc(dev->num_slaves, - sizeof(struct mlx4_slave_state), - GFP_KERNEL); + kzalloc_objs(struct mlx4_slave_state, dev->num_slaves, + GFP_KERNEL); if (!priv->mfunc.master.slave_state) goto err_comm; priv->mfunc.master.vf_admin = - kcalloc(dev->num_slaves, - sizeof(struct mlx4_vf_admin_state), - GFP_KERNEL); + kzalloc_objs(struct mlx4_vf_admin_state, + dev->num_slaves, GFP_KERNEL); if (!priv->mfunc.master.vf_admin) goto err_comm_admin; priv->mfunc.master.vf_oper = - kcalloc(dev->num_slaves, - sizeof(struct mlx4_vf_oper_state), - GFP_KERNEL); + kzalloc_objs(struct mlx4_vf_oper_state, dev->num_slaves, + GFP_KERNEL); if (!priv->mfunc.master.vf_oper) goto err_comm_oper; @@ -2408,8 +2405,8 @@ int mlx4_multi_func_init(struct mlx4_dev *dev) struct mlx4_vport_state *oper_vport; s_state->vlan_filter[port] = - kzalloc(sizeof(struct mlx4_vlan_fltr), - GFP_KERNEL); + kzalloc_obj(struct mlx4_vlan_fltr, + GFP_KERNEL); if (!s_state->vlan_filter[port]) { if (--port) kfree(s_state->vlan_filter[port]); @@ -2625,9 +2622,8 @@ int mlx4_cmd_use_events(struct mlx4_dev *dev) int i; int err = 0; - priv->cmd.context = kmalloc_array(priv->cmd.max_cmds, - sizeof(struct mlx4_cmd_context), - GFP_KERNEL); + priv->cmd.context = kmalloc_objs(struct mlx4_cmd_context, + priv->cmd.max_cmds, GFP_KERNEL); if (!priv->cmd.context) return -ENOMEM; @@ -2693,7 +2689,7 @@ struct mlx4_cmd_mailbox *mlx4_alloc_cmd_mailbox(struct mlx4_dev *dev) { struct mlx4_cmd_mailbox *mailbox; - mailbox = kmalloc(sizeof(*mailbox), GFP_KERNEL); + mailbox = kmalloc_obj(*mailbox, GFP_KERNEL); if (!mailbox) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c index ad6298456639..2e914a254a16 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c @@ -1158,7 +1158,7 @@ static int mlx4_en_set_ringparam(struct net_device *dev, tx_size == priv->tx_ring[TX][0]->size) return 0; - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; @@ -1452,8 +1452,8 @@ static int add_ip_rule(struct mlx4_en_priv *priv, struct mlx4_spec_list *spec_l3; struct ethtool_usrip4_spec *l3_mask = &cmd->fs.m_u.usr_ip4_spec; - spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL); - spec_l2 = kzalloc(sizeof(*spec_l2), GFP_KERNEL); + spec_l3 = kzalloc_obj(*spec_l3, GFP_KERNEL); + spec_l2 = kzalloc_obj(*spec_l2, GFP_KERNEL); if (!spec_l2 || !spec_l3) { err = -ENOMEM; goto free_spec; @@ -1491,9 +1491,9 @@ static int add_tcp_udp_rule(struct mlx4_en_priv *priv, struct mlx4_spec_list *spec_l4; struct ethtool_tcpip4_spec *l4_mask = &cmd->fs.m_u.tcp_ip4_spec; - spec_l2 = kzalloc(sizeof(*spec_l2), GFP_KERNEL); - spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL); - spec_l4 = kzalloc(sizeof(*spec_l4), GFP_KERNEL); + spec_l2 = kzalloc_obj(*spec_l2, GFP_KERNEL); + spec_l3 = kzalloc_obj(*spec_l3, GFP_KERNEL); + spec_l4 = kzalloc_obj(*spec_l4, GFP_KERNEL); if (!spec_l2 || !spec_l3 || !spec_l4) { err = -ENOMEM; goto free_spec; @@ -1564,7 +1564,7 @@ static int mlx4_en_ethtool_to_net_trans_rule(struct net_device *dev, switch (cmd->fs.flow_type & ~(FLOW_EXT | FLOW_MAC_EXT)) { case ETHER_FLOW: - spec_l2 = kzalloc(sizeof(*spec_l2), GFP_KERNEL); + spec_l2 = kzalloc_obj(*spec_l2, GFP_KERNEL); if (!spec_l2) return -ENOMEM; @@ -1833,7 +1833,7 @@ static int mlx4_en_set_channels(struct net_device *dev, if (!channel->tx_count || !channel->rx_count) return -EINVAL; - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx4/en_main.c b/drivers/net/ethernet/mellanox/mlx4/en_main.c index d8f4d00ad26b..1374a81945b2 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_main.c @@ -271,7 +271,7 @@ static int mlx4_en_probe(struct auxiliary_device *adev, printk_once(KERN_INFO "%s", mlx4_en_version); - mdev = kzalloc(sizeof(*mdev), GFP_KERNEL); + mdev = kzalloc_obj(*mdev, GFP_KERNEL); if (!mdev) { err = -ENOMEM; goto err_free_res; diff --git a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c index 81bf8908b897..ee1ea70cdd34 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_netdev.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_netdev.c @@ -99,7 +99,7 @@ int mlx4_en_alloc_tx_queue_per_tc(struct net_device *dev, u8 tc) int port_up = 0; int err = 0; - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; @@ -295,7 +295,7 @@ mlx4_en_filter_alloc(struct mlx4_en_priv *priv, int rxq_index, __be32 src_ip, { struct mlx4_en_filter *filter; - filter = kzalloc(sizeof(struct mlx4_en_filter), GFP_ATOMIC); + filter = kzalloc_obj(struct mlx4_en_filter, GFP_ATOMIC); if (!filter) return NULL; @@ -827,7 +827,7 @@ static void mlx4_en_cache_mclist(struct net_device *dev) mlx4_en_clear_list(dev); netdev_for_each_mc_addr(ha, dev) { - tmp = kzalloc(sizeof(struct mlx4_en_mc_list), GFP_ATOMIC); + tmp = kzalloc_obj(struct mlx4_en_mc_list, GFP_ATOMIC); if (!tmp) { mlx4_en_clear_list(dev); return; @@ -1209,7 +1209,7 @@ static void mlx4_en_do_uc_filter(struct mlx4_en_priv *priv, } if (!found) { - entry = kmalloc(sizeof(*entry), GFP_KERNEL); + entry = kmalloc_obj(*entry, GFP_KERNEL); if (!entry) { en_err(priv, "Failed adding MAC %pM on port:%d (out of memory)\n", ha->addr, priv->port); @@ -1317,7 +1317,7 @@ static int mlx4_en_set_rss_steer_rules(struct mlx4_en_priv *priv) if (err) goto tunnel_err; - entry = kmalloc(sizeof(*entry), GFP_KERNEL); + entry = kmalloc_obj(*entry, GFP_KERNEL); if (!entry) { err = -ENOMEM; goto alloc_err; @@ -2240,15 +2240,13 @@ static int mlx4_en_copy_priv(struct mlx4_en_priv *dst, if (!dst->tx_ring_num[t]) continue; - dst->tx_ring[t] = kcalloc(MAX_TX_RINGS, - sizeof(struct mlx4_en_tx_ring *), - GFP_KERNEL); + dst->tx_ring[t] = kzalloc_objs(struct mlx4_en_tx_ring *, + MAX_TX_RINGS, GFP_KERNEL); if (!dst->tx_ring[t]) goto err_free_tx; - dst->tx_cq[t] = kcalloc(MAX_TX_RINGS, - sizeof(struct mlx4_en_cq *), - GFP_KERNEL); + dst->tx_cq[t] = kzalloc_objs(struct mlx4_en_cq *, MAX_TX_RINGS, + GFP_KERNEL); if (!dst->tx_cq[t]) { kfree(dst->tx_ring[t]); goto err_free_tx; @@ -2754,7 +2752,7 @@ static int mlx4_xdp_set(struct net_device *dev, struct bpf_prog *prog) if (!mlx4_en_check_xdp_mtu(dev, dev->mtu)) return -EOPNOTSUPP; - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; @@ -3217,16 +3215,14 @@ int mlx4_en_init_netdev(struct mlx4_en_dev *mdev, int port, if (!priv->tx_ring_num[t]) continue; - priv->tx_ring[t] = kcalloc(MAX_TX_RINGS, - sizeof(struct mlx4_en_tx_ring *), - GFP_KERNEL); + priv->tx_ring[t] = kzalloc_objs(struct mlx4_en_tx_ring *, + MAX_TX_RINGS, GFP_KERNEL); if (!priv->tx_ring[t]) { err = -ENOMEM; goto out; } - priv->tx_cq[t] = kcalloc(MAX_TX_RINGS, - sizeof(struct mlx4_en_cq *), - GFP_KERNEL); + priv->tx_cq[t] = kzalloc_objs(struct mlx4_en_cq *, MAX_TX_RINGS, + GFP_KERNEL); if (!priv->tx_cq[t]) { err = -ENOMEM; goto out; @@ -3525,7 +3521,7 @@ int mlx4_en_reset_config(struct net_device *dev, return -EINVAL; } - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index 13666d50b90f..de45de8fa41b 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -1094,7 +1094,7 @@ static int mlx4_en_config_rss_qp(struct mlx4_en_priv *priv, int qpn, struct mlx4_qp_context *context; int err = 0; - context = kzalloc(sizeof(*context), GFP_KERNEL); + context = kzalloc_obj(*context, GFP_KERNEL); if (!context) return -ENOMEM; @@ -1208,7 +1208,7 @@ int mlx4_en_config_rss_steer(struct mlx4_en_priv *priv) return 0; } - rss_map->indir_qp = kzalloc(sizeof(*rss_map->indir_qp), GFP_KERNEL); + rss_map->indir_qp = kzalloc_obj(*rss_map->indir_qp, GFP_KERNEL); if (!rss_map->indir_qp) { err = -ENOMEM; goto rss_err; diff --git a/drivers/net/ethernet/mellanox/mlx4/eq.c b/drivers/net/ethernet/mellanox/mlx4/eq.c index 9572a45f6143..9891d33c7ecb 100644 --- a/drivers/net/ethernet/mellanox/mlx4/eq.c +++ b/drivers/net/ethernet/mellanox/mlx4/eq.c @@ -987,8 +987,7 @@ static int mlx4_create_eq(struct mlx4_dev *dev, int nent, */ npages = PAGE_ALIGN(eq->nent * dev->caps.eqe_size) / PAGE_SIZE; - eq->page_list = kmalloc_array(npages, sizeof(*eq->page_list), - GFP_KERNEL); + eq->page_list = kmalloc_objs(*eq->page_list, npages, GFP_KERNEL); if (!eq->page_list) goto err_out; @@ -1158,8 +1157,9 @@ int mlx4_alloc_eq_table(struct mlx4_dev *dev) { struct mlx4_priv *priv = mlx4_priv(dev); - priv->eq_table.eq = kcalloc(dev->caps.num_eqs - dev->caps.reserved_eqs, - sizeof(*priv->eq_table.eq), GFP_KERNEL); + priv->eq_table.eq = kzalloc_objs(*priv->eq_table.eq, + dev->caps.num_eqs - dev->caps.reserved_eqs, + GFP_KERNEL); if (!priv->eq_table.eq) return -ENOMEM; @@ -1177,9 +1177,8 @@ int mlx4_init_eq_table(struct mlx4_dev *dev) int err; int i; - priv->eq_table.uar_map = kcalloc(mlx4_num_eq_uar(dev), - sizeof(*priv->eq_table.uar_map), - GFP_KERNEL); + priv->eq_table.uar_map = kzalloc_objs(*priv->eq_table.uar_map, + mlx4_num_eq_uar(dev), GFP_KERNEL); if (!priv->eq_table.uar_map) { err = -ENOMEM; goto err_out_free; diff --git a/drivers/net/ethernet/mellanox/mlx4/icm.c b/drivers/net/ethernet/mellanox/mlx4/icm.c index 59b8b3c73582..c076d26a0b12 100644 --- a/drivers/net/ethernet/mellanox/mlx4/icm.c +++ b/drivers/net/ethernet/mellanox/mlx4/icm.c @@ -145,8 +145,8 @@ struct mlx4_icm *mlx4_alloc_icm(struct mlx4_dev *dev, int npages, gfp_mask & ~(__GFP_HIGHMEM | __GFP_NOWARN), dev->numa_node); if (!icm) { - icm = kmalloc(sizeof(*icm), - gfp_mask & ~(__GFP_HIGHMEM | __GFP_NOWARN)); + icm = kmalloc_obj(*icm, + gfp_mask & ~(__GFP_HIGHMEM | __GFP_NOWARN)); if (!icm) return NULL; } @@ -163,9 +163,8 @@ struct mlx4_icm *mlx4_alloc_icm(struct mlx4_dev *dev, int npages, __GFP_NOWARN), dev->numa_node); if (!chunk) { - chunk = kzalloc(sizeof(*chunk), - gfp_mask & ~(__GFP_HIGHMEM | - __GFP_NOWARN)); + chunk = kzalloc_obj(*chunk, + gfp_mask & ~(__GFP_HIGHMEM | __GFP_NOWARN)); if (!chunk) goto fail; } @@ -427,7 +426,7 @@ int mlx4_init_icm_table(struct mlx4_dev *dev, struct mlx4_icm_table *table, return -EINVAL; num_icm = DIV_ROUND_UP(nobj, obj_per_chunk); - table->icm = kvcalloc(num_icm, sizeof(*table->icm), GFP_KERNEL); + table->icm = kvzalloc_objs(*table->icm, num_icm, GFP_KERNEL); if (!table->icm) return -ENOMEM; table->virt = virt; diff --git a/drivers/net/ethernet/mellanox/mlx4/intf.c b/drivers/net/ethernet/mellanox/mlx4/intf.c index a371b970ac1e..e1db44df72f6 100644 --- a/drivers/net/ethernet/mellanox/mlx4/intf.c +++ b/drivers/net/ethernet/mellanox/mlx4/intf.c @@ -78,8 +78,8 @@ int mlx4_adev_init(struct mlx4_dev *dev) if (priv->adev_idx < 0) return priv->adev_idx; - priv->adev = kcalloc(ARRAY_SIZE(mlx4_adev_devices), - sizeof(struct mlx4_adev *), GFP_KERNEL); + priv->adev = kzalloc_objs(struct mlx4_adev *, + ARRAY_SIZE(mlx4_adev_devices), GFP_KERNEL); if (!priv->adev) { ida_free(&mlx4_adev_ida, priv->adev_idx); return -ENOMEM; @@ -115,7 +115,7 @@ static struct mlx4_adev *add_adev(struct mlx4_dev *dev, int idx) struct mlx4_adev *madev; int ret; - madev = kzalloc(sizeof(*madev), GFP_KERNEL); + madev = kzalloc_obj(*madev, GFP_KERNEL); if (!madev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx4/main.c b/drivers/net/ethernet/mellanox/mlx4/main.c index 4293f8e33f44..2e5032658fcd 100644 --- a/drivers/net/ethernet/mellanox/mlx4/main.c +++ b/drivers/net/ethernet/mellanox/mlx4/main.c @@ -867,8 +867,9 @@ static int mlx4_slave_special_qp_cap(struct mlx4_dev *dev) struct mlx4_caps *caps = &dev->caps; int i, err = 0; - func_cap = kzalloc(sizeof(*func_cap), GFP_KERNEL); - caps->spec_qps = kcalloc(caps->num_ports, sizeof(*caps->spec_qps), GFP_KERNEL); + func_cap = kzalloc_obj(*func_cap, GFP_KERNEL); + caps->spec_qps = kzalloc_objs(*caps->spec_qps, caps->num_ports, + GFP_KERNEL); if (!func_cap || !caps->spec_qps) { mlx4_err(dev, "Failed to allocate memory for special qps cap\n"); @@ -911,9 +912,9 @@ static int mlx4_slave_cap(struct mlx4_dev *dev) struct mlx4_func_cap *func_cap; struct mlx4_init_hca_param *hca_param; - hca_param = kzalloc(sizeof(*hca_param), GFP_KERNEL); - func_cap = kzalloc(sizeof(*func_cap), GFP_KERNEL); - dev_cap = kzalloc(sizeof(*dev_cap), GFP_KERNEL); + hca_param = kzalloc_obj(*hca_param, GFP_KERNEL); + func_cap = kzalloc_obj(*func_cap, GFP_KERNEL); + dev_cap = kzalloc_obj(*dev_cap, GFP_KERNEL); if (!hca_param || !func_cap || !dev_cap) { mlx4_err(dev, "Failed to allocate memory for slave_cap\n"); err = -ENOMEM; @@ -1548,7 +1549,7 @@ int mlx4_queue_bond_work(struct mlx4_dev *dev, int is_bonded, u8 v2p_p1, { struct mlx4_bond *bond; - bond = kzalloc(sizeof(*bond), GFP_ATOMIC); + bond = kzalloc_obj(*bond, GFP_ATOMIC); if (!bond) return -ENOMEM; @@ -2323,8 +2324,8 @@ static int mlx4_init_hca(struct mlx4_dev *dev) int err; if (!mlx4_is_slave(dev)) { - dev_cap = kzalloc(sizeof(*dev_cap), GFP_KERNEL); - init_hca = kzalloc(sizeof(*init_hca), GFP_KERNEL); + dev_cap = kzalloc_obj(*dev_cap, GFP_KERNEL); + init_hca = kzalloc_obj(*init_hca, GFP_KERNEL); if (!dev_cap || !init_hca) { err = -ENOMEM; @@ -2965,7 +2966,7 @@ static void mlx4_enable_msi_x(struct mlx4_dev *dev) if (msi_x > 1) nreq = min_t(int, nreq, msi_x); - entries = kcalloc(nreq, sizeof(*entries), GFP_KERNEL); + entries = kzalloc_objs(*entries, nreq, GFP_KERNEL); if (!entries) goto no_msi; @@ -3173,8 +3174,7 @@ static int mlx4_init_steering(struct mlx4_dev *dev) int num_entries = dev->caps.num_ports; int i, j; - priv->steer = kcalloc(num_entries, sizeof(struct mlx4_steer), - GFP_KERNEL); + priv->steer = kzalloc_objs(struct mlx4_steer, num_entries, GFP_KERNEL); if (!priv->steer) return -ENOMEM; @@ -3279,8 +3279,8 @@ static u64 mlx4_enable_sriov(struct mlx4_dev *dev, struct pci_dev *pdev, MLX4_MAX_NUM_VF); if (reset_flow) { - dev->dev_vfs = kcalloc(total_vfs, sizeof(*dev->dev_vfs), - GFP_KERNEL); + dev->dev_vfs = kzalloc_objs(*dev->dev_vfs, total_vfs, + GFP_KERNEL); if (!dev->dev_vfs) goto free_mem; return dev_flags; @@ -3295,7 +3295,7 @@ static u64 mlx4_enable_sriov(struct mlx4_dev *dev, struct pci_dev *pdev, } } - dev->dev_vfs = kcalloc(total_vfs, sizeof(*dev->dev_vfs), GFP_KERNEL); + dev->dev_vfs = kzalloc_objs(*dev->dev_vfs, total_vfs, GFP_KERNEL); if (NULL == dev->dev_vfs) { mlx4_err(dev, "Failed to allocate memory for VFs\n"); goto disable_sriov; @@ -3494,7 +3494,7 @@ slave_start: if (mlx4_is_master(dev)) { /* when we hit the goto slave_start below, dev_cap already initialized */ if (!dev_cap) { - dev_cap = kzalloc(sizeof(*dev_cap), GFP_KERNEL); + dev_cap = kzalloc_obj(*dev_cap, GFP_KERNEL); if (!dev_cap) { err = -ENOMEM; @@ -4034,7 +4034,7 @@ static int mlx4_init_one(struct pci_dev *pdev, const struct pci_device_id *id) priv = devlink_priv(devlink); dev = &priv->dev; - dev->persist = kzalloc(sizeof(*dev->persist), GFP_KERNEL); + dev->persist = kzalloc_obj(*dev->persist, GFP_KERNEL); if (!dev->persist) { ret = -ENOMEM; goto err_devlink_free; diff --git a/drivers/net/ethernet/mellanox/mlx4/mcg.c b/drivers/net/ethernet/mellanox/mlx4/mcg.c index 24d0c7c46878..7ab766a81452 100644 --- a/drivers/net/ethernet/mellanox/mlx4/mcg.c +++ b/drivers/net/ethernet/mellanox/mlx4/mcg.c @@ -162,7 +162,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 port, return -EINVAL; s_steer = &mlx4_priv(dev)->steer[port - 1]; - new_entry = kzalloc(sizeof(*new_entry), GFP_KERNEL); + new_entry = kzalloc_obj(*new_entry, GFP_KERNEL); if (!new_entry) return -ENOMEM; @@ -175,7 +175,7 @@ static int new_steering_entry(struct mlx4_dev *dev, u8 port, */ pqp = get_promisc_qp(dev, port, steer, qpn); if (pqp) { - dqp = kmalloc(sizeof(*dqp), GFP_KERNEL); + dqp = kmalloc_obj(*dqp, GFP_KERNEL); if (!dqp) { err = -ENOMEM; goto out_alloc; @@ -274,7 +274,7 @@ static int existing_steering_entry(struct mlx4_dev *dev, u8 port, } /* add the qp as a duplicate on this index */ - dqp = kmalloc(sizeof(*dqp), GFP_KERNEL); + dqp = kmalloc_obj(*dqp, GFP_KERNEL); if (!dqp) return -ENOMEM; dqp->qpn = qpn; @@ -443,7 +443,7 @@ static int add_promisc_qp(struct mlx4_dev *dev, u8 port, goto out_mutex; } - pqp = kmalloc(sizeof(*pqp), GFP_KERNEL); + pqp = kmalloc_obj(*pqp, GFP_KERNEL); if (!pqp) { err = -ENOMEM; goto out_mutex; @@ -479,7 +479,7 @@ static int add_promisc_qp(struct mlx4_dev *dev, u8 port, /* Entry already exists. * Add to duplicates. */ - dqp = kmalloc(sizeof(*dqp), GFP_KERNEL); + dqp = kmalloc_obj(*dqp, GFP_KERNEL); if (!dqp) { err = -ENOMEM; goto out_mailbox; diff --git a/drivers/net/ethernet/mellanox/mlx4/pd.c b/drivers/net/ethernet/mellanox/mlx4/pd.c index 6fc156a3918d..b29e067da2e2 100644 --- a/drivers/net/ethernet/mellanox/mlx4/pd.c +++ b/drivers/net/ethernet/mellanox/mlx4/pd.c @@ -189,7 +189,7 @@ int mlx4_bf_alloc(struct mlx4_dev *dev, struct mlx4_bf *bf, int node) } uar = kmalloc_node(sizeof(*uar), GFP_KERNEL, node); if (!uar) { - uar = kmalloc(sizeof(*uar), GFP_KERNEL); + uar = kmalloc_obj(*uar, GFP_KERNEL); if (!uar) { err = -ENOMEM; goto out; diff --git a/drivers/net/ethernet/mellanox/mlx4/profile.c b/drivers/net/ethernet/mellanox/mlx4/profile.c index ba361c5fbda3..828c14074f81 100644 --- a/drivers/net/ethernet/mellanox/mlx4/profile.c +++ b/drivers/net/ethernet/mellanox/mlx4/profile.c @@ -85,7 +85,7 @@ u64 mlx4_make_profile(struct mlx4_dev *dev, struct sysinfo si; int i, j; - profile = kcalloc(MLX4_RES_NUM, sizeof(*profile), GFP_KERNEL); + profile = kzalloc_objs(*profile, MLX4_RES_NUM, GFP_KERNEL); if (!profile) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx4/qp.c b/drivers/net/ethernet/mellanox/mlx4/qp.c index 913ed255990f..50002356697f 100644 --- a/drivers/net/ethernet/mellanox/mlx4/qp.c +++ b/drivers/net/ethernet/mellanox/mlx4/qp.c @@ -564,7 +564,7 @@ static int mlx4_create_zones(struct mlx4_dev *dev, if (NULL == qp_table->zones) return -ENOMEM; - bitmap = kmalloc(sizeof(*bitmap), GFP_KERNEL); + bitmap = kmalloc_obj(*bitmap, GFP_KERNEL); if (NULL == bitmap) { err = -ENOMEM; @@ -853,9 +853,9 @@ int mlx4_init_qp_table(struct mlx4_dev *dev) /* In mfunc, calculate proxy and tunnel qp offsets for the PF here, * since the PF does not call mlx4_slave_caps */ - dev->caps.spec_qps = kcalloc(dev->caps.num_ports, - sizeof(*dev->caps.spec_qps), - GFP_KERNEL); + dev->caps.spec_qps = kzalloc_objs(*dev->caps.spec_qps, + dev->caps.num_ports, + GFP_KERNEL); if (!dev->caps.spec_qps) { err = -ENOMEM; goto err_mem; diff --git a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c index 771b92019af1..dba5709ff96f 100644 --- a/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c +++ b/drivers/net/ethernet/mellanox/mlx4/resource_tracker.c @@ -505,8 +505,7 @@ int mlx4_init_resource_tracker(struct mlx4_dev *dev) int t; priv->mfunc.master.res_tracker.slave_list = - kcalloc(dev->num_slaves, sizeof(struct slave_list), - GFP_KERNEL); + kzalloc_objs(struct slave_list, dev->num_slaves, GFP_KERNEL); if (!priv->mfunc.master.res_tracker.slave_list) return -ENOMEM; @@ -525,21 +524,20 @@ int mlx4_init_resource_tracker(struct mlx4_dev *dev) for (i = 0; i < MLX4_NUM_OF_RESOURCE_TYPE; i++) { struct resource_allocator *res_alloc = &priv->mfunc.master.res_tracker.res_alloc[i]; - res_alloc->quota = kmalloc_array(dev->persist->num_vfs + 1, - sizeof(int), - GFP_KERNEL); - res_alloc->guaranteed = kmalloc_array(dev->persist->num_vfs + 1, - sizeof(int), - GFP_KERNEL); + res_alloc->quota = kmalloc_objs(int, dev->persist->num_vfs + 1, + GFP_KERNEL); + res_alloc->guaranteed = kmalloc_objs(int, + dev->persist->num_vfs + 1, + GFP_KERNEL); if (i == RES_MAC || i == RES_VLAN) res_alloc->allocated = - kcalloc(MLX4_MAX_PORTS * - (dev->persist->num_vfs + 1), - sizeof(int), GFP_KERNEL); + kzalloc_objs(int, + MLX4_MAX_PORTS * (dev->persist->num_vfs + 1), + GFP_KERNEL); else res_alloc->allocated = - kcalloc(dev->persist->num_vfs + 1, - sizeof(int), GFP_KERNEL); + kzalloc_objs(int, dev->persist->num_vfs + 1, + GFP_KERNEL); /* Reduce the sink counter */ if (i == RES_COUNTER) res_alloc->res_free = dev->caps.max_counters - 1; @@ -1051,7 +1049,7 @@ static struct res_common *alloc_qp_tr(int id) { struct res_qp *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1069,7 +1067,7 @@ static struct res_common *alloc_mtt_tr(int id, int order) { struct res_mtt *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1085,7 +1083,7 @@ static struct res_common *alloc_mpt_tr(int id, int key) { struct res_mpt *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1100,7 +1098,7 @@ static struct res_common *alloc_eq_tr(int id) { struct res_eq *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1114,7 +1112,7 @@ static struct res_common *alloc_cq_tr(int id) { struct res_cq *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1129,7 +1127,7 @@ static struct res_common *alloc_srq_tr(int id) { struct res_srq *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1144,7 +1142,7 @@ static struct res_common *alloc_counter_tr(int id, int port) { struct res_counter *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1159,7 +1157,7 @@ static struct res_common *alloc_xrcdn_tr(int id) { struct res_xrcdn *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1173,7 +1171,7 @@ static struct res_common *alloc_fs_rule_tr(u64 id, int qpn) { struct res_fs_rule *ret; - ret = kzalloc(sizeof(*ret), GFP_KERNEL); + ret = kzalloc_obj(*ret, GFP_KERNEL); if (!ret) return NULL; @@ -1240,8 +1238,8 @@ int mlx4_calc_vf_counters(struct mlx4_dev *dev, int slave, int port, memset(data, 0, sizeof(*data)); - counters_arr = kmalloc_array(dev->caps.max_counters, - sizeof(*counters_arr), GFP_KERNEL); + counters_arr = kmalloc_objs(*counters_arr, dev->caps.max_counters, + GFP_KERNEL); if (!counters_arr) return -ENOMEM; @@ -1285,7 +1283,7 @@ static int add_res_range(struct mlx4_dev *dev, int slave, u64 base, int count, struct mlx4_resource_tracker *tracker = &priv->mfunc.master.res_tracker; struct rb_root *root = &tracker->res_tree[type]; - res_arr = kcalloc(count, sizeof(*res_arr), GFP_KERNEL); + res_arr = kzalloc_objs(*res_arr, count, GFP_KERNEL); if (!res_arr) return -ENOMEM; @@ -2038,7 +2036,7 @@ static int mac_add_to_slave(struct mlx4_dev *dev, int slave, u64 mac, int port, if (mlx4_grant_resource(dev, slave, RES_MAC, 1, port)) return -EINVAL; - res = kzalloc(sizeof(*res), GFP_KERNEL); + res = kzalloc_obj(*res, GFP_KERNEL); if (!res) { mlx4_release_resource(dev, slave, RES_MAC, 1, port); return -ENOMEM; @@ -2145,7 +2143,7 @@ static int vlan_add_to_slave(struct mlx4_dev *dev, int slave, u16 vlan, if (mlx4_grant_resource(dev, slave, RES_VLAN, 1, port)) return -EINVAL; - res = kzalloc(sizeof(*res), GFP_KERNEL); + res = kzalloc_obj(*res, GFP_KERNEL); if (!res) { mlx4_release_resource(dev, slave, RES_VLAN, 1, port); return -ENOMEM; @@ -4032,7 +4030,7 @@ static int add_mcg_res(struct mlx4_dev *dev, int slave, struct res_qp *rqp, struct res_gid *res; int err; - res = kzalloc(sizeof(*res), GFP_KERNEL); + res = kzalloc_obj(*res, GFP_KERNEL); if (!res) return -ENOMEM; @@ -5187,8 +5185,8 @@ static void rem_slave_counters(struct mlx4_dev *dev, int slave) mlx4_warn(dev, "rem_slave_counters: Could not move all counters - too busy for slave %d\n", slave); - counters_arr = kmalloc_array(dev->caps.max_counters, - sizeof(*counters_arr), GFP_KERNEL); + counters_arr = kmalloc_objs(*counters_arr, dev->caps.max_counters, + GFP_KERNEL); if (!counters_arr) return; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/alloc.c b/drivers/net/ethernet/mellanox/mlx5/core/alloc.c index 6aca004e88cd..058b7b2497ac 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/alloc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/alloc.c @@ -79,8 +79,7 @@ int mlx5_frag_buf_alloc_node(struct mlx5_core_dev *dev, int size, buf->size = size; buf->npages = DIV_ROUND_UP(size, PAGE_SIZE); buf->page_shift = PAGE_SHIFT; - buf->frags = kcalloc(buf->npages, sizeof(struct mlx5_buf_list), - GFP_KERNEL); + buf->frags = kzalloc_objs(struct mlx5_buf_list, buf->npages, GFP_KERNEL); if (!buf->frags) goto err_out; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c index 5b08e5ffe0e2..6c99c7f36163 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/cmd.c @@ -123,7 +123,7 @@ cmd_alloc_ent(struct mlx5_cmd *cmd, struct mlx5_cmd_msg *in, gfp_t alloc_flags = cbk ? GFP_ATOMIC : GFP_KERNEL; struct mlx5_cmd_work_ent *ent; - ent = kzalloc(sizeof(*ent), alloc_flags); + ent = kzalloc_obj(*ent, alloc_flags); if (!ent) return ERR_PTR(-ENOMEM); @@ -1436,7 +1436,7 @@ static struct mlx5_cmd_mailbox *alloc_cmd_box(struct mlx5_core_dev *dev, { struct mlx5_cmd_mailbox *mailbox; - mailbox = kmalloc(sizeof(*mailbox), flags); + mailbox = kmalloc_obj(*mailbox, flags); if (!mailbox) return ERR_PTR(-ENOMEM); @@ -1470,7 +1470,7 @@ static struct mlx5_cmd_msg *mlx5_alloc_cmd_msg(struct mlx5_core_dev *dev, int n; int i; - msg = kzalloc(sizeof(*msg), flags); + msg = kzalloc_obj(*msg, flags); if (!msg) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c index 1301c56e20d6..f2aa14e07e92 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/debugfs.c @@ -201,7 +201,7 @@ static const struct file_operations slots_fops = { static struct mlx5_cmd_stats * mlx5_cmdif_alloc_stats(struct xarray *stats_xa, int opcode) { - struct mlx5_cmd_stats *stats = kzalloc(sizeof(*stats), GFP_KERNEL); + struct mlx5_cmd_stats *stats = kzalloc_obj(*stats, GFP_KERNEL); int err; if (!stats) @@ -509,7 +509,7 @@ static int add_res_tree(struct mlx5_core_dev *dev, enum dbg_rsc_type type, char resn[32]; int i; - d = kzalloc(struct_size(d, fields, nfile), GFP_KERNEL); + d = kzalloc_flex(*d, fields, nfile, GFP_KERNEL); if (!d) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/dev.c b/drivers/net/ethernet/mellanox/mlx5/core/dev.c index 781e39b5aa1d..bed0b6bfba7e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/dev.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/dev.c @@ -277,8 +277,8 @@ int mlx5_adev_init(struct mlx5_core_dev *dev) { struct mlx5_priv *priv = &dev->priv; - priv->adev = kcalloc(ARRAY_SIZE(mlx5_adev_devices), - sizeof(struct mlx5_adev *), GFP_KERNEL); + priv->adev = kzalloc_objs(struct mlx5_adev *, + ARRAY_SIZE(mlx5_adev_devices), GFP_KERNEL); if (!priv->adev) return -ENOMEM; @@ -310,7 +310,7 @@ static struct mlx5_adev *add_adev(struct mlx5_core_dev *dev, int idx) struct mlx5_adev *madev; int ret; - madev = kzalloc(sizeof(*madev), GFP_KERNEL); + madev = kzalloc_obj(*madev, GFP_KERNEL); if (!madev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c index ea77fbd98396..18cfb7655805 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/devlink.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/devlink.c @@ -294,7 +294,7 @@ static int mlx5_devlink_trap_init(struct devlink *devlink, const struct devlink_ struct mlx5_core_dev *dev = devlink_priv(devlink); struct mlx5_devlink_trap *dl_trap; - dl_trap = kzalloc(sizeof(*dl_trap), GFP_KERNEL); + dl_trap = kzalloc_obj(*dl_trap, GFP_KERNEL); if (!dl_trap) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c b/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c index 6b4ec457ce22..d2e2c9f0f340 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/fw_tracer.c @@ -412,7 +412,7 @@ static struct tracer_string_format *mlx5_tracer_message_insert(struct mlx5_fw_tr &tracer->hash[mlx5_tracer_message_hash(tracer_event->string_event.tmsn)]; struct tracer_string_format *cur_string; - cur_string = kzalloc(sizeof(*cur_string), GFP_KERNEL); + cur_string = kzalloc_obj(*cur_string, GFP_KERNEL); if (!cur_string) return NULL; @@ -1023,7 +1023,7 @@ struct mlx5_fw_tracer *mlx5_fw_tracer_create(struct mlx5_core_dev *dev) return NULL; } - tracer = kvzalloc(sizeof(*tracer), GFP_KERNEL); + tracer = kvzalloc_obj(*tracer, GFP_KERNEL); if (!tracer) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c index c5b560a8b026..9bcc2d8edc76 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/diag/rsc_dump.c @@ -137,7 +137,7 @@ struct mlx5_rsc_dump_cmd *mlx5_rsc_dump_cmd_create(struct mlx5_core_dev *dev, if (!sgmt_type && key->rsc != MLX5_SGMT_TYPE_MENU) return ERR_PTR(-EOPNOTSUPP); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { mlx5_core_err(dev, "Resource dump: Failed to allocate command\n"); return ERR_PTR(-ENOMEM); @@ -255,7 +255,7 @@ struct mlx5_rsc_dump *mlx5_rsc_dump_create(struct mlx5_core_dev *dev) mlx5_core_dbg(dev, "Resource dump: capability not present\n"); return NULL; } - rsc_dump = kzalloc(sizeof(*rsc_dump), GFP_KERNEL); + rsc_dump = kzalloc_obj(*rsc_dump, GFP_KERNEL); if (!rsc_dump) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/dpll.c b/drivers/net/ethernet/mellanox/mlx5/core/dpll.c index 3981dd81d4c1..abb678fe3021 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/dpll.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/dpll.c @@ -433,7 +433,7 @@ static int mlx5_dpll_probe(struct auxiliary_device *adev, if (err) return err; - mdpll = kzalloc(sizeof(*mdpll), GFP_KERNEL); + mdpll = kzalloc_obj(*mdpll, GFP_KERNEL); if (!mdpll) return -ENOMEM; mdpll->mdev = mdev; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c b/drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c index 671adbad0a40..8b418e8538ca 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/fs_tt_redirect.c @@ -90,7 +90,7 @@ mlx5e_fs_tt_redirect_udp_add_rule(struct mlx5e_flow_steering *fs, if (type == FS_UDP_NUM_TYPES) return ERR_PTR(-EINVAL); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -150,7 +150,7 @@ static int fs_udp_create_groups(struct mlx5e_flow_table *ft, enum fs_udp_type ty int err; u8 *mc; - ft->g = kcalloc(MLX5E_FS_UDP_NUM_GROUPS, sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, MLX5E_FS_UDP_NUM_GROUPS, GFP_KERNEL); in = kvzalloc(inlen, GFP_KERNEL); if (!in || !ft->g) { kfree(ft->g); @@ -325,7 +325,7 @@ int mlx5e_fs_tt_redirect_udp_create(struct mlx5e_flow_steering *fs) return 0; } - udp = kzalloc(sizeof(*udp), GFP_KERNEL); + udp = kzalloc_obj(*udp, GFP_KERNEL); if (!udp) return -ENOMEM; mlx5e_fs_set_udp(fs, udp); @@ -372,7 +372,7 @@ mlx5e_fs_tt_redirect_any_add_rule(struct mlx5e_flow_steering *fs, struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -432,7 +432,7 @@ static int fs_any_create_groups(struct mlx5e_flow_table *ft) int err; u8 *mc; - ft->g = kcalloc(MLX5E_FS_UDP_NUM_GROUPS, sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, MLX5E_FS_UDP_NUM_GROUPS, GFP_KERNEL); in = kvzalloc(inlen, GFP_KERNEL); if (!in || !ft->g) { kfree(ft->g); @@ -589,7 +589,7 @@ int mlx5e_fs_tt_redirect_any_create(struct mlx5e_flow_steering *fs) return 0; } - fs_any = kzalloc(sizeof(*fs_any), GFP_KERNEL); + fs_any = kzalloc_obj(*fs_any, GFP_KERNEL); if (!fs_any) return -ENOMEM; mlx5e_fs_set_any(fs, fs_any); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/htb.c b/drivers/net/ethernet/mellanox/mlx5/core/en/htb.c index 09d441ecb9f6..c63b8022fae6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/htb.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/htb.c @@ -72,7 +72,7 @@ mlx5e_htb_node_create_leaf(struct mlx5e_htb *htb, u16 classid, u16 qid, { struct mlx5e_qos_node *node; - node = kzalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc_obj(*node, GFP_KERNEL); if (!node) return ERR_PTR(-ENOMEM); @@ -93,7 +93,7 @@ static struct mlx5e_qos_node *mlx5e_htb_node_create_root(struct mlx5e_htb *htb) { struct mlx5e_qos_node *node; - node = kzalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc_obj(*node, GFP_KERNEL); if (!node) return ERR_PTR(-ENOMEM); @@ -694,7 +694,7 @@ mlx5e_htb_node_modify(struct mlx5e_htb *htb, u16 classid, u64 rate, u64 ceil, struct mlx5e_htb *mlx5e_htb_alloc(void) { - return kvzalloc(sizeof(struct mlx5e_htb), GFP_KERNEL); + return kvzalloc_obj(struct mlx5e_htb, GFP_KERNEL); } void mlx5e_htb_free(struct mlx5e_htb *htb) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/mapping.c b/drivers/net/ethernet/mellanox/mlx5/core/en/mapping.c index 1de18c7e96ec..b1a84a01a81c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/mapping.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/mapping.c @@ -198,7 +198,7 @@ mapping_create(size_t data_size, u32 max_id, bool delayed_removal) { struct mapping_ctx *ctx; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c b/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c index 74660e7fe674..5f4a7ca15518 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c @@ -883,7 +883,7 @@ int mlx5e_ptp_open(struct mlx5e_priv *priv, struct mlx5e_params *params, c = kvzalloc_node(sizeof(*c), GFP_KERNEL, dev_to_node(mlx5_core_dma_dev(mdev))); - cparams = kvzalloc(sizeof(*cparams), GFP_KERNEL); + cparams = kvzalloc_obj(*cparams, GFP_KERNEL); if (!c || !cparams) { err = -ENOMEM; goto err_free; @@ -988,7 +988,7 @@ int mlx5e_ptp_alloc_rx_fs(struct mlx5e_flow_steering *fs, if (!mlx5e_profile_feature_cap(profile, PTP_RX)) return 0; - ptp_fs = kzalloc(sizeof(*ptp_fs), GFP_KERNEL); + ptp_fs = kzalloc_obj(*ptp_fs, GFP_KERNEL); if (!ptp_fs) return -ENOMEM; mlx5e_fs_set_ptp(fs, ptp_fs); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c b/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c index 4e461cb03b83..cebcff010eac 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/qos.c @@ -87,8 +87,9 @@ int mlx5e_open_qos_sq(struct mlx5e_priv *priv, struct mlx5e_channels *chs, if (!priv->htb_qos_sq_stats) { struct mlx5e_sq_stats **stats_list; - stats_list = kvcalloc(mlx5e_qos_max_leaf_nodes(priv->mdev), - sizeof(*stats_list), GFP_KERNEL); + stats_list = kvzalloc_objs(*stats_list, + mlx5e_qos_max_leaf_nodes(priv->mdev), + GFP_KERNEL); if (!stats_list) return -ENOMEM; @@ -98,7 +99,7 @@ int mlx5e_open_qos_sq(struct mlx5e_priv *priv, struct mlx5e_channels *chs, if (!priv->htb_qos_sq_stats[node_qid]) { struct mlx5e_sq_stats *stats; - stats = kzalloc(sizeof(*stats), GFP_KERNEL); + stats = kzalloc_obj(*stats, GFP_KERNEL); if (!stats) return -ENOMEM; @@ -114,7 +115,7 @@ int mlx5e_open_qos_sq(struct mlx5e_priv *priv, struct mlx5e_channels *chs, c = chs->c[ix]; qos_sqs = mlx5e_state_dereference(priv, c->qos_sqs); - sq = kzalloc(sizeof(*sq), GFP_KERNEL); + sq = kzalloc_obj(*sq, GFP_KERNEL); if (!sq) return -ENOMEM; @@ -276,7 +277,8 @@ int mlx5e_qos_alloc_queues(struct mlx5e_priv *priv, struct mlx5e_channels *chs) for (i = 0; i < chs->num; i++) { struct mlx5e_txqsq **sqs; - sqs = kvcalloc(qos_sqs_size, sizeof(struct mlx5e_txqsq *), GFP_KERNEL); + sqs = kvzalloc_objs(struct mlx5e_txqsq *, qos_sqs_size, + GFP_KERNEL); if (!sqs) goto err_free; @@ -460,7 +462,7 @@ struct mlx5e_mqprio_rl { struct mlx5e_mqprio_rl *mlx5e_mqprio_rl_alloc(void) { - return kvzalloc(sizeof(struct mlx5e_mqprio_rl), GFP_KERNEL); + return kvzalloc_obj(struct mlx5e_mqprio_rl, GFP_KERNEL); } void mlx5e_mqprio_rl_free(struct mlx5e_mqprio_rl *rl) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bond.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bond.c index 016a61c52c45..8038deae35a7 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bond.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bond.c @@ -92,7 +92,7 @@ int mlx5e_rep_bond_enslave(struct mlx5_eswitch *esw, struct net_device *netdev, mdata = mlx5e_lookup_rep_bond_metadata(&rpriv->uplink_priv, lag_dev); if (!mdata) { /* First netdev becomes slave, no metadata presents the lag_dev. Create one */ - mdata = kzalloc(sizeof(*mdata), GFP_KERNEL); + mdata = kzalloc_obj(*mdata, GFP_KERNEL); if (!mdata) return -ENOMEM; @@ -110,7 +110,7 @@ int mlx5e_rep_bond_enslave(struct mlx5_eswitch *esw, struct net_device *netdev, mdata->metadata_reg_c_0); } - s_entry = kzalloc(sizeof(*s_entry), GFP_KERNEL); + s_entry = kzalloc_obj(*s_entry, GFP_KERNEL); if (!s_entry) { err = -ENOMEM; goto entry_alloc_err; @@ -315,7 +315,7 @@ int mlx5e_rep_bond_init(struct mlx5e_rep_priv *rpriv) if (!mlx5_esw_acl_egress_fwd2vport_supported(priv->mdev->priv.eswitch)) goto out; - uplink_priv->bond = kvzalloc(sizeof(*uplink_priv->bond), GFP_KERNEL); + uplink_priv->bond = kvzalloc_obj(*uplink_priv->bond, GFP_KERNEL); if (!uplink_priv->bond) { ret = -ENOMEM; goto out; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c index 87a2ad69526d..baac38bece14 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/bridge.c @@ -394,7 +394,7 @@ mlx5_esw_bridge_init_switchdev_fdb_work(struct net_device *dev, bool add, struct mlx5_bridge_switchdev_fdb_work *work; u8 *addr; - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c index 2e9bee4e5209..cbfb0cc32a3b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/neigh.c @@ -173,7 +173,7 @@ static struct neigh_update_work *mlx5e_alloc_neigh_update_work(struct mlx5e_priv struct mlx5e_neigh_hash_entry *nhe; struct mlx5e_neigh m_neigh = {}; - update_work = kzalloc(sizeof(*update_work), GFP_ATOMIC); + update_work = kzalloc_obj(*update_work, GFP_ATOMIC); if (WARN_ON(!update_work)) return NULL; @@ -376,7 +376,7 @@ int mlx5e_rep_neigh_entry_create(struct mlx5e_priv *priv, { int err; - *nhe = kzalloc(sizeof(**nhe), GFP_KERNEL); + *nhe = kzalloc_obj(**nhe, GFP_KERNEL); if (!*nhe) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c index a55452c69f06..2dc5e139c99c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rep/tc.c @@ -503,7 +503,7 @@ mlx5e_rep_indr_setup_block(struct net_device *netdev, struct Qdisc *sch, if (indr_priv) return -EEXIST; - indr_priv = kmalloc(sizeof(*indr_priv), GFP_KERNEL); + indr_priv = kmalloc_obj(*indr_priv, GFP_KERNEL); if (!indr_priv) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rss.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rss.c index 88b0e1050d1a..c9d141b8650b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rss.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rss.c @@ -93,7 +93,7 @@ void mlx5e_rss_params_indir_modify_actual_size(struct mlx5e_rss *rss, u32 num_ch int mlx5e_rss_params_indir_init(struct mlx5e_rss_params_indir *indir, u32 actual_table_size, u32 max_table_size) { - indir->table = kvmalloc_array(max_table_size, sizeof(*indir->table), GFP_KERNEL); + indir->table = kvmalloc_objs(*indir->table, max_table_size, GFP_KERNEL); if (!indir->table) return -ENOMEM; @@ -134,7 +134,7 @@ static struct mlx5e_rss *mlx5e_rss_init_copy(const struct mlx5e_rss *from) struct mlx5e_rss *rss; int err; - rss = kvzalloc(sizeof(*rss), GFP_KERNEL); + rss = kvzalloc_obj(*rss, GFP_KERNEL); if (!rss) return ERR_PTR(-ENOMEM); @@ -216,7 +216,7 @@ mlx5e_rss_create_tir(struct mlx5e_rss *rss, enum mlx5_traffic_types tt, if (*tir_p) return -EINVAL; - tir = kvzalloc(sizeof(*tir), GFP_KERNEL); + tir = kvzalloc_obj(*tir, GFP_KERNEL); if (!tir) return -ENOMEM; @@ -372,7 +372,7 @@ mlx5e_rss_init(struct mlx5_core_dev *mdev, struct mlx5e_rss *rss; int err; - rss = kvzalloc(sizeof(*rss), GFP_KERNEL); + rss = kvzalloc_obj(*rss, GFP_KERNEL); if (!rss) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/rx_res.c b/drivers/net/ethernet/mellanox/mlx5/core/en/rx_res.c index 55c117b7d8c4..a9f55ffb894e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/rx_res.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/rx_res.c @@ -325,7 +325,7 @@ static struct mlx5e_rx_res *mlx5e_rx_res_alloc(struct mlx5_core_dev *mdev, unsig { struct mlx5e_rx_res *rx_res; - rx_res = kvzalloc(sizeof(*rx_res), GFP_KERNEL); + rx_res = kvzalloc_obj(*rx_res, GFP_KERNEL); if (!rx_res) return NULL; @@ -359,7 +359,7 @@ static int mlx5e_rx_res_channels_init(struct mlx5e_rx_res *res) if (!builder) return -ENOMEM; - res->channels = kvcalloc(res->max_nch, sizeof(*res->channels), GFP_KERNEL); + res->channels = kvzalloc_objs(*res->channels, res->max_nch, GFP_KERNEL); if (!res->channels) { err = -ENOMEM; goto out; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/selq.c b/drivers/net/ethernet/mellanox/mlx5/core/en/selq.c index f66bbc846464..4598d922385a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/selq.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/selq.c @@ -30,11 +30,11 @@ int mlx5e_selq_init(struct mlx5e_selq *selq, struct mutex *state_lock) selq->state_lock = state_lock; - selq->standby = kvzalloc(sizeof(*selq->standby), GFP_KERNEL); + selq->standby = kvzalloc_obj(*selq->standby, GFP_KERNEL); if (!selq->standby) return -ENOMEM; - init_params = kvzalloc(sizeof(*selq->active), GFP_KERNEL); + init_params = kvzalloc_obj(*selq->active, GFP_KERNEL); if (!init_params) { kvfree(selq->standby); selq->standby = NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act_stats.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act_stats.c index 7aa926e542d3..45ff384b66d4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act_stats.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/act_stats.c @@ -36,7 +36,7 @@ mlx5e_tc_act_stats_create(void) struct mlx5e_tc_act_stats_handle *handle; int err; - handle = kvzalloc(sizeof(*handle), GFP_KERNEL); + handle = kvzalloc_obj(*handle, GFP_KERNEL); if (!handle) return ERR_PTR(-ENOMEM); @@ -67,7 +67,7 @@ mlx5e_tc_act_stats_add(struct mlx5e_tc_act_stats_handle *handle, u64 lastused; int err = 0; - act_stats = kvzalloc(sizeof(*act_stats), GFP_KERNEL); + act_stats = kvzalloc_obj(*act_stats, GFP_KERNEL); if (!act_stats) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c index 64a82aafaaca..e983da2574ec 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_dmfs.c @@ -34,7 +34,7 @@ mlx5_ct_fs_dmfs_ct_rule_add(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec, struct mlx5_ct_fs_dmfs_rule *dmfs_rule; int err; - dmfs_rule = kzalloc(sizeof(*dmfs_rule), GFP_KERNEL); + dmfs_rule = kzalloc_obj(*dmfs_rule, GFP_KERNEL); if (!dmfs_rule) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c index d3db6146fcad..59aa6ee5be05 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_hmfs.c @@ -203,7 +203,7 @@ mlx5_ct_fs_hmfs_ct_rule_add(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec, if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule)) return ERR_PTR(-EOPNOTSUPP); - hmfs_rule = kzalloc(sizeof(*hmfs_rule), GFP_KERNEL); + hmfs_rule = kzalloc_obj(*hmfs_rule, GFP_KERNEL); if (!hmfs_rule) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c index 4d6924b644c9..897d8f7ed7f2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ct_fs_smfs.c @@ -92,7 +92,7 @@ mlx5_ct_fs_smfs_matcher_create(struct mlx5_ct_fs *fs, struct mlx5dr_table *tbl, struct mlx5dr_matcher *dr_matcher; struct mlx5_flow_spec *spec; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -234,7 +234,7 @@ mlx5_ct_fs_smfs_ct_rule_add(struct mlx5_ct_fs *fs, struct mlx5_flow_spec *spec, if (!mlx5e_tc_ct_is_valid_flow_rule(fs->netdev, flow_rule)) return ERR_PTR(-EOPNOTSUPP); - smfs_rule = kzalloc(sizeof(*smfs_rule), GFP_KERNEL); + smfs_rule = kzalloc_obj(*smfs_rule, GFP_KERNEL); if (!smfs_rule) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c index 991f47050643..11754c8ae986 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/int_port.c @@ -69,7 +69,7 @@ mlx5e_int_port_create_rx_rule(struct mlx5_eswitch *esw, struct mlx5_flow_spec *spec; void *misc; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -167,7 +167,7 @@ mlx5e_int_port_add(struct mlx5e_tc_int_port_priv *priv, return ERR_PTR(-ENOSPC); } - int_port = kzalloc(sizeof(*int_port), GFP_KERNEL); + int_port = kzalloc_obj(*int_port, GFP_KERNEL); if (!int_port) return ERR_PTR(-ENOMEM); @@ -313,7 +313,7 @@ mlx5e_tc_int_port_init(struct mlx5e_priv *priv) if (!mlx5e_tc_int_port_supported(esw)) return NULL; - int_port_priv = kzalloc(sizeof(*int_port_priv), GFP_KERNEL); + int_port_priv = kzalloc_obj(*int_port_priv, GFP_KERNEL); if (!int_port_priv) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c index d5d9146efca6..80ddbe373f97 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/meter.c @@ -247,7 +247,7 @@ __mlx5e_flow_meter_alloc(struct mlx5e_flow_meters *flow_meters, bool alloc_aso) int err, pos, total; u32 id; - meter = kzalloc(sizeof(*meter), GFP_KERNEL); + meter = kzalloc_obj(*meter, GFP_KERNEL); if (!meter) return ERR_PTR(-ENOMEM); @@ -526,7 +526,7 @@ mlx5e_flow_meters_init(struct mlx5e_priv *priv, return ERR_PTR(-EOPNOTSUPP); } - flow_meters = kzalloc(sizeof(*flow_meters), GFP_KERNEL); + flow_meters = kzalloc_obj(*flow_meters, GFP_KERNEL); if (!flow_meters) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_act.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_act.c index b500cc2c9689..62184531b3e6 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_act.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_act.c @@ -42,7 +42,7 @@ mlx5e_tc_post_act_init(struct mlx5e_priv *priv, struct mlx5_fs_chains *chains, goto err_check; } - post_act = kzalloc(sizeof(*post_act), GFP_KERNEL); + post_act = kzalloc_obj(*post_act, GFP_KERNEL); if (!post_act) { err = -ENOMEM; goto err_check; @@ -86,7 +86,7 @@ mlx5e_tc_post_act_offload(struct mlx5e_post_act *post_act, if (IS_ERR(post_act)) return PTR_ERR(post_act); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -117,7 +117,7 @@ mlx5e_tc_post_act_add(struct mlx5e_post_act *post_act, struct mlx5_flow_attr *po if (IS_ERR(post_act)) return ERR_CAST(post_act); - handle = kzalloc(sizeof(*handle), GFP_KERNEL); + handle = kzalloc_obj(*handle, GFP_KERNEL); if (!handle) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_meter.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_meter.c index 50b60fd00946..e5467a94e9dc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_meter.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/post_meter.c @@ -156,7 +156,7 @@ mlx5e_post_meter_rate_rules_create(struct mlx5e_priv *priv, struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -402,7 +402,7 @@ mlx5e_post_meter_init(struct mlx5e_priv *priv, struct mlx5e_post_meter_priv *post_meter; int err; - post_meter = kzalloc(sizeof(*post_meter), GFP_KERNEL); + post_meter = kzalloc_obj(*post_meter, GFP_KERNEL); if (!post_meter) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c index 5db239cae814..938961520f6c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc/sample.c @@ -183,7 +183,7 @@ sampler_get(struct mlx5e_tc_psample *tc_psample, u32 sample_ratio, u32 default_t sample_ratio, default_table_id)) goto add_ref; - sampler = kzalloc(sizeof(*sampler), GFP_KERNEL); + sampler = kzalloc_obj(*sampler, GFP_KERNEL); if (!sampler) { err = -ENOMEM; goto err_alloc; @@ -273,7 +273,7 @@ sample_restore_get(struct mlx5e_tc_psample *tc_psample, u32 obj_id, if (restore->obj_id == obj_id) goto add_ref; - restore = kzalloc(sizeof(*restore), GFP_KERNEL); + restore = kzalloc_obj(*restore, GFP_KERNEL); if (!restore) { err = -ENOMEM; goto err_alloc; @@ -485,7 +485,7 @@ mlx5e_tc_sample_offload(struct mlx5e_tc_psample *tc_psample, if (IS_ERR_OR_NULL(tc_psample)) return ERR_PTR(-EOPNOTSUPP); - sample_flow = kzalloc(sizeof(*sample_flow), GFP_KERNEL); + sample_flow = kzalloc_obj(*sample_flow, GFP_KERNEL); if (!sample_flow) return ERR_PTR(-ENOMEM); sample_attr = &attr->sample_attr; @@ -619,7 +619,7 @@ mlx5e_tc_sample_init(struct mlx5_eswitch *esw, struct mlx5e_post_act *post_act) struct mlx5e_tc_psample *tc_psample; int err; - tc_psample = kzalloc(sizeof(*tc_psample), GFP_KERNEL); + tc_psample = kzalloc_obj(*tc_psample, GFP_KERNEL); if (!tc_psample) return ERR_PTR(-ENOMEM); if (IS_ERR_OR_NULL(post_act)) { diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c index fc0e57403d25..2d3654faabfa 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_ct.c @@ -812,7 +812,7 @@ mlx5_tc_ct_entry_add_rule(struct mlx5_tc_ct_priv *ct_priv, zone_rule->nat = nat; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -887,7 +887,7 @@ mlx5_tc_ct_entry_update_rule(struct mlx5_tc_ct_priv *ct_priv, struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -1021,7 +1021,7 @@ mlx5_tc_ct_counter_create(struct mlx5_tc_ct_priv *ct_priv) struct mlx5_ct_counter *counter; int ret; - counter = kzalloc(sizeof(*counter), GFP_KERNEL); + counter = kzalloc_obj(*counter, GFP_KERNEL); if (!counter) return ERR_PTR(-ENOMEM); @@ -1219,7 +1219,7 @@ mlx5_tc_ct_block_flow_offload_add(struct mlx5_ct_ft *ft, } spin_unlock_bh(&ct_priv->ht_lock); - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1620,7 +1620,7 @@ static int tc_ct_pre_ct_add_rules(struct mlx5_ct_ft *ct_ft, u16 zone; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -1856,7 +1856,7 @@ mlx5_tc_ct_add_ft_cb(struct mlx5_tc_ct_priv *ct_priv, u16 zone, return ft; } - ft = kzalloc(sizeof(*ft), GFP_KERNEL); + ft = kzalloc_obj(*ft, GFP_KERNEL); if (!ft) return ERR_PTR(-ENOMEM); @@ -2298,7 +2298,7 @@ mlx5_tc_ct_init(struct mlx5e_priv *priv, struct mlx5_fs_chains *chains, if (err) goto err_support; - ct_priv = kzalloc(sizeof(*ct_priv), GFP_KERNEL); + ct_priv = kzalloc_obj(*ct_priv, GFP_KERNEL); if (!ct_priv) goto err_alloc; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c index 0735d10f2bac..9a7c6df78640 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tc_tun_encap.c @@ -87,7 +87,7 @@ int mlx5e_tc_set_attr_rx_tun(struct mlx5e_tc_flow *flow, void *daddr, *saddr; u8 ip_version; - tun_attr = kvzalloc(sizeof(*tun_attr), GFP_KERNEL); + tun_attr = kvzalloc_obj(*tun_attr, GFP_KERNEL); if (!tun_attr) return -ENOMEM; @@ -864,7 +864,7 @@ int mlx5e_attach_encap(struct mlx5e_priv *priv, goto attach_flow; } - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) { err = -ENOMEM; goto out_err; @@ -976,7 +976,7 @@ int mlx5e_attach_decap(struct mlx5e_priv *priv, goto found; } - d = kzalloc(sizeof(*d), GFP_KERNEL); + d = kzalloc_obj(*d, GFP_KERNEL); if (!d) { err = -ENOMEM; goto out_err; @@ -1205,7 +1205,7 @@ mlx5e_route_get_create(struct mlx5e_priv *priv, return r; } - r = kzalloc(sizeof(*r), GFP_KERNEL); + r = kzalloc_obj(*r, GFP_KERNEL); if (!r) return ERR_PTR(-ENOMEM); @@ -1251,7 +1251,7 @@ mlx5e_tc_init_fib_work(unsigned long event, struct net_device *ul_dev, gfp_t fla { struct mlx5e_tc_fib_event_data *fib_work; - fib_work = kzalloc(sizeof(*fib_work), flags); + fib_work = kzalloc_obj(*fib_work, flags); if (WARN_ON(!fib_work)) return NULL; @@ -1862,7 +1862,7 @@ struct mlx5e_tc_tun_encap *mlx5e_tc_tun_init(struct mlx5e_priv *priv) struct mlx5e_tc_tun_encap *encap; int err; - encap = kvzalloc(sizeof(*encap), GFP_KERNEL); + encap = kvzalloc_obj(*encap, GFP_KERNEL); if (!encap) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/tir.c b/drivers/net/ethernet/mellanox/mlx5/core/en/tir.c index 0b55e77f19c8..e02f04a7b211 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/tir.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/tir.c @@ -22,7 +22,7 @@ struct mlx5e_tir_builder *mlx5e_tir_builder_alloc(bool modify) { struct mlx5e_tir_builder *builder; - builder = kvzalloc(sizeof(*builder), GFP_KERNEL); + builder = kvzalloc_obj(*builder, GFP_KERNEL); if (!builder) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c index 5c5360a25c64..52de57d7c7dc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/pool.c @@ -23,8 +23,8 @@ static void mlx5e_xsk_unmap_pool(struct mlx5e_priv *priv, static int mlx5e_xsk_get_pools(struct mlx5e_xsk *xsk) { if (!xsk->pools) { - xsk->pools = kcalloc(MLX5E_MAX_NUM_CHANNELS, - sizeof(*xsk->pools), GFP_KERNEL); + xsk->pools = kzalloc_objs(*xsk->pools, MLX5E_MAX_NUM_CHANNELS, + GFP_KERNEL); if (unlikely(!xsk->pools)) return -ENOMEM; } diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c index 5981c71cae2d..bd0cf822cea9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en/xsk/setup.c @@ -123,7 +123,7 @@ int mlx5e_open_xsk(struct mlx5e_priv *priv, struct mlx5e_params *params, if (!mlx5e_validate_xsk_param(params, xsk, priv->mdev)) return -EINVAL; - cparam = kvzalloc(sizeof(*cparam), GFP_KERNEL); + cparam = kvzalloc_obj(*cparam, GFP_KERNEL); if (!cparam) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c index 1febdc5b81f9..64fe7921f380 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/fs_tcp.c @@ -82,7 +82,7 @@ struct mlx5_flow_handle *mlx5e_accel_fs_add_sk(struct mlx5e_flow_steering *fs, struct mlx5_flow_handle *flow; struct mlx5_flow_spec *spec; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -186,7 +186,7 @@ static int accel_fs_tcp_create_groups(struct mlx5e_flow_table *ft, int err; u8 *mc; - ft->g = kcalloc(MLX5E_ACCEL_FS_TCP_NUM_GROUPS, sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, MLX5E_ACCEL_FS_TCP_NUM_GROUPS, GFP_KERNEL); in = kvzalloc(inlen, GFP_KERNEL); if (!in || !ft->g) { kfree(ft->g); @@ -378,7 +378,7 @@ int mlx5e_accel_fs_tcp_create(struct mlx5e_flow_steering *fs) if (!MLX5_CAP_FLOWTABLE_NIC_RX(mlx5e_fs_get_mdev(fs), ft_field_support.outer_ip_version)) return -EOPNOTSUPP; - accel_tcp = kzalloc(sizeof(*accel_tcp), GFP_KERNEL); + accel_tcp = kzalloc_obj(*accel_tcp, GFP_KERNEL); if (!accel_tcp) return -ENOMEM; mlx5e_fs_set_accel_tcp(fs, accel_tcp); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c index 9c7064187ed0..6ae17d24e64d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec.c @@ -712,21 +712,20 @@ static int mlx5_ipsec_create_work(struct mlx5e_ipsec_sa_entry *sa_entry) break; } - work = kzalloc(sizeof(*work), GFP_KERNEL); + work = kzalloc_obj(*work, GFP_KERNEL); if (!work) return -ENOMEM; switch (x->xso.type) { case XFRM_DEV_OFFLOAD_CRYPTO: - data = kzalloc(sizeof(*sa_entry), GFP_KERNEL); + data = kzalloc_obj(*sa_entry, GFP_KERNEL); if (!data) goto free_work; INIT_WORK(&work->work, mlx5e_ipsec_modify_state); break; case XFRM_DEV_OFFLOAD_PACKET: - data = kzalloc(sizeof(struct mlx5e_ipsec_netevent_data), - GFP_KERNEL); + data = kzalloc_obj(struct mlx5e_ipsec_netevent_data, GFP_KERNEL); if (!data) goto free_work; @@ -760,7 +759,7 @@ static int mlx5e_ipsec_create_dwork(struct mlx5e_ipsec_sa_entry *sa_entry) x->lft.hard_byte_limit == XFRM_INF) return 0; - dwork = kzalloc(sizeof(*dwork), GFP_KERNEL); + dwork = kzalloc_obj(*dwork, GFP_KERNEL); if (!dwork) return -ENOMEM; @@ -787,7 +786,7 @@ static int mlx5e_xfrm_add_state(struct net_device *dev, ipsec = priv->ipsec; gfp = (x->xso.flags & XFRM_DEV_OFFLOAD_FLAG_ACQ) ? GFP_ATOMIC : GFP_KERNEL; - sa_entry = kzalloc(sizeof(*sa_entry), gfp); + sa_entry = kzalloc_obj(*sa_entry, gfp); if (!sa_entry) return -ENOMEM; @@ -989,7 +988,7 @@ void mlx5e_ipsec_init(struct mlx5e_priv *priv) return; } - ipsec = kzalloc(sizeof(*ipsec), GFP_KERNEL); + ipsec = kzalloc_obj(*ipsec, GFP_KERNEL); if (!ipsec) return; @@ -1277,7 +1276,7 @@ static int mlx5e_xfrm_add_policy(struct xfrm_policy *x, if (err) return err; - pol_entry = kzalloc(sizeof(*pol_entry), GFP_KERNEL); + pol_entry = kzalloc_obj(*pol_entry, GFP_KERNEL); if (!pol_entry) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c index feef86fff4bf..8139772387f1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_fs.c @@ -208,7 +208,7 @@ static int rx_add_rule_drop_auth_trailer(struct mlx5e_ipsec_sa_entry *sa_entry, struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -287,7 +287,7 @@ static int rx_add_rule_drop_replay(struct mlx5e_ipsec_sa_entry *sa_entry, struct struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -347,7 +347,7 @@ static int ipsec_rx_status_drop_all_create(struct mlx5e_ipsec *ipsec, int err = 0; flow_group_in = kvzalloc(inlen, GFP_KERNEL); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!flow_group_in || !spec) { err = -ENOMEM; goto err_out; @@ -454,7 +454,7 @@ ipsec_rx_status_pass_create(struct mlx5e_ipsec *ipsec, struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -554,7 +554,7 @@ static int ipsec_miss_create(struct mlx5_core_dev *mdev, int err = 0; flow_group_in = kvzalloc(inlen, GFP_KERNEL); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!flow_group_in || !spec) { err = -ENOMEM; goto out; @@ -1226,7 +1226,7 @@ static int ipsec_counter_rule_tx(struct mlx5_core_dev *mdev, struct mlx5e_ipsec_ struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -1962,7 +1962,7 @@ static int rx_add_rule_sa_selector(struct mlx5e_ipsec_sa_entry *sa_entry, struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -2046,7 +2046,7 @@ static int rx_add_rule(struct mlx5e_ipsec_sa_entry *sa_entry) if (IS_ERR(rx)) return PTR_ERR(rx); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { err = -ENOMEM; goto err_alloc; @@ -2176,7 +2176,7 @@ static int tx_add_rule(struct mlx5e_ipsec_sa_entry *sa_entry) if (IS_ERR(tx)) return PTR_ERR(tx); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { err = -ENOMEM; goto err_alloc; @@ -2267,7 +2267,7 @@ static int tx_add_policy(struct mlx5e_ipsec_pol_entry *pol_entry) if (IS_ERR(ft)) return PTR_ERR(ft); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { err = -ENOMEM; goto err_alloc; @@ -2354,7 +2354,7 @@ static int rx_add_policy(struct mlx5e_ipsec_pol_entry *pol_entry) rx = ipsec_rx(pol_entry->ipsec, attrs->addrs.family, attrs->type); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { err = -ENOMEM; goto err_alloc; @@ -2434,7 +2434,7 @@ static struct mlx5e_ipsec_fc *ipsec_fs_init_single_counter(struct mlx5_core_dev struct mlx5_fc *counter; int err; - fc = kzalloc(sizeof(*fc), GFP_KERNEL); + fc = kzalloc_obj(*fc, GFP_KERNEL); if (!fc) return ERR_PTR(-ENOMEM); @@ -2778,24 +2778,24 @@ int mlx5e_accel_ipsec_fs_init(struct mlx5e_ipsec *ipsec, if (!ns_esw) return -EOPNOTSUPP; - ipsec->tx_esw = kzalloc(sizeof(*ipsec->tx_esw), GFP_KERNEL); + ipsec->tx_esw = kzalloc_obj(*ipsec->tx_esw, GFP_KERNEL); if (!ipsec->tx_esw) return -ENOMEM; - ipsec->rx_esw = kzalloc(sizeof(*ipsec->rx_esw), GFP_KERNEL); + ipsec->rx_esw = kzalloc_obj(*ipsec->rx_esw, GFP_KERNEL); if (!ipsec->rx_esw) goto err_rx_esw; } - ipsec->tx = kzalloc(sizeof(*ipsec->tx), GFP_KERNEL); + ipsec->tx = kzalloc_obj(*ipsec->tx, GFP_KERNEL); if (!ipsec->tx) goto err_tx; - ipsec->rx_ipv4 = kzalloc(sizeof(*ipsec->rx_ipv4), GFP_KERNEL); + ipsec->rx_ipv4 = kzalloc_obj(*ipsec->rx_ipv4, GFP_KERNEL); if (!ipsec->rx_ipv4) goto err_rx_ipv4; - ipsec->rx_ipv6 = kzalloc(sizeof(*ipsec->rx_ipv6), GFP_KERNEL); + ipsec->rx_ipv6 = kzalloc_obj(*ipsec->rx_ipv6, GFP_KERNEL); if (!ipsec->rx_ipv6) goto err_rx_ipv6; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c index ef7322d381af..14d7a63f752e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ipsec_offload.c @@ -503,7 +503,7 @@ static int mlx5e_ipsec_event(struct notifier_block *nb, unsigned long event, if (!sa_entry) return NOTIFY_DONE; - work = kmalloc(sizeof(*work), GFP_ATOMIC); + work = kmalloc_obj(*work, GFP_ATOMIC); if (!work) return NOTIFY_DONE; @@ -522,7 +522,7 @@ int mlx5e_ipsec_aso_init(struct mlx5e_ipsec *ipsec) struct device *pdev; int err; - aso = kzalloc(sizeof(*ipsec->aso), GFP_KERNEL); + aso = kzalloc_obj(*ipsec->aso, GFP_KERNEL); if (!aso) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c index 1c2cc2aad2b0..ac348aacdb0d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls.c @@ -199,7 +199,7 @@ int mlx5e_ktls_init(struct mlx5e_priv *priv) if (!mlx5e_is_ktls_device(priv->mdev)) return 0; - tls = kzalloc(sizeof(*tls), GFP_KERNEL); + tls = kzalloc_obj(*tls, GFP_KERNEL); if (!tls) return -ENOMEM; tls->mdev = priv->mdev; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c index 5d8fe252799e..47de07467e0c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_rx.c @@ -90,7 +90,7 @@ mlx5e_ktls_rx_resync_create_resp_list(void) { struct mlx5e_ktls_resync_resp *resp_list; - resp_list = kvzalloc(sizeof(*resp_list), GFP_KERNEL); + resp_list = kvzalloc_obj(*resp_list, GFP_KERNEL); if (!resp_list) return ERR_PTR(-ENOMEM); @@ -261,7 +261,7 @@ resync_post_get_progress_params(struct mlx5e_icosq *sq, int err; u16 pi; - buf = kzalloc(sizeof(*buf), GFP_KERNEL); + buf = kzalloc_obj(*buf, GFP_KERNEL); if (unlikely(!buf)) { err = -ENOMEM; goto err_out; @@ -643,7 +643,7 @@ int mlx5e_ktls_add_rx(struct net_device *netdev, struct sock *sk, tls_ctx = tls_get_ctx(sk); priv = netdev_priv(netdev); - priv_rx = kzalloc(sizeof(*priv_rx), GFP_KERNEL); + priv_rx = kzalloc_obj(*priv_rx, GFP_KERNEL); if (unlikely(!priv_rx)) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c index 08f06984407b..b93f7d41a692 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c @@ -196,7 +196,7 @@ mlx5e_tls_priv_tx_init(struct mlx5_core_dev *mdev, struct mlx5e_tls_sw_stats *sw struct mlx5e_ktls_offload_context_tx *priv_tx; int err; - priv_tx = kzalloc(sizeof(*priv_tx), GFP_KERNEL); + priv_tx = kzalloc_obj(*priv_tx, GFP_KERNEL); if (!priv_tx) return ERR_PTR(-ENOMEM); @@ -360,7 +360,7 @@ static struct mlx5e_tls_tx_pool *mlx5e_tls_tx_pool_init(struct mlx5_core_dev *md BUILD_BUG_ON(MLX5E_TLS_TX_POOL_LOW + MLX5E_TLS_TX_POOL_BULK >= MLX5E_TLS_TX_POOL_HIGH); - pool = kvzalloc(sizeof(*pool), GFP_KERNEL); + pool = kvzalloc_obj(*pool, GFP_KERNEL); if (!pool) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c index 90b3bc5f9166..14db0a2af406 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/macsec.c @@ -165,7 +165,7 @@ static int mlx5e_macsec_aso_reg_mr(struct mlx5_core_dev *mdev, struct mlx5e_macs dma_addr_t dma_addr; int err; - umr = kzalloc(sizeof(*umr), GFP_KERNEL); + umr = kzalloc_obj(*umr, GFP_KERNEL); if (!umr) { err = -ENOMEM; return err; @@ -530,7 +530,7 @@ static int mlx5e_macsec_add_txsa(struct macsec_context *ctx) goto out; } - tx_sa = kzalloc(sizeof(*tx_sa), GFP_KERNEL); + tx_sa = kzalloc_obj(*tx_sa, GFP_KERNEL); if (!tx_sa) { err = -ENOMEM; goto out; @@ -701,13 +701,13 @@ static int mlx5e_macsec_add_rxsc(struct macsec_context *ctx) goto out; } - rx_sc = kzalloc(sizeof(*rx_sc), GFP_KERNEL); + rx_sc = kzalloc_obj(*rx_sc, GFP_KERNEL); if (!rx_sc) { err = -ENOMEM; goto out; } - sc_xarray_element = kzalloc(sizeof(*sc_xarray_element), GFP_KERNEL); + sc_xarray_element = kzalloc_obj(*sc_xarray_element, GFP_KERNEL); if (!sc_xarray_element) { err = -ENOMEM; goto destroy_rx_sc; @@ -912,7 +912,7 @@ static int mlx5e_macsec_add_rxsa(struct macsec_context *ctx) goto out; } - rx_sa = kzalloc(sizeof(*rx_sa), GFP_KERNEL); + rx_sa = kzalloc_obj(*rx_sa, GFP_KERNEL); if (!rx_sa) { err = -ENOMEM; goto out; @@ -1093,7 +1093,7 @@ static int mlx5e_macsec_add_secy(struct macsec_context *ctx) goto out; } - macsec_device = kzalloc(sizeof(*macsec_device), GFP_KERNEL); + macsec_device = kzalloc_obj(*macsec_device, GFP_KERNEL); if (!macsec_device) { err = -ENOMEM; goto out; @@ -1565,7 +1565,7 @@ static int macsec_obj_change_event(struct notifier_block *nb, unsigned long even if (obj_type != MLX5_GENERAL_OBJECT_TYPES_MACSEC) return NOTIFY_DONE; - async_work = kzalloc(sizeof(*async_work), GFP_ATOMIC); + async_work = kzalloc_obj(*async_work, GFP_ATOMIC); if (!async_work) return NOTIFY_DONE; @@ -1730,7 +1730,7 @@ int mlx5e_macsec_init(struct mlx5e_priv *priv) return 0; } - macsec = kzalloc(sizeof(*macsec), GFP_KERNEL); + macsec = kzalloc_obj(*macsec, GFP_KERNEL); if (!macsec) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c index 9a74438ce10a..ea250eecbed1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_accel/psp.c @@ -142,7 +142,7 @@ static int accel_psp_fs_rx_err_add_rule(struct mlx5e_psp_fs *fs, struct mlx5_flow_spec *spec; int err = 0; - spec = kzalloc(sizeof(*spec), GFP_KERNEL); + spec = kzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -344,7 +344,7 @@ static int accel_psp_fs_rx_create_ft(struct mlx5e_psp_fs *fs, int err = 0; flow_group_in = kvzalloc(inlen, GFP_KERNEL); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!flow_group_in || !spec) { err = -ENOMEM; goto out; @@ -560,7 +560,7 @@ static int accel_psp_fs_init_rx(struct mlx5e_psp_fs *fs) enum accel_fs_psp_type i; int err; - accel_psp = kzalloc(sizeof(*accel_psp), GFP_KERNEL); + accel_psp = kzalloc_obj(*accel_psp, GFP_KERNEL); if (!accel_psp) return -ENOMEM; @@ -686,7 +686,7 @@ static int accel_psp_fs_tx_create_ft_table(struct mlx5e_psp_fs *fs) struct mlx5_flow_group *fg; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); in = kvzalloc(inlen, GFP_KERNEL); if (!spec || !in) { err = -ENOMEM; @@ -815,7 +815,7 @@ static int accel_psp_fs_init_tx(struct mlx5e_psp_fs *fs) if (!ns) return -EOPNOTSUPP; - tx_fs = kzalloc(sizeof(*tx_fs), GFP_KERNEL); + tx_fs = kzalloc_obj(*tx_fs, GFP_KERNEL); if (!tx_fs) return -ENOMEM; @@ -896,7 +896,7 @@ static struct mlx5e_psp_fs *mlx5e_accel_psp_fs_init(struct mlx5e_priv *priv) struct mlx5e_psp_fs *fs; int err = 0; - fs = kzalloc(sizeof(*fs), GFP_KERNEL); + fs = kzalloc_obj(*fs, GFP_KERNEL); if (!fs) return ERR_PTR(-ENOMEM); @@ -1127,7 +1127,7 @@ int mlx5e_psp_init(struct mlx5e_priv *priv) return 0; } - psp = kzalloc(sizeof(*psp), GFP_KERNEL); + psp = kzalloc_obj(*psp, GFP_KERNEL); if (!psp) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c index 93cf23278d93..dbe824a62f22 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_arfs.c @@ -260,8 +260,7 @@ static int arfs_create_groups(struct mlx5e_flow_table *ft, int err; u8 *mc; - ft->g = kcalloc(MLX5E_ARFS_NUM_GROUPS, - sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, MLX5E_ARFS_NUM_GROUPS, GFP_KERNEL); if (!ft->g) return -ENOMEM; @@ -392,7 +391,7 @@ int mlx5e_arfs_create_tables(struct mlx5e_flow_steering *fs, if (!ntuple) return 0; - arfs = kvzalloc(sizeof(*arfs), GFP_KERNEL); + arfs = kvzalloc_obj(*arfs, GFP_KERNEL); if (!arfs) return -ENOMEM; @@ -523,7 +522,7 @@ static struct mlx5_flow_handle *arfs_add_rule(struct mlx5e_priv *priv, struct mlx5_flow_table *ft; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { priv->channel_stats[arfs_rule->rxq]->rq.arfs_err++; err = -ENOMEM; @@ -662,7 +661,7 @@ static struct arfs_rule *arfs_alloc_rule(struct mlx5e_priv *priv, struct arfs_rule *rule; struct arfs_tuple *tuple; - rule = kzalloc(sizeof(*rule), GFP_ATOMIC); + rule = kzalloc_obj(*rule, GFP_ATOMIC); if (!rule) { priv->channel_stats[rxq]->rq.arfs_err++; return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_common.c b/drivers/net/ethernet/mellanox/mlx5/core/en_common.c index 5a2ac7b6f260..5da0a13d92f1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_common.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_common.c @@ -179,7 +179,7 @@ int mlx5e_create_mdev_resources(struct mlx5_core_dev *mdev, bool create_tises) num_doorbells = min(mlx5e_get_devlink_param_num_doorbells(mdev), mlx5e_get_max_num_channels(mdev)); - res->bfregs = kcalloc(num_doorbells, sizeof(*res->bfregs), GFP_KERNEL); + res->bfregs = kzalloc_objs(*res->bfregs, num_doorbells, GFP_KERNEL); if (!res->bfregs) { err = -ENOMEM; goto err_destroy_mkey; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c index 8928d2dcd43f..1dd5f916597b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs.c @@ -128,7 +128,7 @@ static void mlx5e_add_l2_to_hash(struct hlist_head *hash, const u8 *addr) return; } - hn = kzalloc(sizeof(*hn), GFP_ATOMIC); + hn = kzalloc_obj(*hn, GFP_ATOMIC); if (!hn) return; @@ -295,7 +295,7 @@ static int mlx5e_add_vlan_rule(struct mlx5e_flow_steering *fs, struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -372,7 +372,7 @@ mlx5e_add_trap_rule(struct mlx5_flow_table *ft, int trap_id, int tir_num) struct mlx5_flow_handle *rule; struct mlx5_flow_spec *spec; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); spec->flow_context.flags |= FLOW_CONTEXT_HAS_TAG; @@ -754,7 +754,7 @@ static int mlx5e_add_promisc_rule(struct mlx5e_flow_steering *fs) struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; dest.type = MLX5_FLOW_DESTINATION_TYPE_FLOW_TABLE; @@ -984,7 +984,7 @@ static int mlx5e_add_l2_flow_rule(struct mlx5e_flow_steering *fs, u8 *mc_dmac; u8 *mv_dmac; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -1039,7 +1039,7 @@ static int mlx5e_create_l2_table_groups(struct mlx5e_l2_table *l2_table) int err; u8 *mc; - ft->g = kcalloc(MLX5E_NUM_L2_GROUPS, sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, MLX5E_NUM_L2_GROUPS, GFP_KERNEL); if (!ft->g) return -ENOMEM; in = kvzalloc(inlen, GFP_KERNEL); @@ -1251,7 +1251,7 @@ static int mlx5e_fs_create_vlan_table(struct mlx5e_flow_steering *fs) if (IS_ERR(ft->t)) return PTR_ERR(ft->t); - ft->g = kcalloc(MLX5E_NUM_VLAN_GROUPS, sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, MLX5E_NUM_VLAN_GROUPS, GFP_KERNEL); if (!ft->g) { err = -ENOMEM; goto err_destroy_vlan_table; @@ -1394,7 +1394,7 @@ void mlx5e_destroy_flow_steering(struct mlx5e_flow_steering *fs, bool ntuple, static int mlx5e_fs_vlan_alloc(struct mlx5e_flow_steering *fs) { - fs->vlan = kvzalloc(sizeof(*fs->vlan), GFP_KERNEL); + fs->vlan = kvzalloc_obj(*fs->vlan, GFP_KERNEL); if (!fs->vlan) return -ENOMEM; return 0; @@ -1466,7 +1466,7 @@ struct mlx5e_flow_steering *mlx5e_fs_init(const struct mlx5e_profile *profile, struct mlx5e_flow_steering *fs; int err; - fs = kvzalloc(sizeof(*fs), GFP_KERNEL); + fs = kvzalloc_obj(*fs, GFP_KERNEL); if (!fs) goto err; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c index 63bdef5b4ba5..d01636af3d02 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_fs_ethtool.c @@ -465,7 +465,7 @@ add_ethtool_flow_rule(struct mlx5e_priv *priv, struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); err = set_flow_attrs(spec->match_criteria, spec->match_value, @@ -476,7 +476,7 @@ add_ethtool_flow_rule(struct mlx5e_priv *priv, if (fs->ring_cookie == RX_CLS_FLOW_DISC) { flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; } else { - dst = kzalloc(sizeof(*dst), GFP_KERNEL); + dst = kzalloc_obj(*dst, GFP_KERNEL); if (!dst) { err = -ENOMEM; goto free; @@ -541,7 +541,7 @@ static struct mlx5e_ethtool_rule *get_ethtool_rule(struct mlx5e_priv *priv, if (eth_rule) del_ethtool_rule(priv->fs, eth_rule); - eth_rule = kzalloc(sizeof(*eth_rule), GFP_KERNEL); + eth_rule = kzalloc_obj(*eth_rule, GFP_KERNEL); if (!eth_rule) return ERR_PTR(-ENOMEM); @@ -836,7 +836,7 @@ mlx5e_ethtool_get_all_flows(struct mlx5e_priv *priv, int mlx5e_ethtool_alloc(struct mlx5e_ethtool_steering **ethtool) { - *ethtool = kvzalloc(sizeof(**ethtool), GFP_KERNEL); + *ethtool = kvzalloc_obj(**ethtool, GFP_KERNEL); if (!*ethtool) return -ENOMEM; return 0; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 7eb691c2a1bd..41edda3d0c70 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -2791,7 +2791,7 @@ static int mlx5e_open_channel(struct mlx5e_priv *priv, int ix, return err; c = kvzalloc_node(sizeof(*c), GFP_KERNEL, cpu_to_node(cpu)); - cparam = kvzalloc(sizeof(*cparam), GFP_KERNEL); + cparam = kvzalloc_obj(*cparam, GFP_KERNEL); if (!c || !cparam) { err = -ENOMEM; goto err_free; @@ -2911,7 +2911,7 @@ int mlx5e_open_channels(struct mlx5e_priv *priv, chs->num = chs->params.num_channels; - chs->c = kcalloc(chs->num, sizeof(struct mlx5e_channel *), GFP_KERNEL); + chs->c = kzalloc_objs(struct mlx5e_channel *, chs->num, GFP_KERNEL); if (!chs->c) goto err_out; @@ -3415,8 +3415,8 @@ int mlx5e_safe_switch_params(struct mlx5e_priv *priv, if (!reset) return mlx5e_switch_priv_params(priv, params, preactivate, context); - old_chs = kzalloc(sizeof(*old_chs), GFP_KERNEL); - new_chs = kzalloc(sizeof(*new_chs), GFP_KERNEL); + old_chs = kzalloc_obj(*old_chs, GFP_KERNEL); + new_chs = kzalloc_obj(*new_chs, GFP_KERNEL); if (!old_chs || !new_chs) { err = -ENOMEM; goto err_free_chs; @@ -6258,8 +6258,8 @@ int mlx5e_priv_init(struct mlx5e_priv *priv, if (!priv->channel_stats) goto err_free_tx_rates; - priv->fec_ranges = kcalloc(ETHTOOL_FEC_HIST_MAX, - sizeof(*priv->fec_ranges), GFP_KERNEL); + priv->fec_ranges = kzalloc_objs(*priv->fec_ranges, ETHTOOL_FEC_HIST_MAX, + GFP_KERNEL); if (!priv->fec_ranges) goto err_free_channel_stats; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c index 6eec88fa6d10..b0bc37669305 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_rep.c @@ -476,7 +476,7 @@ static int mlx5e_sqs2vport_add_peers_rules(struct mlx5_eswitch *esw, struct mlx5 struct mlx5e_rep_sq_peer *sq_peer; int err; - sq_peer = kzalloc(sizeof(*sq_peer), GFP_KERNEL); + sq_peer = kzalloc_obj(*sq_peer, GFP_KERNEL); if (!sq_peer) return -ENOMEM; @@ -521,7 +521,7 @@ static int mlx5e_sqs2vport_start(struct mlx5_eswitch *esw, devcom_locked = true; for (i = 0; i < sqns_num; i++) { - rep_sq = kzalloc(sizeof(*rep_sq), GFP_KERNEL); + rep_sq = kzalloc_obj(*rep_sq, GFP_KERNEL); if (!rep_sq) { err = -ENOMEM; goto out_err; @@ -1621,7 +1621,7 @@ mlx5e_vport_rep_load(struct mlx5_core_dev *dev, struct mlx5_eswitch_rep *rep) struct mlx5e_rep_priv *rpriv; int err; - rpriv = kvzalloc(sizeof(*rpriv), GFP_KERNEL); + rpriv = kvzalloc_obj(*rpriv, GFP_KERNEL); if (!rpriv) return -ENOMEM; @@ -1731,7 +1731,7 @@ static int mlx5e_vport_rep_event_pair(struct mlx5_eswitch *esw, sq_peer->peer = peer_esw; continue; } - sq_peer = kzalloc(sizeof(*sq_peer), GFP_KERNEL); + sq_peer = kzalloc_obj(*sq_peer, GFP_KERNEL); if (!sq_peer) { err = -ENOMEM; goto err_sq_alloc; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c b/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c index fcad464bc4d5..4066778f702d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_selftest.c @@ -270,7 +270,7 @@ static int mlx5e_test_loopback(struct mlx5e_priv *priv) return -ENODEV; } - lbtp = kzalloc(sizeof(*lbtp), GFP_KERNEL); + lbtp = kzalloc_obj(*lbtp, GFP_KERNEL); if (!lbtp) return -ENOMEM; lbtp->loopback_ok = false; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c index 424786f489ec..761cfd2d95f1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_tc.c @@ -153,7 +153,7 @@ struct mlx5e_tc_table *mlx5e_tc_table_alloc(void) { struct mlx5e_tc_table *tc; - tc = kvzalloc(sizeof(*tc), GFP_KERNEL); + tc = kvzalloc_obj(*tc, GFP_KERNEL); return tc ? tc : ERR_PTR(-ENOMEM); } @@ -905,7 +905,7 @@ mlx5e_hairpin_create(struct mlx5e_priv *priv, struct mlx5_hairpin_params *params struct mlx5_hairpin *pair; int err; - hp = kzalloc(sizeof(*hp), GFP_KERNEL); + hp = kzalloc_obj(*hp, GFP_KERNEL); if (!hp) return ERR_PTR(-ENOMEM); @@ -1139,7 +1139,7 @@ static int mlx5e_hairpin_flow_add(struct mlx5e_priv *priv, goto attach_flow; } - hpe = kzalloc(sizeof(*hpe), GFP_KERNEL); + hpe = kzalloc_obj(*hpe, GFP_KERNEL); if (!hpe) { mutex_unlock(&tc->hairpin_tbl_lock); return -ENOMEM; @@ -1794,7 +1794,7 @@ extra_split_attr_dests(struct mlx5e_tc_flow *flow, return PTR_ERR(post_act); attr2 = mlx5_alloc_flow_attr(mlx5e_get_flow_namespace(flow)); - parse_attr2 = kvzalloc(sizeof(*parse_attr), GFP_KERNEL); + parse_attr2 = kvzalloc_obj(*parse_attr, GFP_KERNEL); if (!attr2 || !parse_attr2) { err = -ENOMEM; goto err_free; @@ -2570,7 +2570,7 @@ static int parse_tunnel_attr(struct mlx5e_priv *priv, } else if (tunnel) { struct mlx5_flow_spec *tmp_spec; - tmp_spec = kvzalloc(sizeof(*tmp_spec), GFP_KERNEL); + tmp_spec = kvzalloc_obj(*tmp_spec, GFP_KERNEL); if (!tmp_spec) { NL_SET_ERR_MSG_MOD(extack, "Failed to allocate memory for tunnel tmp spec"); netdev_warn(priv->netdev, "Failed to allocate memory for tunnel tmp spec"); @@ -3671,7 +3671,7 @@ mlx5e_clone_flow_attr_for_post_act(struct mlx5_flow_attr *attr, struct mlx5_flow_attr *attr2; attr2 = mlx5_alloc_flow_attr(ns_type); - parse_attr = kvzalloc(sizeof(*parse_attr), GFP_KERNEL); + parse_attr = kvzalloc_obj(*parse_attr, GFP_KERNEL); if (!attr2 || !parse_attr) { kvfree(parse_attr); kfree(attr2); @@ -4448,8 +4448,8 @@ mlx5e_alloc_flow(struct mlx5e_priv *priv, int attr_size, int err = -ENOMEM; int out_index; - flow = kzalloc(sizeof(*flow), GFP_KERNEL); - parse_attr = kvzalloc(sizeof(*parse_attr), GFP_KERNEL); + flow = kzalloc_obj(*flow, GFP_KERNEL); + parse_attr = kvzalloc_obj(*parse_attr, GFP_KERNEL); if (!parse_attr || !flow) goto err_free; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eq.c b/drivers/net/ethernet/mellanox/mlx5/core/eq.c index 25499da177bc..cc679500b3dc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eq.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eq.c @@ -881,7 +881,7 @@ static int comp_irq_request_sf(struct mlx5_core_dev *dev, u16 vecidx) if (!mlx5_irq_pool_is_sf_pool(pool)) return comp_irq_request_pci(dev, vecidx); - af_desc = kvzalloc(sizeof(*af_desc), GFP_KERNEL); + af_desc = kvzalloc_obj(*af_desc, GFP_KERNEL); if (!af_desc) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c index 3ce455c2535c..a95d12860fed 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/helper.c @@ -58,7 +58,7 @@ int esw_egress_acl_vlan_create(struct mlx5_eswitch *esw, if (vport->egress.allowed_vlan) return -EEXIST; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c index 49a637829c59..f8ca68ea685e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_lgcy.c @@ -200,7 +200,7 @@ int esw_acl_ingress_lgcy_setup(struct mlx5_eswitch *esw, "vport[%d] configure ingress rules, vlan(%d) qos(%d)\n", vport->vport, vport->info.vlan, vport->info.qos); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { err = -ENOMEM; goto out; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c index a436ce895e45..4ffaa7b4b5b1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ingress_ofld.c @@ -29,7 +29,7 @@ static int esw_acl_ingress_prio_tag_create(struct mlx5_eswitch *esw, * required, allow * Unmatched traffic is allowed by default */ - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c index 60e10047770f..b9e9505ff76e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge.c @@ -586,7 +586,7 @@ mlx5_esw_bridge_ingress_flow_with_esw_create(u16 vport_num, const unsigned char struct mlx5_flow_handle *handle; u8 *smac_v, *smac_c; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -700,7 +700,7 @@ mlx5_esw_bridge_ingress_filter_flow_create(u16 vport_num, const unsigned char *a struct mlx5_flow_handle *handle; u8 *smac_v, *smac_c; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -753,7 +753,7 @@ mlx5_esw_bridge_egress_flow_create(u16 vport_num, u16 esw_owner_vhca_id, const u struct mlx5_flow_handle *handle; u8 *dmac_v, *dmac_c; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -821,7 +821,7 @@ mlx5_esw_bridge_egress_miss_flow_create(struct mlx5_flow_table *egress_ft, struct mlx5_flow_spec *rule_spec; struct mlx5_flow_handle *handle; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -844,7 +844,7 @@ static struct mlx5_esw_bridge *mlx5_esw_bridge_create(struct net_device *br_netd struct mlx5_esw_bridge *bridge; int err; - bridge = kvzalloc(sizeof(*bridge), GFP_KERNEL); + bridge = kvzalloc_obj(*bridge, GFP_KERNEL); if (!bridge) return ERR_PTR(-ENOMEM); @@ -1179,7 +1179,7 @@ mlx5_esw_bridge_vlan_create(u16 vlan_proto, u16 vid, u16 flags, struct mlx5_esw_ struct mlx5_esw_bridge_vlan *vlan; int err; - vlan = kvzalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kvzalloc_obj(*vlan, GFP_KERNEL); if (!vlan) return ERR_PTR(-ENOMEM); @@ -1365,7 +1365,7 @@ mlx5_esw_bridge_fdb_entry_init(struct net_device *dev, u16 vport_num, u16 esw_ow if (entry) mlx5_esw_bridge_fdb_entry_notify_and_cleanup(entry, bridge); - entry = kvzalloc(sizeof(*entry), GFP_KERNEL); + entry = kvzalloc_obj(*entry, GFP_KERNEL); if (!entry) return ERR_PTR(-ENOMEM); @@ -1550,7 +1550,7 @@ static int mlx5_esw_bridge_vport_init(u16 vport_num, u16 esw_owner_vhca_id, u16 struct mlx5_esw_bridge_port *port; int err; - port = kvzalloc(sizeof(*port), GFP_KERNEL); + port = kvzalloc_obj(*port, GFP_KERNEL); if (!port) return -ENOMEM; @@ -1924,7 +1924,7 @@ struct mlx5_esw_bridge_offloads *mlx5_esw_bridge_init(struct mlx5_eswitch *esw) ASSERT_RTNL(); - br_offloads = kvzalloc(sizeof(*br_offloads), GFP_KERNEL); + br_offloads = kvzalloc_obj(*br_offloads, GFP_KERNEL); if (!br_offloads) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge_mcast.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge_mcast.c index 22dd30cf8033..15e5a05f5dd8 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge_mcast.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/bridge_mcast.c @@ -65,11 +65,11 @@ mlx5_esw_bridge_mdb_flow_create(u16 esw_owner_vhca_id, struct mlx5_esw_bridge_md u8 *dmac_v, *dmac_c; unsigned long idx; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); - dests = kvcalloc(num_dests, sizeof(*dests), GFP_KERNEL); + dests = kvzalloc_objs(*dests, num_dests, GFP_KERNEL); if (!dests) { kvfree(rule_spec); return ERR_PTR(-ENOMEM); @@ -152,7 +152,7 @@ mlx5_esw_bridge_port_mdb_entry_init(struct mlx5_esw_bridge_port *port, struct mlx5_esw_bridge_mdb_entry *entry; int err; - entry = kvzalloc(sizeof(*entry), GFP_KERNEL); + entry = kvzalloc_obj(*entry, GFP_KERNEL); if (!entry) return ERR_PTR(-ENOMEM); @@ -516,7 +516,7 @@ mlx5_esw_bridge_mcast_flow_with_esw_create(struct mlx5_esw_bridge_port *port, struct mlx5_flow_spec *rule_spec; struct mlx5_flow_handle *handle; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -584,7 +584,7 @@ mlx5_esw_bridge_mcast_vlan_flow_create(u16 vlan_proto, struct mlx5_esw_bridge_po struct mlx5_flow_spec *rule_spec; struct mlx5_flow_handle *handle; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -656,7 +656,7 @@ mlx5_esw_bridge_mcast_fwd_flow_create(struct mlx5_esw_bridge_port *port) struct mlx5_flow_spec *rule_spec; struct mlx5_flow_handle *handle; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -890,7 +890,7 @@ mlx5_esw_bridge_ingress_igmp_fh_create(struct mlx5_flow_table *ingress_ft, struct mlx5_flow_spec *rule_spec; struct mlx5_flow_handle *handle; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); @@ -922,7 +922,7 @@ mlx5_esw_bridge_ingress_mld_fh_create(u8 type, struct mlx5_flow_table *ingress_f struct mlx5_flow_spec *rule_spec; struct mlx5_flow_handle *handle; - rule_spec = kvzalloc(sizeof(*rule_spec), GFP_KERNEL); + rule_spec = kvzalloc_obj(*rule_spec, GFP_KERNEL); if (!rule_spec) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c index cd60bc500ec5..0b8bb42af33f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/devlink_port.c @@ -70,7 +70,7 @@ int mlx5_esw_offloads_pf_vf_devlink_port_init(struct mlx5_eswitch *esw, if (!mlx5_esw_devlink_port_supported(esw, vport_num)) return 0; - dl_port = kzalloc(sizeof(*dl_port), GFP_KERNEL); + dl_port = kzalloc_obj(*dl_port, GFP_KERNEL); if (!dl_port) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/indir_table.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/indir_table.c index 9959e9fd15a1..1a135c3e48df 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/indir_table.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/indir_table.c @@ -46,7 +46,7 @@ struct mlx5_esw_indir_table { struct mlx5_esw_indir_table * mlx5_esw_indir_table_init(void) { - struct mlx5_esw_indir_table *indir = kvzalloc(sizeof(*indir), GFP_KERNEL); + struct mlx5_esw_indir_table *indir = kvzalloc_obj(*indir, GFP_KERNEL); if (!indir) return ERR_PTR(-ENOMEM); @@ -111,7 +111,7 @@ static int mlx5_esw_indir_table_rule_get(struct mlx5_eswitch *esw, return 0; } - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return -ENOMEM; @@ -258,7 +258,7 @@ mlx5_esw_indir_table_entry_create(struct mlx5_eswitch *esw, struct mlx5_flow_att if (!root_ns) return ERR_PTR(-ENOENT); - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c index 929adeb50a98..0ee931bca98b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/legacy.c @@ -259,7 +259,7 @@ static int _mlx5_eswitch_set_vepa_locked(struct mlx5_eswitch *esw, if (err) return err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { err = -ENOMEM; goto out; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c index 4278bcb04c72..2f9e59790584 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c @@ -38,7 +38,7 @@ static struct mlx5_qos_domain *esw_qos_domain_alloc(void) { struct mlx5_qos_domain *qos_domain; - qos_domain = kzalloc(sizeof(*qos_domain), GFP_KERNEL); + qos_domain = kzalloc_obj(*qos_domain, GFP_KERNEL); if (!qos_domain) return NULL; @@ -518,7 +518,7 @@ __esw_qos_alloc_node(struct mlx5_eswitch *esw, u32 tsar_ix, enum sched_node_type { struct mlx5_esw_sched_node *node; - node = kzalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc_obj(*node, GFP_KERNEL); if (!node) return NULL; @@ -916,9 +916,8 @@ esw_qos_create_vport_tc_sched_elements(struct mlx5_vport *vport, int err, num_tcs = esw_qos_num_tcs(vport_node->esw->dev); u32 rate_limit_elem_ix; - vport->qos.sched_nodes = kcalloc(num_tcs, - sizeof(struct mlx5_esw_sched_node *), - GFP_KERNEL); + vport->qos.sched_nodes = kzalloc_objs(struct mlx5_esw_sched_node *, + num_tcs, GFP_KERNEL); if (!vport->qos.sched_nodes) { NL_SET_ERR_MSG_MOD(extack, "Allocating the vport TC scheduling elements failed."); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c b/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c index 407062096a82..5628182faf57 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/esw/vporttbl.c @@ -96,7 +96,7 @@ mlx5_esw_vporttbl_get(struct mlx5_eswitch *esw, struct mlx5_vport_tbl_attr *attr goto out; } - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) { fdb = ERR_PTR(-ENOMEM); goto err_alloc; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c index 5fbfabe28bdb..d31a74ae1dd7 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch.c @@ -221,7 +221,7 @@ __esw_fdb_set_vport_rule(struct mlx5_eswitch *esw, u16 vport, bool rx_rule, if (rx_rule) match_header |= MLX5_MATCH_MISC_PARAMETERS; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return NULL; @@ -1862,7 +1862,7 @@ int mlx5_esw_vport_alloc(struct mlx5_eswitch *esw, int index, u16 vport_num) struct mlx5_vport *vport; int err; - vport = kzalloc(sizeof(*vport), GFP_KERNEL); + vport = kzalloc_obj(*vport, GFP_KERNEL); if (!vport) return -ENOMEM; @@ -2022,7 +2022,7 @@ int mlx5_eswitch_init(struct mlx5_core_dev *dev) if (!MLX5_VPORT_MANAGER(dev) && !MLX5_ESWITCH_MANAGER(dev)) return 0; - esw = kzalloc(sizeof(*esw), GFP_KERNEL); + esw = kzalloc_obj(*esw, GFP_KERNEL); if (!esw) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c index 1b439cef3719..1693f2dd5d6a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c @@ -680,7 +680,7 @@ mlx5_eswitch_add_offloaded_rule(struct mlx5_eswitch *esw, if (!esw_flow_dests_fwd_ipsec_check(esw, esw_attr)) return ERR_PTR(-EOPNOTSUPP); - dest = kcalloc(MLX5_MAX_FLOW_FWD_VPORTS + 1, sizeof(*dest), GFP_KERNEL); + dest = kzalloc_objs(*dest, MLX5_MAX_FLOW_FWD_VPORTS + 1, GFP_KERNEL); if (!dest) return ERR_PTR(-ENOMEM); @@ -808,7 +808,7 @@ mlx5_eswitch_add_fwd_rule(struct mlx5_eswitch *esw, struct mlx5_flow_handle *rule; int i, err = 0; - dest = kcalloc(MLX5_MAX_FLOW_FWD_VPORTS + 1, sizeof(*dest), GFP_KERNEL); + dest = kzalloc_objs(*dest, MLX5_MAX_FLOW_FWD_VPORTS + 1, GFP_KERNEL); if (!dest) return ERR_PTR(-ENOMEM); @@ -947,7 +947,7 @@ mlx5_eswitch_add_send_to_vport_rule(struct mlx5_eswitch *on_esw, void *misc; u16 vport; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { flow_rule = ERR_PTR(-ENOMEM); goto out; @@ -1044,7 +1044,7 @@ mlx5_eswitch_add_send_to_vport_meta_rule(struct mlx5_eswitch *esw, u16 vport_num struct mlx5_flow_handle *flow_rule; struct mlx5_flow_spec *spec; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -1198,13 +1198,13 @@ static int esw_add_fdb_peer_miss_rules(struct mlx5_eswitch *esw, !mlx5_core_is_ecpf_esw_manager(peer_dev)) return 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; peer_miss_rules_setup(esw, peer_dev, spec, &dest); - flows = kvcalloc(peer_esw->total_vports, sizeof(*flows), GFP_KERNEL); + flows = kvzalloc_objs(*flows, peer_esw->total_vports, GFP_KERNEL); if (!flows) { err = -ENOMEM; goto alloc_flows_err; @@ -1368,7 +1368,7 @@ static int esw_add_fdb_miss_rule(struct mlx5_eswitch *esw) u8 *dmac_c; u8 *dmac_v; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { err = -ENOMEM; goto out; @@ -1430,7 +1430,7 @@ esw_add_restore_rule(struct mlx5_eswitch *esw, u32 tag) if (!mlx5_eswitch_reg_c1_loopback_supported(esw)) return ERR_PTR(-EOPNOTSUPP); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -2148,7 +2148,7 @@ mlx5_eswitch_create_vport_rx_rule(struct mlx5_eswitch *esw, u16 vport, struct mlx5_flow_handle *flow_rule; struct mlx5_flow_spec *spec; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { flow_rule = ERR_PTR(-ENOMEM); goto out; @@ -2525,7 +2525,7 @@ int mlx5_esw_offloads_rep_add(struct mlx5_eswitch *esw, int rep_type; int err; - rep = kzalloc(sizeof(*rep), GFP_KERNEL); + rep = kzalloc_obj(*rep, GFP_KERNEL); if (!rep) return -ENOMEM; @@ -2861,7 +2861,7 @@ static int __esw_set_master_egress_rule(struct mlx5_core_dev *master, int err = 0; void *misc; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -3640,7 +3640,7 @@ int mlx5_esw_funcs_changed_handler(struct notifier_block *nb, unsigned long type struct mlx5_host_work *host_work; struct mlx5_eswitch *esw; - host_work = kzalloc(sizeof(*host_work), GFP_ATOMIC); + host_work = kzalloc_obj(*host_work, GFP_ATOMIC); if (!host_work) return NOTIFY_DONE; @@ -4470,7 +4470,7 @@ int mlx5_esw_vport_vhca_id_map(struct mlx5_eswitch *esw, } vhca_id = vport->vhca_id; - vhca_map_entry = kmalloc(sizeof(*vhca_map_entry), GFP_KERNEL); + vhca_map_entry = kmalloc_obj(*vhca_map_entry, GFP_KERNEL); if (!vhca_map_entry) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c index 40bdc677f051..af82232d53ef 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads_termtbl.c @@ -132,7 +132,7 @@ mlx5_eswitch_termtbl_get_create(struct mlx5_eswitch *esw, if (found) goto tt_add_ref; - tt = kzalloc(sizeof(*tt), GFP_KERNEL); + tt = kzalloc_obj(*tt, GFP_KERNEL); if (!tt) { err = -ENOMEM; goto tt_create_err; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/events.c b/drivers/net/ethernet/mellanox/mlx5/core/events.c index 01c5f5990f9a..23ecc8e8a219 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/events.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/events.c @@ -374,7 +374,7 @@ static int forward_event(struct notifier_block *nb, unsigned long event, void *d int mlx5_events_init(struct mlx5_core_dev *dev) { - struct mlx5_events *events = kzalloc(sizeof(*events), GFP_KERNEL); + struct mlx5_events *events = kzalloc_obj(*events, GFP_KERNEL); if (!events) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c b/drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c index ccef64fb40b6..2b029dc3f0c8 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/conn.c @@ -531,17 +531,15 @@ static int mlx5_fpga_conn_create_qp(struct mlx5_fpga_conn *conn, if (err) goto out; - conn->qp.rq.bufs = kvcalloc(conn->qp.rq.size, - sizeof(conn->qp.rq.bufs[0]), - GFP_KERNEL); + conn->qp.rq.bufs = kvzalloc_objs(conn->qp.rq.bufs[0], conn->qp.rq.size, + GFP_KERNEL); if (!conn->qp.rq.bufs) { err = -ENOMEM; goto err_wq; } - conn->qp.sq.bufs = kvcalloc(conn->qp.sq.size, - sizeof(conn->qp.sq.bufs[0]), - GFP_KERNEL); + conn->qp.sq.bufs = kvzalloc_objs(conn->qp.sq.bufs[0], conn->qp.sq.size, + GFP_KERNEL); if (!conn->qp.sq.bufs) { err = -ENOMEM; goto err_rq_bufs; @@ -816,7 +814,7 @@ struct mlx5_fpga_conn *mlx5_fpga_conn_create(struct mlx5_fpga_device *fdev, if (!attr->recv_cb) return ERR_PTR(-EINVAL); - conn = kzalloc(sizeof(*conn), GFP_KERNEL); + conn = kzalloc_obj(*conn, GFP_KERNEL); if (!conn) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c index 1ec61164e6b5..ae87ca14cae4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fpga/core.c @@ -59,7 +59,7 @@ static struct mlx5_fpga_device *mlx5_fpga_device_alloc(void) { struct mlx5_fpga_device *fdev; - fdev = kzalloc(sizeof(*fdev), GFP_KERNEL); + fdev = kzalloc_obj(*fdev, GFP_KERNEL); if (!fdev) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c index 0a6031a64c6f..80950d84d07a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_core.c @@ -947,7 +947,7 @@ alloc_flow_table(struct mlx5_flow_table_attr *ft_attr, u16 vport, struct mlx5_flow_table *ft; int ret; - ft = kzalloc(sizeof(*ft), GFP_KERNEL); + ft = kzalloc_obj(*ft, GFP_KERNEL); if (!ft) return ERR_PTR(-ENOMEM); @@ -1530,7 +1530,7 @@ static struct mlx5_flow_rule *alloc_rule(struct mlx5_flow_destination *dest) { struct mlx5_flow_rule *rule; - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return NULL; @@ -1548,7 +1548,7 @@ static struct mlx5_flow_handle *alloc_handle(int num_rules) { struct mlx5_flow_handle *handle; - handle = kzalloc(struct_size(handle, rule, num_rules), GFP_KERNEL); + handle = kzalloc_flex(*handle, rule, num_rules, GFP_KERNEL); if (!handle) return NULL; @@ -2096,7 +2096,7 @@ static int build_match_list(struct match_list *match_head, if (unlikely(!tree_get_node(&g->node))) continue; - curr_match = kmalloc(sizeof(*curr_match), GFP_ATOMIC); + curr_match = kmalloc_obj(*curr_match, GFP_ATOMIC); if (!curr_match) { rcu_read_unlock(); free_match_list(match_head, ft_locked); @@ -2178,7 +2178,7 @@ add_rule_dup_match_fte(struct fs_fte *fte, int i = 0; if (!fte->dup) { - dup = kvzalloc(sizeof(*dup), GFP_KERNEL); + dup = kvzalloc_obj(*dup, GFP_KERNEL); if (!dup) return ERR_PTR(-ENOMEM); /* dup will be freed when the fte is freed @@ -2471,8 +2471,7 @@ mlx5_add_flow_rules(struct mlx5_flow_table *ft, goto unlock; } - gen_dest = kcalloc(num_dest + 1, sizeof(*dest), - GFP_KERNEL); + gen_dest = kzalloc_objs(*dest, num_dest + 1, GFP_KERNEL); if (!gen_dest) { handle = ERR_PTR(-ENOMEM); goto unlock; @@ -2849,7 +2848,7 @@ static struct fs_prio *_fs_create_prio(struct mlx5_flow_namespace *ns, { struct fs_prio *fs_prio; - fs_prio = kzalloc(sizeof(*fs_prio), GFP_KERNEL); + fs_prio = kzalloc_obj(*fs_prio, GFP_KERNEL); if (!fs_prio) return ERR_PTR(-ENOMEM); @@ -2889,7 +2888,7 @@ static struct mlx5_flow_namespace *fs_create_namespace(struct fs_prio *prio, { struct mlx5_flow_namespace *ns; - ns = kzalloc(sizeof(*ns), GFP_KERNEL); + ns = kzalloc_obj(*ns, GFP_KERNEL); if (!ns) return ERR_PTR(-ENOMEM); @@ -3020,7 +3019,7 @@ static struct mlx5_flow_root_namespace struct mlx5_flow_namespace *ns; /* Create the root namespace */ - root_ns = kzalloc(sizeof(*root_ns), GFP_KERNEL); + root_ns = kzalloc_obj(*root_ns, GFP_KERNEL); if (!root_ns) return NULL; @@ -3375,9 +3374,8 @@ static int init_rdma_transport_rx_root_ns(struct mlx5_flow_steering *steering) total_vports = mlx5_eswitch_get_total_vports(dev) ?: 1; steering->rdma_transport_rx_root_ns = - kcalloc(total_vports, - sizeof(*steering->rdma_transport_rx_root_ns), - GFP_KERNEL); + kzalloc_objs(*steering->rdma_transport_rx_root_ns, + total_vports, GFP_KERNEL); if (!steering->rdma_transport_rx_root_ns) return -ENOMEM; @@ -3408,9 +3406,8 @@ static int init_rdma_transport_tx_root_ns(struct mlx5_flow_steering *steering) total_vports = mlx5_eswitch_get_total_vports(dev) ?: 1; steering->rdma_transport_tx_root_ns = - kcalloc(total_vports, - sizeof(*steering->rdma_transport_tx_root_ns), - GFP_KERNEL); + kzalloc_objs(*steering->rdma_transport_tx_root_ns, + total_vports, GFP_KERNEL); if (!steering->rdma_transport_tx_root_ns) return -ENOMEM; @@ -3518,9 +3515,8 @@ static int create_fdb_fast_path(struct mlx5_flow_steering *steering) { int err; - steering->fdb_sub_ns = kcalloc(FDB_NUM_CHAINS, - sizeof(*steering->fdb_sub_ns), - GFP_KERNEL); + steering->fdb_sub_ns = kzalloc_objs(*steering->fdb_sub_ns, + FDB_NUM_CHAINS, GFP_KERNEL); if (!steering->fdb_sub_ns) return -ENOMEM; @@ -3674,7 +3670,7 @@ mlx5_fs_add_vport_acl_root_ns(struct mlx5_flow_steering *steering, if (xa_load(esw_acl_root_ns, vport_idx)) return -EEXIST; - vport_ns = kzalloc(sizeof(*vport_ns), GFP_KERNEL); + vport_ns = kzalloc_obj(*vport_ns, GFP_KERNEL); if (!vport_ns) return -ENOMEM; @@ -3993,7 +3989,7 @@ int mlx5_fs_core_alloc(struct mlx5_core_dev *dev) if (err) goto err; - steering = kzalloc(sizeof(*steering), GFP_KERNEL); + steering = kzalloc_obj(*steering, GFP_KERNEL); if (!steering) { err = -ENOMEM; goto err; @@ -4034,7 +4030,7 @@ int mlx5_fs_add_rx_underlay_qpn(struct mlx5_core_dev *dev, u32 underlay_qpn) struct mlx5_ft_underlay_qp *new_uqp; int err = 0; - new_uqp = kzalloc(sizeof(*new_uqp), GFP_KERNEL); + new_uqp = kzalloc_obj(*new_uqp, GFP_KERNEL); if (!new_uqp) return -ENOMEM; @@ -4137,7 +4133,7 @@ struct mlx5_modify_hdr *mlx5_modify_header_alloc(struct mlx5_core_dev *dev, if (!root) return ERR_PTR(-EOPNOTSUPP); - modify_hdr = kzalloc(sizeof(*modify_hdr), GFP_KERNEL); + modify_hdr = kzalloc_obj(*modify_hdr, GFP_KERNEL); if (!modify_hdr) return ERR_PTR(-ENOMEM); @@ -4178,7 +4174,7 @@ struct mlx5_pkt_reformat *mlx5_packet_reformat_alloc(struct mlx5_core_dev *dev, if (!root) return ERR_PTR(-EOPNOTSUPP); - pkt_reformat = kzalloc(sizeof(*pkt_reformat), GFP_KERNEL); + pkt_reformat = kzalloc_obj(*pkt_reformat, GFP_KERNEL); if (!pkt_reformat) return ERR_PTR(-ENOMEM); @@ -4226,7 +4222,7 @@ mlx5_create_match_definer(struct mlx5_core_dev *dev, if (!root) return ERR_PTR(-EOPNOTSUPP); - definer = kzalloc(sizeof(*definer), GFP_KERNEL); + definer = kzalloc_obj(*definer, GFP_KERNEL); if (!definer) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c index fe7caa910219..b2b3a12493f4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_counters.c @@ -234,11 +234,11 @@ static struct mlx5_fc *mlx5_fc_single_alloc(struct mlx5_core_dev *dev) struct mlx5_fc *counter; int err; - counter = kzalloc(sizeof(*counter), GFP_KERNEL); + counter = kzalloc_obj(*counter, GFP_KERNEL); if (!counter) return ERR_PTR(-ENOMEM); - fc_bulk = kzalloc(sizeof(*fc_bulk), GFP_KERNEL); + fc_bulk = kzalloc_obj(*fc_bulk, GFP_KERNEL); if (!fc_bulk) { err = -ENOMEM; goto free_counter; @@ -328,7 +328,7 @@ int mlx5_init_fc_stats(struct mlx5_core_dev *dev) { struct mlx5_fc_stats *fc_stats; - fc_stats = kzalloc(sizeof(*fc_stats), GFP_KERNEL); + fc_stats = kzalloc_obj(*fc_stats, GFP_KERNEL); if (!fc_stats) return -ENOMEM; dev->priv.fc_stats = fc_stats; @@ -460,7 +460,7 @@ static struct mlx5_fs_bulk *mlx5_fc_bulk_create(struct mlx5_core_dev *dev, alloc_bitmask = MLX5_CAP_GEN(dev, flow_counter_bulk_alloc); bulk_len = alloc_bitmask > 0 ? MLX5_FC_BULK_NUM_FCS(alloc_bitmask) : 1; - fc_bulk = kvzalloc(struct_size(fc_bulk, fcs, bulk_len), GFP_KERNEL); + fc_bulk = kvzalloc_flex(*fc_bulk, fcs, bulk_len, GFP_KERNEL); if (!fc_bulk) return NULL; @@ -572,10 +572,10 @@ mlx5_fc_local_create(u32 counter_id, u32 offset, u32 bulk_size) struct mlx5_fc_bulk *fc_bulk; struct mlx5_fc *counter; - counter = kzalloc(sizeof(*counter), GFP_KERNEL); + counter = kzalloc_obj(*counter, GFP_KERNEL); if (!counter) return ERR_PTR(-ENOMEM); - fc_bulk = kzalloc(sizeof(*fc_bulk), GFP_KERNEL); + fc_bulk = kzalloc_obj(*fc_bulk, GFP_KERNEL); if (!fc_bulk) { kfree(counter); return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fs_ft_pool.c b/drivers/net/ethernet/mellanox/mlx5/core/fs_ft_pool.c index f6abfd00d7e6..847e940d4d70 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fs_ft_pool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fs_ft_pool.c @@ -26,7 +26,7 @@ int mlx5_ft_pool_init(struct mlx5_core_dev *dev) struct mlx5_ft_pool *ft_pool; int i; - ft_pool = kzalloc(sizeof(*ft_pool), GFP_KERNEL); + ft_pool = kzalloc_obj(*ft_pool, GFP_KERNEL); if (!ft_pool) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c index ae10665c53f3..c0e23bc2d96a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/fw_reset.c @@ -899,7 +899,7 @@ int mlx5_fw_reset_init(struct mlx5_core_dev *dev) if (!MLX5_CAP_MCAM_REG(dev, mfrl)) return 0; - fw_reset = kzalloc(sizeof(*fw_reset), GFP_KERNEL); + fw_reset = kzalloc_obj(*fw_reset, GFP_KERNEL); if (!fw_reset) return -ENOMEM; fw_reset->wq = create_singlethread_workqueue("mlx5_fw_reset_events"); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/hwmon.c b/drivers/net/ethernet/mellanox/mlx5/core/hwmon.c index 4ba2636d7fb6..ab005d7d184b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/hwmon.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/hwmon.c @@ -298,7 +298,7 @@ static struct mlx5_hwmon *mlx5_hwmon_alloc(struct mlx5_core_dev *mdev) u32 sensors_count; int err; - hwmon = kzalloc(sizeof(*mdev->hwmon), GFP_KERNEL); + hwmon = kzalloc_obj(*mdev->hwmon, GFP_KERNEL); if (!hwmon) return ERR_PTR(-ENOMEM); @@ -313,8 +313,8 @@ static struct mlx5_hwmon *mlx5_hwmon_alloc(struct mlx5_core_dev *mdev) hwmon->module_scount = mon_cap ? 1 : 0; sensors_count = hwmon->asic_platform_scount + hwmon->module_scount; - hwmon->temp_channel_desc = kcalloc(sensors_count, sizeof(*hwmon->temp_channel_desc), - GFP_KERNEL); + hwmon->temp_channel_desc = kzalloc_objs(*hwmon->temp_channel_desc, + sensors_count, GFP_KERNEL); if (!hwmon->temp_channel_desc) { err = -ENOMEM; goto err_free_hwmon; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c index 04444dad3a0d..96a75b8ef779 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/ipoib/ipoib_vlan.c @@ -51,7 +51,7 @@ int mlx5i_pkey_qpn_ht_init(struct net_device *netdev) struct mlx5i_priv *ipriv = netdev_priv(netdev); struct mlx5i_pkey_qpn_ht *qpn_htbl; - qpn_htbl = kzalloc(sizeof(*qpn_htbl), GFP_KERNEL); + qpn_htbl = kzalloc_obj(*qpn_htbl, GFP_KERNEL); if (!qpn_htbl) return -ENOMEM; @@ -89,7 +89,7 @@ int mlx5i_pkey_add_qpn(struct net_device *netdev, u32 qpn) u8 key = hash_32(qpn, MLX5I_MAX_LOG_PKEY_SUP); struct qpn_to_netdev *new_node; - new_node = kzalloc(sizeof(*new_node), GFP_KERNEL); + new_node = kzalloc_obj(*new_node, GFP_KERNEL); if (!new_node) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/irq_affinity.c b/drivers/net/ethernet/mellanox/mlx5/core/irq_affinity.c index 14d339eceb92..0be0b614938c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/irq_affinity.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/irq_affinity.c @@ -52,7 +52,7 @@ irq_pool_request_irq(struct mlx5_irq_pool *pool, struct irq_affinity_desc *af_de u32 irq_index; int err; - auto_desc = kvzalloc(sizeof(*auto_desc), GFP_KERNEL); + auto_desc = kvzalloc_obj(*auto_desc, GFP_KERNEL); if (!auto_desc) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c index 9fe47c836ebd..0eed75f5ccc2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/lag.c @@ -272,7 +272,7 @@ static struct mlx5_lag *mlx5_lag_dev_alloc(struct mlx5_core_dev *dev) struct mlx5_lag *ldev; int err; - ldev = kzalloc(sizeof(*ldev), GFP_KERNEL); + ldev = kzalloc_obj(*ldev, GFP_KERNEL); if (!ldev) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c index cdc99fe5c956..c4c2bf33ef35 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c @@ -291,7 +291,7 @@ mlx5_lag_init_fib_work(struct mlx5_lag *ldev, unsigned long event) { struct mlx5_fib_event_work *fib_work; - fib_work = kzalloc(sizeof(*fib_work), GFP_ATOMIC); + fib_work = kzalloc_obj(*fib_work, GFP_ATOMIC); if (WARN_ON(!fib_work)) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c index 04762562d7d9..d3458adcc1e5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/mpesw.c @@ -171,7 +171,7 @@ static int mlx5_lag_mpesw_queue_work(struct mlx5_core_dev *dev, if (!ldev) return 0; - work = kzalloc(sizeof(*work), GFP_KERNEL); + work = kzalloc_obj(*work, GFP_KERNEL); if (!work) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c b/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c index d832a12ffec0..63071fcb3a51 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lag/port_sel.c @@ -308,7 +308,7 @@ mlx5_lag_create_definer(struct mlx5_lag *ldev, enum netdev_lag_hash hash, return ERR_PTR(-EINVAL); dev = ldev->pf[first_idx].dev; - lag_definer = kzalloc(sizeof(*lag_definer), GFP_KERNEL); + lag_definer = kzalloc_obj(*lag_definer, GFP_KERNEL); if (!lag_definer) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c index 129725159a93..004077710a34 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/aso.c @@ -311,7 +311,7 @@ struct mlx5_aso *mlx5_aso_create(struct mlx5_core_dev *mdev, u32 pdn) struct mlx5_aso *aso; int err; - aso = kzalloc(sizeof(*aso), GFP_KERNEL); + aso = kzalloc_obj(*aso, GFP_KERNEL); if (!aso) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c index 0ba0ef8bae42..6067d3ac3cb8 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/clock.c @@ -1082,9 +1082,8 @@ static void mlx5_init_pin_config(struct mlx5_core_dev *mdev) return; clock->ptp_info.pin_config = - kcalloc(clock->ptp_info.n_pins, - sizeof(*clock->ptp_info.pin_config), - GFP_KERNEL); + kzalloc_objs(*clock->ptp_info.pin_config, + clock->ptp_info.n_pins, GFP_KERNEL); if (!clock->ptp_info.pin_config) return; clock->ptp_info.enable = mlx5_ptp_enable; @@ -1407,7 +1406,7 @@ static int mlx5_clock_alloc(struct mlx5_core_dev *mdev, bool shared) struct mlx5_clock_priv *cpriv; struct mlx5_clock *clock; - cpriv = kzalloc(sizeof(*cpriv), GFP_KERNEL); + cpriv = kzalloc_obj(*cpriv, GFP_KERNEL); if (!cpriv) return -ENOMEM; @@ -1604,7 +1603,7 @@ int mlx5_init_clock(struct mlx5_core_dev *mdev) return 0; } - clock_state = kzalloc(sizeof(*clock_state), GFP_KERNEL); + clock_state = kzalloc_obj(*clock_state, GFP_KERNEL); if (!clock_state) return -ENOMEM; clock_state->mdev = mdev; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/crypto.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/crypto.c index 3a94b8f8031e..b47e828406f9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/crypto.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/crypto.c @@ -293,7 +293,7 @@ mlx5_crypto_dek_bulk_create(struct mlx5_crypto_dek_pool *pool) int num_deks, base_obj_id; int err; - bulk = kzalloc(sizeof(*bulk), GFP_KERNEL); + bulk = kzalloc_obj(*bulk, GFP_KERNEL); if (!bulk) return ERR_PTR(-ENOMEM); @@ -611,7 +611,7 @@ struct mlx5_crypto_dek *mlx5_crypto_dek_create(struct mlx5_crypto_dek_pool *dek_ int obj_offset; int err; - dek = kzalloc(sizeof(*dek), GFP_KERNEL); + dek = kzalloc_obj(*dek, GFP_KERNEL); if (!dek) return ERR_PTR(-ENOMEM); @@ -683,7 +683,7 @@ mlx5_crypto_dek_pool_create(struct mlx5_core_dev *mdev, int key_purpose) { struct mlx5_crypto_dek_pool *pool; - pool = kzalloc(sizeof(*pool), GFP_KERNEL); + pool = kzalloc_obj(*pool, GFP_KERNEL); if (!pool) return ERR_PTR(-ENOMEM); @@ -748,7 +748,7 @@ struct mlx5_crypto_dek_priv *mlx5_crypto_dek_init(struct mlx5_core_dev *mdev) if (!MLX5_CAP_CRYPTO(mdev, log_dek_max_alloc)) return NULL; - dek_priv = kzalloc(sizeof(*dek_priv), GFP_KERNEL); + dek_priv = kzalloc_obj(*dek_priv, GFP_KERNEL); if (!dek_priv) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c index e749618229bc..d681c063be4e 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/devcom.c @@ -64,7 +64,7 @@ mlx5_devcom_dev_alloc(struct mlx5_core_dev *dev) { struct mlx5_devcom_dev *devc; - devc = kzalloc(sizeof(*devc), GFP_KERNEL); + devc = kzalloc_obj(*devc, GFP_KERNEL); if (!devc) return NULL; @@ -120,7 +120,7 @@ mlx5_devcom_comp_alloc(u64 id, const struct mlx5_devcom_match_attr *attr, { struct mlx5_devcom_comp *comp; - comp = kzalloc(sizeof(*comp), GFP_KERNEL); + comp = kzalloc_obj(*comp, GFP_KERNEL); if (!comp) return NULL; @@ -158,7 +158,7 @@ devcom_alloc_comp_dev(struct mlx5_devcom_dev *devc, { struct mlx5_devcom_comp_dev *devcom; - devcom = kzalloc(sizeof(*devcom), GFP_KERNEL); + devcom = kzalloc_obj(*devcom, GFP_KERNEL); if (!devcom) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c index 8115071c34a4..b6fc7ca4bcc0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/dm.c @@ -28,7 +28,7 @@ struct mlx5_dm *mlx5_dm_create(struct mlx5_core_dev *dev) if (!(MLX5_CAP_GEN_64(dev, general_obj_types) & MLX5_GENERAL_OBJ_TYPES_CAP_SW_ICM)) return NULL; - dm = kzalloc(sizeof(*dm), GFP_KERNEL); + dm = kzalloc_obj(*dm, GFP_KERNEL); if (!dm) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c index 0a3c260af377..d8242edec30f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_chains.c @@ -314,7 +314,7 @@ mlx5_chains_create_chain(struct mlx5_fs_chains *chains, u32 chain) struct fs_chain *chain_s = NULL; int err; - chain_s = kvzalloc(sizeof(*chain_s), GFP_KERNEL); + chain_s = kvzalloc_obj(*chain_s, GFP_KERNEL); if (!chain_s) return ERR_PTR(-ENOMEM); @@ -481,7 +481,7 @@ mlx5_chains_create_prio(struct mlx5_fs_chains *chains, if (IS_ERR(chain_s)) return ERR_CAST(chain_s); - prio_s = kvzalloc(sizeof(*prio_s), GFP_KERNEL); + prio_s = kvzalloc_obj(*prio_s, GFP_KERNEL); flow_group_in = kvzalloc(inlen, GFP_KERNEL); if (!prio_s || !flow_group_in) { err = -ENOMEM; @@ -728,7 +728,7 @@ mlx5_chains_init(struct mlx5_core_dev *dev, struct mlx5_chains_attr *attr) struct mlx5_fs_chains *chains; int err; - chains = kzalloc(sizeof(*chains), GFP_KERNEL); + chains = kzalloc_obj(*chains, GFP_KERNEL); if (!chains) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_ttc.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_ttc.c index 7adad784ad46..feed745cddab 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_ttc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/fs_ttc.c @@ -359,7 +359,7 @@ mlx5_generate_ttc_rule(struct mlx5_core_dev *dev, struct mlx5_flow_table *ft, struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -536,7 +536,7 @@ static int mlx5_create_ttc_table_groups(struct mlx5_ttc_table *ttc, int err; u8 *mc; - ttc->g = kcalloc(groups->num_groups, sizeof(*ttc->g), GFP_KERNEL); + ttc->g = kzalloc_objs(*ttc->g, groups->num_groups, GFP_KERNEL); if (!ttc->g) return -ENOMEM; in = kvzalloc(inlen, GFP_KERNEL); @@ -630,7 +630,7 @@ mlx5_generate_inner_ttc_rule(struct mlx5_core_dev *dev, int err = 0; u8 ipv; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -713,7 +713,7 @@ static int mlx5_create_inner_ttc_table_groups(struct mlx5_ttc_table *ttc, int err; u8 *mc; - ttc->g = kcalloc(groups->num_groups, sizeof(*ttc->g), GFP_KERNEL); + ttc->g = kzalloc_objs(*ttc->g, groups->num_groups, GFP_KERNEL); if (!ttc->g) return -ENOMEM; in = kvzalloc(inlen, GFP_KERNEL); @@ -804,7 +804,7 @@ struct mlx5_ttc_table *mlx5_create_inner_ttc_table(struct mlx5_core_dev *dev, return ERR_PTR(-EINVAL); } - ttc = kvzalloc(sizeof(*ttc), GFP_KERNEL); + ttc = kvzalloc_obj(*ttc, GFP_KERNEL); if (!ttc) return ERR_PTR(-ENOMEM); @@ -882,7 +882,7 @@ struct mlx5_ttc_table *mlx5_create_ttc_table(struct mlx5_core_dev *dev, return ERR_PTR(-EINVAL); } - ttc = kvzalloc(sizeof(*ttc), GFP_KERNEL); + ttc = kvzalloc_obj(*ttc, GFP_KERNEL); if (!ttc) return ERR_PTR(-ENOMEM); @@ -1029,7 +1029,7 @@ mlx5_ttc_create_ipsec_outer_rule(struct mlx5_ttc_table *ttc, if (err) return ERR_PTR(err); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); @@ -1070,7 +1070,7 @@ mlx5_ttc_create_ipsec_inner_rule(struct mlx5_ttc_table *ttc, if (err) return ERR_PTR(err); - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/geneve.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/geneve.c index 6dc83e871cd7..7664a74cbf18 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/geneve.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/geneve.c @@ -134,8 +134,7 @@ void mlx5_geneve_tlv_option_del(struct mlx5_geneve *geneve) struct mlx5_geneve *mlx5_geneve_create(struct mlx5_core_dev *mdev) { - struct mlx5_geneve *geneve = - kzalloc(sizeof(*geneve), GFP_KERNEL); + struct mlx5_geneve *geneve = kzalloc_obj(*geneve, GFP_KERNEL); if (!geneve) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c index 30564d9b00e9..6b3f906653bd 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/hv_vhca.c @@ -42,7 +42,7 @@ struct mlx5_hv_vhca *mlx5_hv_vhca_create(struct mlx5_core_dev *dev) { struct mlx5_hv_vhca *hv_vhca; - hv_vhca = kzalloc(sizeof(*hv_vhca), GFP_KERNEL); + hv_vhca = kzalloc_obj(*hv_vhca, GFP_KERNEL); if (!hv_vhca) return ERR_PTR(-ENOMEM); @@ -98,7 +98,7 @@ void mlx5_hv_vhca_invalidate(void *context, u64 block_mask) struct mlx5_hv_vhca *hv_vhca = (struct mlx5_hv_vhca *)context; struct mlx5_hv_vhca_work *work; - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) return; @@ -152,7 +152,7 @@ mlx5_hv_vhca_control_agent_invalidate(struct mlx5_hv_vhca_agent *agent, u32 capabilities = 0; int err; - block = kzalloc(sizeof(*block), GFP_KERNEL); + block = kzalloc_obj(*block, GFP_KERNEL); if (!block) return; @@ -273,7 +273,7 @@ mlx5_hv_vhca_agent_create(struct mlx5_hv_vhca *hv_vhca, } mutex_unlock(&hv_vhca->agents_lock); - agent = kzalloc(sizeof(*agent), GFP_KERNEL); + agent = kzalloc_obj(*agent, GFP_KERNEL); if (!agent) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c index d524f0220513..ddde75bd3012 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/ipsec_fs_roce.c @@ -139,7 +139,7 @@ ipsec_fs_roce_rx_rule_setup(struct mlx5_core_dev *mdev, struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -242,7 +242,7 @@ static int ipsec_fs_roce_tx_mpv_rule_setup(struct mlx5_core_dev *mdev, struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -850,7 +850,7 @@ struct mlx5_ipsec_fs *mlx5_ipsec_fs_roce_init(struct mlx5_core_dev *mdev, return NULL; } - roce_ipsec = kzalloc(sizeof(*roce_ipsec), GFP_KERNEL); + roce_ipsec = kzalloc_obj(*roce_ipsec, GFP_KERNEL); if (!roce_ipsec) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/macsec_fs.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/macsec_fs.c index e6be2f01daf4..eafd6bcf1675 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/macsec_fs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/macsec_fs.c @@ -267,7 +267,7 @@ static int macsec_fs_tx_create_crypto_table_groups(struct mlx5_macsec_flow_table int err; u8 *mc; - ft->g = kcalloc(TX_CRYPTO_TABLE_NUM_GROUPS, sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, TX_CRYPTO_TABLE_NUM_GROUPS, GFP_KERNEL); if (!ft->g) return -ENOMEM; in = kvzalloc(inlen, GFP_KERNEL); @@ -404,7 +404,7 @@ static int macsec_fs_tx_create(struct mlx5_macsec_fs *macsec_fs) if (!ns) return -ENOMEM; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -713,7 +713,7 @@ static int macsec_fs_id_add(struct list_head *macsec_devices_list, u32 fs_id, rcu_read_unlock(); } - fs_id_iter = kzalloc(sizeof(*fs_id_iter), GFP_KERNEL); + fs_id_iter = kzalloc_obj(*fs_id_iter, GFP_KERNEL); if (!fs_id_iter) return -ENOMEM; @@ -725,7 +725,7 @@ static int macsec_fs_id_add(struct list_head *macsec_devices_list, u32 fs_id, } if (!macsec_device) { /* first time adding a SA to that device */ - macsec_device = kzalloc(sizeof(*macsec_device), GFP_KERNEL); + macsec_device = kzalloc_obj(*macsec_device, GFP_KERNEL); if (!macsec_device) { err = -ENOMEM; goto err_alloc_dev; @@ -813,7 +813,7 @@ macsec_fs_tx_add_rule(struct mlx5_macsec_fs *macsec_fs, tx_tables = &tx_fs->tables; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return NULL; @@ -821,7 +821,7 @@ macsec_fs_tx_add_rule(struct mlx5_macsec_fs *macsec_fs, if (err) goto out_spec; - macsec_rule = kzalloc(sizeof(*macsec_rule), GFP_KERNEL); + macsec_rule = kzalloc_obj(*macsec_rule, GFP_KERNEL); if (!macsec_rule) { macsec_fs_tx_ft_put(macsec_fs); goto out_spec; @@ -931,7 +931,7 @@ static int macsec_fs_tx_init(struct mlx5_macsec_fs *macsec_fs) struct mlx5_fc *flow_counter; int err; - tx_fs = kzalloc(sizeof(*tx_fs), GFP_KERNEL); + tx_fs = kzalloc_obj(*tx_fs, GFP_KERNEL); if (!tx_fs) return -ENOMEM; @@ -1055,7 +1055,7 @@ static int macsec_fs_rx_create_crypto_table_groups(struct mlx5_macsec_flow_table int err; u8 *mc; - ft->g = kcalloc(RX_CRYPTO_TABLE_NUM_GROUPS, sizeof(*ft->g), GFP_KERNEL); + ft->g = kzalloc_objs(*ft->g, RX_CRYPTO_TABLE_NUM_GROUPS, GFP_KERNEL); if (!ft->g) return -ENOMEM; @@ -1327,7 +1327,7 @@ static int macsec_fs_rx_roce_jump_to_rdma_rules_create(struct mlx5_macsec_fs *ma struct mlx5_flow_spec *spec; int err; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -1510,7 +1510,7 @@ static int macsec_fs_rx_create(struct mlx5_macsec_fs *macsec_fs) if (!ns) return -ENOMEM; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; @@ -1739,7 +1739,7 @@ macsec_fs_rx_add_rule(struct mlx5_macsec_fs *macsec_fs, struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return NULL; @@ -1747,7 +1747,7 @@ macsec_fs_rx_add_rule(struct mlx5_macsec_fs *macsec_fs, if (err) goto out_spec; - macsec_rule = kzalloc(sizeof(*macsec_rule), GFP_KERNEL); + macsec_rule = kzalloc_obj(*macsec_rule, GFP_KERNEL); if (!macsec_rule) { macsec_fs_rx_ft_put(macsec_fs); goto out_spec; @@ -1847,7 +1847,7 @@ static int macsec_fs_rx_init(struct mlx5_macsec_fs *macsec_fs) struct mlx5_fc *flow_counter; int err; - rx_fs = kzalloc(sizeof(*rx_fs), GFP_KERNEL); + rx_fs = kzalloc_obj(*rx_fs, GFP_KERNEL); if (!rx_fs) return -ENOMEM; @@ -2132,11 +2132,11 @@ static int mlx5_macsec_fs_add_roce_rule_rx(struct mlx5_macsec_fs *macsec_fs, u32 struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; - rx_rule = kzalloc(sizeof(*rx_rule), GFP_KERNEL); + rx_rule = kzalloc_obj(*rx_rule, GFP_KERNEL); if (!rx_rule) { err = -ENOMEM; goto out; @@ -2201,11 +2201,11 @@ static int mlx5_macsec_fs_add_roce_rule_tx(struct mlx5_macsec_fs *macsec_fs, u32 struct mlx5_flow_spec *spec; int err = 0; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) return -ENOMEM; - tx_rule = kzalloc(sizeof(*tx_rule), GFP_KERNEL); + tx_rule = kzalloc_obj(*tx_rule, GFP_KERNEL); if (!tx_rule) { err = -ENOMEM; goto out; @@ -2361,7 +2361,7 @@ mlx5_macsec_fs_init(struct mlx5_core_dev *mdev) struct mlx5_macsec_fs *macsec_fs; int err; - macsec_fs = kzalloc(sizeof(*macsec_fs), GFP_KERNEL); + macsec_fs = kzalloc_obj(*macsec_fs, GFP_KERNEL); if (!macsec_fs) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.c index 4a88a42ae4f7..5352f9b61415 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.c @@ -103,7 +103,7 @@ int mlx5_mpfs_init(struct mlx5_core_dev *dev) if (!MLX5_ESWITCH_MANAGER(dev) || l2table_size == 1) return 0; - mpfs = kzalloc(sizeof(*mpfs), GFP_KERNEL); + mpfs = kzalloc_obj(*mpfs, GFP_KERNEL); if (!mpfs) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.h b/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.h index 9c63838ce1f3..e864e5c430e0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.h +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/mpfs.h @@ -72,7 +72,7 @@ struct l2addr_node { int ix = MLX5_L2_ADDR_HASH(mac); \ type *ptr = NULL; \ \ - ptr = kzalloc(sizeof(type), gfp); \ + ptr = kzalloc_obj(type, gfp); \ if (ptr) { \ ether_addr_copy(ptr->node.addr, mac); \ hlist_add_head(&ptr->node.hlist, &(hash)[ix]);\ diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c index 8e17daae48af..ca99b4375b66 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/sd.c @@ -187,7 +187,7 @@ static int sd_init(struct mlx5_core_dev *dev) return 0; } - sd = kzalloc(sizeof(*sd), GFP_KERNEL); + sd = kzalloc_obj(*sd, GFP_KERNEL); if (!sd) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/st.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/st.c index ef06fe6cbb51..2de8a80415f1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/st.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/st.c @@ -59,7 +59,7 @@ struct mlx5_st *mlx5_st_create(struct mlx5_core_dev *dev) if (ret) return NULL; - st = kzalloc(sizeof(*st), GFP_KERNEL); + st = kzalloc_obj(*st, GFP_KERNEL); if (!st) goto end; @@ -124,7 +124,7 @@ int mlx5_st_alloc_index(struct mlx5_core_dev *dev, enum tph_mem_type mem_type, } } - idx_data = kzalloc(sizeof(*idx_data), GFP_KERNEL); + idx_data = kzalloc_obj(*idx_data, GFP_KERNEL); if (!idx_data) { ret = -ENOMEM; goto end; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.c index e223e0e46433..5c2ebf74b6a5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/tout.c @@ -37,7 +37,7 @@ int mlx5_tout_init(struct mlx5_core_dev *dev) { int i; - dev->timeouts = kmalloc(sizeof(*dev->timeouts), GFP_KERNEL); + dev->timeouts = kmalloc_obj(*dev->timeouts, GFP_KERNEL); if (!dev->timeouts) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/lib/vxlan.c b/drivers/net/ethernet/mellanox/mlx5/core/lib/vxlan.c index 304912637c35..906d1ce3879f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/lib/vxlan.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/lib/vxlan.c @@ -103,7 +103,7 @@ int mlx5_vxlan_add_port(struct mlx5_vxlan *vxlan, u16 port) struct mlx5_vxlan_port *vxlanp; int ret; - vxlanp = kzalloc(sizeof(*vxlanp), GFP_KERNEL); + vxlanp = kzalloc_obj(*vxlanp, GFP_KERNEL); if (!vxlanp) return -ENOMEM; vxlanp->udp_port = port; @@ -151,7 +151,7 @@ struct mlx5_vxlan *mlx5_vxlan_create(struct mlx5_core_dev *mdev) if (!MLX5_CAP_ETH(mdev, tunnel_stateless_vxlan) || !mlx5_core_is_pf(mdev)) return ERR_PTR(-EOPNOTSUPP); - vxlan = kzalloc(sizeof(*vxlan), GFP_KERNEL); + vxlan = kzalloc_obj(*vxlan, GFP_KERNEL); if (!vxlan) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/main.c b/drivers/net/ethernet/mellanox/mlx5/core/main.c index 55b4e0cceae2..a6c838cce13c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/main.c @@ -1792,7 +1792,7 @@ static int mlx5_hca_caps_alloc(struct mlx5_core_dev *dev) int i; for (i = 0; i < ARRAY_SIZE(types); i++) { - cap = kzalloc(sizeof(*cap), GFP_KERNEL); + cap = kzalloc_obj(*cap, GFP_KERNEL); if (!cap) goto err; type = types[i]; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c index cd68c4b2c0bf..91aa78052462 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/pagealloc.c @@ -107,7 +107,7 @@ static struct rb_root *page_root_per_function(struct mlx5_core_dev *dev, u32 fun if (root) return root; - root = kzalloc(sizeof(*root), GFP_KERNEL); + root = kzalloc_obj(*root, GFP_KERNEL); if (!root) return ERR_PTR(-ENOMEM); @@ -148,7 +148,7 @@ static int insert_page(struct mlx5_core_dev *dev, u64 addr, struct page *page, u return -EEXIST; } - nfp = kzalloc(sizeof(*nfp), GFP_KERNEL); + nfp = kzalloc_obj(*nfp, GFP_KERNEL); if (!nfp) return -ENOMEM; @@ -639,7 +639,7 @@ static int req_pages_handler(struct notifier_block *nb, RELEASE_ALL_PAGES_MASK; mlx5_core_dbg(dev, "page request for func 0x%x, npages %d, release_all %d\n", func_id, npages, release_all); - req = kzalloc(sizeof(*req), GFP_ATOMIC); + req = kzalloc_obj(*req, GFP_ATOMIC); if (!req) { mlx5_core_warn(dev, "failed to allocate pages request\n"); return NOTIFY_DONE; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c index aa3b5878e3da..c23d2c710256 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c @@ -261,7 +261,7 @@ struct mlx5_irq *mlx5_irq_alloc(struct mlx5_irq_pool *pool, int i, struct mlx5_irq *irq; int err; - irq = kzalloc(sizeof(*irq), GFP_KERNEL); + irq = kzalloc_obj(*irq, GFP_KERNEL); if (!irq || !zalloc_cpumask_var(&irq->mask, GFP_KERNEL)) { kfree(irq); return ERR_PTR(-ENOMEM); @@ -471,7 +471,7 @@ struct mlx5_irq *mlx5_ctrl_irq_request(struct mlx5_core_dev *dev) struct irq_affinity_desc *af_desc; struct mlx5_irq *irq; - af_desc = kvzalloc(sizeof(*af_desc), GFP_KERNEL); + af_desc = kvzalloc_obj(*af_desc, GFP_KERNEL); if (!af_desc) return ERR_PTR(-ENOMEM); @@ -556,7 +556,7 @@ struct mlx5_irq *mlx5_irq_request_vector(struct mlx5_core_dev *dev, u16 cpu, struct irq_affinity_desc *af_desc; struct mlx5_irq *irq; - af_desc = kvzalloc(sizeof(*af_desc), GFP_KERNEL); + af_desc = kvzalloc_obj(*af_desc, GFP_KERNEL); if (!af_desc) return ERR_PTR(-ENOMEM); @@ -578,7 +578,7 @@ static struct mlx5_irq_pool * irq_pool_alloc(struct mlx5_core_dev *dev, int start, int size, char *name, u32 min_threshold, u32 max_threshold) { - struct mlx5_irq_pool *pool = kvzalloc(sizeof(*pool), GFP_KERNEL); + struct mlx5_irq_pool *pool = kvzalloc_obj(*pool, GFP_KERNEL); if (!pool) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/rdma.c b/drivers/net/ethernet/mellanox/mlx5/core/rdma.c index 5c552b71e371..aebb67a7964d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/rdma.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/rdma.c @@ -41,7 +41,7 @@ static int mlx5_rdma_enable_roce_steering(struct mlx5_core_dev *dev) flow_group_in = kvzalloc(inlen, GFP_KERNEL); if (!flow_group_in) return -ENOMEM; - spec = kvzalloc(sizeof(*spec), GFP_KERNEL); + spec = kvzalloc_obj(*spec, GFP_KERNEL); if (!spec) { kvfree(flow_group_in); return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/rl.c b/drivers/net/ethernet/mellanox/mlx5/core/rl.c index 39a209b9b684..477526f04cd9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/rl.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/rl.c @@ -247,8 +247,8 @@ static int mlx5_rl_table_get(struct mlx5_rl_table *table) return 0; } - table->rl_entry = kcalloc(table->max_size, sizeof(struct mlx5_rl_entry), - GFP_KERNEL); + table->rl_entry = kzalloc_objs(struct mlx5_rl_entry, table->max_size, + GFP_KERNEL); if (!table->rl_entry) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c b/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c index f310bde3d11f..e41da4da4c4f 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sf/dev/dev.c @@ -99,7 +99,7 @@ static void mlx5_sf_dev_add(struct mlx5_core_dev *dev, u16 sf_index, u16 fn_id, goto add_err; } - sf_dev = kzalloc(sizeof(*sf_dev), GFP_KERNEL); + sf_dev = kzalloc_obj(*sf_dev, GFP_KERNEL); if (!sf_dev) { mlx5_adev_idx_free(id); err = -ENOMEM; @@ -280,7 +280,7 @@ static void mlx5_sf_dev_queue_active_works(struct work_struct *_work) continue; sw_func_id = MLX5_GET(query_vhca_state_out, out, vhca_state_context.sw_function_id); - work_ctx = kzalloc(sizeof(*work_ctx), GFP_KERNEL); + work_ctx = kzalloc_obj(*work_ctx, GFP_KERNEL); if (!work_ctx) return; @@ -336,7 +336,7 @@ void mlx5_sf_dev_table_create(struct mlx5_core_dev *dev) if (!mlx5_sf_dev_supported(dev)) return; - table = kzalloc(sizeof(*table), GFP_KERNEL); + table = kzalloc_obj(*table, GFP_KERNEL); if (!table) { err = -ENOMEM; goto table_err; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c b/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c index b82323b8449e..894567e905b4 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sf/devlink.c @@ -70,7 +70,7 @@ mlx5_sf_alloc(struct mlx5_sf_table *table, struct mlx5_eswitch *esw, goto id_err; } - sf = kzalloc(sizeof(*sf), GFP_KERNEL); + sf = kzalloc_obj(*sf, GFP_KERNEL); if (!sf) { err = -ENOMEM; goto alloc_err; @@ -509,7 +509,7 @@ int mlx5_sf_table_init(struct mlx5_core_dev *dev) if (!mlx5_sf_table_supported(dev) || !mlx5_vhca_event_supported(dev)) return 0; - table = kzalloc(sizeof(*table), GFP_KERNEL); + table = kzalloc_obj(*table, GFP_KERNEL); if (!table) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sf/hw_table.c b/drivers/net/ethernet/mellanox/mlx5/core/sf/hw_table.c index bd968f3b3855..b50a50f7d909 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sf/hw_table.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sf/hw_table.c @@ -233,7 +233,7 @@ static int mlx5_sf_hw_table_hwc_init(struct mlx5_sf_hwc_table *hwc, u16 max_fn, if (!max_fn) return 0; - sfs = kcalloc(max_fn, sizeof(*sfs), GFP_KERNEL); + sfs = kzalloc_objs(*sfs, max_fn, GFP_KERNEL); if (!sfs) return -ENOMEM; @@ -298,7 +298,7 @@ int mlx5_sf_hw_table_init(struct mlx5_core_dev *dev) if (!max_fn && !max_ext_fn) return 0; - table = kzalloc(sizeof(*table), GFP_KERNEL); + table = kzalloc_obj(*table, GFP_KERNEL); if (!table) { err = -ENOMEM; goto alloc_err; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sf/vhca_event.c b/drivers/net/ethernet/mellanox/mlx5/core/sf/vhca_event.c index b04cf6cf8956..809643870526 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sf/vhca_event.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sf/vhca_event.c @@ -114,7 +114,7 @@ mlx5_vhca_state_change_notifier(struct notifier_block *nb, unsigned long type, v struct mlx5_eqe *eqe = data; int wq_idx; - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) return NOTIFY_DONE; INIT_WORK(&work->work, &mlx5_vhca_state_work_handler); @@ -153,7 +153,7 @@ int mlx5_vhca_event_init(struct mlx5_core_dev *dev) if (!mlx5_vhca_event_supported(dev)) return 0; - events = kzalloc(sizeof(*events), GFP_KERNEL); + events = kzalloc_obj(*events, GFP_KERNEL); if (!events) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/sriov.c b/drivers/net/ethernet/mellanox/mlx5/core/sriov.c index a2fc937d5461..143278b70a64 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/sriov.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/sriov.c @@ -47,7 +47,7 @@ static int sriov_restore_guids(struct mlx5_core_dev *dev, int vf, u16 func_id) if (sriov->vfs_ctx[vf].node_guid || sriov->vfs_ctx[vf].port_guid || sriov->vfs_ctx[vf].policy != MLX5_POLICY_INVALID) { - in = kzalloc(sizeof(*in), GFP_KERNEL); + in = kzalloc_obj(*in, GFP_KERNEL); if (!in) return -ENOMEM; @@ -305,7 +305,7 @@ int mlx5_sriov_init(struct mlx5_core_dev *dev) sriov->max_vfs = mlx5_get_max_vfs(dev); sriov->num_vfs = pci_num_vf(pdev); sriov->max_ec_vfs = mlx5_core_ec_sriov_enabled(dev) ? pci_sriov_get_totalvfs(dev->pdev) : 0; - sriov->vfs_ctx = kcalloc(total_vfs, sizeof(*sriov->vfs_ctx), GFP_KERNEL); + sriov->vfs_ctx = kzalloc_objs(*sriov->vfs_ctx, total_vfs, GFP_KERNEL); if (!sriov->vfs_ctx) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action.c index fe56b59e24c5..d8a003119be5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action.c @@ -92,7 +92,7 @@ static int hws_action_get_shared_stc_nic(struct mlx5hws_context *ctx, return 0; } - shared_stc = kzalloc(sizeof(*shared_stc), GFP_KERNEL); + shared_stc = kzalloc_obj(*shared_stc, GFP_KERNEL); if (!shared_stc) { ret = -ENOMEM; goto unlock_and_out; @@ -632,7 +632,7 @@ hws_action_create_generic_bulk(struct mlx5hws_context *ctx, if (!hws_action_validate_hws_action(ctx, flags)) return NULL; - action = kcalloc(bulk_sz, sizeof(*action), GFP_KERNEL); + action = kzalloc_objs(*action, bulk_sz, GFP_KERNEL); if (!action) return NULL; @@ -1383,7 +1383,7 @@ mlx5hws_action_create_dest_array(struct mlx5hws_context *ctx, size_t num_dest, return NULL; } - dest_list = kcalloc(num_dest, sizeof(*dest_list), GFP_KERNEL); + dest_list = kzalloc_objs(*dest_list, num_dest, GFP_KERNEL); if (!dest_list) return NULL; @@ -1477,7 +1477,7 @@ mlx5hws_action_create_insert_header(struct mlx5hws_context *ctx, if (!action) return NULL; - reformat_hdrs = kcalloc(num_of_hdrs, sizeof(*reformat_hdrs), GFP_KERNEL); + reformat_hdrs = kzalloc_objs(*reformat_hdrs, num_of_hdrs, GFP_KERNEL); if (!reformat_hdrs) goto free_action; @@ -1557,7 +1557,7 @@ hws_action_create_dest_match_range_definer(struct mlx5hws_context *ctx) __be32 *tag; int ret; - definer = kzalloc(sizeof(*definer), GFP_KERNEL); + definer = kzalloc_obj(*definer, GFP_KERNEL); if (!definer) return NULL; @@ -1600,7 +1600,7 @@ hws_action_create_dest_match_range_table(struct mlx5hws_context *ctx, return NULL; } - table_ste = kzalloc(sizeof(*table_ste), GFP_KERNEL); + table_ste = kzalloc_obj(*table_ste, GFP_KERNEL); if (!table_ste) return NULL; @@ -2019,7 +2019,7 @@ __must_hold(&ctx->ctrl_lock) return 0; } - default_stc = kzalloc(sizeof(*default_stc), GFP_KERNEL); + default_stc = kzalloc_obj(*default_stc, GFP_KERNEL); if (!default_stc) return -ENOMEM; @@ -2621,7 +2621,7 @@ mlx5hws_action_template_create(enum mlx5hws_action_type action_type[]) u8 num_actions = 0; int i; - at = kzalloc(sizeof(*at), GFP_KERNEL); + at = kzalloc_obj(*at, GFP_KERNEL); if (!at) return NULL; @@ -2629,7 +2629,8 @@ mlx5hws_action_template_create(enum mlx5hws_action_type action_type[]) ; at->num_actions = num_actions - 1; - at->action_type_arr = kcalloc(num_actions, sizeof(*action_type), GFP_KERNEL); + at->action_type_arr = kzalloc_objs(*action_type, num_actions, + GFP_KERNEL); if (!at->action_type_arr) goto free_at; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action_ste_pool.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action_ste_pool.c index 5766a9c82f96..f5ab9f3c694b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action_ste_pool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/action_ste_pool.c @@ -141,7 +141,7 @@ hws_action_ste_table_alloc(struct mlx5hws_action_ste_pool_element *parent_elem) MLX5HWS_ACTION_STE_TABLE_INIT_LOG_SZ, MLX5HWS_ACTION_STE_TABLE_MAX_LOG_SZ); - action_tbl = kzalloc(sizeof(*action_tbl), GFP_KERNEL); + action_tbl = kzalloc_obj(*action_tbl, GFP_KERNEL); if (!action_tbl) return ERR_PTR(-ENOMEM); @@ -329,7 +329,7 @@ int mlx5hws_action_ste_pool_init(struct mlx5hws_context *ctx) size_t queues = ctx->queues; int i, err; - pool = kcalloc(queues, sizeof(*pool), GFP_KERNEL); + pool = kzalloc_objs(*pool, queues, GFP_KERNEL); if (!pool) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/buddy.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/buddy.c index b9aef80ba094..147e176b6f9a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/buddy.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/buddy.c @@ -54,7 +54,7 @@ struct mlx5hws_buddy_mem *mlx5hws_buddy_create(u32 max_order) { struct mlx5hws_buddy_mem *buddy; - buddy = kzalloc(sizeof(*buddy), GFP_KERNEL); + buddy = kzalloc_obj(*buddy, GFP_KERNEL); if (!buddy) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c index 6ef0c4be27e1..6f69b97a8c2b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/bwc.c @@ -236,7 +236,8 @@ int mlx5hws_bwc_matcher_create_simple(struct mlx5hws_bwc_matcher *bwc_matcher, struct mlx5hws_matcher_attr attr = {0}; int i; - bwc_matcher->rules = kcalloc(bwc_queues, sizeof(*bwc_matcher->rules), GFP_KERNEL); + bwc_matcher->rules = kzalloc_objs(*bwc_matcher->rules, bwc_queues, + GFP_KERNEL); if (!bwc_matcher->rules) goto err; @@ -253,8 +254,9 @@ int mlx5hws_bwc_matcher_create_simple(struct mlx5hws_bwc_matcher *bwc_matcher, bwc_matcher->priority = priority; bwc_matcher->size_of_at_array = MLX5HWS_BWC_MATCHER_ATTACH_AT_NUM; - bwc_matcher->at = kcalloc(bwc_matcher->size_of_at_array, - sizeof(*bwc_matcher->at), GFP_KERNEL); + bwc_matcher->at = kzalloc_objs(*bwc_matcher->at, + bwc_matcher->size_of_at_array, + GFP_KERNEL); if (!bwc_matcher->at) goto free_bwc_matcher_rules; @@ -332,7 +334,7 @@ mlx5hws_bwc_matcher_create(struct mlx5hws_table *table, return NULL; } - bwc_matcher = kzalloc(sizeof(*bwc_matcher), GFP_KERNEL); + bwc_matcher = kzalloc_obj(*bwc_matcher, GFP_KERNEL); if (!bwc_matcher) return NULL; @@ -481,11 +483,11 @@ mlx5hws_bwc_rule_alloc(struct mlx5hws_bwc_matcher *bwc_matcher) { struct mlx5hws_bwc_rule *bwc_rule; - bwc_rule = kzalloc(sizeof(*bwc_rule), GFP_KERNEL); + bwc_rule = kzalloc_obj(*bwc_rule, GFP_KERNEL); if (unlikely(!bwc_rule)) goto out_err; - bwc_rule->rule = kzalloc(sizeof(*bwc_rule->rule), GFP_KERNEL); + bwc_rule->rule = kzalloc_obj(*bwc_rule->rule, GFP_KERNEL); if (unlikely(!bwc_rule->rule)) goto free_rule; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c index f22eaf506d28..25b8ad504acc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/cmd.c @@ -299,7 +299,7 @@ mlx5hws_cmd_forward_tbl_create(struct mlx5_core_dev *mdev, struct mlx5hws_cmd_forward_tbl *tbl; int ret; - tbl = kzalloc(sizeof(*tbl), GFP_KERNEL); + tbl = kzalloc_obj(*tbl, GFP_KERNEL); if (!tbl) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/context.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/context.c index 428dae869706..6e5b2c1a8b0b 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/context.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/context.c @@ -192,7 +192,7 @@ struct mlx5hws_context *mlx5hws_context_open(struct mlx5_core_dev *mdev, struct mlx5hws_context *ctx; int ret; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return NULL; @@ -201,7 +201,7 @@ struct mlx5hws_context *mlx5hws_context_open(struct mlx5_core_dev *mdev, mutex_init(&ctx->ctrl_lock); xa_init(&ctx->peer_ctx_xa); - ctx->caps = kzalloc(sizeof(*ctx->caps), GFP_KERNEL); + ctx->caps = kzalloc_obj(*ctx->caps, GFP_KERNEL); if (!ctx->caps) goto free_ctx; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/definer.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/definer.c index 82fd122d4284..d5902cfa8146 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/definer.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/definer.c @@ -1688,7 +1688,7 @@ hws_definer_alloc_compressed_fc(struct mlx5hws_definer_fc *fc) u32 fc_sz = 0; int i; - compressed_fc = kcalloc(definer_size, sizeof(*compressed_fc), GFP_KERNEL); + compressed_fc = kzalloc_objs(*compressed_fc, definer_size, GFP_KERNEL); if (!compressed_fc) return NULL; @@ -1731,7 +1731,7 @@ hws_definer_alloc_fc(struct mlx5hws_context *ctx, struct mlx5hws_definer_fc *fc; int i; - fc = kcalloc(len, sizeof(*fc), GFP_KERNEL); + fc = kzalloc_objs(*fc, len, GFP_KERNEL); if (!fc) return NULL; @@ -2139,7 +2139,7 @@ int mlx5hws_definer_init_cache(struct mlx5hws_definer_cache **cache) { struct mlx5hws_definer_cache *new_cache; - new_cache = kzalloc(sizeof(*new_cache), GFP_KERNEL); + new_cache = kzalloc_obj(*new_cache, GFP_KERNEL); if (!new_cache) return -ENOMEM; @@ -2183,7 +2183,7 @@ int mlx5hws_definer_get_obj(struct mlx5hws_context *ctx, if (ret) return -1; - cached_definer = kzalloc(sizeof(*cached_definer), GFP_KERNEL); + cached_definer = kzalloc_obj(*cached_definer, GFP_KERNEL); if (!cached_definer) goto free_definer_obj; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c index 6a4c4cccd643..d684a49900a5 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws.c @@ -478,7 +478,7 @@ mlx5_fs_get_cached_hws_data(struct xarray *cache_xa, unsigned long index) xa_lock(cache_xa); fs_hws_data = xa_load(cache_xa, index); if (!fs_hws_data) { - fs_hws_data = kzalloc(sizeof(*fs_hws_data), GFP_ATOMIC); + fs_hws_data = kzalloc_obj(*fs_hws_data, GFP_ATOMIC); if (!fs_hws_data) { xa_unlock(cache_xa); return NULL; @@ -759,22 +759,22 @@ static int mlx5_fs_fte_get_hws_actions(struct mlx5_flow_root_namespace *ns, int num_actions = 0; int err; - *ractions = kcalloc(MLX5_FLOW_CONTEXT_ACTION_MAX, sizeof(**ractions), - GFP_KERNEL); + *ractions = kzalloc_objs(**ractions, MLX5_FLOW_CONTEXT_ACTION_MAX, + GFP_KERNEL); if (!*ractions) { err = -ENOMEM; goto out_err; } - fs_actions = kcalloc(MLX5_FLOW_CONTEXT_ACTION_MAX, - sizeof(*fs_actions), GFP_KERNEL); + fs_actions = kzalloc_objs(*fs_actions, MLX5_FLOW_CONTEXT_ACTION_MAX, + GFP_KERNEL); if (!fs_actions) { err = -ENOMEM; goto free_actions_alloc; } - dest_actions = kcalloc(MLX5_FLOW_CONTEXT_ACTION_MAX, - sizeof(*dest_actions), GFP_KERNEL); + dest_actions = kzalloc_objs(*dest_actions, MLX5_FLOW_CONTEXT_ACTION_MAX, + GFP_KERNEL); if (!dest_actions) { err = -ENOMEM; goto free_fs_actions_alloc; @@ -1239,7 +1239,7 @@ mlx5_fs_get_pr_encap_pool(struct mlx5_core_dev *dev, struct xarray *pr_pools, if (pr_pool) return pr_pool; - pr_pool = kzalloc(sizeof(*pr_pool), GFP_KERNEL); + pr_pool = kzalloc_obj(*pr_pool, GFP_KERNEL); if (!pr_pool) return ERR_PTR(-ENOMEM); err = mlx5_fs_hws_pr_pool_init(pr_pool, dev, size, reformat_type); @@ -1430,7 +1430,7 @@ mlx5_fs_create_mh_pool(struct mlx5_core_dev *dev, struct mlx5_fs_pool *pool; int err; - pool = kzalloc(sizeof(*pool), GFP_KERNEL); + pool = kzalloc_obj(*pool, GFP_KERNEL); if (!pool) return ERR_PTR(-ENOMEM); err = mlx5_fs_hws_mh_pool_init(pool, dev, pattern); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c index 5bc8e97ecf1c..d24eb6723b85 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/fs_hws_pools.c @@ -117,7 +117,7 @@ mlx5_fs_hws_pr_bulk_create(struct mlx5_core_dev *dev, void *pool_ctx) return NULL; pr_pool_ctx = pool_ctx; bulk_len = MLX5_FS_HWS_DEFAULT_BULK_LEN; - pr_bulk = kvzalloc(struct_size(pr_bulk, prs_data, bulk_len), GFP_KERNEL); + pr_bulk = kvzalloc_flex(*pr_bulk, prs_data, bulk_len, GFP_KERNEL); if (!pr_bulk) return NULL; @@ -186,7 +186,7 @@ int mlx5_fs_hws_pr_pool_init(struct mlx5_fs_pool *pr_pool, reformat_type != MLX5HWS_ACTION_TYP_REFORMAT_L2_TO_TNL_L2) return -EOPNOTSUPP; - pr_pool_ctx = kzalloc(sizeof(*pr_pool_ctx), GFP_KERNEL); + pr_pool_ctx = kzalloc_obj(*pr_pool_ctx, GFP_KERNEL); if (!pr_pool_ctx) return -ENOMEM; pr_pool_ctx->reformat_type = reformat_type; @@ -273,7 +273,7 @@ mlx5_fs_hws_mh_bulk_create(struct mlx5_core_dev *dev, void *pool_ctx) pattern = pool_ctx; bulk_len = MLX5_FS_HWS_DEFAULT_BULK_LEN; - mh_bulk = kvzalloc(struct_size(mh_bulk, mhs_data, bulk_len), GFP_KERNEL); + mh_bulk = kvzalloc_flex(*mh_bulk, mhs_data, bulk_len, GFP_KERNEL); if (!mh_bulk) return NULL; @@ -331,7 +331,7 @@ int mlx5_fs_hws_mh_pool_init(struct mlx5_fs_pool *fs_hws_mh_pool, { struct mlx5hws_action_mh_pattern *pool_pattern; - pool_pattern = kzalloc(sizeof(*pool_pattern), GFP_KERNEL); + pool_pattern = kzalloc_obj(*pool_pattern, GFP_KERNEL); if (!pool_pattern) return -ENOMEM; pool_pattern->data = kmemdup(pattern->data, pattern->sz, GFP_KERNEL); diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c index 32f87fdf3213..c78ae73e5411 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/matcher.c @@ -912,7 +912,7 @@ hws_matcher_create_col_matcher(struct mlx5hws_matcher *matcher) !hws_matcher_requires_col_tbl(size_tx->rule.num_log)) return 0; - col_matcher = kzalloc(sizeof(*matcher), GFP_KERNEL); + col_matcher = kzalloc_obj(*matcher, GFP_KERNEL); if (!col_matcher) return -ENOMEM; @@ -1084,14 +1084,14 @@ hws_matcher_set_templates(struct mlx5hws_matcher *matcher, return -EOPNOTSUPP; } - matcher->mt = kcalloc(num_of_mt, sizeof(*matcher->mt), GFP_KERNEL); + matcher->mt = kzalloc_objs(*matcher->mt, num_of_mt, GFP_KERNEL); if (!matcher->mt) return -ENOMEM; matcher->size_of_at_array = num_of_at + matcher->attr.max_num_of_at_attach; - matcher->at = kvcalloc(matcher->size_of_at_array, sizeof(*matcher->at), - GFP_KERNEL); + matcher->at = kvzalloc_objs(*matcher->at, matcher->size_of_at_array, + GFP_KERNEL); if (!matcher->at) { mlx5hws_err(ctx, "Failed to allocate action template array\n"); ret = -ENOMEM; @@ -1133,7 +1133,7 @@ mlx5hws_matcher_create(struct mlx5hws_table *tbl, struct mlx5hws_matcher *matcher; int ret; - matcher = kzalloc(sizeof(*matcher), GFP_KERNEL); + matcher = kzalloc_obj(*matcher, GFP_KERNEL); if (!matcher) return NULL; @@ -1179,7 +1179,7 @@ mlx5hws_match_template_create(struct mlx5hws_context *ctx, { struct mlx5hws_match_template *mt; - mt = kzalloc(sizeof(*mt), GFP_KERNEL); + mt = kzalloc_obj(*mt, GFP_KERNEL); if (!mt) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pat_arg.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pat_arg.c index d56271a9e4f0..49c8f3c872d9 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pat_arg.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pat_arg.c @@ -78,7 +78,7 @@ int mlx5hws_pat_init_pattern_cache(struct mlx5hws_pattern_cache **cache) { struct mlx5hws_pattern_cache *new_cache; - new_cache = kzalloc(sizeof(*new_cache), GFP_KERNEL); + new_cache = kzalloc_obj(*new_cache, GFP_KERNEL); if (!new_cache) return -ENOMEM; @@ -168,7 +168,7 @@ mlx5hws_pat_add_pattern_to_cache(struct mlx5hws_pattern_cache *cache, { struct mlx5hws_pattern_cache_item *cached_pattern; - cached_pattern = kzalloc(sizeof(*cached_pattern), GFP_KERNEL); + cached_pattern = kzalloc_obj(*cached_pattern, GFP_KERNEL); if (!cached_pattern) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c index 7b5071c3df36..4b6642642346 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/pool.c @@ -41,7 +41,7 @@ hws_pool_create_one_resource(struct mlx5hws_pool *pool, u32 log_range, u32 obj_id = 0; int ret; - resource = kzalloc(sizeof(*resource), GFP_KERNEL); + resource = kzalloc_obj(*resource, GFP_KERNEL); if (!resource) return NULL; @@ -347,7 +347,7 @@ mlx5hws_pool_create(struct mlx5hws_context *ctx, struct mlx5hws_pool_attr *pool_ enum mlx5hws_db_type res_db_type; struct mlx5hws_pool *pool; - pool = kzalloc(sizeof(*pool), GFP_KERNEL); + pool = kzalloc_obj(*pool, GFP_KERNEL); if (!pool) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c index a94f094e72ba..3c966476479d 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/rule.c @@ -136,7 +136,7 @@ hws_rule_save_resize_info(struct mlx5hws_rule *rule, /* resize_info might already exist (if we're in update flow) */ if (likely(!rule->resize_info)) { - rule->resize_info = kzalloc(sizeof(*rule->resize_info), GFP_KERNEL); + rule->resize_info = kzalloc_obj(*rule->resize_info, GFP_KERNEL); if (unlikely(!rule->resize_info)) { pr_warn("HWS: resize info isn't allocated for rule\n"); return; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c index 7510c46e58a5..4fef376d63a2 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/send.c @@ -701,7 +701,7 @@ static int hws_send_ring_alloc_sq(struct mlx5_core_dev *mdev, wq->db = &wq->db[MLX5_SND_DBR]; buf_sz = queue->num_entries * MAX_WQES_PER_RULE; - sq->dep_wqe = kcalloc(queue->num_entries, sizeof(*sq->dep_wqe), GFP_KERNEL); + sq->dep_wqe = kzalloc_objs(*sq->dep_wqe, queue->num_entries, GFP_KERNEL); if (!sq->dep_wqe) { err = -ENOMEM; goto destroy_wq_cyc; @@ -1033,9 +1033,8 @@ static int mlx5hws_send_queue_open(struct mlx5hws_context *ctx, queue->num_entries = roundup_pow_of_two(queue_size); queue->used_entries = 0; - queue->completed.entries = kcalloc(queue->num_entries, - sizeof(queue->completed.entries[0]), - GFP_KERNEL); + queue->completed.entries = kzalloc_objs(queue->completed.entries[0], + queue->num_entries, GFP_KERNEL); if (!queue->completed.entries) return -ENOMEM; @@ -1094,16 +1093,14 @@ static int hws_bwc_send_queues_init(struct mlx5hws_context *ctx) ctx->queues += bwc_queues; - ctx->bwc_send_queue_locks = kcalloc(bwc_queues, - sizeof(*ctx->bwc_send_queue_locks), - GFP_KERNEL); + ctx->bwc_send_queue_locks = kzalloc_objs(*ctx->bwc_send_queue_locks, + bwc_queues, GFP_KERNEL); if (!ctx->bwc_send_queue_locks) return -ENOMEM; - ctx->bwc_lock_class_keys = kcalloc(bwc_queues, - sizeof(*ctx->bwc_lock_class_keys), - GFP_KERNEL); + ctx->bwc_lock_class_keys = kzalloc_objs(*ctx->bwc_lock_class_keys, + bwc_queues, GFP_KERNEL); if (!ctx->bwc_lock_class_keys) goto err_lock_class_keys; @@ -1135,7 +1132,8 @@ int mlx5hws_send_queues_open(struct mlx5hws_context *ctx, if (err) return err; - ctx->send_queue = kcalloc(ctx->queues, sizeof(*ctx->send_queue), GFP_KERNEL); + ctx->send_queue = kzalloc_objs(*ctx->send_queue, ctx->queues, + GFP_KERNEL); if (!ctx->send_queue) { err = -ENOMEM; goto free_bwc_locks; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c index 6113383ae47b..2bf42f5df285 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/hws/table.c @@ -238,7 +238,7 @@ struct mlx5hws_table *mlx5hws_table_create(struct mlx5hws_context *ctx, return NULL; } - tbl = kzalloc(sizeof(*tbl), GFP_KERNEL); + tbl = kzalloc_obj(*tbl, GFP_KERNEL); if (!tbl) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_action.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_action.c index 2ebb61ef3ea9..9889149569fe 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_action.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_action.c @@ -1194,14 +1194,14 @@ mlx5dr_action_create_mult_dest_tbl(struct mlx5dr_domain *dmn, return NULL; } - hw_dests = kcalloc(num_of_dests, sizeof(*hw_dests), GFP_KERNEL); + hw_dests = kzalloc_objs(*hw_dests, num_of_dests, GFP_KERNEL); if (!hw_dests) return NULL; if (unlikely(check_mul_overflow(num_of_dests, 2u, &ref_act_cnt))) goto free_hw_dests; - ref_actions = kcalloc(ref_act_cnt, sizeof(*ref_actions), GFP_KERNEL); + ref_actions = kzalloc_objs(*ref_actions, ref_act_cnt, GFP_KERNEL); if (!ref_actions) goto free_hw_dests; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_arg.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_arg.c index 01ed6442095d..b276f9e966bc 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_arg.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_arg.c @@ -68,7 +68,7 @@ static int dr_arg_pool_alloc_objs(struct dr_arg_pool *pool) } for (i = 0; i < num_of_objects; i++) { - arg_obj = kzalloc(sizeof(*arg_obj), GFP_KERNEL); + arg_obj = kzalloc_obj(*arg_obj, GFP_KERNEL); if (!arg_obj) { ret = -ENOMEM; goto clean_arg_obj; @@ -132,7 +132,7 @@ static struct dr_arg_pool *dr_arg_pool_create(struct mlx5dr_domain *dmn, { struct dr_arg_pool *pool; - pool = kzalloc(sizeof(*pool), GFP_KERNEL); + pool = kzalloc_obj(*pool, GFP_KERNEL); if (!pool) return NULL; @@ -235,7 +235,7 @@ mlx5dr_arg_mgr_create(struct mlx5dr_domain *dmn) if (!mlx5dr_domain_is_support_ptrn_arg(dmn)) return NULL; - pool_mgr = kzalloc(sizeof(*pool_mgr), GFP_KERNEL); + pool_mgr = kzalloc_obj(*pool_mgr, GFP_KERNEL); if (!pool_mgr) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_buddy.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_buddy.c index fe228d948b47..3af4218381a1 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_buddy.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_buddy.c @@ -16,12 +16,10 @@ int mlx5dr_buddy_init(struct mlx5dr_icm_buddy_mem *buddy, INIT_LIST_HEAD(&buddy->list_node); - buddy->bitmap = kcalloc(buddy->max_order + 1, - sizeof(*buddy->bitmap), - GFP_KERNEL); - buddy->num_free = kcalloc(buddy->max_order + 1, - sizeof(*buddy->num_free), - GFP_KERNEL); + buddy->bitmap = kzalloc_objs(*buddy->bitmap, buddy->max_order + 1, + GFP_KERNEL); + buddy->num_free = kzalloc_objs(*buddy->num_free, buddy->max_order + 1, + GFP_KERNEL); if (!buddy->bitmap || !buddy->num_free) goto err_free_all; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_dbg.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_dbg.c index 8803fa071c50..c8904955ec54 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_dbg.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_dbg.c @@ -60,7 +60,7 @@ mlx5dr_dbg_dump_data_init_new_buff(struct mlx5dr_dbg_dump_data *dump_data) { struct mlx5dr_dbg_dump_buff *new_buff; - new_buff = kzalloc(sizeof(*new_buff), GFP_KERNEL); + new_buff = kzalloc_obj(*new_buff, GFP_KERNEL); if (!new_buff) return NULL; @@ -81,7 +81,7 @@ mlx5dr_dbg_create_dump_data(void) { struct mlx5dr_dbg_dump_data *dump_data; - dump_data = kzalloc(sizeof(*dump_data), GFP_KERNEL); + dump_data = kzalloc_obj(*dump_data, GFP_KERNEL); if (!dump_data) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_definer.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_definer.c index d5ea97751945..282088205d4c 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_definer.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_definer.c @@ -60,7 +60,7 @@ dr_definer_create_obj(struct mlx5dr_domain *dmn, u16 format_id, struct dr_definer_object *definer_obj; int ret = 0; - definer_obj = kzalloc(sizeof(*definer_obj), GFP_KERNEL); + definer_obj = kzalloc_obj(*definer_obj, GFP_KERNEL); if (!definer_obj) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c index e8c67ed9f748..5c0a8dc6cff0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_domain.c @@ -282,7 +282,7 @@ dr_domain_add_vport_cap(struct mlx5dr_domain *dmn, u16 vport) struct mlx5dr_cmd_vport_cap *vport_caps; int ret; - vport_caps = kvzalloc(sizeof(*vport_caps), GFP_KERNEL); + vport_caps = kvzalloc_obj(*vport_caps, GFP_KERNEL); if (!vport_caps) return NULL; @@ -467,7 +467,7 @@ mlx5dr_domain_create(struct mlx5_core_dev *mdev, enum mlx5dr_domain_type type) if (type > MLX5DR_DOMAIN_TYPE_FDB) return NULL; - dmn = kzalloc(sizeof(*dmn), GFP_KERNEL); + dmn = kzalloc_obj(*dmn, GFP_KERNEL); if (!dmn) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_fw.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_fw.c index f05ef0cd54ba..df34beefda11 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_fw.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_fw.c @@ -13,7 +13,7 @@ mlx5dr_fw_create_recalc_cs_ft(struct mlx5dr_domain *dmn, u16 vport_num) u64 rx_icm_addr, modify_ttl_action; int ret; - recalc_cs_ft = kzalloc(sizeof(*recalc_cs_ft), GFP_KERNEL); + recalc_cs_ft = kzalloc_obj(*recalc_cs_ft, GFP_KERNEL); if (!recalc_cs_ft) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_icm_pool.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_icm_pool.c index 0b5af9f3f605..79f0adecc2aa 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_icm_pool.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_icm_pool.c @@ -116,7 +116,7 @@ dr_icm_pool_mr_create(struct mlx5dr_icm_pool *pool) size_t log_align_base = 0; int err; - icm_mr = kvzalloc(sizeof(*icm_mr), GFP_KERNEL); + icm_mr = kvzalloc_obj(*icm_mr, GFP_KERNEL); if (!icm_mr) return NULL; @@ -227,8 +227,8 @@ static int dr_icm_buddy_init_ste_cache(struct mlx5dr_icm_buddy_mem *buddy) int num_of_entries = mlx5dr_icm_pool_chunk_size_to_entries(buddy->pool->max_log_chunk_sz); - buddy->ste_arr = kvcalloc(num_of_entries, - sizeof(struct mlx5dr_ste), GFP_KERNEL); + buddy->ste_arr = kvzalloc_objs(struct mlx5dr_ste, num_of_entries, + GFP_KERNEL); if (!buddy->ste_arr) return -ENOMEM; @@ -269,7 +269,7 @@ static int dr_icm_buddy_create(struct mlx5dr_icm_pool *pool) if (!icm_mr) return -ENOMEM; - buddy = kvzalloc(sizeof(*buddy), GFP_KERNEL); + buddy = kvzalloc_obj(*buddy, GFP_KERNEL); if (!buddy) goto free_mr; @@ -509,7 +509,7 @@ struct mlx5dr_icm_pool *mlx5dr_icm_pool_create(struct mlx5dr_domain *dmn, struct mlx5dr_icm_pool *pool; u32 max_hot_size = 0; - pool = kvzalloc(sizeof(*pool), GFP_KERNEL); + pool = kvzalloc_obj(*pool, GFP_KERNEL); if (!pool) return NULL; @@ -548,9 +548,8 @@ struct mlx5dr_icm_pool *mlx5dr_icm_pool_create(struct mlx5dr_domain *dmn, num_of_chunks = DIV_ROUND_UP(max_hot_size, entry_size) + 1; pool->th = max_hot_size; - pool->hot_chunks_arr = kvcalloc(num_of_chunks, - sizeof(struct mlx5dr_icm_hot_chunk), - GFP_KERNEL); + pool->hot_chunks_arr = kvzalloc_objs(struct mlx5dr_icm_hot_chunk, + num_of_chunks, GFP_KERNEL); if (!pool->hot_chunks_arr) goto free_pool; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_matcher.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_matcher.c index 0726848eb3ff..b171fdb5a622 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_matcher.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_matcher.c @@ -996,7 +996,7 @@ mlx5dr_matcher_create(struct mlx5dr_table *tbl, refcount_inc(&tbl->refcount); - matcher = kzalloc(sizeof(*matcher), GFP_KERNEL); + matcher = kzalloc_obj(*matcher, GFP_KERNEL); if (!matcher) goto dec_ref; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_ptrn.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_ptrn.c index 8ca534ef5d03..094a6bea9a8a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_ptrn.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_ptrn.c @@ -94,7 +94,7 @@ dr_ptrn_alloc_pattern(struct mlx5dr_ptrn_mgr *mgr, mgr->dmn->info.caps.hdr_modify_pattern_icm_addr) / DR_ACTION_CACHE_LINE_SIZE; - pattern = kzalloc(sizeof(*pattern), GFP_KERNEL); + pattern = kzalloc_obj(*pattern, GFP_KERNEL); if (!pattern) goto free_chunk; @@ -201,7 +201,7 @@ struct mlx5dr_ptrn_mgr *mlx5dr_ptrn_mgr_create(struct mlx5dr_domain *dmn) if (!mlx5dr_domain_is_support_ptrn_arg(dmn)) return NULL; - mgr = kzalloc(sizeof(*mgr), GFP_KERNEL); + mgr = kzalloc_obj(*mgr, GFP_KERNEL); if (!mgr) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_rule.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_rule.c index d1db04baa1fa..8d925c3e2b11 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_rule.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_rule.c @@ -593,7 +593,7 @@ static int dr_rule_add_action_members(struct mlx5dr_rule *rule, int i; for (i = 0; i < num_actions; i++) { - action_mem = kvzalloc(sizeof(*action_mem), GFP_KERNEL); + action_mem = kvzalloc_obj(*action_mem, GFP_KERNEL); if (!action_mem) goto free_action_members; @@ -1298,7 +1298,7 @@ dr_rule_create_rule(struct mlx5dr_matcher *matcher, if (!dr_rule_verify(matcher, value, ¶m)) return NULL; - rule = kzalloc(sizeof(*rule), GFP_KERNEL); + rule = kzalloc_obj(*rule, GFP_KERNEL); if (!rule) return NULL; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_send.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_send.c index d034372fa047..78d7c83a98b0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_send.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_send.c @@ -72,7 +72,7 @@ static int dr_send_info_pool_fill(struct mlx5dr_send_info_pool *pool) int i; for (i = 0; i < DR_SEND_INFO_POOL_SIZE; i++) { - pool_obj = kzalloc(sizeof(*pool_obj), GFP_KERNEL); + pool_obj = kzalloc_obj(*pool_obj, GFP_KERNEL); if (!pool_obj) goto clean_pool; @@ -114,7 +114,7 @@ static struct mlx5dr_send_info_pool *dr_send_info_pool_create(void) struct mlx5dr_send_info_pool *pool; int ret; - pool = kzalloc(sizeof(*pool), GFP_KERNEL); + pool = kzalloc_obj(*pool, GFP_KERNEL); if (!pool) return NULL; @@ -258,7 +258,7 @@ static struct mlx5dr_qp *dr_create_rc_qp(struct mlx5_core_dev *mdev, void *in; int err; - dr_qp = kzalloc(sizeof(*dr_qp), GFP_KERNEL); + dr_qp = kzalloc_obj(*dr_qp, GFP_KERNEL); if (!dr_qp) return NULL; @@ -1063,7 +1063,7 @@ static struct mlx5dr_cq *dr_create_cq(struct mlx5_core_dev *mdev, __be64 *pas; u32 i; - cq = kzalloc(sizeof(*cq), GFP_KERNEL); + cq = kzalloc_obj(*cq, GFP_KERNEL); if (!cq) return NULL; @@ -1158,7 +1158,7 @@ static int dr_create_mkey(struct mlx5_core_dev *mdev, u32 pdn, u32 *mkey) static struct mlx5dr_mr *dr_reg_mr(struct mlx5_core_dev *mdev, u32 pdn, void *buf, size_t size) { - struct mlx5dr_mr *mr = kzalloc(sizeof(*mr), GFP_KERNEL); + struct mlx5dr_mr *mr = kzalloc_obj(*mr, GFP_KERNEL); struct device *dma_device; dma_addr_t dma_addr; int err; @@ -1207,7 +1207,7 @@ int mlx5dr_send_ring_alloc(struct mlx5dr_domain *dmn) int size; int ret; - dmn->send_ring = kzalloc(sizeof(*dmn->send_ring), GFP_KERNEL); + dmn->send_ring = kzalloc_obj(*dmn->send_ring, GFP_KERNEL); if (!dmn->send_ring) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_table.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_table.c index 69294a66fd7f..ab4c360c64e0 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_table.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/dr_table.c @@ -255,7 +255,7 @@ struct mlx5dr_table *mlx5dr_table_create(struct mlx5dr_domain *dmn, u32 level, refcount_inc(&dmn->refcount); - tbl = kzalloc(sizeof(*tbl), GFP_KERNEL); + tbl = kzalloc_obj(*tbl, GFP_KERNEL); if (!tbl) goto dec_ref; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/fs_dr.c b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/fs_dr.c index f367997ab61e..4d29c6347902 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/fs_dr.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/steering/sws/fs_dr.c @@ -275,22 +275,22 @@ static int mlx5_cmd_dr_create_fte(struct mlx5_flow_root_namespace *ns, if (mlx5_fs_cmd_is_fw_term_table(ft)) return mlx5_fs_cmd_get_fw_cmds()->create_fte(ns, ft, group, fte); - actions = kcalloc(MLX5_FLOW_CONTEXT_ACTION_MAX, sizeof(*actions), - GFP_KERNEL); + actions = kzalloc_objs(*actions, MLX5_FLOW_CONTEXT_ACTION_MAX, + GFP_KERNEL); if (!actions) { err = -ENOMEM; goto out_err; } - fs_dr_actions = kcalloc(MLX5_FLOW_CONTEXT_ACTION_MAX, - sizeof(*fs_dr_actions), GFP_KERNEL); + fs_dr_actions = kzalloc_objs(*fs_dr_actions, + MLX5_FLOW_CONTEXT_ACTION_MAX, GFP_KERNEL); if (!fs_dr_actions) { err = -ENOMEM; goto free_actions_alloc; } - term_actions = kcalloc(MLX5_FLOW_CONTEXT_ACTION_MAX, - sizeof(*term_actions), GFP_KERNEL); + term_actions = kzalloc_objs(*term_actions, MLX5_FLOW_CONTEXT_ACTION_MAX, + GFP_KERNEL); if (!term_actions) { err = -ENOMEM; goto free_fs_dr_actions_alloc; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/vport.c b/drivers/net/ethernet/mellanox/mlx5/core/vport.c index cb098d3eb2fa..3b41a507ea05 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/vport.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/vport.c @@ -832,7 +832,7 @@ int mlx5_query_hca_vport_system_image_guid(struct mlx5_core_dev *dev, struct mlx5_hca_vport_context *rep; int err; - rep = kvzalloc(sizeof(*rep), GFP_KERNEL); + rep = kvzalloc_obj(*rep, GFP_KERNEL); if (!rep) return -ENOMEM; @@ -851,7 +851,7 @@ int mlx5_query_hca_vport_node_guid(struct mlx5_core_dev *dev, struct mlx5_hca_vport_context *rep; int err; - rep = kvzalloc(sizeof(*rep), GFP_KERNEL); + rep = kvzalloc_obj(*rep, GFP_KERNEL); if (!rep) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlx5/core/wc.c b/drivers/net/ethernet/mellanox/mlx5/core/wc.c index 04d03be1bb77..aa989841f375 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/wc.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/wc.c @@ -366,7 +366,7 @@ static void mlx5_core_test_wc(struct mlx5_core_dev *mdev) if (mdev->wc_state != MLX5_WC_STATE_UNINITIALIZED) return; - sq = kzalloc(sizeof(*sq), GFP_KERNEL); + sq = kzalloc_obj(*sq, GFP_KERNEL); if (!sq) return; diff --git a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c index e6f677e42007..b2335f56b481 100644 --- a/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c +++ b/drivers/net/ethernet/mellanox/mlxfw/mlxfw_mfa2.c @@ -267,7 +267,7 @@ struct mlxfw_mfa2_file *mlxfw_mfa2_file_init(const struct firmware *fw) const void *first_tlv_ptr; const void *cb_top_ptr; - mfa2_file = kzalloc(sizeof(*mfa2_file), GFP_KERNEL); + mfa2_file = kzalloc_obj(*mfa2_file, GFP_KERNEL); if (!mfa2_file) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c index 83c7cf3bbea3..6d2353324eda 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -150,8 +150,8 @@ static int mlxsw_ports_init(struct mlxsw_core *mlxsw_core, bool reload) else mlxsw_core->max_ports = MLXSW_PORT_MAX_PORTS_DEFAULT + 1; - mlxsw_core->ports = kcalloc(mlxsw_core->max_ports, - sizeof(struct mlxsw_core_port), GFP_KERNEL); + mlxsw_core->ports = kzalloc_objs(struct mlxsw_core_port, + mlxsw_core->max_ports, GFP_KERNEL); if (!mlxsw_core->ports) return -ENOMEM; @@ -1793,7 +1793,7 @@ static void mlxsw_core_health_listener_func(const struct mlxsw_reg_info *reg, struct mlxsw_core_health_event *event; struct mlxsw_core *mlxsw_core = priv; - event = kmalloc(sizeof(*event), GFP_ATOMIC); + event = kmalloc_obj(*event, GFP_ATOMIC); if (!event) return; event->mlxsw_core = mlxsw_core; @@ -2376,7 +2376,7 @@ int mlxsw_core_rx_listener_register(struct mlxsw_core *mlxsw_core, rxl_item = __find_rx_listener_item(mlxsw_core, rxl); if (rxl_item) return -EEXIST; - rxl_item = kmalloc(sizeof(*rxl_item), GFP_KERNEL); + rxl_item = kmalloc_obj(*rxl_item, GFP_KERNEL); if (!rxl_item) return -ENOMEM; rxl_item->rxl = *rxl; @@ -2475,7 +2475,7 @@ int mlxsw_core_event_listener_register(struct mlxsw_core *mlxsw_core, el_item = __find_event_listener_item(mlxsw_core, el); if (el_item) return -EEXIST; - el_item = kmalloc(sizeof(*el_item), GFP_KERNEL); + el_item = kmalloc_obj(*el_item, GFP_KERNEL); if (!el_item) return -ENOMEM; el_item->mlxsw_core = mlxsw_core; @@ -2684,7 +2684,7 @@ static int mlxsw_core_reg_access_emad(struct mlxsw_core *mlxsw_core, struct mlxsw_reg_trans *trans; int err; - trans = kzalloc(sizeof(*trans), GFP_KERNEL); + trans = kzalloc_obj(*trans, GFP_KERNEL); if (!trans) return -ENOMEM; @@ -2785,7 +2785,7 @@ int mlxsw_core_irq_event_handler_register(struct mlxsw_core *mlxsw_core, { struct mlxsw_core_irq_event_handler_item *item; - item = kzalloc(sizeof(*item), GFP_KERNEL); + item = kzalloc_obj(*item, GFP_KERNEL); if (!item) return -ENOMEM; item->cb = cb; diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c index 1915fa41c622..08168f95987a 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_actions.c @@ -201,7 +201,7 @@ struct mlxsw_afa *mlxsw_afa_create(unsigned int max_acts_per_set, struct mlxsw_afa *mlxsw_afa; int err; - mlxsw_afa = kzalloc(sizeof(*mlxsw_afa), GFP_KERNEL); + mlxsw_afa = kzalloc_obj(*mlxsw_afa, GFP_KERNEL); if (!mlxsw_afa) return ERR_PTR(-ENOMEM); err = rhashtable_init(&mlxsw_afa->set_ht, &mlxsw_afa_set_ht_params); @@ -276,7 +276,7 @@ static struct mlxsw_afa_set *mlxsw_afa_set_create(bool is_first) { struct mlxsw_afa_set *set; - set = kzalloc(sizeof(*set), GFP_KERNEL); + set = kzalloc_obj(*set, GFP_KERNEL); if (!set) return NULL; /* Need to initialize the set to pass by default */ @@ -406,7 +406,7 @@ struct mlxsw_afa_block *mlxsw_afa_block_create(struct mlxsw_afa *mlxsw_afa) { struct mlxsw_afa_block *block; - block = kzalloc(sizeof(*block), GFP_KERNEL); + block = kzalloc_obj(*block, GFP_KERNEL); if (!block) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&block->resource_list); @@ -560,7 +560,7 @@ mlxsw_afa_fwd_entry_create(struct mlxsw_afa *mlxsw_afa, u16 local_port) struct mlxsw_afa_fwd_entry *fwd_entry; int err; - fwd_entry = kzalloc(sizeof(*fwd_entry), GFP_KERNEL); + fwd_entry = kzalloc_obj(*fwd_entry, GFP_KERNEL); if (!fwd_entry) return ERR_PTR(-ENOMEM); fwd_entry->ht_key.local_port = local_port; @@ -653,7 +653,7 @@ mlxsw_afa_fwd_entry_ref_create(struct mlxsw_afa_block *block, u16 local_port) struct mlxsw_afa_fwd_entry *fwd_entry; int err; - fwd_entry_ref = kzalloc(sizeof(*fwd_entry_ref), GFP_KERNEL); + fwd_entry_ref = kzalloc_obj(*fwd_entry_ref, GFP_KERNEL); if (!fwd_entry_ref) return ERR_PTR(-ENOMEM); fwd_entry = mlxsw_afa_fwd_entry_get(block->afa, local_port); @@ -702,7 +702,7 @@ mlxsw_afa_counter_create(struct mlxsw_afa_block *block) struct mlxsw_afa_counter *counter; int err; - counter = kzalloc(sizeof(*counter), GFP_KERNEL); + counter = kzalloc_obj(*counter, GFP_KERNEL); if (!counter) return ERR_PTR(-ENOMEM); @@ -847,7 +847,7 @@ mlxsw_afa_cookie_ref_create(struct mlxsw_afa_block *block, struct mlxsw_afa_cookie *cookie; int err; - cookie_ref = kzalloc(sizeof(*cookie_ref), GFP_KERNEL); + cookie_ref = kzalloc_obj(*cookie_ref, GFP_KERNEL); if (!cookie_ref) return ERR_PTR(-ENOMEM); cookie = mlxsw_afa_cookie_get(block->afa, fa_cookie); @@ -873,7 +873,7 @@ mlxsw_afa_policer_create(struct mlxsw_afa *mlxsw_afa, u32 fa_index, struct mlxsw_afa_policer *policer; int err; - policer = kzalloc(sizeof(*policer), GFP_KERNEL); + policer = kzalloc_obj(*policer, GFP_KERNEL); if (!policer) return ERR_PTR(-ENOMEM); @@ -974,7 +974,7 @@ mlxsw_afa_policer_ref_create(struct mlxsw_afa_block *block, u32 fa_index, struct mlxsw_afa_policer *policer; int err; - policer_ref = kzalloc(sizeof(*policer_ref), GFP_KERNEL); + policer_ref = kzalloc_obj(*policer_ref, GFP_KERNEL); if (!policer_ref) return ERR_PTR(-ENOMEM); @@ -1386,7 +1386,7 @@ mlxsw_afa_mirror_create(struct mlxsw_afa_block *block, u16 local_in_port, struct mlxsw_afa_mirror *mirror; int err; - mirror = kzalloc(sizeof(*mirror), GFP_KERNEL); + mirror = kzalloc_obj(*mirror, GFP_KERNEL); if (!mirror) return ERR_PTR(-ENOMEM); @@ -2187,7 +2187,7 @@ mlxsw_afa_sampler_create(struct mlxsw_afa_block *block, u16 local_port, struct mlxsw_afa_sampler *sampler; int err; - sampler = kzalloc(sizeof(*sampler), GFP_KERNEL); + sampler = kzalloc_obj(*sampler, GFP_KERNEL); if (!sampler) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c index 7aa1a462a103..030eefcd3eda 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_acl_flex_keys.c @@ -86,7 +86,7 @@ struct mlxsw_afk *mlxsw_afk_create(unsigned int max_blocks, { struct mlxsw_afk *mlxsw_afk; - mlxsw_afk = kzalloc(sizeof(*mlxsw_afk), GFP_KERNEL); + mlxsw_afk = kzalloc_obj(*mlxsw_afk, GFP_KERNEL); if (!mlxsw_afk) return NULL; INIT_LIST_HEAD(&mlxsw_afk->key_info_list); @@ -262,7 +262,7 @@ static int mlxsw_afk_picker(struct mlxsw_afk *mlxsw_afk, enum mlxsw_afk_element element; int err; - picker = kcalloc(mlxsw_afk->blocks_count, sizeof(*picker), GFP_KERNEL); + picker = kzalloc_objs(*picker, mlxsw_afk->blocks_count, GFP_KERNEL); if (!picker) return -ENOMEM; @@ -327,8 +327,8 @@ mlxsw_afk_key_info_create(struct mlxsw_afk *mlxsw_afk, struct mlxsw_afk_key_info *key_info; int err; - key_info = kzalloc(struct_size(key_info, blocks, mlxsw_afk->max_blocks), - GFP_KERNEL); + key_info = kzalloc_flex(*key_info, blocks, mlxsw_afk->max_blocks, + GFP_KERNEL); if (!key_info) return ERR_PTR(-ENOMEM); err = mlxsw_afk_picker(mlxsw_afk, key_info, elusage); diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_env.c b/drivers/net/ethernet/mellanox/mlxsw/core_env.c index 294e758f1067..3b6b17c48a18 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_env.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_env.c @@ -986,7 +986,7 @@ mlxsw_env_mtwe_listener_func(const struct mlxsw_reg_info *reg, char *mtwe_pl, struct mlxsw_env_module_temp_warn_event *event; struct mlxsw_env *mlxsw_env = priv; - event = kmalloc(sizeof(*event), GFP_ATOMIC); + event = kmalloc_obj(*event, GFP_ATOMIC); if (!event) return; @@ -1080,7 +1080,7 @@ mlxsw_env_pmpe_listener_func(const struct mlxsw_reg_info *reg, char *pmpe_pl, if (module_status != MLXSW_REG_PMPE_MODULE_STATUS_PLUGGED_ENABLED) return; - event = kmalloc(sizeof(*event), GFP_ATOMIC); + event = kmalloc_obj(*event, GFP_ATOMIC); if (!event) return; @@ -1243,10 +1243,10 @@ static int mlxsw_env_line_cards_alloc(struct mlxsw_env *env) int i, j; for (i = 0; i < env->num_of_slots; i++) { - env->line_cards[i] = kzalloc(struct_size(env->line_cards[i], - module_info, - env->max_module_count), - GFP_KERNEL); + env->line_cards[i] = kzalloc_flex(*env->line_cards[i], + module_info, + env->max_module_count, + GFP_KERNEL); if (!env->line_cards[i]) goto kzalloc_err; @@ -1453,8 +1453,7 @@ int mlxsw_env_init(struct mlxsw_core *mlxsw_core, mlxsw_reg_mgpir_max_modules_per_slot_get(mgpir_pl) : module_count; - env = kzalloc(struct_size(env, line_cards, num_of_slots + 1), - GFP_KERNEL); + env = kzalloc_flex(*env, line_cards, num_of_slots + 1, GFP_KERNEL); if (!env) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c b/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c index 9c12e1feb643..e7081614f597 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_hwmon.c @@ -871,8 +871,8 @@ int mlxsw_hwmon_init(struct mlxsw_core *mlxsw_core, mlxsw_reg_mgpir_unpack(mgpir_pl, NULL, NULL, NULL, NULL, &num_of_slots); - mlxsw_hwmon = kzalloc(struct_size(mlxsw_hwmon, line_cards, - num_of_slots + 1), GFP_KERNEL); + mlxsw_hwmon = kzalloc_flex(*mlxsw_hwmon, line_cards, num_of_slots + 1, + GFP_KERNEL); if (!mlxsw_hwmon) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_linecard_dev.c b/drivers/net/ethernet/mellanox/mlxsw/core_linecard_dev.c index e8d6fe35bf36..a689c79122cf 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_linecard_dev.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_linecard_dev.c @@ -57,7 +57,7 @@ int mlxsw_linecard_bdev_add(struct mlxsw_linecard *linecard) if (id < 0) return id; - linecard_bdev = kzalloc(sizeof(*linecard_bdev), GFP_KERNEL); + linecard_bdev = kzalloc_obj(*linecard_bdev, GFP_KERNEL); if (!linecard_bdev) { mlxsw_linecard_bdev_id_free(id); return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c b/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c index 10f5bc4892fc..ef13fee48b1a 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_linecards.c @@ -531,7 +531,7 @@ int mlxsw_linecards_event_ops_register(struct mlxsw_core *mlxsw_core, if (!linecards) return 0; - item = kzalloc(sizeof(*item), GFP_KERNEL); + item = kzalloc_obj(*item, GFP_KERNEL); if (!item) return -ENOMEM; item->event_ops = ops; @@ -1192,7 +1192,7 @@ mlxsw_linecard_status_listener_func(const struct mlxsw_reg_info *reg, struct mlxsw_linecard_status_event *event; struct mlxsw_core *mlxsw_core = priv; - event = kmalloc(sizeof(*event), GFP_ATOMIC); + event = kmalloc_obj(*event, GFP_ATOMIC); if (!event) return; event->mlxsw_core = mlxsw_core; @@ -1225,7 +1225,7 @@ mlxsw_linecard_bct_listener_func(const struct mlxsw_reg_info *reg, struct mlxsw_linecard_bct_event *event; struct mlxsw_core *mlxsw_core = priv; - event = kmalloc(sizeof(*event), GFP_ATOMIC); + event = kmalloc_obj(*event, GFP_ATOMIC); if (!event) return; event->mlxsw_core = mlxsw_core; @@ -1446,7 +1446,7 @@ static int mlxsw_linecard_types_init(struct mlxsw_core *mlxsw_core, return 0; } - types_info = kzalloc(sizeof(*types_info), GFP_KERNEL); + types_info = kzalloc_obj(*types_info, GFP_KERNEL); if (!types_info) { release_firmware(firmware); return -ENOMEM; @@ -1469,9 +1469,8 @@ static int mlxsw_linecard_types_init(struct mlxsw_core *mlxsw_core, goto err_type_file_file_validate; } - types_info->ini_files = kmalloc_array(types_info->count, - sizeof(struct mlxsw_linecard_ini_file *), - GFP_KERNEL); + types_info->ini_files = kmalloc_objs(struct mlxsw_linecard_ini_file *, + types_info->count, GFP_KERNEL); if (!types_info->ini_files) { err = -ENOMEM; goto err_ini_files_alloc; diff --git a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c index eac9a14a6058..4c9b04ca5154 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core_thermal.c @@ -431,9 +431,8 @@ mlxsw_thermal_modules_init(struct device *dev, struct mlxsw_core *core, if (!area->tz_module_num) return 0; - area->tz_module_arr = kcalloc(area->tz_module_num, - sizeof(*area->tz_module_arr), - GFP_KERNEL); + area->tz_module_arr = kzalloc_objs(*area->tz_module_arr, + area->tz_module_num, GFP_KERNEL); if (!area->tz_module_arr) return -ENOMEM; @@ -522,9 +521,8 @@ mlxsw_thermal_gearboxes_init(struct device *dev, struct mlxsw_core *core, return 0; area->tz_gearbox_num = gbox_num; - area->tz_gearbox_arr = kcalloc(area->tz_gearbox_num, - sizeof(*area->tz_gearbox_arr), - GFP_KERNEL); + area->tz_gearbox_arr = kzalloc_objs(*area->tz_gearbox_arr, + area->tz_gearbox_num, GFP_KERNEL); if (!area->tz_gearbox_arr) return -ENOMEM; @@ -644,8 +642,8 @@ int mlxsw_thermal_init(struct mlxsw_core *core, mlxsw_reg_mgpir_unpack(mgpir_pl, NULL, NULL, NULL, NULL, &num_of_slots); - thermal = kzalloc(struct_size(thermal, line_cards, num_of_slots + 1), - GFP_KERNEL); + thermal = kzalloc_flex(*thermal, line_cards, num_of_slots + 1, + GFP_KERNEL); if (!thermal) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/minimal.c b/drivers/net/ethernet/mellanox/mlxsw/minimal.c index 828c65036a4c..9871b9e1d094 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/minimal.c +++ b/drivers/net/ethernet/mellanox/mlxsw/minimal.c @@ -398,14 +398,12 @@ static int mlxsw_m_linecards_init(struct mlxsw_m *mlxsw_m) /* Add slot for main board. */ mlxsw_m->num_of_slots += 1; - mlxsw_m->ports = kcalloc(max_ports, sizeof(*mlxsw_m->ports), - GFP_KERNEL); + mlxsw_m->ports = kzalloc_objs(*mlxsw_m->ports, max_ports, GFP_KERNEL); if (!mlxsw_m->ports) return -ENOMEM; - mlxsw_m->line_cards = kcalloc(mlxsw_m->num_of_slots, - sizeof(*mlxsw_m->line_cards), - GFP_KERNEL); + mlxsw_m->line_cards = kzalloc_objs(*mlxsw_m->line_cards, + mlxsw_m->num_of_slots, GFP_KERNEL); if (!mlxsw_m->line_cards) { err = -ENOMEM; goto err_kcalloc; @@ -413,10 +411,8 @@ static int mlxsw_m_linecards_init(struct mlxsw_m *mlxsw_m) for (i = 0; i < mlxsw_m->num_of_slots; i++) { mlxsw_m->line_cards[i] = - kzalloc(struct_size(mlxsw_m->line_cards[i], - module_to_port, - mlxsw_m->max_modules_per_slot), - GFP_KERNEL); + kzalloc_flex(*mlxsw_m->line_cards[i], module_to_port, + mlxsw_m->max_modules_per_slot, GFP_KERNEL); if (!mlxsw_m->line_cards[i]) { err = -ENOMEM; goto err_kmalloc_array; diff --git a/drivers/net/ethernet/mellanox/mlxsw/pci.c b/drivers/net/ethernet/mellanox/mlxsw/pci.c index 7da9ef254b72..9b378e9d084d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/pci.c +++ b/drivers/net/ethernet/mellanox/mlxsw/pci.c @@ -1264,7 +1264,7 @@ static int mlxsw_pci_queue_init(struct mlxsw_pci *mlxsw_pci, char *mbox, if (!mem_item->buf) return -ENOMEM; - q->elem_info = kcalloc(q->count, sizeof(*q->elem_info), GFP_KERNEL); + q->elem_info = kzalloc_objs(*q->elem_info, q->count, GFP_KERNEL); if (!q->elem_info) { err = -ENOMEM; goto err_elem_info_alloc; @@ -1316,7 +1316,7 @@ static int mlxsw_pci_queue_group_init(struct mlxsw_pci *mlxsw_pci, char *mbox, int err; queue_group = mlxsw_pci_queue_type_group_get(mlxsw_pci, q_ops->type); - queue_group->q = kcalloc(num_qs, sizeof(*queue_group->q), GFP_KERNEL); + queue_group->q = kzalloc_objs(*queue_group->q, num_qs, GFP_KERNEL); if (!queue_group->q) return -ENOMEM; @@ -1667,8 +1667,8 @@ static int mlxsw_pci_fw_area_init(struct mlxsw_pci *mlxsw_pci, char *mbox, int i; int err; - mlxsw_pci->fw_area.items = kcalloc(num_pages, sizeof(*mem_item), - GFP_KERNEL); + mlxsw_pci->fw_area.items = kzalloc_objs(*mem_item, num_pages, + GFP_KERNEL); if (!mlxsw_pci->fw_area.items) return -ENOMEM; mlxsw_pci->fw_area.count = num_pages; @@ -2414,7 +2414,7 @@ static int mlxsw_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) struct mlxsw_pci *mlxsw_pci; int err; - mlxsw_pci = kzalloc(sizeof(*mlxsw_pci), GFP_KERNEL); + mlxsw_pci = kzalloc_obj(*mlxsw_pci, GFP_KERNEL); if (!mlxsw_pci) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 9a2d64a0a858..dbc032ff4963 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -972,7 +972,7 @@ mlxsw_sp_port_vlan_create(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid) if (err) return ERR_PTR(err); - mlxsw_sp_port_vlan = kzalloc(sizeof(*mlxsw_sp_port_vlan), GFP_KERNEL); + mlxsw_sp_port_vlan = kzalloc_obj(*mlxsw_sp_port_vlan, GFP_KERNEL); if (!mlxsw_sp_port_vlan) { err = -ENOMEM; goto err_port_vlan_alloc; @@ -1776,7 +1776,7 @@ static int mlxsw_sp_cpu_port_create(struct mlxsw_sp *mlxsw_sp) struct mlxsw_sp_port *mlxsw_sp_port; int err; - mlxsw_sp_port = kzalloc(sizeof(*mlxsw_sp_port), GFP_KERNEL); + mlxsw_sp_port = kzalloc_obj(*mlxsw_sp_port, GFP_KERNEL); if (!mlxsw_sp_port) return -ENOMEM; @@ -1898,7 +1898,7 @@ mlxsw_sp_port_mapping_listener_func(const struct mlxsw_reg_info *reg, return; events = &mlxsw_sp->port_mapping_events; - event = kmalloc(sizeof(*event), GFP_ATOMIC); + event = kmalloc_obj(*event, GFP_ATOMIC); if (!event) return; memcpy(event->pmlp_pl, pmlp_pl, sizeof(event->pmlp_pl)); @@ -2019,9 +2019,8 @@ static int mlxsw_sp_port_module_info_init(struct mlxsw_sp *mlxsw_sp) int i; int err; - mlxsw_sp->port_mapping = kcalloc(max_ports, - sizeof(struct mlxsw_sp_port_mapping), - GFP_KERNEL); + mlxsw_sp->port_mapping = kzalloc_objs(struct mlxsw_sp_port_mapping, + max_ports, GFP_KERNEL); if (!mlxsw_sp->port_mapping) return -ENOMEM; @@ -2490,8 +2489,8 @@ static int mlxsw_sp_traps_init(struct mlxsw_sp *mlxsw_sp) if (!MLXSW_CORE_RES_VALID(mlxsw_sp->core, MAX_CPU_POLICERS)) return -EIO; max_policers = MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_CPU_POLICERS); - trap = kzalloc(struct_size(trap, policers_usage, - BITS_TO_LONGS(max_policers)), GFP_KERNEL); + trap = kzalloc_flex(*trap, policers_usage, BITS_TO_LONGS(max_policers), + GFP_KERNEL); if (!trap) return -ENOMEM; trap->max_policers = max_policers; @@ -2624,8 +2623,8 @@ static int mlxsw_sp_lag_init(struct mlxsw_sp *mlxsw_sp) if (err) return err; - mlxsw_sp->lags = kcalloc(mlxsw_sp->max_lag, sizeof(struct mlxsw_sp_lag), - GFP_KERNEL); + mlxsw_sp->lags = kzalloc_objs(struct mlxsw_sp_lag, mlxsw_sp->max_lag, + GFP_KERNEL); if (!mlxsw_sp->lags) { err = -ENOMEM; goto err_kcalloc; @@ -2748,7 +2747,7 @@ mlxsw_sp_sample_trigger_node_init(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_sample_trigger_node *trigger_node; int err; - trigger_node = kzalloc(sizeof(*trigger_node), GFP_KERNEL); + trigger_node = kzalloc_obj(*trigger_node, GFP_KERNEL); if (!trigger_node) return -ENOMEM; @@ -2894,7 +2893,7 @@ mlxsw_sp_ipv6_addr_init(struct mlxsw_sp *mlxsw_sp, const struct in6_addr *addr6, if (err) goto err_rips_write; - node = kzalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc_obj(*node, GFP_KERNEL); if (!node) { err = -ENOMEM; goto err_node_alloc; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c index 1e3fc989393c..6aa1252cbe49 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_kvdl.c @@ -224,8 +224,7 @@ mlxsw_sp1_kvdl_part_init(struct mlxsw_sp *mlxsw_sp, } nr_entries = div_u64(resource_size, info->alloc_size); - part = kzalloc(struct_size(part, usage, BITS_TO_LONGS(nr_entries)), - GFP_KERNEL); + part = kzalloc_flex(*part, usage, BITS_TO_LONGS(nr_entries), GFP_KERNEL); if (!part) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c index c8c67536917b..814b704de294 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum1_mr_tcam.c @@ -259,8 +259,8 @@ mlxsw_sp1_mr_tcam_region_init(struct mlxsw_sp *mlxsw_sp, } mr_tcam_region->parman = parman; - parman_prios = kmalloc_array(MLXSW_SP_MR_ROUTE_PRIO_MAX + 1, - sizeof(*parman_prios), GFP_KERNEL); + parman_prios = kmalloc_objs(*parman_prios, + MLXSW_SP_MR_ROUTE_PRIO_MAX + 1, GFP_KERNEL); if (!parman_prios) { err = -ENOMEM; goto err_parman_prios_alloc; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c index 3e70cee4d2f3..aaaa586e8569 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl.c @@ -318,7 +318,7 @@ mlxsw_sp_acl_rulei_create(struct mlxsw_sp_acl *acl, struct mlxsw_sp_acl_rule_info *rulei; int err; - rulei = kzalloc(sizeof(*rulei), GFP_KERNEL); + rulei = kzalloc_obj(*rulei, GFP_KERNEL); if (!rulei) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c index 07cb1e26ca3e..b6e1fc77f0c0 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_atcam.c @@ -74,7 +74,7 @@ mlxsw_sp_acl_atcam_region_generic_init(struct mlxsw_sp_acl_atcam_region *aregion { struct mlxsw_sp_acl_atcam_region_generic *region_generic; - region_generic = kzalloc(sizeof(*region_generic), GFP_KERNEL); + region_generic = kzalloc_obj(*region_generic, GFP_KERNEL); if (!region_generic) return -ENOMEM; @@ -126,7 +126,7 @@ mlxsw_sp_acl_atcam_region_12kb_init(struct mlxsw_sp_acl_atcam_region *aregion) return -EIO; max_lkey_id = MLXSW_CORE_RES_GET(mlxsw_sp->core, ACL_MAX_LARGE_KEY_ID); - region_12kb = kzalloc(sizeof(*region_12kb), GFP_KERNEL); + region_12kb = kzalloc_obj(*region_12kb, GFP_KERNEL); if (!region_12kb) return -ENOMEM; @@ -179,7 +179,7 @@ mlxsw_sp_acl_atcam_lkey_id_create(struct mlxsw_sp_acl_atcam_region *aregion, else return ERR_PTR(-ENOBUFS); - lkey_id = kzalloc(sizeof(*lkey_id), GFP_KERNEL); + lkey_id = kzalloc_obj(*lkey_id, GFP_KERNEL); if (!lkey_id) { err = -ENOMEM; goto err_lkey_id_alloc; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c index 067f0055a55a..d6c55a80a7ce 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_bloom_filter.c @@ -513,8 +513,8 @@ mlxsw_sp_acl_bf_init(struct mlxsw_sp *mlxsw_sp, unsigned int num_erp_banks) * is 2^ACL_MAX_BF_LOG */ bf_bank_size = 1 << MLXSW_CORE_RES_GET(mlxsw_sp->core, ACL_MAX_BF_LOG); - bf = kzalloc(struct_size(bf, refcnt, size_mul(bf_bank_size, num_erp_banks)), - GFP_KERNEL); + bf = kzalloc_flex(*bf, refcnt, size_mul(bf_bank_size, num_erp_banks), + GFP_KERNEL); if (!bf) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c index 9eee229303cc..80307d6554a2 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_erp.c @@ -254,7 +254,7 @@ mlxsw_sp_acl_erp_generic_create(struct mlxsw_sp_acl_erp_table *erp_table, struct mlxsw_sp_acl_erp *erp; int err; - erp = kzalloc(sizeof(*erp), GFP_KERNEL); + erp = kzalloc_obj(*erp, GFP_KERNEL); if (!erp) return ERR_PTR(-ENOMEM); @@ -798,7 +798,7 @@ mlxsw_sp_acl_erp_ctcam_mask_create(struct mlxsw_sp_acl_erp_table *erp_table, struct mlxsw_sp_acl_erp *erp; int err; - erp = kzalloc(sizeof(*erp), GFP_KERNEL); + erp = kzalloc_obj(*erp, GFP_KERNEL); if (!erp) return ERR_PTR(-ENOMEM); @@ -1236,7 +1236,7 @@ static void *mlxsw_sp_acl_erp_delta_create(void *priv, void *parent_obj, if (err) return ERR_PTR(-EINVAL); - delta = kzalloc(sizeof(*delta), GFP_KERNEL); + delta = kzalloc_obj(*delta, GFP_KERNEL); if (!delta) return ERR_PTR(-ENOMEM); delta->start = delta_start; @@ -1309,7 +1309,7 @@ mlxsw_sp_acl_erp_table_create(struct mlxsw_sp_acl_atcam_region *aregion, struct mlxsw_sp_acl_erp_table *erp_table; int err; - erp_table = kzalloc(sizeof(*erp_table), GFP_KERNEL); + erp_table = kzalloc_obj(*erp_table, GFP_KERNEL); if (!erp_table) return ERR_PTR(-ENOMEM); @@ -1563,7 +1563,7 @@ int mlxsw_sp_acl_erps_init(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_acl_erp_core *erp_core; int err; - erp_core = kzalloc(sizeof(*erp_core), GFP_KERNEL); + erp_core = kzalloc_obj(*erp_core, GFP_KERNEL); if (!erp_core) return -ENOMEM; erp_core->mlxsw_sp = mlxsw_sp; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c index 69f9da9fb305..5a282cb4b52d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_acl_tcam.c @@ -778,7 +778,7 @@ mlxsw_sp_acl_tcam_vregion_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_acl_tcam_vregion *vregion; int err; - vregion = kzalloc(sizeof(*vregion), GFP_KERNEL); + vregion = kzalloc_obj(*vregion, GFP_KERNEL); if (!vregion) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&vregion->vchunk_list); @@ -939,7 +939,7 @@ mlxsw_sp_acl_tcam_vchunk_create(struct mlxsw_sp *mlxsw_sp, if (priority == MLXSW_SP_ACL_TCAM_CATCHALL_PRIO) return ERR_PTR(-EINVAL); - vchunk = kzalloc(sizeof(*vchunk), GFP_KERNEL); + vchunk = kzalloc_obj(*vchunk, GFP_KERNEL); if (!vchunk) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&vchunk->ventry_list); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c index 2c0cfa79d138..fd6b36c3d475 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_buffers.c @@ -628,8 +628,7 @@ static int mlxsw_sp_sb_port_init(struct mlxsw_sp *mlxsw_sp, { struct mlxsw_sp_sb_pm *pms; - pms = kcalloc(mlxsw_sp->sb_vals->pool_count, sizeof(*pms), - GFP_KERNEL); + pms = kzalloc_objs(*pms, mlxsw_sp->sb_vals->pool_count, GFP_KERNEL); if (!pms) return -ENOMEM; sb_port->pms = pms; @@ -648,14 +647,12 @@ static int mlxsw_sp_sb_ports_init(struct mlxsw_sp *mlxsw_sp) int i; int err; - mlxsw_sp->sb->ports = kcalloc(max_ports, - sizeof(struct mlxsw_sp_sb_port), - GFP_KERNEL); + mlxsw_sp->sb->ports = kzalloc_objs(struct mlxsw_sp_sb_port, max_ports, + GFP_KERNEL); if (!mlxsw_sp->sb->ports) return -ENOMEM; - prs = kcalloc(mlxsw_sp->sb_vals->pool_count, sizeof(*prs), - GFP_KERNEL); + prs = kzalloc_objs(*prs, mlxsw_sp->sb_vals->pool_count, GFP_KERNEL); if (!prs) { err = -ENOMEM; goto err_alloc_prs; @@ -1264,7 +1261,7 @@ int mlxsw_sp_buffers_init(struct mlxsw_sp *mlxsw_sp) if (!MLXSW_CORE_RES_VALID(mlxsw_sp->core, MAX_HEADROOM_SIZE)) return -EIO; - mlxsw_sp->sb = kzalloc(sizeof(*mlxsw_sp->sb), GFP_KERNEL); + mlxsw_sp->sb = kzalloc_obj(*mlxsw_sp->sb, GFP_KERNEL); if (!mlxsw_sp->sb) return -ENOMEM; mlxsw_sp->sb->cell_size = MLXSW_CORE_RES_GET(mlxsw_sp->core, CELL_SIZE); @@ -1327,7 +1324,7 @@ int mlxsw_sp_port_buffers_init(struct mlxsw_sp_port *mlxsw_sp_port) { int err; - mlxsw_sp_port->hdroom = kzalloc(sizeof(*mlxsw_sp_port->hdroom), GFP_KERNEL); + mlxsw_sp_port->hdroom = kzalloc_obj(*mlxsw_sp_port->hdroom, GFP_KERNEL); if (!mlxsw_sp_port->hdroom) return -ENOMEM; mlxsw_sp_port->hdroom->mtu = mlxsw_sp_port->dev->mtu; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c index b1094aaffa5f..33ef49de4e0b 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_cnt.c @@ -124,8 +124,7 @@ int mlxsw_sp_counter_pool_init(struct mlxsw_sp *mlxsw_sp) struct mlxsw_sp_counter_pool *pool; int err; - pool = kzalloc(struct_size(pool, sub_pools, sub_pools_count), - GFP_KERNEL); + pool = kzalloc_flex(*pool, sub_pools, sub_pools_count, GFP_KERNEL); if (!pool) return -ENOMEM; mlxsw_sp->counter_pool = pool; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c index aff6d4f35cd2..69ab4f8cf05d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_dcb.c @@ -654,8 +654,8 @@ static const struct dcbnl_rtnl_ops mlxsw_sp_dcbnl_ops = { static int mlxsw_sp_port_ets_init(struct mlxsw_sp_port *mlxsw_sp_port) { - mlxsw_sp_port->dcb.ets = kzalloc(sizeof(*mlxsw_sp_port->dcb.ets), - GFP_KERNEL); + mlxsw_sp_port->dcb.ets = kzalloc_obj(*mlxsw_sp_port->dcb.ets, + GFP_KERNEL); if (!mlxsw_sp_port->dcb.ets) return -ENOMEM; @@ -673,8 +673,8 @@ static int mlxsw_sp_port_maxrate_init(struct mlxsw_sp_port *mlxsw_sp_port) { int i; - mlxsw_sp_port->dcb.maxrate = kmalloc(sizeof(*mlxsw_sp_port->dcb.maxrate), - GFP_KERNEL); + mlxsw_sp_port->dcb.maxrate = kmalloc_obj(*mlxsw_sp_port->dcb.maxrate, + GFP_KERNEL); if (!mlxsw_sp_port->dcb.maxrate) return -ENOMEM; @@ -691,8 +691,8 @@ static void mlxsw_sp_port_maxrate_fini(struct mlxsw_sp_port *mlxsw_sp_port) static int mlxsw_sp_port_pfc_init(struct mlxsw_sp_port *mlxsw_sp_port) { - mlxsw_sp_port->dcb.pfc = kzalloc(sizeof(*mlxsw_sp_port->dcb.pfc), - GFP_KERNEL); + mlxsw_sp_port->dcb.pfc = kzalloc_obj(*mlxsw_sp_port->dcb.pfc, + GFP_KERNEL); if (!mlxsw_sp_port->dcb.pfc) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c index 65562ab208b3..2e9c35f5f992 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_fid.c @@ -1022,7 +1022,7 @@ mlxsw_sp_fid_port_vid_list_add(struct mlxsw_sp_fid *fid, u16 local_port, { struct mlxsw_sp_fid_port_vid *port_vid, *tmp_port_vid; - port_vid = kzalloc(sizeof(*port_vid), GFP_KERNEL); + port_vid = kzalloc_obj(*port_vid, GFP_KERNEL); if (!port_vid) return -ENOMEM; @@ -2295,7 +2295,7 @@ mlxsw_sp_fids_init(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_fid_core *fid_core; int err, i; - fid_core = kzalloc(sizeof(*mlxsw_sp->fid_core), GFP_KERNEL); + fid_core = kzalloc_obj(*mlxsw_sp->fid_core, GFP_KERNEL); if (!fid_core) return -ENOMEM; mlxsw_sp->fid_core = fid_core; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c index 9e50c823a354..6e341b4a9805 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_flow.c @@ -14,7 +14,7 @@ mlxsw_sp_flow_block_create(struct mlxsw_sp *mlxsw_sp, struct net *net) { struct mlxsw_sp_flow_block *block; - block = kzalloc(sizeof(*block), GFP_KERNEL); + block = kzalloc_obj(*block, GFP_KERNEL); if (!block) return NULL; INIT_LIST_HEAD(&block->binding_list); @@ -75,7 +75,7 @@ static int mlxsw_sp_flow_block_bind(struct mlxsw_sp *mlxsw_sp, if (err) return err; - binding = kzalloc(sizeof(*binding), GFP_KERNEL); + binding = kzalloc_obj(*binding, GFP_KERNEL); if (!binding) { err = -ENOMEM; goto err_binding_alloc; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c index 07b371cd9818..a5fdc1a7555a 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_matchall.c @@ -243,7 +243,7 @@ int mlxsw_sp_mall_replace(struct mlxsw_sp *mlxsw_sp, return -EOPNOTSUPP; } - mall_entry = kzalloc(sizeof(*mall_entry), GFP_KERNEL); + mall_entry = kzalloc_obj(*mall_entry, GFP_KERNEL); if (!mall_entry) return -ENOMEM; mall_entry->cookie = f->cookie; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c index 81935f87bfcd..1ca8a15a9cb2 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr.c @@ -172,7 +172,7 @@ static int mlxsw_sp_mr_route_evif_link(struct mlxsw_sp_mr_route *mr_route, { struct mlxsw_sp_mr_route_vif_entry *rve; - rve = kzalloc(sizeof(*rve), GFP_KERNEL); + rve = kzalloc_obj(*rve, GFP_KERNEL); if (!rve) return -ENOMEM; rve->mr_route = mr_route; @@ -305,7 +305,7 @@ mlxsw_sp_mr_route_create(struct mlxsw_sp_mr_table *mr_table, int i; /* Allocate and init a new route and fill it with parameters */ - mr_route = kzalloc(sizeof(*mr_route), GFP_KERNEL); + mr_route = kzalloc_obj(*mr_route, GFP_KERNEL); if (!mr_route) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&mr_route->evif_list); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c index 01d81ae3662a..f652630cbac1 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_mr_tcam.c @@ -52,7 +52,7 @@ mlxsw_sp_mr_erif_sublist_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_mr_erif_sublist *erif_sublist; int err; - erif_sublist = kzalloc(sizeof(*erif_sublist), GFP_KERNEL); + erif_sublist = kzalloc_obj(*erif_sublist, GFP_KERNEL); if (!erif_sublist) return ERR_PTR(-ENOMEM); err = mlxsw_sp_kvdl_alloc(mlxsw_sp, MLXSW_SP_KVDL_ENTRY_TYPE_MCRIGR, diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c index 5479a1c19d2e..8068502c8c2b 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_nve.c @@ -216,7 +216,7 @@ mlxsw_sp_nve_mc_list_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_nve_mc_list *mc_list; int err; - mc_list = kmalloc(sizeof(*mc_list), GFP_KERNEL); + mc_list = kmalloc_obj(*mc_list, GFP_KERNEL); if (!mc_list) return ERR_PTR(-ENOMEM); @@ -277,8 +277,8 @@ mlxsw_sp_nve_mc_record_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_nve_mc_record *mc_record; int err; - mc_record = kzalloc(struct_size(mc_record, entries, num_max_entries), - GFP_KERNEL); + mc_record = kzalloc_flex(*mc_record, entries, num_max_entries, + GFP_KERNEL); if (!mc_record) return ERR_PTR(-ENOMEM); @@ -848,7 +848,7 @@ static int mlxsw_sp_nve_ipv6_ht_insert(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_nve *nve = mlxsw_sp->nve; int err; - ipv6_ht_node = kzalloc(sizeof(*ipv6_ht_node), GFP_KERNEL); + ipv6_ht_node = kzalloc_obj(*ipv6_ht_node, GFP_KERNEL); if (!ipv6_ht_node) return -ENOMEM; @@ -1119,7 +1119,7 @@ int mlxsw_sp_nve_init(struct mlxsw_sp *mlxsw_sp) struct mlxsw_sp_nve *nve; int err; - nve = kzalloc(sizeof(*mlxsw_sp->nve), GFP_KERNEL); + nve = kzalloc_obj(*mlxsw_sp->nve, GFP_KERNEL); if (!nve) return -ENOMEM; mlxsw_sp->nve = nve; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_pgt.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_pgt.c index 4ef81bac17d6..0b6269a40c5a 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_pgt.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_pgt.c @@ -116,7 +116,7 @@ mlxsw_sp_pgt_entry_create(struct mlxsw_sp_pgt *pgt, u16 mid, u16 smpe) void *ret; int err; - pgt_entry = kzalloc(sizeof(*pgt_entry), GFP_KERNEL); + pgt_entry = kzalloc_obj(*pgt_entry, GFP_KERNEL); if (!pgt_entry) return ERR_PTR(-ENOMEM); @@ -211,7 +211,7 @@ mlxsw_sp_pgt_entry_port_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_pgt_entry_port *pgt_entry_port; int err; - pgt_entry_port = kzalloc(sizeof(*pgt_entry_port), GFP_KERNEL); + pgt_entry_port = kzalloc_obj(*pgt_entry_port, GFP_KERNEL); if (!pgt_entry_port) return ERR_PTR(-ENOMEM); @@ -315,7 +315,7 @@ int mlxsw_sp_pgt_init(struct mlxsw_sp *mlxsw_sp) if (!MLXSW_CORE_RES_VALID(mlxsw_sp->core, PGT_SIZE)) return -EIO; - pgt = kzalloc(sizeof(*mlxsw_sp->pgt), GFP_KERNEL); + pgt = kzalloc_obj(*mlxsw_sp->pgt, GFP_KERNEL); if (!pgt) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c index 22ebb207ce4d..a6d849c7bb3d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_policer.c @@ -243,7 +243,7 @@ int mlxsw_sp_policer_add(struct mlxsw_sp *mlxsw_sp, if (err) return err; - policer = kmalloc(sizeof(*policer), GFP_KERNEL); + policer = kmalloc_obj(*policer, GFP_KERNEL); if (!policer) return -ENOMEM; policer->params = *params; @@ -357,7 +357,7 @@ int mlxsw_sp_policers_init(struct mlxsw_sp *mlxsw_sp) struct mlxsw_sp_policer_core *policer_core; int i, err; - policer_core = kzalloc(sizeof(*policer_core), GFP_KERNEL); + policer_core = kzalloc_obj(*policer_core, GFP_KERNEL); if (!policer_core) return -ENOMEM; mlxsw_sp->policer_core = policer_core; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_port_range.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_port_range.c index 2d193de12be6..4afcb32e7d14 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_port_range.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_port_range.c @@ -52,7 +52,7 @@ mlxsw_sp_port_range_reg_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_port_range_reg *prr; int err; - prr = kzalloc(sizeof(*prr), GFP_KERNEL); + prr = kzalloc_obj(*prr, GFP_KERNEL); if (!prr) return ERR_PTR(-ENOMEM); @@ -172,7 +172,7 @@ int mlxsw_sp_port_range_init(struct mlxsw_sp *mlxsw_sp) */ WARN_ON(max > BITS_PER_BYTE * sizeof(u16)); - pr_core = kzalloc(sizeof(*mlxsw_sp->pr_core), GFP_KERNEL); + pr_core = kzalloc_obj(*mlxsw_sp->pr_core, GFP_KERNEL); if (!pr_core) return -ENOMEM; mlxsw_sp->pr_core = pr_core; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c index 5b9f0844b8f6..4025b556b39c 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_ptp.c @@ -277,7 +277,7 @@ mlxsw_sp1_ptp_clock_init(struct mlxsw_sp *mlxsw_sp, struct device *dev) struct mlxsw_sp1_ptp_clock *clock; int err; - clock = kzalloc(sizeof(*clock), GFP_KERNEL); + clock = kzalloc_obj(*clock, GFP_KERNEL); if (!clock) return ERR_PTR(-ENOMEM); @@ -446,7 +446,7 @@ mlxsw_sp2_ptp_clock_init(struct mlxsw_sp *mlxsw_sp, struct device *dev) struct mlxsw_sp_ptp_clock *clock; int err; - clock = kzalloc(sizeof(*clock), GFP_KERNEL); + clock = kzalloc_obj(*clock, GFP_KERNEL); if (!clock) return ERR_PTR(-ENOMEM); @@ -524,7 +524,7 @@ mlxsw_sp1_ptp_unmatched_save(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp1_ptp_unmatched *unmatched; int err; - unmatched = kzalloc(sizeof(*unmatched), GFP_ATOMIC); + unmatched = kzalloc_obj(*unmatched, GFP_ATOMIC); if (!unmatched) return -ENOMEM; @@ -1032,7 +1032,7 @@ struct mlxsw_sp_ptp_state *mlxsw_sp1_ptp_init(struct mlxsw_sp *mlxsw_sp) if (err) return ERR_PTR(err); - ptp_state = kzalloc(sizeof(*ptp_state), GFP_KERNEL); + ptp_state = kzalloc_obj(*ptp_state, GFP_KERNEL); if (!ptp_state) return ERR_PTR(-ENOMEM); ptp_state->common.mlxsw_sp = mlxsw_sp; @@ -1358,7 +1358,7 @@ struct mlxsw_sp_ptp_state *mlxsw_sp2_ptp_init(struct mlxsw_sp *mlxsw_sp) if (!MLXSW_CORE_RES_VALID(mlxsw_sp->core, FID)) return ERR_PTR(-EIO); - ptp_state = kzalloc(sizeof(*ptp_state), GFP_KERNEL); + ptp_state = kzalloc_obj(*ptp_state, GFP_KERNEL); if (!ptp_state) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c index 4243d3b883ff..5e159b326100 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c @@ -365,9 +365,9 @@ static int mlxsw_sp_qdisc_create(struct mlxsw_sp_port *mlxsw_sp_port, return err; if (ops->num_classes) { - mlxsw_sp_qdisc->qdiscs = kcalloc(ops->num_classes, - sizeof(*mlxsw_sp_qdisc->qdiscs), - GFP_KERNEL); + mlxsw_sp_qdisc->qdiscs = kzalloc_objs(*mlxsw_sp_qdisc->qdiscs, + ops->num_classes, + GFP_KERNEL); if (!mlxsw_sp_qdisc->qdiscs) return -ENOMEM; @@ -1332,7 +1332,7 @@ __mlxsw_sp_qdisc_ets_replace(struct mlxsw_sp_port *mlxsw_sp_port, int err; if (!ets_data) { - ets_data = kzalloc(sizeof(*ets_data), GFP_KERNEL); + ets_data = kzalloc_obj(*ets_data, GFP_KERNEL); if (!ets_data) return -ENOMEM; mlxsw_sp_qdisc->ets_data = ets_data; @@ -2021,7 +2021,7 @@ static int mlxsw_sp_qevent_mall_replace(struct mlxsw_sp *mlxsw_sp, return -EOPNOTSUPP; } - mall_entry = kzalloc(sizeof(*mall_entry), GFP_KERNEL); + mall_entry = kzalloc_obj(*mall_entry, GFP_KERNEL); if (!mall_entry) return -ENOMEM; mall_entry->cookie = f->cookie; @@ -2100,7 +2100,7 @@ static struct mlxsw_sp_qevent_block *mlxsw_sp_qevent_block_create(struct mlxsw_s { struct mlxsw_sp_qevent_block *qevent_block; - qevent_block = kzalloc(sizeof(*qevent_block), GFP_KERNEL); + qevent_block = kzalloc_obj(*qevent_block, GFP_KERNEL); if (!qevent_block) return NULL; @@ -2132,7 +2132,7 @@ mlxsw_sp_qevent_binding_create(struct mlxsw_sp_port *mlxsw_sp_port, u32 handle, { struct mlxsw_sp_qevent_binding *binding; - binding = kzalloc(sizeof(*binding), GFP_KERNEL); + binding = kzalloc_obj(*binding, GFP_KERNEL); if (!binding) return ERR_PTR(-ENOMEM); @@ -2321,7 +2321,7 @@ int mlxsw_sp_tc_qdisc_init(struct mlxsw_sp_port *mlxsw_sp_port) { struct mlxsw_sp_qdisc_state *qdisc_state; - qdisc_state = kzalloc(sizeof(*qdisc_state), GFP_KERNEL); + qdisc_state = kzalloc_obj(*qdisc_state, GFP_KERNEL); if (!qdisc_state) return -ENOMEM; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c index 2d0e89bd2fb9..417431895268 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_router.c @@ -538,7 +538,7 @@ static struct mlxsw_sp_fib *mlxsw_sp_fib_create(struct mlxsw_sp *mlxsw_sp, int err; lpm_tree = mlxsw_sp->router->lpm.proto_trees[proto]; - fib = kzalloc(sizeof(*fib), GFP_KERNEL); + fib = kzalloc_obj(*fib, GFP_KERNEL); if (!fib) return ERR_PTR(-ENOMEM); err = rhashtable_init(&fib->ht, &mlxsw_sp_fib_ht_params); @@ -717,9 +717,9 @@ static int mlxsw_sp_lpm_init(struct mlxsw_sp *mlxsw_sp) max_trees = MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_LPM_TREES); mlxsw_sp->router->lpm.tree_count = max_trees - MLXSW_SP_LPM_TREE_MIN; - mlxsw_sp->router->lpm.trees = kcalloc(mlxsw_sp->router->lpm.tree_count, - sizeof(struct mlxsw_sp_lpm_tree), - GFP_KERNEL); + mlxsw_sp->router->lpm.trees = kzalloc_objs(struct mlxsw_sp_lpm_tree, + mlxsw_sp->router->lpm.tree_count, + GFP_KERNEL); if (!mlxsw_sp->router->lpm.trees) return -ENOMEM; @@ -1038,8 +1038,8 @@ static int mlxsw_sp_vrs_init(struct mlxsw_sp *mlxsw_sp) return -EIO; max_vrs = MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_VRS); - mlxsw_sp->router->vrs = kcalloc(max_vrs, sizeof(struct mlxsw_sp_vr), - GFP_KERNEL); + mlxsw_sp->router->vrs = kzalloc_objs(struct mlxsw_sp_vr, max_vrs, + GFP_KERNEL); if (!mlxsw_sp->router->vrs) return -ENOMEM; @@ -1095,7 +1095,7 @@ mlxsw_sp_crif_alloc(struct net_device *dev) { struct mlxsw_sp_crif *crif; - crif = kzalloc(sizeof(*crif), GFP_KERNEL); + crif = kzalloc_obj(*crif, GFP_KERNEL); if (!crif) return NULL; @@ -1178,7 +1178,7 @@ mlxsw_sp_ipip_entry_alloc(struct mlxsw_sp *mlxsw_sp, int err; ipip_ops = mlxsw_sp->router->ipip_ops_arr[ipipt]; - ipip_entry = kzalloc(sizeof(*ipip_entry), GFP_KERNEL); + ipip_entry = kzalloc_obj(*ipip_entry, GFP_KERNEL); if (!ipip_entry) return ERR_PTR(-ENOMEM); @@ -2261,7 +2261,7 @@ mlxsw_sp_neigh_entry_alloc(struct mlxsw_sp *mlxsw_sp, struct neighbour *n, { struct mlxsw_sp_neigh_entry *neigh_entry; - neigh_entry = kzalloc(sizeof(*neigh_entry), GFP_KERNEL); + neigh_entry = kzalloc_obj(*neigh_entry, GFP_KERNEL); if (!neigh_entry) return NULL; @@ -2856,7 +2856,7 @@ static int mlxsw_sp_router_schedule_work(struct net *net, if (!net_eq(net, mlxsw_sp_net(router->mlxsw_sp))) return NOTIFY_DONE; - net_work = kzalloc(sizeof(*net_work), GFP_ATOMIC); + net_work = kzalloc_obj(*net_work, GFP_ATOMIC); if (!net_work) return NOTIFY_BAD; @@ -3172,7 +3172,7 @@ mlxsw_sp_nexthop_counter_alloc(struct mlxsw_sp *mlxsw_sp) struct mlxsw_sp_nexthop_counter *nhct; int err; - nhct = kzalloc(sizeof(*nhct), GFP_KERNEL); + nhct = kzalloc_obj(*nhct, GFP_KERNEL); if (!nhct) return ERR_PTR(-ENOMEM); @@ -3404,7 +3404,7 @@ mlxsw_sp_nexthop_group_vr_entry_create(struct mlxsw_sp_nexthop_group *nh_grp, struct mlxsw_sp_nexthop_group_vr_entry *vr_entry; int err; - vr_entry = kzalloc(sizeof(*vr_entry), GFP_KERNEL); + vr_entry = kzalloc_obj(*vr_entry, GFP_KERNEL); if (!vr_entry) return -ENOMEM; @@ -5198,7 +5198,7 @@ mlxsw_sp_nexthop_obj_group_info_init(struct mlxsw_sp *mlxsw_sp, return -EINVAL; } - nhgi = kzalloc(struct_size(nhgi, nexthops, nhs), GFP_KERNEL); + nhgi = kzalloc_flex(*nhgi, nexthops, nhs, GFP_KERNEL); if (!nhgi) return -ENOMEM; nh_grp->nhgi = nhgi; @@ -5304,7 +5304,7 @@ mlxsw_sp_nexthop_obj_group_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_nexthop_group *nh_grp; int err; - nh_grp = kzalloc(sizeof(*nh_grp), GFP_KERNEL); + nh_grp = kzalloc_obj(*nh_grp, GFP_KERNEL); if (!nh_grp) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&nh_grp->vr_list); @@ -5779,7 +5779,7 @@ mlxsw_sp_nexthop4_group_info_init(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_nexthop *nh; int err, i; - nhgi = kzalloc(struct_size(nhgi, nexthops, nhs), GFP_KERNEL); + nhgi = kzalloc_flex(*nhgi, nexthops, nhs, GFP_KERNEL); if (!nhgi) return -ENOMEM; nh_grp->nhgi = nhgi; @@ -5841,7 +5841,7 @@ mlxsw_sp_nexthop4_group_create(struct mlxsw_sp *mlxsw_sp, struct fib_info *fi) struct mlxsw_sp_nexthop_group *nh_grp; int err; - nh_grp = kzalloc(sizeof(*nh_grp), GFP_KERNEL); + nh_grp = kzalloc_obj(*nh_grp, GFP_KERNEL); if (!nh_grp) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&nh_grp->vr_list); @@ -6481,7 +6481,7 @@ mlxsw_sp_fib4_entry_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_fib_entry *fib_entry; int err; - fib4_entry = kzalloc(sizeof(*fib4_entry), GFP_KERNEL); + fib4_entry = kzalloc_obj(*fib4_entry, GFP_KERNEL); if (!fib4_entry) return ERR_PTR(-ENOMEM); fib_entry = &fib4_entry->common; @@ -6601,7 +6601,7 @@ mlxsw_sp_fib_node_create(struct mlxsw_sp_fib *fib, const void *addr, { struct mlxsw_sp_fib_node *fib_node; - fib_node = kzalloc(sizeof(*fib_node), GFP_KERNEL); + fib_node = kzalloc_obj(*fib_node, GFP_KERNEL); if (!fib_node) return NULL; @@ -6906,7 +6906,7 @@ static struct mlxsw_sp_rt6 *mlxsw_sp_rt6_create(struct fib6_info *rt) { struct mlxsw_sp_rt6 *mlxsw_sp_rt6; - mlxsw_sp_rt6 = kzalloc(sizeof(*mlxsw_sp_rt6), GFP_KERNEL); + mlxsw_sp_rt6 = kzalloc_obj(*mlxsw_sp_rt6, GFP_KERNEL); if (!mlxsw_sp_rt6) return ERR_PTR(-ENOMEM); @@ -7032,8 +7032,7 @@ mlxsw_sp_nexthop6_group_info_init(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_nexthop *nh; int err, i; - nhgi = kzalloc(struct_size(nhgi, nexthops, fib6_entry->nrt6), - GFP_KERNEL); + nhgi = kzalloc_flex(*nhgi, nexthops, fib6_entry->nrt6, GFP_KERNEL); if (!nhgi) return -ENOMEM; nh_grp->nhgi = nhgi; @@ -7099,7 +7098,7 @@ mlxsw_sp_nexthop6_group_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_nexthop_group *nh_grp; int err; - nh_grp = kzalloc(sizeof(*nh_grp), GFP_KERNEL); + nh_grp = kzalloc_obj(*nh_grp, GFP_KERNEL); if (!nh_grp) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&nh_grp->vr_list); @@ -7378,7 +7377,7 @@ mlxsw_sp_fib6_entry_create(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_rt6 *mlxsw_sp_rt6; int err, i; - fib6_entry = kzalloc(sizeof(*fib6_entry), GFP_KERNEL); + fib6_entry = kzalloc_obj(*fib6_entry, GFP_KERNEL); if (!fib6_entry) return ERR_PTR(-ENOMEM); fib_entry = &fib6_entry->common; @@ -7827,7 +7826,7 @@ mlxsw_sp_router_fib6_work_init(struct mlxsw_sp_fib6_event_work *fib6_work, nrt6 = fen6_info->nsiblings + 1; - rt_arr = kcalloc(nrt6, sizeof(struct fib6_info *), GFP_ATOMIC); + rt_arr = kzalloc_objs(struct fib6_info *, nrt6, GFP_ATOMIC); if (!rt_arr) return -ENOMEM; @@ -8139,7 +8138,7 @@ static int mlxsw_sp_router_fib_event(struct notifier_block *nb, break; } - fib_work = kzalloc(sizeof(*fib_work), GFP_ATOMIC); + fib_work = kzalloc_obj(*fib_work, GFP_ATOMIC); if (!fib_work) return NOTIFY_BAD; @@ -8542,7 +8541,7 @@ mlxsw_sp_router_hwstats_notify_schedule(struct net_device *dev) * later. */ - hws_work = kzalloc(sizeof(*hws_work), GFP_KERNEL); + hws_work = kzalloc_obj(*hws_work, GFP_KERNEL); if (!hws_work) return; @@ -8947,7 +8946,7 @@ mlxsw_sp_rif_mac_profile_alloc(const char *mac) { struct mlxsw_sp_rif_mac_profile *profile; - profile = kzalloc(sizeof(*profile), GFP_KERNEL); + profile = kzalloc_obj(*profile, GFP_KERNEL); if (!profile) return NULL; @@ -9594,7 +9593,7 @@ static int mlxsw_sp_inet6addr_event(struct notifier_block *nb, if (event == NETDEV_UP) return NOTIFY_DONE; - inet6addr_work = kzalloc(sizeof(*inet6addr_work), GFP_ATOMIC); + inet6addr_work = kzalloc_obj(*inet6addr_work, GFP_ATOMIC); if (!inet6addr_work) return NOTIFY_BAD; @@ -11069,9 +11068,8 @@ static int mlxsw_sp_rifs_init(struct mlxsw_sp *mlxsw_sp) mlxsw_sp->router->max_rif_mac_profile = MLXSW_CORE_RES_GET(core, MAX_RIF_MAC_PROFILES); - mlxsw_sp->router->rifs = kcalloc(max_rifs, - sizeof(struct mlxsw_sp_rif *), - GFP_KERNEL); + mlxsw_sp->router->rifs = kzalloc_objs(struct mlxsw_sp_rif *, max_rifs, + GFP_KERNEL); if (!mlxsw_sp->router->rifs) return -ENOMEM; @@ -11584,7 +11582,7 @@ int mlxsw_sp_router_init(struct mlxsw_sp *mlxsw_sp, struct notifier_block *nb; int err; - router = kzalloc(sizeof(*mlxsw_sp->router), GFP_KERNEL); + router = kzalloc_obj(*mlxsw_sp->router, GFP_KERNEL); if (!router) return -ENOMEM; mutex_init(&router->lock); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c index 32d2e61f2b82..79b0ed4e4c71 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_span.c @@ -87,7 +87,7 @@ int mlxsw_sp_span_init(struct mlxsw_sp *mlxsw_sp) return -EIO; entries_count = MLXSW_CORE_RES_GET(mlxsw_sp->core, MAX_SPAN); - span = kzalloc(struct_size(span, entries, entries_count), GFP_KERNEL); + span = kzalloc_flex(*span, entries, entries_count, GFP_KERNEL); if (!span) return -ENOMEM; refcount_set(&span->policer_id_base_ref_count, 0); @@ -1120,7 +1120,7 @@ mlxsw_sp_span_analyzed_port_create(struct mlxsw_sp_span *span, struct mlxsw_sp_span_analyzed_port *analyzed_port; int err; - analyzed_port = kzalloc(sizeof(*analyzed_port), GFP_KERNEL); + analyzed_port = kzalloc_obj(*analyzed_port, GFP_KERNEL); if (!analyzed_port) return ERR_PTR(-ENOMEM); @@ -1505,7 +1505,7 @@ mlxsw_sp_span_trigger_entry_create(struct mlxsw_sp_span *span, struct mlxsw_sp_span_trigger_entry *trigger_entry; int err; - trigger_entry = kzalloc(sizeof(*trigger_entry), GFP_KERNEL); + trigger_entry = kzalloc_obj(*trigger_entry, GFP_KERNEL); if (!trigger_entry) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c index a48bf342084d..7c386ee2ea74 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c @@ -262,7 +262,7 @@ mlxsw_sp_bridge_device_create(struct mlxsw_sp_bridge *bridge, return ERR_PTR(-EINVAL); } - bridge_device = kzalloc(sizeof(*bridge_device), GFP_KERNEL); + bridge_device = kzalloc_obj(*bridge_device, GFP_KERNEL); if (!bridge_device) return ERR_PTR(-ENOMEM); @@ -478,7 +478,7 @@ mlxsw_sp_bridge_port_create(struct mlxsw_sp_bridge_device *bridge_device, struct mlxsw_sp_port *mlxsw_sp_port; int err; - bridge_port = kzalloc(sizeof(*bridge_port), GFP_KERNEL); + bridge_port = kzalloc_obj(*bridge_port, GFP_KERNEL); if (!bridge_port) return ERR_PTR(-ENOMEM); @@ -625,7 +625,7 @@ mlxsw_sp_bridge_vlan_create(struct mlxsw_sp_bridge_port *bridge_port, u16 vid) { struct mlxsw_sp_bridge_vlan *bridge_vlan; - bridge_vlan = kzalloc(sizeof(*bridge_vlan), GFP_KERNEL); + bridge_vlan = kzalloc_obj(*bridge_vlan, GFP_KERNEL); if (!bridge_vlan) return NULL; @@ -1131,7 +1131,7 @@ mlxsw_sp_mdb_entry_port_get(struct mlxsw_sp *mlxsw_sp, if (err) return ERR_PTR(err); - mdb_entry_port = kzalloc(sizeof(*mdb_entry_port), GFP_KERNEL); + mdb_entry_port = kzalloc_obj(*mdb_entry_port, GFP_KERNEL); if (!mdb_entry_port) { err = -ENOMEM; goto err_mdb_entry_port_alloc; @@ -1195,7 +1195,7 @@ mlxsw_sp_mdb_entry_mrouter_port_get(struct mlxsw_sp *mlxsw_sp, if (err) return ERR_PTR(err); - mdb_entry_port = kzalloc(sizeof(*mdb_entry_port), GFP_KERNEL); + mdb_entry_port = kzalloc_obj(*mdb_entry_port, GFP_KERNEL); if (!mdb_entry_port) { err = -ENOMEM; goto err_mdb_entry_port_alloc; @@ -2027,7 +2027,7 @@ mlxsw_sp_mc_mdb_entry_init(struct mlxsw_sp *mlxsw_sp, struct mlxsw_sp_mdb_entry *mdb_entry; int err; - mdb_entry = kzalloc(sizeof(*mdb_entry), GFP_KERNEL); + mdb_entry = kzalloc_obj(*mdb_entry, GFP_KERNEL); if (!mdb_entry) return ERR_PTR(-ENOMEM); @@ -3784,7 +3784,7 @@ static int mlxsw_sp_switchdev_event(struct notifier_block *unused, if (!mlxsw_sp_port_dev_lower_find_rcu(br_dev)) return NOTIFY_DONE; - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (!switchdev_work) return NOTIFY_BAD; @@ -4169,7 +4169,7 @@ int mlxsw_sp_switchdev_init(struct mlxsw_sp *mlxsw_sp) { struct mlxsw_sp_bridge *bridge; - bridge = kzalloc(sizeof(*mlxsw_sp->bridge), GFP_KERNEL); + bridge = kzalloc_obj(*mlxsw_sp->bridge, GFP_KERNEL); if (!bridge) return -ENOMEM; mlxsw_sp->bridge = bridge; diff --git a/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c b/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c index 4aaa928bf8ab..e4e1af365460 100644 --- a/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c +++ b/drivers/net/ethernet/meta/fbnic/fbnic_txrx.c @@ -1640,7 +1640,7 @@ static int fbnic_alloc_napi_vector(struct fbnic_dev *fbd, struct fbnic_net *fbn, return -EIO; /* Allocate NAPI vector and queue triads */ - nv = kzalloc(struct_size(nv, qt, qt_count), GFP_KERNEL); + nv = kzalloc_flex(*nv, qt, qt_count, GFP_KERNEL); if (!nv) return -ENOMEM; diff --git a/drivers/net/ethernet/micrel/ksz884x.c b/drivers/net/ethernet/micrel/ksz884x.c index 491e9ce3d9b0..e594ea78b118 100644 --- a/drivers/net/ethernet/micrel/ksz884x.c +++ b/drivers/net/ethernet/micrel/ksz884x.c @@ -3991,8 +3991,8 @@ static void ksz_update_timer(struct ksz_timer_info *info) */ static int ksz_alloc_soft_desc(struct ksz_desc_info *desc_info, int transmit) { - desc_info->ring = kcalloc(desc_info->alloc, sizeof(struct ksz_desc), - GFP_KERNEL); + desc_info->ring = kzalloc_objs(struct ksz_desc, desc_info->alloc, + GFP_KERNEL); if (!desc_info->ring) return 1; hw_init_desc(desc_info, transmit); @@ -6577,7 +6577,7 @@ static int pcidev_init(struct pci_dev *pdev, const struct pci_device_id *id) result = -ENOMEM; - info = kzalloc(sizeof(struct platform_info), GFP_KERNEL); + info = kzalloc_obj(struct platform_info, GFP_KERNEL); if (!info) goto pcidev_init_dev_err; @@ -6630,7 +6630,7 @@ static int pcidev_init(struct pci_dev *pdev, const struct pci_device_id *id) mib_port_count = SWITCH_PORT_NUM; } hw->mib_port_cnt = TOTAL_PORT_NUM; - hw->ksz_switch = kzalloc(sizeof(struct ksz_switch), GFP_KERNEL); + hw->ksz_switch = kzalloc_obj(struct ksz_switch, GFP_KERNEL); if (!hw->ksz_switch) goto pcidev_init_alloc_err; diff --git a/drivers/net/ethernet/microchip/lan743x_main.c b/drivers/net/ethernet/microchip/lan743x_main.c index e4c542fc6c2b..7ab6ad877a3c 100644 --- a/drivers/net/ethernet/microchip/lan743x_main.c +++ b/drivers/net/ethernet/microchip/lan743x_main.c @@ -2141,7 +2141,7 @@ static int lan743x_tx_ring_init(struct lan743x_tx *tx) tx->ring_cpu_ptr = (struct lan743x_tx_descriptor *)cpu_ptr; tx->ring_dma_ptr = dma_ptr; - cpu_ptr = kcalloc(tx->ring_size, sizeof(*tx->buffer_info), GFP_KERNEL); + cpu_ptr = kzalloc_objs(*tx->buffer_info, tx->ring_size, GFP_KERNEL); if (!cpu_ptr) { ret = -ENOMEM; goto cleanup; @@ -2686,8 +2686,7 @@ static int lan743x_rx_ring_init(struct lan743x_rx *rx) rx->ring_cpu_ptr = (struct lan743x_rx_descriptor *)cpu_ptr; rx->ring_dma_ptr = dma_ptr; - cpu_ptr = kcalloc(rx->ring_size, sizeof(*rx->buffer_info), - GFP_KERNEL); + cpu_ptr = kzalloc_objs(*rx->buffer_info, rx->ring_size, GFP_KERNEL); if (!cpu_ptr) { ret = -ENOMEM; goto cleanup; diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_fdb.c b/drivers/net/ethernet/microchip/lan966x/lan966x_fdb.c index 2ea263e893ee..cddd5dd35feb 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_fdb.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_fdb.c @@ -46,7 +46,7 @@ static void lan966x_fdb_add_entry(struct lan966x *lan966x, return; } - fdb_entry = kzalloc(sizeof(*fdb_entry), GFP_KERNEL); + fdb_entry = kzalloc_obj(*fdb_entry, GFP_KERNEL); if (!fdb_entry) return; @@ -262,7 +262,7 @@ int lan966x_handle_fdb(struct net_device *dev, !fdb_info->added_by_user) break; - fdb_work = kzalloc(sizeof(*fdb_work), GFP_ATOMIC); + fdb_work = kzalloc_obj(*fdb_work, GFP_ATOMIC); if (!fdb_work) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c b/drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c index 502670718104..13e22179f57a 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_fdma.c @@ -200,8 +200,8 @@ static int lan966x_fdma_tx_alloc(struct lan966x_tx *tx) struct fdma *fdma = &tx->fdma; int err; - tx->dcbs_buf = kcalloc(fdma->n_dcbs, sizeof(struct lan966x_tx_dcb_buf), - GFP_KERNEL); + tx->dcbs_buf = kzalloc_objs(struct lan966x_tx_dcb_buf, fdma->n_dcbs, + GFP_KERNEL); if (!tx->dcbs_buf) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_mac.c b/drivers/net/ethernet/microchip/lan966x/lan966x_mac.c index baa3a30c039f..7a2294a0d099 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_mac.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_mac.c @@ -206,7 +206,7 @@ static struct lan966x_mac_entry *lan966x_mac_alloc_entry(struct lan966x_port *po { struct lan966x_mac_entry *mac_entry; - mac_entry = kzalloc(sizeof(*mac_entry), GFP_ATOMIC); + mac_entry = kzalloc_obj(*mac_entry, GFP_ATOMIC); if (!mac_entry) return NULL; diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_mdb.c b/drivers/net/ethernet/microchip/lan966x/lan966x_mdb.c index 2af55268bf4d..aef4bc288e05 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_mdb.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_mdb.c @@ -74,7 +74,7 @@ lan966x_mdb_entry_add(struct lan966x *lan966x, { struct lan966x_mdb_entry *mdb_entry; - mdb_entry = kzalloc(sizeof(*mdb_entry), GFP_KERNEL); + mdb_entry = kzalloc_obj(*mdb_entry, GFP_KERNEL); if (!mdb_entry) return ERR_PTR(-ENOMEM); @@ -184,7 +184,7 @@ lan966x_pgid_entry_add(struct lan966x *lan966x, int index, u16 ports) { struct lan966x_pgid_entry *pgid_entry; - pgid_entry = kzalloc(sizeof(*pgid_entry), GFP_KERNEL); + pgid_entry = kzalloc_obj(*pgid_entry, GFP_KERNEL); if (!pgid_entry) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/microchip/lan966x/lan966x_vcap_impl.c b/drivers/net/ethernet/microchip/lan966x/lan966x_vcap_impl.c index 2a37fc1ba4bc..cb07178f55fa 100644 --- a/drivers/net/ethernet/microchip/lan966x/lan966x_vcap_impl.c +++ b/drivers/net/ethernet/microchip/lan966x/lan966x_vcap_impl.c @@ -611,7 +611,7 @@ lan966x_vcap_admin_alloc(struct lan966x *lan966x, struct vcap_control *ctrl, { struct vcap_admin *admin; - admin = kzalloc(sizeof(*admin), GFP_KERNEL); + admin = kzalloc_obj(*admin, GFP_KERNEL); if (!admin) return ERR_PTR(-ENOMEM); @@ -712,7 +712,7 @@ int lan966x_vcap_init(struct lan966x *lan966x) struct vcap_admin *admin; struct dentry *dir; - ctrl = kzalloc(sizeof(*ctrl), GFP_KERNEL); + ctrl = kzalloc_obj(*ctrl, GFP_KERNEL); if (!ctrl) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/sparx5/lan969x/lan969x_fdma.c b/drivers/net/ethernet/microchip/sparx5/lan969x/lan969x_fdma.c index 1282f5c3ee6d..57a24cbfb398 100644 --- a/drivers/net/ethernet/microchip/sparx5/lan969x/lan969x_fdma.c +++ b/drivers/net/ethernet/microchip/sparx5/lan969x/lan969x_fdma.c @@ -186,9 +186,7 @@ static int lan969x_fdma_tx_alloc(struct sparx5 *sparx5) struct fdma *fdma = &tx->fdma; int err; - tx->dbs = kcalloc(fdma->n_dcbs, - sizeof(struct sparx5_tx_buf), - GFP_KERNEL); + tx->dbs = kzalloc_objs(struct sparx5_tx_buf, fdma->n_dcbs, GFP_KERNEL); if (!tx->dbs) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_calendar.c b/drivers/net/ethernet/microchip/sparx5/sparx5_calendar.c index 5c46d81de530..19321de0712e 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_calendar.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_calendar.c @@ -585,7 +585,7 @@ int sparx5_config_dsm_calendar(struct sparx5 *sparx5) struct sparx5_calendar_data *data; int err = 0; - data = kzalloc(sizeof(*data), GFP_KERNEL); + data = kzalloc_obj(*data, GFP_KERNEL); if (!data) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c index 582145713cfd..8c7894a69e5c 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.c @@ -889,8 +889,8 @@ static int mchp_sparx5_probe(struct platform_device *pdev) } sparx5->port_count = of_get_child_count(ports); - configs = kcalloc(sparx5->port_count, - sizeof(struct initial_port_config), GFP_KERNEL); + configs = kzalloc_objs(struct initial_port_config, sparx5->port_count, + GFP_KERNEL); if (!configs) { err = -ENOMEM; goto cleanup_pnode; diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c index 0a71abbd3da5..6743c5ef3efd 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c @@ -398,7 +398,7 @@ static int sparx5_switchdev_event(struct notifier_block *nb, case SWITCHDEV_FDB_ADD_TO_DEVICE: fallthrough; case SWITCHDEV_FDB_DEL_TO_DEVICE: - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (!switchdev_work) return NOTIFY_BAD; @@ -465,7 +465,7 @@ static int sparx5_alloc_mdb_entry(struct sparx5 *sparx5, u16 pgid_idx; int err; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c index 4dc1ebd5d510..57d88fe32752 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_flower.c @@ -1464,7 +1464,7 @@ static int sparx5_tc_flower_template_create(struct net_device *ndev, return -EBUSY; } - ftp = kzalloc(sizeof(*ftp), GFP_KERNEL); + ftp = kzalloc_obj(*ftp, GFP_KERNEL); if (!ftp) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_matchall.c b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_matchall.c index 6b4d1d7b9730..cd0f44a6c88e 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_tc_matchall.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_tc_matchall.c @@ -60,7 +60,7 @@ static int sparx5_tc_matchall_replace(struct net_device *ndev, } action = &tmo->rule->action.entries[0]; - mall_entry = kzalloc(sizeof(*mall_entry), GFP_KERNEL); + mall_entry = kzalloc_obj(*mall_entry, GFP_KERNEL); if (!mall_entry) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c b/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c index 25066ddb8d4d..4bf3be00d627 100644 --- a/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c +++ b/drivers/net/ethernet/microchip/sparx5/sparx5_vcap_impl.c @@ -1944,7 +1944,7 @@ sparx5_vcap_admin_alloc(struct sparx5 *sparx5, struct vcap_control *ctrl, { struct vcap_admin *admin; - admin = kzalloc(sizeof(*admin), GFP_KERNEL); + admin = kzalloc_obj(*admin, GFP_KERNEL); if (!admin) return ERR_PTR(-ENOMEM); INIT_LIST_HEAD(&admin->list); @@ -2047,7 +2047,7 @@ int sparx5_vcap_init(struct sparx5 *sparx5) * - Initialize VCAP blocks * - Configure port keysets */ - ctrl = kzalloc(sizeof(*ctrl), GFP_KERNEL); + ctrl = kzalloc_obj(*ctrl, GFP_KERNEL); if (!ctrl) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/vcap/vcap_api.c b/drivers/net/ethernet/microchip/vcap/vcap_api.c index 2687765abe52..29fe5101db4c 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_api.c +++ b/drivers/net/ethernet/microchip/vcap/vcap_api.c @@ -1004,7 +1004,7 @@ static struct vcap_rule_internal *vcap_dup_rule(struct vcap_rule_internal *ri, struct vcap_rule_internal *duprule; /* Allocate the client part */ - duprule = kzalloc(sizeof(*duprule), GFP_KERNEL); + duprule = kzalloc_obj(*duprule, GFP_KERNEL); if (!duprule) return ERR_PTR(-ENOMEM); *duprule = *ri; @@ -1309,7 +1309,7 @@ static void vcap_rule_alloc_keyfield(struct vcap_rule_internal *ri, { struct vcap_client_keyfield *field; - field = kzalloc(sizeof(*field), GFP_KERNEL); + field = kzalloc_obj(*field, GFP_KERNEL); if (!field) return; INIT_LIST_HEAD(&field->ctrl.list); @@ -1418,7 +1418,7 @@ static void vcap_rule_alloc_actionfield(struct vcap_rule_internal *ri, { struct vcap_client_actionfield *field; - field = kzalloc(sizeof(*field), GFP_KERNEL); + field = kzalloc_obj(*field, GFP_KERNEL); if (!field) return; INIT_LIST_HEAD(&field->ctrl.list); @@ -2345,7 +2345,7 @@ struct vcap_rule *vcap_alloc_rule(struct vcap_control *vctrl, } /* Create a container for the rule and return it */ - ri = kzalloc(sizeof(*ri), GFP_KERNEL); + ri = kzalloc_obj(*ri, GFP_KERNEL); if (!ri) { err = -ENOMEM; goto out_unlock; @@ -2689,7 +2689,7 @@ static int vcap_rule_add_key(struct vcap_rule *rule, return -EINVAL; } - field = kzalloc(sizeof(*field), GFP_KERNEL); + field = kzalloc_obj(*field, GFP_KERNEL); if (!field) return -ENOMEM; memcpy(&field->data, data, sizeof(field->data)); @@ -2857,7 +2857,7 @@ static int vcap_rule_add_action(struct vcap_rule *rule, return -EINVAL; } - field = kzalloc(sizeof(*field), GFP_KERNEL); + field = kzalloc_obj(*field, GFP_KERNEL); if (!field) return -ENOMEM; memcpy(&field->data, data, sizeof(field->data)); @@ -3125,7 +3125,7 @@ static int vcap_enable(struct vcap_control *vctrl, struct net_device *ndev, if (!admin) return -ENOENT; - eport = kzalloc(sizeof(*eport), GFP_KERNEL); + eport = kzalloc_obj(*eport, GFP_KERNEL); if (!eport) return -ENOMEM; diff --git a/drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c b/drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c index 16eb3de60eb6..c57919278783 100644 --- a/drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c +++ b/drivers/net/ethernet/microchip/vcap/vcap_api_kunit.c @@ -2037,7 +2037,7 @@ static void vcap_api_filter_unsupported_keys_test(struct kunit *test) /* Add all keys to the rule */ INIT_LIST_HEAD(&ri.data.keyfields); for (idx = 0; idx < ARRAY_SIZE(keylist); idx++) { - ckf = kzalloc(sizeof(*ckf), GFP_KERNEL); + ckf = kzalloc_obj(*ckf, GFP_KERNEL); if (ckf) { ckf->ctrl.key = keylist[idx]; list_add_tail(&ckf->ctrl.list, &ri.data.keyfields); @@ -2161,7 +2161,7 @@ static void vcap_api_filter_keylist_test(struct kunit *test) /* Add all keys to the rule */ INIT_LIST_HEAD(&ri.data.keyfields); for (idx = 0; idx < ARRAY_SIZE(keylist); idx++) { - ckf = kzalloc(sizeof(*ckf), GFP_KERNEL); + ckf = kzalloc_obj(*ckf, GFP_KERNEL); if (ckf) { ckf->ctrl.key = keylist[idx]; list_add_tail(&ckf->ctrl.list, &ri.data.keyfields); diff --git a/drivers/net/ethernet/microsoft/mana/gdma_main.c b/drivers/net/ethernet/microsoft/mana/gdma_main.c index 0055c231acf6..dc7c29240cac 100644 --- a/drivers/net/ethernet/microsoft/mana/gdma_main.c +++ b/drivers/net/ethernet/microsoft/mana/gdma_main.c @@ -634,7 +634,7 @@ static void mana_gd_process_eqe(struct gdma_queue *eq) break; } - mns_wk = kzalloc(sizeof(*mns_wk), GFP_ATOMIC); + mns_wk = kzalloc_obj(*mns_wk, GFP_ATOMIC); if (!mns_wk) { module_put(THIS_MODULE); break; @@ -923,7 +923,7 @@ int mana_gd_create_hwc_queue(struct gdma_dev *gd, struct gdma_queue *queue; int err; - queue = kzalloc(sizeof(*queue), GFP_KERNEL); + queue = kzalloc_obj(*queue, GFP_KERNEL); if (!queue) return -ENOMEM; @@ -1062,7 +1062,7 @@ int mana_gd_create_mana_eq(struct gdma_dev *gd, if (spec->type != GDMA_EQ) return -EINVAL; - queue = kzalloc(sizeof(*queue), GFP_KERNEL); + queue = kzalloc_obj(*queue, GFP_KERNEL); if (!queue) return -ENOMEM; @@ -1115,7 +1115,7 @@ int mana_gd_create_mana_wq_cq(struct gdma_dev *gd, spec->type != GDMA_RQ) return -EINVAL; - queue = kzalloc(sizeof(*queue), GFP_KERNEL); + queue = kzalloc_obj(*queue, GFP_KERNEL); if (!queue) return -ENOMEM; @@ -1625,7 +1625,7 @@ static int mana_gd_setup_dyn_irqs(struct pci_dev *pdev, int nvec) bool skip_first_cpu = false; int *irqs, irq, err, i; - irqs = kmalloc_array(nvec, sizeof(int), GFP_KERNEL); + irqs = kmalloc_objs(int, nvec, GFP_KERNEL); if (!irqs) return -ENOMEM; @@ -1636,7 +1636,7 @@ static int mana_gd_setup_dyn_irqs(struct pci_dev *pdev, int nvec) * further used in irq_setup() */ for (i = 1; i <= nvec; i++) { - gic = kzalloc(sizeof(*gic), GFP_KERNEL); + gic = kzalloc_obj(*gic, GFP_KERNEL); if (!gic) { err = -ENOMEM; goto free_irq; @@ -1707,14 +1707,14 @@ static int mana_gd_setup_irqs(struct pci_dev *pdev, int nvec) unsigned int cpu; int err, i; - irqs = kmalloc_array(nvec, sizeof(int), GFP_KERNEL); + irqs = kmalloc_objs(int, nvec, GFP_KERNEL); if (!irqs) return -ENOMEM; start_irqs = irqs; for (i = 0; i < nvec; i++) { - gic = kzalloc(sizeof(*gic), GFP_KERNEL); + gic = kzalloc_obj(*gic, GFP_KERNEL); if (!gic) { err = -ENOMEM; goto free_irq; @@ -2071,7 +2071,7 @@ disable_dev: dev_info(&pdev->dev, "Start MANA recovery mode\n"); - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + dev = kzalloc_obj(*dev, GFP_KERNEL); if (!dev) return err; diff --git a/drivers/net/ethernet/microsoft/mana/hw_channel.c b/drivers/net/ethernet/microsoft/mana/hw_channel.c index aa4e2731e2ba..f2221e65a6a3 100644 --- a/drivers/net/ethernet/microsoft/mana/hw_channel.c +++ b/drivers/net/ethernet/microsoft/mana/hw_channel.c @@ -407,7 +407,7 @@ static int mana_hwc_create_cq(struct hw_channel_context *hwc, u16 q_depth, if (cq_size < MANA_MIN_QSIZE) cq_size = MANA_MIN_QSIZE; - hwc_cq = kzalloc(sizeof(*hwc_cq), GFP_KERNEL); + hwc_cq = kzalloc_obj(*hwc_cq, GFP_KERNEL); if (!hwc_cq) return -ENOMEM; @@ -426,7 +426,7 @@ static int mana_hwc_create_cq(struct hw_channel_context *hwc, u16 q_depth, } hwc_cq->gdma_cq = cq; - comp_buf = kcalloc(q_depth, sizeof(*comp_buf), GFP_KERNEL); + comp_buf = kzalloc_objs(*comp_buf, q_depth, GFP_KERNEL); if (!comp_buf) { err = -ENOMEM; goto out; @@ -461,7 +461,7 @@ static int mana_hwc_alloc_dma_buf(struct hw_channel_context *hwc, u16 q_depth, int err; u16 i; - dma_buf = kzalloc(struct_size(dma_buf, reqs, q_depth), GFP_KERNEL); + dma_buf = kzalloc_flex(*dma_buf, reqs, q_depth, GFP_KERNEL); if (!dma_buf) return -ENOMEM; @@ -539,7 +539,7 @@ static int mana_hwc_create_wq(struct hw_channel_context *hwc, if (queue_size < MANA_MIN_QSIZE) queue_size = MANA_MIN_QSIZE; - hwc_wq = kzalloc(sizeof(*hwc_wq), GFP_KERNEL); + hwc_wq = kzalloc_obj(*hwc_wq, GFP_KERNEL); if (!hwc_wq) return -ENOMEM; @@ -644,7 +644,7 @@ static int mana_hwc_test_channel(struct hw_channel_context *hwc, u16 q_depth, return err; } - ctx = kcalloc(q_depth, sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_objs(*ctx, q_depth, GFP_KERNEL); if (!ctx) return -ENOMEM; @@ -750,7 +750,7 @@ int mana_hwc_create_channel(struct gdma_context *gc) u16 q_depth_max; int err; - hwc = kzalloc(sizeof(*hwc), GFP_KERNEL); + hwc = kzalloc_obj(*hwc, GFP_KERNEL); if (!hwc) return -ENOMEM; diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c b/drivers/net/ethernet/microsoft/mana/mana_en.c index 9b5a72ada5c4..5c9704f2041a 100644 --- a/drivers/net/ethernet/microsoft/mana/mana_en.c +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c @@ -491,9 +491,8 @@ netdev_tx_t mana_start_xmit(struct sk_buff *skb, struct net_device *ndev) if (pkg.wqe_req.num_sge <= ARRAY_SIZE(pkg.sgl_array)) { pkg.wqe_req.sgl = pkg.sgl_array; } else { - pkg.sgl_ptr = kmalloc_array(pkg.wqe_req.num_sge, - sizeof(struct gdma_sge), - GFP_ATOMIC); + pkg.sgl_ptr = kmalloc_objs(struct gdma_sge, pkg.wqe_req.num_sge, + GFP_ATOMIC); if (!pkg.sgl_ptr) goto tx_drop_count; @@ -804,7 +803,7 @@ int mana_pre_alloc_rxbufs(struct mana_port_context *mpc, int new_mtu, int num_qu if (!mpc->rxbufs_pre) goto error; - mpc->das_pre = kmalloc_array(num_rxb, sizeof(dma_addr_t), GFP_KERNEL); + mpc->das_pre = kmalloc_objs(dma_addr_t, num_rxb, GFP_KERNEL); if (!mpc->das_pre) goto error; @@ -996,8 +995,7 @@ static void mana_cleanup_indir_table(struct mana_port_context *apc) static int mana_init_port_context(struct mana_port_context *apc) { - apc->rxqs = kcalloc(apc->num_queues, sizeof(struct mana_rxq *), - GFP_KERNEL); + apc->rxqs = kzalloc_objs(struct mana_rxq *, apc->num_queues, GFP_KERNEL); return !apc->rxqs ? -ENOMEM : 0; } @@ -1634,8 +1632,7 @@ static int mana_create_eq(struct mana_context *ac) int err; int i; - ac->eqs = kcalloc(gc->max_num_queues, sizeof(struct mana_eq), - GFP_KERNEL); + ac->eqs = kzalloc_objs(struct mana_eq, gc->max_num_queues, GFP_KERNEL); if (!ac->eqs) return -ENOMEM; @@ -2329,8 +2326,8 @@ static int mana_create_txq(struct mana_port_context *apc, int err; int i; - apc->tx_qp = kcalloc(apc->num_queues, sizeof(struct mana_tx_qp), - GFP_KERNEL); + apc->tx_qp = kzalloc_objs(struct mana_tx_qp, apc->num_queues, + GFP_KERNEL); if (!apc->tx_qp) return -ENOMEM; @@ -2640,8 +2637,7 @@ static struct mana_rxq *mana_create_rxq(struct mana_port_context *apc, gc = gd->gdma_context; - rxq = kzalloc(struct_size(rxq, rx_oobs, apc->rx_queue_size), - GFP_KERNEL); + rxq = kzalloc_flex(*rxq, rx_oobs, apc->rx_queue_size, GFP_KERNEL); if (!rxq) return NULL; @@ -2856,7 +2852,8 @@ static int mana_rss_table_alloc(struct mana_port_context *apc) if (!apc->indir_table) return -ENOMEM; - apc->rxobj_table = kcalloc(apc->indir_table_sz, sizeof(mana_handle_t), GFP_KERNEL); + apc->rxobj_table = kzalloc_objs(mana_handle_t, apc->indir_table_sz, + GFP_KERNEL); if (!apc->rxobj_table) { kfree(apc->indir_table); return -ENOMEM; @@ -3418,7 +3415,7 @@ static int add_adev(struct gdma_dev *gd, const char *name) struct mana_adev *madev; int ret; - madev = kzalloc(sizeof(*madev), GFP_KERNEL); + madev = kzalloc_obj(*madev, GFP_KERNEL); if (!madev) return -ENOMEM; @@ -3511,7 +3508,7 @@ int mana_rdma_service_event(struct gdma_context *gc, enum gdma_service_type even return 0; } - serv_work = kzalloc(sizeof(*serv_work), GFP_ATOMIC); + serv_work = kzalloc_obj(*serv_work, GFP_ATOMIC); if (!serv_work) return -ENOMEM; @@ -3562,7 +3559,7 @@ int mana_probe(struct gdma_dev *gd, bool resuming) return err; if (!resuming) { - ac = kzalloc(sizeof(*ac), GFP_KERNEL); + ac = kzalloc_obj(*ac, GFP_KERNEL); if (!ac) return -ENOMEM; diff --git a/drivers/net/ethernet/mscc/ocelot.c b/drivers/net/ethernet/mscc/ocelot.c index c345d9b17c89..a572170506cb 100644 --- a/drivers/net/ethernet/mscc/ocelot.c +++ b/drivers/net/ethernet/mscc/ocelot.c @@ -576,7 +576,7 @@ static int ocelot_update_vlan_reclassify_rule(struct ocelot *ocelot, int port) } /* Filter doesn't exist, create it */ - filter = kzalloc(sizeof(*filter), GFP_KERNEL); + filter = kzalloc_obj(*filter, GFP_KERNEL); if (!filter) return -ENOMEM; @@ -682,7 +682,7 @@ static int ocelot_vlan_member_add(struct ocelot *ocelot, int port, u16 vid, return 0; } - vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kzalloc_obj(*vlan, GFP_KERNEL); if (!vlan) return -ENOMEM; @@ -1664,7 +1664,7 @@ int ocelot_trap_add(struct ocelot *ocelot, int port, trap = ocelot_vcap_block_find_filter_by_id(block_vcap_is2, cookie, false); if (!trap) { - trap = kzalloc(sizeof(*trap), GFP_KERNEL); + trap = kzalloc_obj(*trap, GFP_KERNEL); if (!trap) return -ENOMEM; @@ -2046,7 +2046,7 @@ static struct ocelot_pgid *ocelot_pgid_alloc(struct ocelot *ocelot, int index, { struct ocelot_pgid *pgid; - pgid = kzalloc(sizeof(*pgid), GFP_KERNEL); + pgid = kzalloc_obj(*pgid, GFP_KERNEL); if (!pgid) return ERR_PTR(-ENOMEM); @@ -2563,7 +2563,7 @@ int ocelot_lag_fdb_add(struct ocelot *ocelot, struct net_device *bond, struct ocelot_lag_fdb *fdb; int lag, err; - fdb = kzalloc(sizeof(*fdb), GFP_KERNEL); + fdb = kzalloc_obj(*fdb, GFP_KERNEL); if (!fdb) return -ENOMEM; @@ -2894,7 +2894,7 @@ struct ocelot_mirror *ocelot_mirror_get(struct ocelot *ocelot, int to, return m; } - m = kzalloc(sizeof(*m), GFP_KERNEL); + m = kzalloc_obj(*m, GFP_KERNEL); if (!m) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/mscc/ocelot_flower.c b/drivers/net/ethernet/mscc/ocelot_flower.c index 986b1f150e3b..4fccc8adad56 100644 --- a/drivers/net/ethernet/mscc/ocelot_flower.c +++ b/drivers/net/ethernet/mscc/ocelot_flower.c @@ -833,7 +833,7 @@ static struct ocelot_vcap_filter { struct ocelot_vcap_filter *filter; - filter = kzalloc(sizeof(*filter), GFP_KERNEL); + filter = kzalloc_obj(*filter, GFP_KERNEL); if (!filter) return NULL; diff --git a/drivers/net/ethernet/mscc/ocelot_mrp.c b/drivers/net/ethernet/mscc/ocelot_mrp.c index 3ccec488a304..04ae7a156f22 100644 --- a/drivers/net/ethernet/mscc/ocelot_mrp.c +++ b/drivers/net/ethernet/mscc/ocelot_mrp.c @@ -54,7 +54,7 @@ static int ocelot_mrp_redirect_add_vcap(struct ocelot *ocelot, int src_port, struct ocelot_vcap_filter *filter; int err; - filter = kzalloc(sizeof(*filter), GFP_KERNEL); + filter = kzalloc_obj(*filter, GFP_KERNEL); if (!filter) return -ENOMEM; diff --git a/drivers/net/ethernet/mscc/ocelot_vcap.c b/drivers/net/ethernet/mscc/ocelot_vcap.c index 5734b86aed5b..ec193ed18050 100644 --- a/drivers/net/ethernet/mscc/ocelot_vcap.c +++ b/drivers/net/ethernet/mscc/ocelot_vcap.c @@ -910,7 +910,7 @@ int ocelot_vcap_policer_add(struct ocelot *ocelot, u32 pol_ix, return 0; } - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; diff --git a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c index d9b5d7999370..75ee09571af6 100644 --- a/drivers/net/ethernet/myricom/myri10ge/myri10ge.c +++ b/drivers/net/ethernet/myricom/myri10ge/myri10ge.c @@ -3703,8 +3703,8 @@ static void myri10ge_probe_slices(struct myri10ge_priv *mgp) * slices. We give up on MSI-X if we can only get a single * vector. */ - mgp->msix_vectors = kcalloc(mgp->num_slices, sizeof(*mgp->msix_vectors), - GFP_KERNEL); + mgp->msix_vectors = kzalloc_objs(*mgp->msix_vectors, mgp->num_slices, + GFP_KERNEL); if (mgp->msix_vectors == NULL) goto no_msix; for (i = 0; i < mgp->num_slices; i++) { diff --git a/drivers/net/ethernet/netronome/nfp/abm/cls.c b/drivers/net/ethernet/netronome/nfp/abm/cls.c index 23ebddfb9532..5cb4bb03b2a5 100644 --- a/drivers/net/ethernet/netronome/nfp/abm/cls.c +++ b/drivers/net/ethernet/netronome/nfp/abm/cls.c @@ -203,7 +203,7 @@ nfp_abm_u32_knode_replace(struct nfp_abm_link *alink, } if (!match) { - match = kzalloc(sizeof(*match), GFP_KERNEL); + match = kzalloc_obj(*match, GFP_KERNEL); if (!match) return -ENOMEM; list_add(&match->list, &alink->dscp_map); diff --git a/drivers/net/ethernet/netronome/nfp/abm/main.c b/drivers/net/ethernet/netronome/nfp/abm/main.c index 5d3df28c648f..b4c85bb0f787 100644 --- a/drivers/net/ethernet/netronome/nfp/abm/main.c +++ b/drivers/net/ethernet/netronome/nfp/abm/main.c @@ -317,7 +317,7 @@ nfp_abm_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id) struct nfp_abm_link *alink; int err; - alink = kzalloc(sizeof(*alink), GFP_KERNEL); + alink = kzalloc_obj(*alink, GFP_KERNEL); if (!alink) return -ENOMEM; nn->app_priv = alink; @@ -461,7 +461,7 @@ static int nfp_abm_init(struct nfp_app *app) return -EINVAL; } - abm = kzalloc(sizeof(*abm), GFP_KERNEL); + abm = kzalloc_obj(*abm, GFP_KERNEL); if (!abm) return -ENOMEM; app->priv = abm; diff --git a/drivers/net/ethernet/netronome/nfp/abm/qdisc.c b/drivers/net/ethernet/netronome/nfp/abm/qdisc.c index 2a5cc64227e9..a030b59901c9 100644 --- a/drivers/net/ethernet/netronome/nfp/abm/qdisc.c +++ b/drivers/net/ethernet/netronome/nfp/abm/qdisc.c @@ -344,7 +344,7 @@ nfp_abm_qdisc_alloc(struct net_device *netdev, struct nfp_abm_link *alink, struct nfp_qdisc *qdisc; int err; - qdisc = kzalloc(sizeof(*qdisc), GFP_KERNEL); + qdisc = kzalloc_obj(*qdisc, GFP_KERNEL); if (!qdisc) return NULL; diff --git a/drivers/net/ethernet/netronome/nfp/bpf/main.c b/drivers/net/ethernet/netronome/nfp/bpf/main.c index f469950c7265..d9591ca44a8f 100644 --- a/drivers/net/ethernet/netronome/nfp/bpf/main.c +++ b/drivers/net/ethernet/netronome/nfp/bpf/main.c @@ -76,7 +76,7 @@ nfp_bpf_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, unsigned int id) return -EINVAL; } - bv = kzalloc(sizeof(*bv), GFP_KERNEL); + bv = kzalloc_obj(*bv, GFP_KERNEL); if (!bv) return -ENOMEM; nn->app_priv = bv; @@ -458,7 +458,7 @@ static int nfp_bpf_init(struct nfp_app *app) struct nfp_app_bpf *bpf; int err; - bpf = kzalloc(sizeof(*bpf), GFP_KERNEL); + bpf = kzalloc_obj(*bpf, GFP_KERNEL); if (!bpf) return -ENOMEM; bpf->app = app; diff --git a/drivers/net/ethernet/netronome/nfp/bpf/offload.c b/drivers/net/ethernet/netronome/nfp/bpf/offload.c index c03558adda91..2b22725fb8a6 100644 --- a/drivers/net/ethernet/netronome/nfp/bpf/offload.c +++ b/drivers/net/ethernet/netronome/nfp/bpf/offload.c @@ -48,7 +48,7 @@ nfp_map_ptr_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, */ bpf_map_inc(map); - record = kmalloc(sizeof(*record), GFP_KERNEL); + record = kmalloc_obj(*record, GFP_KERNEL); if (!record) { err = -ENOMEM; goto err_map_put; @@ -123,9 +123,8 @@ nfp_map_ptrs_record(struct nfp_app_bpf *bpf, struct nfp_prog *nfp_prog, if (!cnt) goto out; - nfp_prog->map_records = kmalloc_array(cnt, - sizeof(nfp_prog->map_records[0]), - GFP_KERNEL); + nfp_prog->map_records = kmalloc_objs(nfp_prog->map_records[0], cnt, + GFP_KERNEL); if (!nfp_prog->map_records) { err = -ENOMEM; goto out; @@ -155,7 +154,7 @@ nfp_prog_prepare(struct nfp_prog *nfp_prog, const struct bpf_insn *prog, unsigned int i; for (i = 0; i < cnt; i++) { - meta = kzalloc(sizeof(*meta), GFP_KERNEL); + meta = kzalloc_obj(*meta, GFP_KERNEL); if (!meta) return -ENOMEM; @@ -193,7 +192,7 @@ static int nfp_bpf_verifier_prep(struct bpf_prog *prog) struct nfp_prog *nfp_prog; int ret; - nfp_prog = kzalloc(sizeof(*nfp_prog), GFP_KERNEL); + nfp_prog = kzalloc_obj(*nfp_prog, GFP_KERNEL); if (!nfp_prog) return -ENOMEM; prog->aux->offload->dev_priv = nfp_prog; diff --git a/drivers/net/ethernet/netronome/nfp/bpf/verifier.c b/drivers/net/ethernet/netronome/nfp/bpf/verifier.c index 9d235c0ce46a..de9508282841 100644 --- a/drivers/net/ethernet/netronome/nfp/bpf/verifier.c +++ b/drivers/net/ethernet/netronome/nfp/bpf/verifier.c @@ -770,8 +770,8 @@ int nfp_bpf_finalize(struct bpf_verifier_env *env) nfp_prog = env->prog->aux->offload->dev_priv; nfp_prog->subprog_cnt = env->subprog_cnt; - nfp_prog->subprog = kcalloc(nfp_prog->subprog_cnt, - sizeof(nfp_prog->subprog[0]), GFP_KERNEL); + nfp_prog->subprog = kzalloc_objs(nfp_prog->subprog[0], + nfp_prog->subprog_cnt, GFP_KERNEL); if (!nfp_prog->subprog) return -ENOMEM; diff --git a/drivers/net/ethernet/netronome/nfp/flower/conntrack.c b/drivers/net/ethernet/netronome/nfp/flower/conntrack.c index 15180538b80a..178184a68816 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/conntrack.c +++ b/drivers/net/ethernet/netronome/nfp/flower/conntrack.c @@ -1355,7 +1355,7 @@ nfp_fl_ct_zone_entry *get_nfp_zone_entry(struct nfp_flower_priv *priv, if (IS_ERR(zt) || zt->priv) return zt; } else { - zt = kzalloc(sizeof(*zt), GFP_KERNEL); + zt = kzalloc_obj(*zt, GFP_KERNEL); if (!zt) return ERR_PTR(-ENOMEM); } @@ -1487,7 +1487,7 @@ nfp_fl_ct_flow_entry *nfp_fl_ct_add_flow(struct nfp_fl_ct_zone_entry *zt, struct flow_action_entry *act; int err, i; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return ERR_PTR(-ENOMEM); @@ -1501,7 +1501,7 @@ nfp_fl_ct_flow_entry *nfp_fl_ct_add_flow(struct nfp_fl_ct_zone_entry *zt, * to do a full copy instead of just a reference. */ if (is_nft) { - nft_match = kzalloc(sizeof(*nft_match), GFP_KERNEL); + nft_match = kzalloc_obj(*nft_match, GFP_KERNEL); if (!nft_match) { err = -ENOMEM; goto err_pre_ct_act; diff --git a/drivers/net/ethernet/netronome/nfp/flower/lag_conf.c b/drivers/net/ethernet/netronome/nfp/flower/lag_conf.c index 2c7bd6e80d99..9b78cc9600fe 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/lag_conf.c +++ b/drivers/net/ethernet/netronome/nfp/flower/lag_conf.c @@ -119,7 +119,7 @@ nfp_fl_lag_group_create(struct nfp_fl_lag *lag, struct net_device *master) return ERR_PTR(id); } - group = kmalloc(sizeof(*group), GFP_KERNEL); + group = kmalloc_obj(*group, GFP_KERNEL); if (!group) { ida_free(&lag->ida_handle, id); return ERR_PTR(-ENOMEM); @@ -335,8 +335,8 @@ static void nfp_fl_lag_do_work(struct work_struct *work) continue; } - acti_netdevs = kmalloc_array(entry->slave_cnt, - sizeof(*acti_netdevs), GFP_KERNEL); + acti_netdevs = kmalloc_objs(*acti_netdevs, entry->slave_cnt, + GFP_KERNEL); if (!acti_netdevs) { schedule_delayed_work(&lag->work, NFP_FL_LAG_DELAY); diff --git a/drivers/net/ethernet/netronome/nfp/flower/main.c b/drivers/net/ethernet/netronome/nfp/flower/main.c index 83eaa5ae3cd4..4677183322bc 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/main.c +++ b/drivers/net/ethernet/netronome/nfp/flower/main.c @@ -182,7 +182,7 @@ nfp_flower_non_repr_priv_get(struct nfp_app *app, struct net_device *netdev) if (entry) goto inc_ref; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return NULL; @@ -406,7 +406,7 @@ nfp_flower_spawn_vnic_reprs(struct nfp_app *app, goto err_reprs_clean; } - repr_priv = kzalloc(sizeof(*repr_priv), GFP_KERNEL); + repr_priv = kzalloc_obj(*repr_priv, GFP_KERNEL); if (!repr_priv) { err = -ENOMEM; nfp_repr_free(repr); @@ -524,7 +524,7 @@ nfp_flower_spawn_phy_reprs(struct nfp_app *app, struct nfp_flower_priv *priv) goto err_reprs_clean; } - repr_priv = kzalloc(sizeof(*repr_priv), GFP_KERNEL); + repr_priv = kzalloc_obj(*repr_priv, GFP_KERNEL); if (!repr_priv) { err = -ENOMEM; nfp_repr_free(repr); diff --git a/drivers/net/ethernet/netronome/nfp/flower/metadata.c b/drivers/net/ethernet/netronome/nfp/flower/metadata.c index dde60c4572fa..fbb858a5324b 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/metadata.c +++ b/drivers/net/ethernet/netronome/nfp/flower/metadata.c @@ -214,7 +214,7 @@ nfp_add_mask_table(struct nfp_app *app, char *mask_data, u32 mask_len) if (nfp_mask_alloc(app, &mask_id)) return -ENOENT; - mask_entry = kmalloc(sizeof(*mask_entry), GFP_KERNEL); + mask_entry = kmalloc_obj(*mask_entry, GFP_KERNEL); if (!mask_entry) { nfp_release_mask_id(app, mask_id); return -ENOMEM; @@ -324,7 +324,7 @@ int nfp_compile_flow_metadata(struct nfp_app *app, u32 cookie, nfp_flow->meta.host_cookie = cpu_to_be64(cookie); nfp_flow->ingress_dev = netdev; - ctx_entry = kzalloc(sizeof(*ctx_entry), GFP_KERNEL); + ctx_entry = kzalloc_obj(*ctx_entry, GFP_KERNEL); if (!ctx_entry) { err = -ENOMEM; goto err_release_stats; @@ -557,8 +557,8 @@ int nfp_flower_metadata_init(struct nfp_app *app, u64 host_ctx_count, /* Init timestamps for mask id*/ priv->mask_ids.last_used = - kmalloc_array(NFP_FLOWER_MASK_ENTRY_RS, - sizeof(*priv->mask_ids.last_used), GFP_KERNEL); + kmalloc_objs(*priv->mask_ids.last_used, + NFP_FLOWER_MASK_ENTRY_RS, GFP_KERNEL); if (!priv->mask_ids.last_used) goto err_free_mask_id; @@ -573,8 +573,7 @@ int nfp_flower_metadata_init(struct nfp_app *app, u64 host_ctx_count, stats_size = FIELD_PREP(NFP_FL_STAT_ID_STAT, host_ctx_count) | FIELD_PREP(NFP_FL_STAT_ID_MU_NUM, host_num_mems - 1); - priv->stats = kvmalloc_array(stats_size, sizeof(struct nfp_fl_stats), - GFP_KERNEL); + priv->stats = kvmalloc_objs(struct nfp_fl_stats, stats_size, GFP_KERNEL); if (!priv->stats) goto err_free_ring_buf; diff --git a/drivers/net/ethernet/netronome/nfp/flower/offload.c b/drivers/net/ethernet/netronome/nfp/flower/offload.c index 46ffc2c20893..b6e1e33d3f27 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/offload.c +++ b/drivers/net/ethernet/netronome/nfp/flower/offload.c @@ -549,7 +549,7 @@ nfp_flower_allocate_new(struct nfp_fl_key_ls *key_layer) { struct nfp_fl_payload *flow_pay; - flow_pay = kmalloc(sizeof(*flow_pay), GFP_KERNEL); + flow_pay = kmalloc_obj(*flow_pay, GFP_KERNEL); if (!flow_pay) return NULL; @@ -979,7 +979,7 @@ static int nfp_flower_link_flows(struct nfp_fl_payload *merge_flow, { struct nfp_fl_payload_link *link; - link = kmalloc(sizeof(*link), GFP_KERNEL); + link = kmalloc_obj(*link, GFP_KERNEL); if (!link) return -ENOMEM; @@ -1067,7 +1067,7 @@ int nfp_flower_merge_offloaded_flows(struct nfp_app *app, if (err) goto err_release_metadata; - merge_info = kmalloc(sizeof(*merge_info), GFP_KERNEL); + merge_info = kmalloc_obj(*merge_info, GFP_KERNEL); if (!merge_info) { err = -ENOMEM; goto err_remove_rhash; @@ -1354,7 +1354,7 @@ nfp_flower_add_offload(struct nfp_app *app, struct net_device *netdev, if (!offload_pre_check(flow)) return -EOPNOTSUPP; - key_layer = kmalloc(sizeof(*key_layer), GFP_KERNEL); + key_layer = kmalloc_obj(*key_layer, GFP_KERNEL); if (!key_layer) return -ENOMEM; @@ -1400,7 +1400,7 @@ nfp_flower_add_offload(struct nfp_app *app, struct net_device *netdev, if (priv->flower_ext_feats & NFP_FL_FEATS_DECAP_V2) { struct nfp_predt_entry *predt; - predt = kzalloc(sizeof(*predt), GFP_KERNEL); + predt = kzalloc_obj(*predt, GFP_KERNEL); if (!predt) { err = -ENOMEM; goto err_remove_rhash; @@ -1901,7 +1901,7 @@ nfp_flower_setup_indr_tc_block(struct net_device *netdev, struct Qdisc *sch, str &nfp_block_cb_list)) return -EBUSY; - cb_priv = kmalloc(sizeof(*cb_priv), GFP_KERNEL); + cb_priv = kmalloc_obj(*cb_priv, GFP_KERNEL); if (!cb_priv) return -ENOMEM; diff --git a/drivers/net/ethernet/netronome/nfp/flower/qos_conf.c b/drivers/net/ethernet/netronome/nfp/flower/qos_conf.c index e7180b4793c7..6a7f806b3fdf 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/qos_conf.c +++ b/drivers/net/ethernet/netronome/nfp/flower/qos_conf.c @@ -579,7 +579,7 @@ nfp_flower_add_meter_entry(struct nfp_app *app, u32 meter_id) if (meter_entry) return meter_entry; - meter_entry = kzalloc(sizeof(*meter_entry), GFP_KERNEL); + meter_entry = kzalloc_obj(*meter_entry, GFP_KERNEL); if (!meter_entry) return NULL; diff --git a/drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c b/drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c index 0d7d138d6e0d..e0d32ddc80c3 100644 --- a/drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c +++ b/drivers/net/ethernet/netronome/nfp/flower/tunnel_conf.c @@ -696,7 +696,7 @@ nfp_tun_alloc_neigh_update_work(struct nfp_app *app, struct neighbour *n) { struct nfp_neigh_update_work *update_work; - update_work = kzalloc(sizeof(*update_work), GFP_ATOMIC); + update_work = kzalloc_obj(*update_work, GFP_ATOMIC); if (!update_work) return NULL; @@ -884,7 +884,7 @@ void nfp_tunnel_add_ipv4_off(struct nfp_app *app, __be32 ipv4) } } - entry = kmalloc(sizeof(*entry), GFP_KERNEL); + entry = kmalloc_obj(*entry, GFP_KERNEL); if (!entry) { mutex_unlock(&priv->tun.ipv4_off_lock); nfp_flower_cmsg_warn(app, "Mem error when offloading IP address.\n"); @@ -959,7 +959,7 @@ nfp_tunnel_add_ipv6_off(struct nfp_app *app, struct in6_addr *ipv6) return entry; } - entry = kmalloc(sizeof(*entry), GFP_KERNEL); + entry = kmalloc_obj(*entry, GFP_KERNEL); if (!entry) { mutex_unlock(&priv->tun.ipv6_off_lock); nfp_flower_cmsg_warn(app, "Mem error when offloading IP address.\n"); @@ -1117,7 +1117,7 @@ nfp_tunnel_add_shared_mac(struct nfp_app *app, struct net_device *netdev, } if (!entry) { - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) { err = -ENOMEM; goto err_free_ida; diff --git a/drivers/net/ethernet/netronome/nfp/nfd3/rings.c b/drivers/net/ethernet/netronome/nfp/nfd3/rings.c index a03190c9313c..480b644afed5 100644 --- a/drivers/net/ethernet/netronome/nfp/nfd3/rings.c +++ b/drivers/net/ethernet/netronome/nfp/nfd3/rings.c @@ -140,8 +140,8 @@ nfp_nfd3_tx_ring_alloc(struct nfp_net_dp *dp, struct nfp_net_tx_ring *tx_ring) goto err_alloc; } - tx_ring->txbufs = kvcalloc(tx_ring->cnt, sizeof(*tx_ring->txbufs), - GFP_KERNEL); + tx_ring->txbufs = kvzalloc_objs(*tx_ring->txbufs, tx_ring->cnt, + GFP_KERNEL); if (!tx_ring->txbufs) goto err_alloc; diff --git a/drivers/net/ethernet/netronome/nfp/nfdk/rings.c b/drivers/net/ethernet/netronome/nfp/nfdk/rings.c index fdb8144a63e0..c0905469911c 100644 --- a/drivers/net/ethernet/netronome/nfp/nfdk/rings.c +++ b/drivers/net/ethernet/netronome/nfp/nfdk/rings.c @@ -105,8 +105,8 @@ nfp_nfdk_tx_ring_alloc(struct nfp_net_dp *dp, struct nfp_net_tx_ring *tx_ring) goto err_alloc; } - tx_ring->ktxbufs = kvcalloc(tx_ring->cnt, sizeof(*tx_ring->ktxbufs), - GFP_KERNEL); + tx_ring->ktxbufs = kvzalloc_objs(*tx_ring->ktxbufs, tx_ring->cnt, + GFP_KERNEL); if (!tx_ring->ktxbufs) goto err_alloc; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_app.c b/drivers/net/ethernet/netronome/nfp/nfp_app.c index bb3f46c74f77..f53418136c37 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_app.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_app.c @@ -239,7 +239,7 @@ struct nfp_app *nfp_app_alloc(struct nfp_pf *pf, enum nfp_app_id id) if (WARN_ON(!apps[id]->ctrl_msg_rx && apps[id]->ctrl_msg_rx_raw)) return ERR_PTR(-EINVAL); - app = kzalloc(sizeof(*app), GFP_KERNEL); + app = kzalloc_obj(*app, GFP_KERNEL); if (!app) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index 9ef72f294117..bebf7e7c4a86 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -1554,7 +1554,7 @@ struct nfp_net_dp *nfp_net_clone_dp(struct nfp_net *nn) { struct nfp_net_dp *new; - new = kmalloc(sizeof(*new), GFP_KERNEL); + new = kmalloc_obj(*new, GFP_KERNEL); if (!new) return NULL; @@ -2537,8 +2537,8 @@ nfp_net_alloc(struct pci_dev *pdev, const struct nfp_dev_info *dev_info, nn->dp.num_r_vecs, num_online_cpus()); nn->max_r_vecs = nn->dp.num_r_vecs; - nn->dp.xsk_pools = kcalloc(nn->max_r_vecs, sizeof(*nn->dp.xsk_pools), - GFP_KERNEL); + nn->dp.xsk_pools = kzalloc_objs(*nn->dp.xsk_pools, nn->max_r_vecs, + GFP_KERNEL); if (!nn->dp.xsk_pools) { err = -ENOMEM; goto err_free_nn; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_dp.c b/drivers/net/ethernet/netronome/nfp/nfp_net_dp.c index 550df83b798c..cbb983729f22 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_dp.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_dp.c @@ -184,8 +184,7 @@ int nfp_net_tx_rings_prepare(struct nfp_net *nn, struct nfp_net_dp *dp) { unsigned int r; - dp->tx_rings = kcalloc(dp->num_tx_rings, sizeof(*dp->tx_rings), - GFP_KERNEL); + dp->tx_rings = kzalloc_objs(*dp->tx_rings, dp->num_tx_rings, GFP_KERNEL); if (!dp->tx_rings) return -ENOMEM; @@ -340,8 +339,7 @@ int nfp_net_rx_rings_prepare(struct nfp_net *nn, struct nfp_net_dp *dp) { unsigned int r; - dp->rx_rings = kcalloc(dp->num_rx_rings, sizeof(*dp->rx_rings), - GFP_KERNEL); + dp->rx_rings = kzalloc_objs(*dp->rx_rings, dp->num_rx_rings, GFP_KERNEL); if (!dp->rx_rings) return -ENOMEM; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c index e88b1c4732a5..16bf77708b9e 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c @@ -713,7 +713,7 @@ static int nfp_test_nsp(struct net_device *netdev) goto exit_close_nsp; } - nspi = kzalloc(sizeof(*nspi), GFP_KERNEL); + nspi = kzalloc_obj(*nspi, GFP_KERNEL); if (!nspi) { err = -ENOMEM; goto exit_close_nsp; @@ -1676,7 +1676,7 @@ static int nfp_net_fs_add(struct nfp_net *nn, struct ethtool_rxnfc *cmd) if (unsupp_mask) return -EOPNOTSUPP; - new = kzalloc(sizeof(*new), GFP_KERNEL); + new = kzalloc_obj(*new, GFP_KERNEL); if (!new) return -ENOMEM; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c index cbe4972ba104..aeaa998e2f75 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c @@ -229,8 +229,8 @@ static int nfp_net_pf_alloc_irqs(struct nfp_pf *pf) wanted_irqs = 0; list_for_each_entry(nn, &pf->vnics, vnic_list) wanted_irqs += NFP_NET_NON_Q_VECTORS + nn->dp.num_r_vecs; - pf->irq_entries = kcalloc(wanted_irqs, sizeof(*pf->irq_entries), - GFP_KERNEL); + pf->irq_entries = kzalloc_objs(*pf->irq_entries, wanted_irqs, + GFP_KERNEL); if (!pf->irq_entries) return -ENOMEM; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c index 227e7a5d712e..bac4c61f8632 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_repr.c @@ -500,7 +500,7 @@ struct nfp_reprs *nfp_reprs_alloc(unsigned int num_reprs) { struct nfp_reprs *reprs; - reprs = kzalloc(struct_size(reprs, reprs, num_reprs), GFP_KERNEL); + reprs = kzalloc_flex(*reprs, reprs, num_reprs, GFP_KERNEL); if (!reprs) return NULL; reprs->num_reprs = num_reprs; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c b/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c index e19bb0150cb5..061d1ba89760 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c @@ -93,7 +93,7 @@ static int nfp_netvf_pci_probe(struct pci_dev *pdev, dev_info = &nfp_dev_info[pci_id->driver_data]; - vf = kzalloc(sizeof(*vf), GFP_KERNEL); + vf = kzalloc_obj(*vf, GFP_KERNEL); if (!vf) return -ENOMEM; pci_set_drvdata(pdev, vf); diff --git a/drivers/net/ethernet/netronome/nfp/nfp_port.c b/drivers/net/ethernet/netronome/nfp/nfp_port.c index 54640bcb70fb..1ce12ad44d2f 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_port.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_port.c @@ -203,7 +203,7 @@ nfp_port_alloc(struct nfp_app *app, enum nfp_port_type type, { struct nfp_port *port; - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); if (!port) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/netronome/nfp/nfp_shared_buf.c b/drivers/net/ethernet/netronome/nfp/nfp_shared_buf.c index ea2e3f829aba..eb5f9c2bf445 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_shared_buf.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_shared_buf.c @@ -99,8 +99,8 @@ int nfp_shared_buf_register(struct nfp_pf *pf) entry_sz = nfp_cpp_area_size(sb_desc_area) / num_entries; - pf->shared_bufs = kmalloc_array(num_entries, sizeof(pf->shared_bufs[0]), - GFP_KERNEL); + pf->shared_bufs = kmalloc_objs(pf->shared_bufs[0], num_entries, + GFP_KERNEL); if (!pf->shared_bufs) { err = -ENOMEM; goto err_release_area; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c index 7c2200b49ce4..ff16af23fc3a 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp6000_pcie.c @@ -1320,7 +1320,7 @@ nfp_cpp_from_nfp6000_pcie(struct pci_dev *pdev, const struct nfp_dev_info *dev_i dev_info->chip_names); pcie_print_link_status(pdev); - nfp = kzalloc(sizeof(*nfp), GFP_KERNEL); + nfp = kzalloc_obj(*nfp, GFP_KERNEL); if (!nfp) { err = -ENOMEM; goto err_ret; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c index 669f9f8fb507..06ebad34c00b 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_cppcore.c @@ -802,7 +802,7 @@ int nfp_cpp_area_cache_add(struct nfp_cpp *cpp, size_t size) if (!area) return -ENOMEM; - cache = kzalloc(sizeof(*cache), GFP_KERNEL); + cache = kzalloc_obj(*cache, GFP_KERNEL); if (!cache) { nfp_cpp_area_free(area); return -ENOMEM; @@ -1170,7 +1170,7 @@ nfp_cpp_from_operations(const struct nfp_cpp_operations *ops, u32 xpbaddr; size_t tgt; - cpp = kzalloc(sizeof(*cpp), GFP_KERNEL); + cpp = kzalloc_obj(*cpp, GFP_KERNEL); if (!cpp) { err = -ENOMEM; goto err_malloc; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mip.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mip.c index 79e17943519e..93b11eaf7d9f 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mip.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mip.c @@ -101,7 +101,7 @@ const struct nfp_mip *nfp_mip_open(struct nfp_cpp *cpp) struct nfp_mip *mip; int err; - mip = kmalloc(sizeof(*mip), GFP_KERNEL); + mip = kmalloc_obj(*mip, GFP_KERNEL); if (!mip) return NULL; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mutex.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mutex.c index 7bc17b94ac60..d017b7779819 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mutex.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_mutex.c @@ -140,7 +140,7 @@ struct nfp_cpp_mutex *nfp_cpp_mutex_alloc(struct nfp_cpp *cpp, int target, if (tmp != key) return NULL; - mutex = kzalloc(sizeof(*mutex), GFP_KERNEL); + mutex = kzalloc_obj(*mutex, GFP_KERNEL); if (!mutex) return NULL; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.c index e2e5fd003ad6..4ad0f7586ba1 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nffw.c @@ -163,7 +163,7 @@ struct nfp_nffw_info *nfp_nffw_info_open(struct nfp_cpp *cpp) u32 info_ver; int err; - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c index 0bd6477292a6..a874a5f233a6 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp.c @@ -280,7 +280,7 @@ struct nfp_nsp *nfp_nsp_open(struct nfp_cpp *cpp) if (IS_ERR(res)) return ERR_CAST(res); - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (!state) { nfp_resource_release(res); return ERR_PTR(-ENOMEM); @@ -514,7 +514,7 @@ nfp_nsp_command_buf_dma_sg(struct nfp_nsp *nsp, dma_size = BIT_ULL(dma_order); nseg = DIV_ROUND_UP(max_size, chunk_size); - chunks = kcalloc(nseg, sizeof(*chunks), GFP_KERNEL); + chunks = kzalloc_objs(*chunks, nseg, GFP_KERNEL); if (!chunks) return -ENOMEM; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_cmds.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_cmds.c index 0997d127144f..33ff357b6fc6 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_cmds.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_cmds.c @@ -29,7 +29,7 @@ struct nfp_nsp_identify *__nfp_nsp_identify(struct nfp_nsp *nsp) if (nfp_nsp_get_abi_ver_minor(nsp) < 15) return NULL; - ni = kzalloc(sizeof(*ni), GFP_KERNEL); + ni = kzalloc_obj(*ni, GFP_KERNEL); if (!ni) return NULL; @@ -40,7 +40,7 @@ struct nfp_nsp_identify *__nfp_nsp_identify(struct nfp_nsp *nsp) goto exit_free; } - nspi = kzalloc(sizeof(*nspi), GFP_KERNEL); + nspi = kzalloc_obj(*nspi, GFP_KERNEL); if (!nspi) goto exit_free; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c index 5cfddc9a5d87..9a1f1849e0db 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_nsp_eth.c @@ -319,7 +319,7 @@ __nfp_eth_read_ports(struct nfp_cpp *cpp, struct nfp_nsp *nsp) goto err; } - table = kzalloc(struct_size(table, ports, cnt), GFP_KERNEL); + table = kzalloc_flex(*table, ports, cnt, GFP_KERNEL); if (!table) goto err; diff --git a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_resource.c b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_resource.c index 279ea0b56955..54089663bbd7 100644 --- a/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_resource.c +++ b/drivers/net/ethernet/netronome/nfp/nfpcore/nfp_resource.c @@ -155,7 +155,7 @@ nfp_resource_acquire(struct nfp_cpp *cpp, const char *name) struct nfp_resource *res; int err; - res = kzalloc(sizeof(*res), GFP_KERNEL); + res = kzalloc_obj(*res, GFP_KERNEL); if (!res) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/netronome/nfp/nic/main.c b/drivers/net/ethernet/netronome/nfp/nic/main.c index 9dd5afe37f6e..82ec6d9018b0 100644 --- a/drivers/net/ethernet/netronome/nfp/nic/main.c +++ b/drivers/net/ethernet/netronome/nfp/nic/main.c @@ -51,7 +51,7 @@ static int nfp_nic_vnic_alloc(struct nfp_app *app, struct nfp_net *nn, return err; if (sizeof(*app_pri)) { - nn->app_priv = kzalloc(sizeof(*app_pri), GFP_KERNEL); + nn->app_priv = kzalloc_obj(*app_pri, GFP_KERNEL); if (!nn->app_priv) return -ENOMEM; } diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c index 19aa1f1538aa..bff27b223f5d 100644 --- a/drivers/net/ethernet/nvidia/forcedeth.c +++ b/drivers/net/ethernet/nvidia/forcedeth.c @@ -5854,8 +5854,10 @@ static int nv_probe(struct pci_dev *pci_dev, const struct pci_device_id *id) goto out_unmap; np->tx_ring.ex = &np->rx_ring.ex[np->rx_ring_size]; } - np->rx_skb = kcalloc(np->rx_ring_size, sizeof(struct nv_skb_map), GFP_KERNEL); - np->tx_skb = kcalloc(np->tx_ring_size, sizeof(struct nv_skb_map), GFP_KERNEL); + np->rx_skb = kzalloc_objs(struct nv_skb_map, np->rx_ring_size, + GFP_KERNEL); + np->tx_skb = kzalloc_objs(struct nv_skb_map, np->tx_ring_size, + GFP_KERNEL); if (!np->rx_skb || !np->tx_skb) goto out_freering; diff --git a/drivers/net/ethernet/pasemi/pasemi_mac.c b/drivers/net/ethernet/pasemi/pasemi_mac.c index 00909372ea61..f9a6471b36d0 100644 --- a/drivers/net/ethernet/pasemi/pasemi_mac.c +++ b/drivers/net/ethernet/pasemi/pasemi_mac.c @@ -381,9 +381,8 @@ static int pasemi_mac_setup_rx_resources(const struct net_device *dev) spin_lock_init(&ring->lock); ring->size = RX_RING_SIZE; - ring->ring_info = kcalloc(RX_RING_SIZE, - sizeof(struct pasemi_mac_buffer), - GFP_KERNEL); + ring->ring_info = kzalloc_objs(struct pasemi_mac_buffer, RX_RING_SIZE, + GFP_KERNEL); if (!ring->ring_info) goto out_ring_info; @@ -465,9 +464,8 @@ pasemi_mac_setup_tx_resources(const struct net_device *dev) spin_lock_init(&ring->lock); ring->size = TX_RING_SIZE; - ring->ring_info = kcalloc(TX_RING_SIZE, - sizeof(struct pasemi_mac_buffer), - GFP_KERNEL); + ring->ring_info = kzalloc_objs(struct pasemi_mac_buffer, TX_RING_SIZE, + GFP_KERNEL); if (!ring->ring_info) goto out_ring_info; diff --git a/drivers/net/ethernet/pensando/ionic/ionic_aux.c b/drivers/net/ethernet/pensando/ionic/ionic_aux.c index a2be338eb3e5..4c9db73cef23 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_aux.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_aux.c @@ -26,7 +26,7 @@ int ionic_auxbus_register(struct ionic_lif *lif) if (!(le64_to_cpu(lif->ionic->ident.lif.capabilities) & IONIC_LIF_CAP_RDMA)) return 0; - ionic_adev = kzalloc(sizeof(*ionic_adev), GFP_KERNEL); + ionic_adev = kzalloc_obj(*ionic_adev, GFP_KERNEL); if (!ionic_adev) return -ENOMEM; diff --git a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c index 0671deae9a28..104e1d35e0be 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_bus_pci.c @@ -151,7 +151,7 @@ static int ionic_vf_alloc(struct ionic *ionic, int num_vfs) down_write(&ionic->vf_op_lock); - ionic->vfs = kcalloc(num_vfs, sizeof(struct ionic_vf), GFP_KERNEL); + ionic->vfs = kzalloc_objs(struct ionic_vf, num_vfs, GFP_KERNEL); if (!ionic->vfs) { err = -ENOMEM; goto out; diff --git a/drivers/net/ethernet/pensando/ionic/ionic_dev.c b/drivers/net/ethernet/pensando/ionic/ionic_dev.c index ab27e9225c1e..3838c4a70766 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_dev.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_dev.c @@ -35,7 +35,7 @@ static void ionic_watchdog_cb(struct timer_list *t) if (test_bit(IONIC_LIF_F_FILTER_SYNC_NEEDED, lif->state) && !test_bit(IONIC_LIF_F_FW_RESET, lif->state)) { - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) { netdev_err(lif->netdev, "rxmode change dropped\n"); return; @@ -577,7 +577,7 @@ do_check_time: if (trigger) { struct ionic_deferred_work *work; - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (work) { work->type = IONIC_DW_TYPE_LIF_RESET; work->fw_status = fw_status_ready; diff --git a/drivers/net/ethernet/pensando/ionic/ionic_lif.c b/drivers/net/ethernet/pensando/ionic/ionic_lif.c index 058eea86e141..050dd3168f6b 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_lif.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_lif.c @@ -203,7 +203,7 @@ void ionic_link_status_check_request(struct ionic_lif *lif, bool can_sleep) return; if (!can_sleep) { - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) { clear_bit(IONIC_LIF_F_LINK_CHECK_REQUESTED, lif->state); return; @@ -1427,7 +1427,7 @@ static void ionic_ndo_set_rx_mode(struct net_device *netdev) /* Shove off the rest of the rxmode work to the work task * which will include syncing the filters to the firmware. */ - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) { netdev_err(lif->netdev, "rxmode change dropped\n"); return; @@ -2694,7 +2694,7 @@ static int ionic_register_rxq_info(struct ionic_queue *q, unsigned int napi_id) struct xdp_rxq_info *rxq_info; int err; - rxq_info = kzalloc(sizeof(*rxq_info), GFP_KERNEL); + rxq_info = kzalloc_obj(*rxq_info, GFP_KERNEL); if (!rxq_info) return -ENOMEM; @@ -3177,7 +3177,7 @@ static int ionic_affinity_masks_alloc(struct ionic *ionic) int nintrs = ionic->nintrs; int i; - affinity_masks = kcalloc(nintrs, sizeof(cpumask_var_t), GFP_KERNEL); + affinity_masks = kzalloc_objs(cpumask_var_t, nintrs, GFP_KERNEL); if (!affinity_masks) return -ENOMEM; @@ -3218,7 +3218,7 @@ int ionic_lif_alloc(struct ionic *ionic) int tbl_sz; int err; - lid = kzalloc(sizeof(*lid), GFP_KERNEL); + lid = kzalloc_obj(*lid, GFP_KERNEL); if (!lid) return -ENOMEM; diff --git a/drivers/net/ethernet/pensando/ionic/ionic_main.c b/drivers/net/ethernet/pensando/ionic/ionic_main.c index 14dc055be3e9..3c5200e2fdb7 100644 --- a/drivers/net/ethernet/pensando/ionic/ionic_main.c +++ b/drivers/net/ethernet/pensando/ionic/ionic_main.c @@ -283,7 +283,7 @@ bool ionic_notifyq_service(struct ionic_cq *cq) if (lif->ionic->idev.fw_status_ready && !test_bit(IONIC_LIF_F_FW_RESET, lif->state) && !test_and_set_bit(IONIC_LIF_F_FW_STOPPING, lif->state)) { - work = kzalloc(sizeof(*work), GFP_ATOMIC); + work = kzalloc_obj(*work, GFP_ATOMIC); if (!work) { netdev_err(lif->netdev, "Reset event dropped\n"); clear_bit(IONIC_LIF_F_FW_STOPPING, lif->state); diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c index 89c8b2349694..fff8dc84212d 100644 --- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c +++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_hw.c @@ -634,7 +634,7 @@ static int nx_p3_nic_add_mac(struct netxen_adapter *adapter, } } - cur = kzalloc(sizeof(nx_mac_list_t), GFP_ATOMIC); + cur = kzalloc_obj(nx_mac_list_t, GFP_ATOMIC); if (cur == NULL) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c index 51fa880eaf6c..a0466693e2d9 100644 --- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c +++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_init.c @@ -185,7 +185,7 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter) struct netxen_cmd_buffer *cmd_buf_arr; struct net_device *netdev = adapter->netdev; - tx_ring = kzalloc(sizeof(struct nx_host_tx_ring), GFP_KERNEL); + tx_ring = kzalloc_obj(struct nx_host_tx_ring, GFP_KERNEL); if (tx_ring == NULL) return -ENOMEM; @@ -202,8 +202,8 @@ int netxen_alloc_sw_resources(struct netxen_adapter *adapter) recv_ctx = &adapter->recv_ctx; - rds_ring = kcalloc(adapter->max_rds_rings, - sizeof(struct nx_host_rds_ring), GFP_KERNEL); + rds_ring = kzalloc_objs(struct nx_host_rds_ring, adapter->max_rds_rings, + GFP_KERNEL); if (rds_ring == NULL) goto err_out; @@ -451,7 +451,7 @@ int netxen_pinit_from_rom(struct netxen_adapter *adapter) return -EIO; } - buf = kcalloc(n, sizeof(struct crb_addr_pair), GFP_KERNEL); + buf = kzalloc_objs(struct crb_addr_pair, n, GFP_KERNEL); if (buf == NULL) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c index e8ff661fa4a5..5ee2bd9d6886 100644 --- a/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c +++ b/drivers/net/ethernet/qlogic/netxen/netxen_nic_main.c @@ -3198,7 +3198,7 @@ netxen_list_config_ip(struct netxen_adapter *adapter, goto out; } - cur = kzalloc(sizeof(struct nx_ip_list), GFP_ATOMIC); + cur = kzalloc_obj(struct nx_ip_list, GFP_ATOMIC); if (cur == NULL) goto out; if (is_vlan_dev(dev)) diff --git a/drivers/net/ethernet/qlogic/qed/qed_cxt.c b/drivers/net/ethernet/qlogic/qed/qed_cxt.c index 33f4f58ee51c..ddc1f9213a95 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_cxt.c +++ b/drivers/net/ethernet/qlogic/qed/qed_cxt.c @@ -845,8 +845,8 @@ static int qed_cxt_src_t2_alloc(struct qed_hwfn *p_hwfn) p_t2->num_pages = DIV_ROUND_UP(total_size, psz); /* allocate t2 */ - p_t2->dma_mem = kcalloc(p_t2->num_pages, sizeof(struct phys_mem_desc), - GFP_KERNEL); + p_t2->dma_mem = kzalloc_objs(struct phys_mem_desc, p_t2->num_pages, + GFP_KERNEL); if (!p_t2->dma_mem) { DP_NOTICE(p_hwfn, "Failed to allocate t2 table\n"); rc = -ENOMEM; @@ -994,8 +994,8 @@ static int qed_ilt_shadow_alloc(struct qed_hwfn *p_hwfn) int rc; size = qed_cxt_ilt_shadow_size(clients); - p_mngr->ilt_shadow = kcalloc(size, sizeof(struct phys_mem_desc), - GFP_KERNEL); + p_mngr->ilt_shadow = kzalloc_objs(struct phys_mem_desc, size, + GFP_KERNEL); if (!p_mngr->ilt_shadow) { rc = -ENOMEM; goto ilt_shadow_fail; @@ -1114,7 +1114,7 @@ int qed_cxt_mngr_alloc(struct qed_hwfn *p_hwfn) struct qed_cxt_mngr *p_mngr; u32 i; - p_mngr = kzalloc(sizeof(*p_mngr), GFP_KERNEL); + p_mngr = kzalloc_obj(*p_mngr, GFP_KERNEL); if (!p_mngr) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_dcbx.c b/drivers/net/ethernet/qlogic/qed/qed_dcbx.c index dc93ddea8906..593931ec7226 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dcbx.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dcbx.c @@ -915,7 +915,7 @@ qed_dcbx_mib_update_event(struct qed_hwfn *p_hwfn, int qed_dcbx_info_alloc(struct qed_hwfn *p_hwfn) { - p_hwfn->p_dcbx_info = kzalloc(sizeof(*p_hwfn->p_dcbx_info), GFP_KERNEL); + p_hwfn->p_dcbx_info = kzalloc_obj(*p_hwfn->p_dcbx_info, GFP_KERNEL); if (!p_hwfn->p_dcbx_info) return -ENOMEM; @@ -1244,7 +1244,7 @@ int qed_dcbx_get_config_params(struct qed_hwfn *p_hwfn, return 0; } - dcbx_info = kzalloc(sizeof(*dcbx_info), GFP_KERNEL); + dcbx_info = kzalloc_obj(*dcbx_info, GFP_KERNEL); if (!dcbx_info) return -ENOMEM; @@ -1283,7 +1283,7 @@ static struct qed_dcbx_get *qed_dcbnl_get_dcbx(struct qed_hwfn *hwfn, { struct qed_dcbx_get *dcbx_info; - dcbx_info = kzalloc(sizeof(*dcbx_info), GFP_ATOMIC); + dcbx_info = kzalloc_obj(*dcbx_info, GFP_ATOMIC); if (!dcbx_info) return NULL; diff --git a/drivers/net/ethernet/qlogic/qed/qed_debug.c b/drivers/net/ethernet/qlogic/qed/qed_debug.c index 1f0cea3cae92..a869a2a7e918 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_debug.c +++ b/drivers/net/ethernet/qlogic/qed/qed_debug.c @@ -6821,9 +6821,8 @@ qed_mcp_trace_alloc_meta_data(struct qed_hwfn *p_hwfn, /* Read number of formats and allocate memory for all formats */ meta->formats_num = qed_read_dword_from_buf(meta_buf_bytes, &offset); - meta->formats = kcalloc(meta->formats_num, - sizeof(struct mcp_trace_format), - GFP_KERNEL); + meta->formats = kzalloc_objs(struct mcp_trace_format, meta->formats_num, + GFP_KERNEL); if (!meta->formats) return DBG_STATUS_VIRT_MEM_ALLOC_FAILED; @@ -7536,8 +7535,7 @@ enum dbg_status qed_dbg_user_set_bin_ptr(struct qed_hwfn *p_hwfn, enum dbg_status qed_dbg_alloc_user_data(struct qed_hwfn *p_hwfn, void **user_data_ptr) { - *user_data_ptr = kzalloc(sizeof(struct dbg_tools_user_data), - GFP_KERNEL); + *user_data_ptr = kzalloc_obj(struct dbg_tools_user_data, GFP_KERNEL); if (!(*user_data_ptr)) return DBG_STATUS_VIRT_MEM_ALLOC_FAILED; diff --git a/drivers/net/ethernet/qlogic/qed/qed_dev.c b/drivers/net/ethernet/qlogic/qed/qed_dev.c index f3d2b2b3bad5..4c2027972347 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_dev.c +++ b/drivers/net/ethernet/qlogic/qed/qed_dev.c @@ -146,7 +146,7 @@ int qed_db_recovery_add(struct qed_dev *cdev, p_hwfn = qed_db_rec_find_hwfn(cdev, db_addr); /* Create entry */ - db_entry = kzalloc(sizeof(*db_entry), GFP_KERNEL); + db_entry = kzalloc_obj(*db_entry, GFP_KERNEL); if (!db_entry) { DP_NOTICE(cdev, "Failed to allocate a db recovery entry\n"); return -ENOMEM; @@ -383,7 +383,7 @@ static int qed_llh_alloc(struct qed_dev *cdev) struct qed_llh_info *p_llh_info; u32 size, i; - p_llh_info = kzalloc(sizeof(*p_llh_info), GFP_KERNEL); + p_llh_info = kzalloc_obj(*p_llh_info, GFP_KERNEL); if (!p_llh_info) return -ENOMEM; cdev->p_llh_info = p_llh_info; @@ -2108,27 +2108,27 @@ static int qed_alloc_qm_data(struct qed_hwfn *p_hwfn) if (rc) goto alloc_err; - qm_info->qm_pq_params = kcalloc(qed_init_qm_get_num_pqs(p_hwfn), - sizeof(*qm_info->qm_pq_params), - GFP_KERNEL); + qm_info->qm_pq_params = kzalloc_objs(*qm_info->qm_pq_params, + qed_init_qm_get_num_pqs(p_hwfn), + GFP_KERNEL); if (!qm_info->qm_pq_params) goto alloc_err; - qm_info->qm_vport_params = kcalloc(qed_init_qm_get_num_vports(p_hwfn), - sizeof(*qm_info->qm_vport_params), - GFP_KERNEL); + qm_info->qm_vport_params = kzalloc_objs(*qm_info->qm_vport_params, + qed_init_qm_get_num_vports(p_hwfn), + GFP_KERNEL); if (!qm_info->qm_vport_params) goto alloc_err; - qm_info->qm_port_params = kcalloc(p_hwfn->cdev->num_ports_in_engine, - sizeof(*qm_info->qm_port_params), - GFP_KERNEL); + qm_info->qm_port_params = kzalloc_objs(*qm_info->qm_port_params, + p_hwfn->cdev->num_ports_in_engine, + GFP_KERNEL); if (!qm_info->qm_port_params) goto alloc_err; - qm_info->wfq_data = kcalloc(qed_init_qm_get_num_vports(p_hwfn), - sizeof(*qm_info->wfq_data), - GFP_KERNEL); + qm_info->wfq_data = kzalloc_objs(*qm_info->wfq_data, + qed_init_qm_get_num_vports(p_hwfn), + GFP_KERNEL); if (!qm_info->wfq_data) goto alloc_err; @@ -2155,7 +2155,7 @@ int qed_resc_alloc(struct qed_dev *cdev) return rc; } - cdev->fw_data = kzalloc(sizeof(*cdev->fw_data), GFP_KERNEL); + cdev->fw_data = kzalloc_obj(*cdev->fw_data, GFP_KERNEL); if (!cdev->fw_data) return -ENOMEM; @@ -2345,7 +2345,7 @@ int qed_resc_alloc(struct qed_dev *cdev) goto alloc_err; } - cdev->reset_stats = kzalloc(sizeof(*cdev->reset_stats), GFP_KERNEL); + cdev->reset_stats = kzalloc_obj(*cdev->reset_stats, GFP_KERNEL); if (!cdev->reset_stats) goto alloc_no_mem; @@ -2642,7 +2642,7 @@ static int qed_hw_init_common(struct qed_hwfn *p_hwfn, u32 concrete_fid; int rc = 0; - params = kzalloc(sizeof(*params), GFP_KERNEL); + params = kzalloc_obj(*params, GFP_KERNEL); if (!params) { DP_NOTICE(p_hwfn->cdev, "Failed to allocate common init params\n"); diff --git a/drivers/net/ethernet/qlogic/qed/qed_fcoe.c b/drivers/net/ethernet/qlogic/qed/qed_fcoe.c index 04602ac94708..9d91e4775b52 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_fcoe.c +++ b/drivers/net/ethernet/qlogic/qed/qed_fcoe.c @@ -383,7 +383,7 @@ qed_fcoe_allocate_connection(struct qed_hwfn *p_hwfn, } spin_unlock_bh(&p_hwfn->p_fcoe_info->lock); - p_conn = kzalloc(sizeof(*p_conn), GFP_KERNEL); + p_conn = kzalloc_obj(*p_conn, GFP_KERNEL); if (!p_conn) return -ENOMEM; @@ -535,7 +535,7 @@ int qed_fcoe_alloc(struct qed_hwfn *p_hwfn) struct qed_fcoe_info *p_fcoe_info; /* Allocate LL2's set struct */ - p_fcoe_info = kzalloc(sizeof(*p_fcoe_info), GFP_KERNEL); + p_fcoe_info = kzalloc_obj(*p_fcoe_info, GFP_KERNEL); if (!p_fcoe_info) { DP_NOTICE(p_hwfn, "Failed to allocate qed_fcoe_info'\n"); return -ENOMEM; @@ -817,8 +817,8 @@ static int qed_fcoe_start(struct qed_dev *cdev, struct qed_fcoe_tid *tasks) hash_init(cdev->connections); if (tasks) { - struct qed_tid_mem *tid_info = kzalloc(sizeof(*tid_info), - GFP_ATOMIC); + struct qed_tid_mem *tid_info = kzalloc_obj(*tid_info, + GFP_ATOMIC); if (!tid_info) { DP_NOTICE(cdev, @@ -855,7 +855,7 @@ static int qed_fcoe_acquire_conn(struct qed_dev *cdev, int rc; /* Allocate a hashed connection */ - hash_con = kzalloc(sizeof(*hash_con), GFP_KERNEL); + hash_con = kzalloc_obj(*hash_con, GFP_KERNEL); if (!hash_con) { DP_NOTICE(cdev, "Failed to allocate hashed connection\n"); return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_hw.c b/drivers/net/ethernet/qlogic/qed/qed_hw.c index 9907973399dc..6fff9788101c 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_hw.c +++ b/drivers/net/ethernet/qlogic/qed/qed_hw.c @@ -46,7 +46,7 @@ struct qed_ptt_pool { int qed_ptt_pool_alloc(struct qed_hwfn *p_hwfn) { - struct qed_ptt_pool *p_pool = kmalloc(sizeof(*p_pool), GFP_KERNEL); + struct qed_ptt_pool *p_pool = kmalloc_obj(*p_pool, GFP_KERNEL); int i; if (!p_pool) diff --git a/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c b/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c index aa20bb8caa9a..9b7b05362c68 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c +++ b/drivers/net/ethernet/qlogic/qed/qed_init_fw_funcs.c @@ -1692,8 +1692,8 @@ struct phys_mem_desc *qed_fw_overlay_mem_alloc(struct qed_hwfn *p_hwfn, if (!buf_size) return NULL; - allocated_mem = kcalloc(NUM_STORMS, sizeof(struct phys_mem_desc), - GFP_KERNEL); + allocated_mem = kzalloc_objs(struct phys_mem_desc, NUM_STORMS, + GFP_KERNEL); if (!allocated_mem) return NULL; diff --git a/drivers/net/ethernet/qlogic/qed/qed_init_ops.c b/drivers/net/ethernet/qlogic/qed/qed_init_ops.c index b3bf9899c1a1..330c75d9ee07 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_init_ops.c +++ b/drivers/net/ethernet/qlogic/qed/qed_init_ops.c @@ -210,8 +210,7 @@ int qed_init_alloc(struct qed_hwfn *p_hwfn) if (IS_VF(p_hwfn->cdev)) return 0; - rt_data->b_valid = kcalloc(RUNTIME_ARRAY_SIZE, sizeof(bool), - GFP_KERNEL); + rt_data->b_valid = kzalloc_objs(bool, RUNTIME_ARRAY_SIZE, GFP_KERNEL); if (!rt_data->b_valid) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_int.c b/drivers/net/ethernet/qlogic/qed/qed_int.c index 2661c483c67e..a65827240d00 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_int.c +++ b/drivers/net/ethernet/qlogic/qed/qed_int.c @@ -1412,7 +1412,7 @@ static int qed_int_sb_attn_alloc(struct qed_hwfn *p_hwfn, void *p_virt; /* SB struct */ - p_sb = kmalloc(sizeof(*p_sb), GFP_KERNEL); + p_sb = kmalloc_obj(*p_sb, GFP_KERNEL); if (!p_sb) return -ENOMEM; @@ -1765,7 +1765,7 @@ static int qed_int_sp_sb_alloc(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) void *p_virt; /* SB struct */ - p_sb = kmalloc(sizeof(*p_sb), GFP_KERNEL); + p_sb = kmalloc_obj(*p_sb, GFP_KERNEL); if (!p_sb) return -ENOMEM; @@ -2188,7 +2188,7 @@ int qed_int_igu_read_cam(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) u32 min_vf = 0, max_vf = 0; u16 igu_sb_id; - p_hwfn->hw_info.p_igu_info = kzalloc(sizeof(*p_igu_info), GFP_KERNEL); + p_hwfn->hw_info.p_igu_info = kzalloc_obj(*p_igu_info, GFP_KERNEL); if (!p_hwfn->hw_info.p_igu_info) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_iscsi.c b/drivers/net/ethernet/qlogic/qed/qed_iscsi.c index 980e7289b481..758fa97be920 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_iscsi.c +++ b/drivers/net/ethernet/qlogic/qed/qed_iscsi.c @@ -710,7 +710,7 @@ static int qed_iscsi_allocate_connection(struct qed_hwfn *p_hwfn, /* Need to allocate a new connection */ p_params = &p_hwfn->pf_params.iscsi_pf_params; - p_conn = kzalloc(sizeof(*p_conn), GFP_KERNEL); + p_conn = kzalloc_obj(*p_conn, GFP_KERNEL); if (!p_conn) return -ENOMEM; @@ -845,7 +845,7 @@ int qed_iscsi_alloc(struct qed_hwfn *p_hwfn) { struct qed_iscsi_info *p_iscsi_info; - p_iscsi_info = kzalloc(sizeof(*p_iscsi_info), GFP_KERNEL); + p_iscsi_info = kzalloc_obj(*p_iscsi_info, GFP_KERNEL); if (!p_iscsi_info) return -ENOMEM; @@ -1125,7 +1125,7 @@ static int qed_iscsi_start(struct qed_dev *cdev, if (!tasks) return 0; - tid_info = kzalloc(sizeof(*tid_info), GFP_KERNEL); + tid_info = kzalloc_obj(*tid_info, GFP_KERNEL); if (!tid_info) { qed_iscsi_stop(cdev); @@ -1159,7 +1159,7 @@ static int qed_iscsi_acquire_conn(struct qed_dev *cdev, int rc; /* Allocate a hashed connection */ - hash_con = kzalloc(sizeof(*hash_con), GFP_ATOMIC); + hash_con = kzalloc_obj(*hash_con, GFP_ATOMIC); if (!hash_con) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c index 1d1d4caad680..3b1ff94a0588 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_iwarp.c +++ b/drivers/net/ethernet/qlogic/qed/qed_iwarp.c @@ -546,7 +546,7 @@ qed_iwarp_create_ep(struct qed_hwfn *p_hwfn, struct qed_iwarp_ep **ep_out) struct qed_iwarp_ep *ep; int rc; - ep = kzalloc(sizeof(*ep), GFP_KERNEL); + ep = kzalloc_obj(*ep, GFP_KERNEL); if (!ep) return -ENOMEM; @@ -2602,7 +2602,7 @@ qed_iwarp_ll2_alloc_buffers(struct qed_hwfn *p_hwfn, int i; for (i = 0; i < num_rx_bufs; i++) { - buffer = kzalloc(sizeof(*buffer), GFP_KERNEL); + buffer = kzalloc_obj(*buffer, GFP_KERNEL); if (!buffer) { rc = -ENOMEM; break; @@ -2759,9 +2759,9 @@ qed_iwarp_ll2_start(struct qed_hwfn *p_hwfn, if (rc) goto err; - iwarp_info->partial_fpdus = kcalloc((u16)p_hwfn->p_rdma_info->num_qps, - sizeof(*iwarp_info->partial_fpdus), - GFP_KERNEL); + iwarp_info->partial_fpdus = kzalloc_objs(*iwarp_info->partial_fpdus, + (u16)p_hwfn->p_rdma_info->num_qps, + GFP_KERNEL); if (!iwarp_info->partial_fpdus) { rc = -ENOMEM; goto err; @@ -2780,9 +2780,8 @@ qed_iwarp_ll2_start(struct qed_hwfn *p_hwfn, * processing. We can't fail on allocation of such a struct therefore * we allocate enough to take care of all rx packets */ - iwarp_info->mpa_bufs = kcalloc(data.input.rx_num_desc, - sizeof(*iwarp_info->mpa_bufs), - GFP_KERNEL); + iwarp_info->mpa_bufs = kzalloc_objs(*iwarp_info->mpa_bufs, + data.input.rx_num_desc, GFP_KERNEL); if (!iwarp_info->mpa_bufs) { rc = -ENOMEM; goto err; @@ -3167,7 +3166,7 @@ qed_iwarp_create_listen(void *rdma_cxt, struct qed_hwfn *p_hwfn = rdma_cxt; struct qed_iwarp_listener *listener; - listener = kzalloc(sizeof(*listener), GFP_KERNEL); + listener = kzalloc_obj(*listener, GFP_KERNEL); if (!listener) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_l2.c b/drivers/net/ethernet/qlogic/qed/qed_l2.c index 970b9aabbc3d..e78f9c2ffc38 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_l2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_l2.c @@ -58,7 +58,7 @@ int qed_l2_alloc(struct qed_hwfn *p_hwfn) if (!QED_IS_L2_PERSONALITY(p_hwfn)) return 0; - p_l2_info = kzalloc(sizeof(*p_l2_info), GFP_KERNEL); + p_l2_info = kzalloc_obj(*p_l2_info, GFP_KERNEL); if (!p_l2_info) return -ENOMEM; p_hwfn->p_l2_info = p_l2_info; diff --git a/drivers/net/ethernet/qlogic/qed/qed_ll2.c b/drivers/net/ethernet/qlogic/qed/qed_ll2.c index ab5ef254a748..904bb1cd9bdb 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_ll2.c +++ b/drivers/net/ethernet/qlogic/qed/qed_ll2.c @@ -1195,8 +1195,7 @@ qed_ll2_acquire_connection_rx(struct qed_hwfn *p_hwfn, } capacity = qed_chain_get_capacity(&p_ll2_info->rx_queue.rxq_chain); - p_descq = kcalloc(capacity, sizeof(struct qed_ll2_rx_packet), - GFP_KERNEL); + p_descq = kzalloc_objs(struct qed_ll2_rx_packet, capacity, GFP_KERNEL); if (!p_descq) { rc = -ENOMEM; DP_NOTICE(p_hwfn, "Failed to allocate ll2 Rx desc\n"); @@ -1291,7 +1290,7 @@ qed_ll2_acquire_connection_ooo(struct qed_hwfn *p_hwfn, for (buf_idx = 0; buf_idx < p_ll2_info->input.rx_num_ooo_buffers; buf_idx++) { - p_buf = kzalloc(sizeof(*p_buf), GFP_KERNEL); + p_buf = kzalloc_obj(*p_buf, GFP_KERNEL); if (!p_buf) { rc = -ENOMEM; goto out; @@ -2200,8 +2199,9 @@ int qed_ll2_alloc(struct qed_hwfn *p_hwfn) u8 i; /* Allocate LL2's set struct */ - p_ll2_connections = kcalloc(QED_MAX_NUM_OF_LL2_CONNECTIONS, - sizeof(struct qed_ll2_info), GFP_KERNEL); + p_ll2_connections = kzalloc_objs(struct qed_ll2_info, + QED_MAX_NUM_OF_LL2_CONNECTIONS, + GFP_KERNEL); if (!p_ll2_connections) { DP_NOTICE(p_hwfn, "Failed to allocate `struct qed_ll2'\n"); return -ENOMEM; @@ -2603,7 +2603,7 @@ static int qed_ll2_start(struct qed_dev *cdev, struct qed_ll2_params *params) DP_INFO(cdev, "Allocating %d LL2 buffers of size %08x bytes\n", rx_num_desc, cdev->ll2->rx_size); for (i = 0; i < rx_num_desc; i++) { - buffer = kzalloc(sizeof(*buffer), GFP_KERNEL); + buffer = kzalloc_obj(*buffer, GFP_KERNEL); if (!buffer) { DP_INFO(cdev, "Failed to allocate LL2 buffers\n"); rc = -ENOMEM; @@ -2811,7 +2811,7 @@ const struct qed_ll2_ops qed_ll2_ops_pass = { int qed_ll2_alloc_if(struct qed_dev *cdev) { - cdev->ll2 = kzalloc(sizeof(*cdev->ll2), GFP_KERNEL); + cdev->ll2 = kzalloc_obj(*cdev->ll2, GFP_KERNEL); return cdev->ll2 ? 0 : -ENOMEM; } diff --git a/drivers/net/ethernet/qlogic/qed/qed_main.c b/drivers/net/ethernet/qlogic/qed/qed_main.c index d4685ad4b169..544d790efdea 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_main.c +++ b/drivers/net/ethernet/qlogic/qed/qed_main.c @@ -461,7 +461,7 @@ static struct qed_dev *qed_alloc_cdev(struct pci_dev *pdev) { struct qed_dev *cdev; - cdev = kzalloc(sizeof(*cdev), GFP_KERNEL); + cdev = kzalloc_obj(*cdev, GFP_KERNEL); if (!cdev) return cdev; @@ -612,7 +612,7 @@ static int qed_set_int_mode(struct qed_dev *cdev, bool force_mode) case QED_INT_MODE_MSIX: /* Allocate MSIX table */ cnt = int_params->in.num_vectors; - int_params->msix_table = kcalloc(cnt, sizeof(*tbl), GFP_KERNEL); + int_params->msix_table = kzalloc_objs(*tbl, cnt, GFP_KERNEL); if (!int_params->msix_table) { rc = -ENOMEM; goto out; @@ -1050,7 +1050,7 @@ static int qed_alloc_stream_mem(struct qed_dev *cdev) for_each_hwfn(cdev, i) { struct qed_hwfn *p_hwfn = &cdev->hwfns[i]; - p_hwfn->stream = kzalloc(sizeof(*p_hwfn->stream), GFP_KERNEL); + p_hwfn->stream = kzalloc_obj(*p_hwfn->stream, GFP_KERNEL); if (!p_hwfn->stream) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_mcp.c b/drivers/net/ethernet/qlogic/qed/qed_mcp.c index c7f497c36f66..22802c793d68 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_mcp.c +++ b/drivers/net/ethernet/qlogic/qed/qed_mcp.c @@ -104,7 +104,7 @@ qed_mcp_cmd_add_elem(struct qed_hwfn *p_hwfn, { struct qed_mcp_cmd_elem *p_cmd_elem = NULL; - p_cmd_elem = kzalloc(sizeof(*p_cmd_elem), GFP_ATOMIC); + p_cmd_elem = kzalloc_obj(*p_cmd_elem, GFP_ATOMIC); if (!p_cmd_elem) goto out; @@ -241,7 +241,7 @@ int qed_mcp_cmd_init(struct qed_hwfn *p_hwfn, struct qed_ptt *p_ptt) u32 size; /* Allocate mcp_info structure */ - p_hwfn->mcp_info = kzalloc(sizeof(*p_hwfn->mcp_info), GFP_KERNEL); + p_hwfn->mcp_info = kzalloc_obj(*p_hwfn->mcp_info, GFP_KERNEL); if (!p_hwfn->mcp_info) goto err; p_info = p_hwfn->mcp_info; @@ -3365,9 +3365,8 @@ int qed_mcp_nvm_info_populate(struct qed_hwfn *p_hwfn) goto err0; } - nvm_info.image_att = kmalloc_array(nvm_info.num_images, - sizeof(struct bist_nvm_image_att), - GFP_KERNEL); + nvm_info.image_att = kmalloc_objs(struct bist_nvm_image_att, + nvm_info.num_images, GFP_KERNEL); if (!nvm_info.image_att) { rc = -ENOMEM; goto err0; diff --git a/drivers/net/ethernet/qlogic/qed/qed_nvmetcp.c b/drivers/net/ethernet/qlogic/qed/qed_nvmetcp.c index f19128c8d9cc..81823f4197f6 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_nvmetcp.c +++ b/drivers/net/ethernet/qlogic/qed/qed_nvmetcp.c @@ -218,7 +218,7 @@ static int qed_nvmetcp_start(struct qed_dev *cdev, if (!tasks) return 0; - tid_info = kzalloc(sizeof(*tid_info), GFP_KERNEL); + tid_info = kzalloc_obj(*tid_info, GFP_KERNEL); if (!tid_info) { qed_nvmetcp_stop(cdev); @@ -477,7 +477,7 @@ static int qed_nvmetcp_allocate_connection(struct qed_hwfn *p_hwfn, /* Need to allocate a new connection */ p_params = &p_hwfn->pf_params.nvmetcp_pf_params; - p_conn = kzalloc(sizeof(*p_conn), GFP_KERNEL); + p_conn = kzalloc_obj(*p_conn, GFP_KERNEL); if (!p_conn) return -ENOMEM; @@ -568,7 +568,7 @@ int qed_nvmetcp_alloc(struct qed_hwfn *p_hwfn) { struct qed_nvmetcp_info *p_nvmetcp_info; - p_nvmetcp_info = kzalloc(sizeof(*p_nvmetcp_info), GFP_KERNEL); + p_nvmetcp_info = kzalloc_obj(*p_nvmetcp_info, GFP_KERNEL); if (!p_nvmetcp_info) return -ENOMEM; @@ -611,7 +611,7 @@ static int qed_nvmetcp_acquire_conn(struct qed_dev *cdev, int rc; /* Allocate a hashed connection */ - hash_con = kzalloc(sizeof(*hash_con), GFP_ATOMIC); + hash_con = kzalloc_obj(*hash_con, GFP_ATOMIC); if (!hash_con) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_ooo.c b/drivers/net/ethernet/qlogic/qed/qed_ooo.c index 8be567a6ad44..23631e18858e 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_ooo.c +++ b/drivers/net/ethernet/qlogic/qed/qed_ooo.c @@ -107,7 +107,7 @@ int qed_ooo_alloc(struct qed_hwfn *p_hwfn) return -EINVAL; } - p_ooo_info = kzalloc(sizeof(*p_ooo_info), GFP_KERNEL); + p_ooo_info = kzalloc_obj(*p_ooo_info, GFP_KERNEL); if (!p_ooo_info) return -ENOMEM; @@ -118,9 +118,8 @@ int qed_ooo_alloc(struct qed_hwfn *p_hwfn) INIT_LIST_HEAD(&p_ooo_info->ready_buffers_list); INIT_LIST_HEAD(&p_ooo_info->free_isles_list); - p_ooo_info->p_isles_mem = kcalloc(max_num_isles, - sizeof(struct qed_ooo_isle), - GFP_KERNEL); + p_ooo_info->p_isles_mem = kzalloc_objs(struct qed_ooo_isle, + max_num_isles, GFP_KERNEL); if (!p_ooo_info->p_isles_mem) goto no_isles_mem; @@ -131,9 +130,8 @@ int qed_ooo_alloc(struct qed_hwfn *p_hwfn) } p_ooo_info->p_archipelagos_mem = - kcalloc(max_num_archipelagos, - sizeof(struct qed_ooo_archipelago), - GFP_KERNEL); + kzalloc_objs(struct qed_ooo_archipelago, + max_num_archipelagos, GFP_KERNEL); if (!p_ooo_info->p_archipelagos_mem) goto no_archipelagos_mem; @@ -141,9 +139,9 @@ int qed_ooo_alloc(struct qed_hwfn *p_hwfn) INIT_LIST_HEAD(&p_ooo_info->p_archipelagos_mem[i].isles_list); p_ooo_info->ooo_history.p_cqes = - kcalloc(QED_MAX_NUM_OOO_HISTORY_ENTRIES, - sizeof(struct ooo_opaque), - GFP_KERNEL); + kzalloc_objs(struct ooo_opaque, + QED_MAX_NUM_OOO_HISTORY_ENTRIES, + GFP_KERNEL); if (!p_ooo_info->ooo_history.p_cqes) goto no_history_mem; diff --git a/drivers/net/ethernet/qlogic/qed/qed_rdma.c b/drivers/net/ethernet/qlogic/qed/qed_rdma.c index 9a1660a12c57..8872c9ebcd26 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_rdma.c +++ b/drivers/net/ethernet/qlogic/qed/qed_rdma.c @@ -119,7 +119,7 @@ int qed_rdma_info_alloc(struct qed_hwfn *p_hwfn) { struct qed_rdma_info *p_rdma_info; - p_rdma_info = kzalloc(sizeof(*p_rdma_info), GFP_KERNEL); + p_rdma_info = kzalloc_obj(*p_rdma_info, GFP_KERNEL); if (!p_rdma_info) return -ENOMEM; @@ -168,12 +168,12 @@ static int qed_rdma_alloc(struct qed_hwfn *p_hwfn) p_rdma_info->max_queue_zones = (u16)RESC_NUM(p_hwfn, QED_L2_QUEUE); /* Allocate a struct with device params and fill it */ - p_rdma_info->dev = kzalloc(sizeof(*p_rdma_info->dev), GFP_KERNEL); + p_rdma_info->dev = kzalloc_obj(*p_rdma_info->dev, GFP_KERNEL); if (!p_rdma_info->dev) return rc; /* Allocate a struct with port params and fill it */ - p_rdma_info->port = kzalloc(sizeof(*p_rdma_info->port), GFP_KERNEL); + p_rdma_info->port = kzalloc_obj(*p_rdma_info->port, GFP_KERNEL); if (!p_rdma_info->port) goto free_rdma_dev; @@ -1293,7 +1293,7 @@ qed_rdma_create_qp(void *rdma_cxt, } } - qp = kzalloc(sizeof(*qp), GFP_KERNEL); + qp = kzalloc_obj(*qp, GFP_KERNEL); if (!qp) return NULL; diff --git a/drivers/net/ethernet/qlogic/qed/qed_spq.c b/drivers/net/ethernet/qlogic/qed/qed_spq.c index d01b9245f811..d0ef2782f5ba 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_spq.c +++ b/drivers/net/ethernet/qlogic/qed/qed_spq.c @@ -407,7 +407,7 @@ int qed_eq_alloc(struct qed_hwfn *p_hwfn, u16 num_elem) int ret; /* Allocate EQ struct */ - p_eq = kzalloc(sizeof(*p_eq), GFP_KERNEL); + p_eq = kzalloc_obj(*p_eq, GFP_KERNEL); if (!p_eq) return -ENOMEM; @@ -562,7 +562,7 @@ int qed_spq_alloc(struct qed_hwfn *p_hwfn) int ret; /* SPQ struct */ - p_spq = kzalloc(sizeof(*p_spq), GFP_KERNEL); + p_spq = kzalloc_obj(*p_spq, GFP_KERNEL); if (!p_spq) return -ENOMEM; @@ -633,7 +633,7 @@ int qed_spq_get_entry(struct qed_hwfn *p_hwfn, struct qed_spq_entry **pp_ent) spin_lock_bh(&p_spq->lock); if (list_empty(&p_spq->free_pool)) { - p_ent = kzalloc(sizeof(*p_ent), GFP_ATOMIC); + p_ent = kzalloc_obj(*p_ent, GFP_ATOMIC); if (!p_ent) { DP_NOTICE(p_hwfn, "Failed to allocate an SPQ entry for a pending ramrod\n"); @@ -1013,7 +1013,7 @@ int qed_consq_alloc(struct qed_hwfn *p_hwfn) int ret; /* Allocate ConsQ struct */ - p_consq = kzalloc(sizeof(*p_consq), GFP_KERNEL); + p_consq = kzalloc_obj(*p_consq, GFP_KERNEL); if (!p_consq) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_sriov.c b/drivers/net/ethernet/qlogic/qed/qed_sriov.c index 5222a035fd19..cc9087abbacc 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_sriov.c +++ b/drivers/net/ethernet/qlogic/qed/qed_sriov.c @@ -543,7 +543,7 @@ int qed_iov_alloc(struct qed_hwfn *p_hwfn) return 0; } - p_sriov = kzalloc(sizeof(*p_sriov), GFP_KERNEL); + p_sriov = kzalloc_obj(*p_sriov, GFP_KERNEL); if (!p_sriov) return -ENOMEM; @@ -600,7 +600,7 @@ int qed_iov_hw_info(struct qed_hwfn *p_hwfn) } /* Allocate a new struct for IOV information */ - cdev->p_iov_info = kzalloc(sizeof(*cdev->p_iov_info), GFP_KERNEL); + cdev->p_iov_info = kzalloc_obj(*cdev->p_iov_info, GFP_KERNEL); if (!cdev->p_iov_info) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qed/qed_vf.c b/drivers/net/ethernet/qlogic/qed/qed_vf.c index 0e265ed1f501..b9ebf91e6b6a 100644 --- a/drivers/net/ethernet/qlogic/qed/qed_vf.c +++ b/drivers/net/ethernet/qlogic/qed/qed_vf.c @@ -454,7 +454,7 @@ int qed_vf_hw_prepare(struct qed_hwfn *p_hwfn) p_hwfn->hw_info.concrete_fid = REG_RD(p_hwfn, reg); /* Allocate vf sriov info */ - p_iov = kzalloc(sizeof(*p_iov), GFP_KERNEL); + p_iov = kzalloc_obj(*p_iov, GFP_KERNEL); if (!p_iov) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c index 7e341e026489..32bb653c50f7 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -413,7 +413,7 @@ qede_alloc_filter(struct qede_dev *edev, int min_hlen) if (bit_id >= QEDE_RFS_MAX_FLTR) return NULL; - n = kzalloc(sizeof(*n), GFP_ATOMIC); + n = kzalloc_obj(*n, GFP_ATOMIC); if (!n) return NULL; @@ -682,7 +682,7 @@ int qede_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) DP_VERBOSE(edev, NETIF_MSG_IFUP, "Adding vlan 0x%04x\n", vid); - vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kzalloc_obj(*vlan, GFP_KERNEL); if (!vlan) { DP_INFO(edev, "Failed to allocate struct for vlan\n"); return -ENOMEM; @@ -1916,7 +1916,7 @@ int qede_add_tc_flower_fltr(struct qede_dev *edev, __be16 proto, goto unlock; } - n = kzalloc(sizeof(*n), GFP_KERNEL); + n = kzalloc_obj(*n, GFP_KERNEL); if (!n) { rc = -ENOMEM; goto unlock; @@ -2059,7 +2059,7 @@ int qede_add_cls_rule(struct qede_dev *edev, struct ethtool_rxnfc *info) goto unlock; } - n = kzalloc(sizeof(*n), GFP_KERNEL); + n = kzalloc_obj(*n, GFP_KERNEL); if (!n) { rc = -ENOMEM; goto unlock; diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c index 66ab1b9d65a1..dfa221b30e9e 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_main.c +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -963,17 +963,17 @@ static int qede_alloc_fp_array(struct qede_dev *edev) struct qede_fastpath *fp; int i; - edev->fp_array = kcalloc(QEDE_QUEUE_CNT(edev), - sizeof(*edev->fp_array), GFP_KERNEL); + edev->fp_array = kzalloc_objs(*edev->fp_array, QEDE_QUEUE_CNT(edev), + GFP_KERNEL); if (!edev->fp_array) { DP_NOTICE(edev, "fp array allocation failed\n"); goto err; } if (!edev->coal_entry) { - edev->coal_entry = kcalloc(QEDE_MAX_RSS_CNT(edev), - sizeof(*edev->coal_entry), - GFP_KERNEL); + edev->coal_entry = kzalloc_objs(*edev->coal_entry, + QEDE_MAX_RSS_CNT(edev), + GFP_KERNEL); if (!edev->coal_entry) { DP_ERR(edev, "coalesce entry allocation failed\n"); goto err; @@ -990,7 +990,7 @@ static int qede_alloc_fp_array(struct qede_dev *edev) for_each_queue(i) { fp = &edev->fp_array[i]; - fp->sb_info = kzalloc(sizeof(*fp->sb_info), GFP_KERNEL); + fp->sb_info = kzalloc_obj(*fp->sb_info, GFP_KERNEL); if (!fp->sb_info) { DP_NOTICE(edev, "sb info struct allocation failed\n"); goto err; @@ -1007,20 +1007,20 @@ static int qede_alloc_fp_array(struct qede_dev *edev) } if (fp->type & QEDE_FASTPATH_TX) { - fp->txq = kcalloc(edev->dev_info.num_tc, - sizeof(*fp->txq), GFP_KERNEL); + fp->txq = kzalloc_objs(*fp->txq, edev->dev_info.num_tc, + GFP_KERNEL); if (!fp->txq) goto err; } if (fp->type & QEDE_FASTPATH_RX) { - fp->rxq = kzalloc(sizeof(*fp->rxq), GFP_KERNEL); + fp->rxq = kzalloc_obj(*fp->rxq, GFP_KERNEL); if (!fp->rxq) goto err; if (edev->xdp_prog) { - fp->xdp_tx = kzalloc(sizeof(*fp->xdp_tx), - GFP_KERNEL); + fp->xdp_tx = kzalloc_obj(*fp->xdp_tx, + GFP_KERNEL); if (!fp->xdp_tx) goto err; fp->type |= QEDE_FASTPATH_XDP; diff --git a/drivers/net/ethernet/qlogic/qede/qede_ptp.c b/drivers/net/ethernet/qlogic/qede/qede_ptp.c index d351be5fbda1..774f77f9a55e 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_ptp.c +++ b/drivers/net/ethernet/qlogic/qede/qede_ptp.c @@ -446,7 +446,7 @@ int qede_ptp_enable(struct qede_dev *edev) struct qede_ptp *ptp; int rc; - ptp = kzalloc(sizeof(*ptp), GFP_KERNEL); + ptp = kzalloc_obj(*ptp, GFP_KERNEL); if (!ptp) { DP_INFO(edev, "Failed to allocate struct for PTP\n"); return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qede/qede_rdma.c b/drivers/net/ethernet/qlogic/qede/qede_rdma.c index 6304514a6f2c..d0fff415871e 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_rdma.c +++ b/drivers/net/ethernet/qlogic/qede/qede_rdma.c @@ -258,7 +258,7 @@ qede_rdma_get_free_event_node(struct qede_dev *edev) } if (!found) { - event_node = kzalloc(sizeof(*event_node), GFP_ATOMIC); + event_node = kzalloc_obj(*event_node, GFP_ATOMIC); if (!event_node) { DP_NOTICE(edev, "qedr: Could not allocate memory for rdma work\n"); diff --git a/drivers/net/ethernet/qlogic/qla3xxx.c b/drivers/net/ethernet/qlogic/qla3xxx.c index fca94a69c777..b75b4708c300 100644 --- a/drivers/net/ethernet/qlogic/qla3xxx.c +++ b/drivers/net/ethernet/qlogic/qla3xxx.c @@ -2578,9 +2578,8 @@ static int ql_alloc_buffer_queues(struct ql3_adapter *qdev) else qdev->lrg_buf_q_alloc_size = qdev->lrg_buf_q_size * 2; - qdev->lrg_buf = kmalloc_array(qdev->num_large_buffers, - sizeof(struct ql_rcv_buf_cb), - GFP_KERNEL); + qdev->lrg_buf = kmalloc_objs(struct ql_rcv_buf_cb, + qdev->num_large_buffers, GFP_KERNEL); if (qdev->lrg_buf == NULL) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c index 91e7b38143ea..bae848bd5e26 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_hw.c @@ -1732,7 +1732,7 @@ int qlcnic_83xx_nic_set_promisc(struct qlcnic_adapter *adapter, u32 mode) if (adapter->recv_ctx->state == QLCNIC_HOST_CTX_STATE_FREED) return -EIO; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (!cmd) return -ENOMEM; @@ -2103,7 +2103,7 @@ int qlcnic_83xx_sre_macaddr_change(struct qlcnic_adapter *adapter, u8 *addr, if (adapter->recv_ctx->state == QLCNIC_HOST_CTX_STATE_FREED) return -EIO; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (!cmd) return -ENOMEM; @@ -4164,7 +4164,7 @@ int qlcnic_83xx_init_mailbox_work(struct qlcnic_adapter *adapter) struct qlcnic_hardware_context *ahw = adapter->ahw; struct qlcnic_mailbox *mbx; - ahw->mailbox = kzalloc(sizeof(*mbx), GFP_KERNEL); + ahw->mailbox = kzalloc_obj(*mbx, GFP_KERNEL); if (!ahw->mailbox) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c index 6145252d8ff8..42c8e5490ee7 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_83xx_init.c @@ -2388,7 +2388,7 @@ static int qlcnic_83xx_get_fw_info(struct qlcnic_adapter *adapter) struct qlc_83xx_fw_info *fw_info; int err = 0; - ahw->fw_info = kzalloc(sizeof(*fw_info), GFP_KERNEL); + ahw->fw_info = kzalloc_obj(*fw_info, GFP_KERNEL); if (!ahw->fw_info) { err = -ENOMEM; } else { diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c index 4d638f60f237..576340315e0d 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_dcb.c @@ -259,7 +259,7 @@ int qlcnic_register_dcb(struct qlcnic_adapter *adapter) if (qlcnic_sriov_vf_check(adapter)) return 0; - dcb = kzalloc(sizeof(struct qlcnic_dcb), GFP_ATOMIC); + dcb = kzalloc_obj(struct qlcnic_dcb, GFP_ATOMIC); if (!dcb) return -ENOMEM; @@ -317,13 +317,13 @@ static int __qlcnic_dcb_attach(struct qlcnic_dcb *dcb) return -1; } - dcb->cfg = kzalloc(sizeof(struct qlcnic_dcb_cfg), GFP_ATOMIC); + dcb->cfg = kzalloc_obj(struct qlcnic_dcb_cfg, GFP_ATOMIC); if (!dcb->cfg) { err = -ENOMEM; goto out_free_wq; } - dcb->param = kzalloc(sizeof(struct qlcnic_dcb_mbx_params), GFP_ATOMIC); + dcb->param = kzalloc_obj(struct qlcnic_dcb_mbx_params, GFP_ATOMIC); if (!dcb->param) { err = -ENOMEM; goto out_free_cfg; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c index ae4ee0326ee1..e58176badc1f 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_hw.c @@ -489,7 +489,7 @@ int qlcnic_nic_add_mac(struct qlcnic_adapter *adapter, const u8 *addr, u16 vlan, return 0; } - cur = kzalloc(sizeof(*cur), GFP_ATOMIC); + cur = kzalloc_obj(*cur, GFP_ATOMIC); if (cur == NULL) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c index 09f20c794754..e56ef10b6a2d 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_init.c @@ -189,8 +189,8 @@ int qlcnic_alloc_sw_resources(struct qlcnic_adapter *adapter) recv_ctx = adapter->recv_ctx; - rds_ring = kcalloc(adapter->max_rds_rings, - sizeof(struct qlcnic_host_rds_ring), GFP_KERNEL); + rds_ring = kzalloc_objs(struct qlcnic_host_rds_ring, + adapter->max_rds_rings, GFP_KERNEL); if (rds_ring == NULL) goto err_out; @@ -454,7 +454,7 @@ int qlcnic_pinit_from_rom(struct qlcnic_adapter *adapter) return -EIO; } - buf = kcalloc(n, sizeof(struct crb_addr_pair), GFP_KERNEL); + buf = kzalloc_objs(struct crb_addr_pair, n, GFP_KERNEL); if (buf == NULL) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c index b9dc0071c5de..537fd26da904 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_io.c @@ -220,7 +220,7 @@ static void qlcnic_add_lb_filter(struct qlcnic_adapter *adapter, return; } - fil = kzalloc(sizeof(struct qlcnic_filter), GFP_ATOMIC); + fil = kzalloc_obj(struct qlcnic_filter, GFP_ATOMIC); if (!fil) return; @@ -346,7 +346,7 @@ static void qlcnic_send_filter(struct qlcnic_adapter *adapter, return; } - fil = kzalloc(sizeof(struct qlcnic_filter), GFP_ATOMIC); + fil = kzalloc_obj(struct qlcnic_filter, GFP_ATOMIC); if (!fil) return; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c index e051d8c7a28d..00eab09c1710 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_main.c @@ -679,9 +679,8 @@ int qlcnic_setup_tss_rss_intr(struct qlcnic_adapter *adapter) num_msix += 1; if (!adapter->msix_entries) { - adapter->msix_entries = kcalloc(num_msix, - sizeof(struct msix_entry), - GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, + num_msix, GFP_KERNEL); if (!adapter->msix_entries) return -ENOMEM; } @@ -734,9 +733,8 @@ int qlcnic_enable_msix(struct qlcnic_adapter *adapter, u32 num_msix) int err, vector; if (!adapter->msix_entries) { - adapter->msix_entries = kcalloc(num_msix, - sizeof(struct msix_entry), - GFP_KERNEL); + adapter->msix_entries = kzalloc_objs(struct msix_entry, + num_msix, GFP_KERNEL); if (!adapter->msix_entries) return -ENOMEM; } @@ -952,7 +950,7 @@ static int qlcnic_get_act_pci_func(struct qlcnic_adapter *adapter) if (ahw->op_mode == QLCNIC_MGMT_FUNC) return 0; - pci_info = kcalloc(ahw->max_vnic_func, sizeof(*pci_info), GFP_KERNEL); + pci_info = kzalloc_objs(*pci_info, ahw->max_vnic_func, GFP_KERNEL); if (!pci_info) return -ENOMEM; @@ -986,7 +984,7 @@ int qlcnic_init_pci_info(struct qlcnic_adapter *adapter) u16 act_pci_func; u8 pfn; - pci_info = kcalloc(ahw->max_vnic_func, sizeof(*pci_info), GFP_KERNEL); + pci_info = kzalloc_objs(*pci_info, ahw->max_vnic_func, GFP_KERNEL); if (!pci_info) return -ENOMEM; @@ -996,17 +994,15 @@ int qlcnic_init_pci_info(struct qlcnic_adapter *adapter) act_pci_func = ahw->total_nic_func; - adapter->npars = kcalloc(act_pci_func, - sizeof(struct qlcnic_npar_info), - GFP_KERNEL); + adapter->npars = kzalloc_objs(struct qlcnic_npar_info, act_pci_func, + GFP_KERNEL); if (!adapter->npars) { ret = -ENOMEM; goto err_pci_info; } - adapter->eswitch = kcalloc(QLCNIC_NIU_MAX_XG_PORTS, - sizeof(struct qlcnic_eswitch), - GFP_KERNEL); + adapter->eswitch = kzalloc_objs(struct qlcnic_eswitch, + QLCNIC_NIU_MAX_XG_PORTS, GFP_KERNEL); if (!adapter->eswitch) { ret = -ENOMEM; goto err_npars; @@ -2059,8 +2055,7 @@ static int qlcnic_alloc_adapter_resources(struct qlcnic_adapter *adapter) struct qlcnic_hardware_context *ahw = adapter->ahw; int err = 0; - adapter->recv_ctx = kzalloc(sizeof(struct qlcnic_recv_context), - GFP_KERNEL); + adapter->recv_ctx = kzalloc_obj(struct qlcnic_recv_context, GFP_KERNEL); if (!adapter->recv_ctx) { err = -ENOMEM; goto err_out; @@ -2356,8 +2351,8 @@ int qlcnic_alloc_tx_rings(struct qlcnic_adapter *adapter, struct qlcnic_host_tx_ring *tx_ring; struct qlcnic_cmd_buffer *cmd_buf_arr; - tx_ring = kcalloc(adapter->drv_tx_rings, - sizeof(struct qlcnic_host_tx_ring), GFP_KERNEL); + tx_ring = kzalloc_objs(struct qlcnic_host_tx_ring, + adapter->drv_tx_rings, GFP_KERNEL); if (tx_ring == NULL) return -ENOMEM; @@ -2444,7 +2439,7 @@ qlcnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent) pci_set_master(pdev); - ahw = kzalloc(sizeof(struct qlcnic_hardware_context), GFP_KERNEL); + ahw = kzalloc_obj(struct qlcnic_hardware_context, GFP_KERNEL); if (!ahw) { err = -ENOMEM; goto err_out_free_res; @@ -2851,8 +2846,8 @@ void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter) adapter->fhash.fbucket_size = QLC_83XX_LB_BUCKET_SIZE; } - head = kcalloc(adapter->fhash.fbucket_size, - sizeof(struct hlist_head), GFP_ATOMIC); + head = kzalloc_objs(struct hlist_head, adapter->fhash.fbucket_size, + GFP_ATOMIC); if (!head) return; @@ -2868,8 +2863,8 @@ void qlcnic_alloc_lb_filters_mem(struct qlcnic_adapter *adapter) adapter->rx_fhash.fbucket_size = adapter->fhash.fbucket_size; - head = kcalloc(adapter->rx_fhash.fbucket_size, - sizeof(struct hlist_head), GFP_ATOMIC); + head = kzalloc_objs(struct hlist_head, adapter->rx_fhash.fbucket_size, + GFP_ATOMIC); if (!head) return; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c index 7ecb3dfe30bd..c2bf5455092c 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_minidump.c @@ -792,8 +792,7 @@ static u32 qlcnic_read_memory_pexdma(struct qlcnic_adapter *adapter, } /* Create DMA descriptor */ - dma_descr = kzalloc(sizeof(struct qlcnic_pex_dma_descriptor), - GFP_KERNEL); + dma_descr = kzalloc_obj(struct qlcnic_pex_dma_descriptor, GFP_KERNEL); if (!dma_descr) { *ret = -ENOMEM; return 0; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c index d57b976b9040..c6af69e5a700 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_common.c @@ -149,15 +149,15 @@ int qlcnic_sriov_init(struct qlcnic_adapter *adapter, int num_vfs) if (!qlcnic_sriov_enable_check(adapter)) return -EIO; - sriov = kzalloc(sizeof(struct qlcnic_sriov), GFP_KERNEL); + sriov = kzalloc_obj(struct qlcnic_sriov, GFP_KERNEL); if (!sriov) return -ENOMEM; adapter->ahw->sriov = sriov; sriov->num_vfs = num_vfs; bc = &sriov->bc; - sriov->vf_info = kcalloc(num_vfs, sizeof(struct qlcnic_vf_info), - GFP_KERNEL); + sriov->vf_info = kzalloc_objs(struct qlcnic_vf_info, num_vfs, + GFP_KERNEL); if (!sriov->vf_info) { err = -ENOMEM; goto qlcnic_free_sriov; @@ -201,7 +201,7 @@ int qlcnic_sriov_init(struct qlcnic_adapter *adapter, int num_vfs) INIT_WORK(&vf->trans_work, qlcnic_sriov_process_bc_cmd); if (qlcnic_sriov_pf_check(adapter)) { - vp = kzalloc(sizeof(struct qlcnic_vport), GFP_KERNEL); + vp = kzalloc_obj(struct qlcnic_vport, GFP_KERNEL); if (!vp) { err = -ENOMEM; goto qlcnic_destroy_async_wq; @@ -699,7 +699,7 @@ int qlcnic_sriov_func_to_index(struct qlcnic_adapter *adapter, u8 pci_func) static inline int qlcnic_sriov_alloc_bc_trans(struct qlcnic_bc_trans **trans) { - *trans = kzalloc(sizeof(struct qlcnic_bc_trans), GFP_ATOMIC); + *trans = kzalloc_obj(struct qlcnic_bc_trans, GFP_ATOMIC); if (!*trans) return -ENOMEM; @@ -710,7 +710,7 @@ static inline int qlcnic_sriov_alloc_bc_trans(struct qlcnic_bc_trans **trans) static inline int qlcnic_sriov_alloc_bc_msg(struct qlcnic_bc_hdr **hdr, u32 size) { - *hdr = kcalloc(size, sizeof(struct qlcnic_bc_hdr), GFP_ATOMIC); + *hdr = kzalloc_objs(struct qlcnic_bc_hdr, size, GFP_ATOMIC); if (!*hdr) return -ENOMEM; @@ -1634,7 +1634,7 @@ qlcnic_sriov_alloc_async_cmd(struct qlcnic_back_channel *bc, { struct qlcnic_async_cmd *entry = NULL; - entry = kzalloc(sizeof(*entry), GFP_ATOMIC); + entry = kzalloc_obj(*entry, GFP_ATOMIC); if (!entry) return NULL; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c index 8dd7aa08ecfb..7052d34aad45 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sriov_pf.c @@ -799,7 +799,7 @@ static int qlcnic_sriov_cfg_vf_def_mac(struct qlcnic_adapter *adapter, vp = vf->vp; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (!cmd) return -ENOMEM; diff --git a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c index 5296d9a6ee83..406101671602 100644 --- a/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c +++ b/drivers/net/ethernet/qlogic/qlcnic/qlcnic_sysfs.c @@ -909,7 +909,7 @@ static ssize_t qlcnic_sysfs_read_pci_config(struct file *file, int i, ret; u32 count; - pci_info = kcalloc(size, sizeof(*pci_info), GFP_KERNEL); + pci_info = kzalloc_objs(*pci_info, size, GFP_KERNEL); if (!pci_info) return -ENOMEM; diff --git a/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c b/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c index ba8763cac9d9..723ddbb1a70a 100644 --- a/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c +++ b/drivers/net/ethernet/qualcomm/rmnet/rmnet_config.c @@ -68,7 +68,7 @@ static int rmnet_register_real_device(struct net_device *real_dev, return 0; } - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); if (!port) return -ENOMEM; @@ -143,7 +143,7 @@ static int rmnet_newlink(struct net_device *dev, return -ENODEV; } - ep = kzalloc(sizeof(*ep), GFP_KERNEL); + ep = kzalloc_obj(*ep, GFP_KERNEL); if (!ep) return -ENOMEM; diff --git a/drivers/net/ethernet/realtek/r8169_leds.c b/drivers/net/ethernet/realtek/r8169_leds.c index e10bee706bc6..5da64cea5eb4 100644 --- a/drivers/net/ethernet/realtek/r8169_leds.c +++ b/drivers/net/ethernet/realtek/r8169_leds.c @@ -154,7 +154,7 @@ struct r8169_led_classdev *rtl8168_init_leds(struct net_device *ndev) struct r8169_led_classdev *leds; int i; - leds = kcalloc(RTL8168_NUM_LEDS + 1, sizeof(*leds), GFP_KERNEL); + leds = kzalloc_objs(*leds, RTL8168_NUM_LEDS + 1, GFP_KERNEL); if (!leds) return NULL; @@ -253,7 +253,7 @@ struct r8169_led_classdev *rtl8125_init_leds(struct net_device *ndev) struct r8169_led_classdev *leds; int i; - leds = kcalloc(RTL8125_NUM_LEDS + 1, sizeof(*leds), GFP_KERNEL); + leds = kzalloc_objs(*leds, RTL8125_NUM_LEDS + 1, GFP_KERNEL); if (!leds) return NULL; diff --git a/drivers/net/ethernet/realtek/r8169_main.c b/drivers/net/ethernet/realtek/r8169_main.c index 2f7d9809c373..ad0e07e2a09d 100644 --- a/drivers/net/ethernet/realtek/r8169_main.c +++ b/drivers/net/ethernet/realtek/r8169_main.c @@ -2683,7 +2683,7 @@ static void rtl_request_firmware(struct rtl8169_private *tp) if (tp->rtl_fw || !tp->fw_name) return; - rtl_fw = kzalloc(sizeof(*rtl_fw), GFP_KERNEL); + rtl_fw = kzalloc_obj(*rtl_fw, GFP_KERNEL); if (!rtl_fw) return; diff --git a/drivers/net/ethernet/renesas/ravb_main.c b/drivers/net/ethernet/renesas/ravb_main.c index 57b0db314fb5..85f2e23f2638 100644 --- a/drivers/net/ethernet/renesas/ravb_main.c +++ b/drivers/net/ethernet/renesas/ravb_main.c @@ -436,14 +436,14 @@ static int ravb_ring_init(struct net_device *ndev, int q) goto error; /* Allocate RX buffers */ - priv->rx_buffers[q] = kcalloc(priv->num_rx_ring[q], - sizeof(*priv->rx_buffers[q]), GFP_KERNEL); + priv->rx_buffers[q] = kzalloc_objs(*priv->rx_buffers[q], + priv->num_rx_ring[q], GFP_KERNEL); if (!priv->rx_buffers[q]) goto error; /* Allocate TX skb rings */ - priv->tx_skb[q] = kcalloc(priv->num_tx_ring[q], - sizeof(*priv->tx_skb[q]), GFP_KERNEL); + priv->tx_skb[q] = kzalloc_objs(*priv->tx_skb[q], priv->num_tx_ring[q], + GFP_KERNEL); if (!priv->tx_skb[q]) goto error; @@ -2199,7 +2199,7 @@ static netdev_tx_t ravb_start_xmit(struct sk_buff *skb, struct net_device *ndev) /* TX timestamp required */ if (info->gptp || info->ccc_gac) { if (q == RAVB_NC) { - ts_skb = kmalloc(sizeof(*ts_skb), GFP_ATOMIC); + ts_skb = kmalloc_obj(*ts_skb, GFP_ATOMIC); if (!ts_skb) { if (num_tx_desc > 1) { desc--; diff --git a/drivers/net/ethernet/renesas/rswitch_main.c b/drivers/net/ethernet/renesas/rswitch_main.c index 433eb2b00d10..421677d4b1d7 100644 --- a/drivers/net/ethernet/renesas/rswitch_main.c +++ b/drivers/net/ethernet/renesas/rswitch_main.c @@ -346,7 +346,8 @@ static int rswitch_gwca_queue_alloc(struct net_device *ndev, gq->ndev = ndev; if (!dir_tx) { - gq->rx_bufs = kcalloc(gq->ring_size, sizeof(*gq->rx_bufs), GFP_KERNEL); + gq->rx_bufs = kzalloc_objs(*gq->rx_bufs, gq->ring_size, + GFP_KERNEL); if (!gq->rx_bufs) return -ENOMEM; if (rswitch_gwca_queue_alloc_rx_buf(gq, 0, gq->ring_size) < 0) @@ -356,10 +357,11 @@ static int rswitch_gwca_queue_alloc(struct net_device *ndev, sizeof(struct rswitch_ext_ts_desc) * (gq->ring_size + 1), &gq->ring_dma, GFP_KERNEL); } else { - gq->skbs = kcalloc(gq->ring_size, sizeof(*gq->skbs), GFP_KERNEL); + gq->skbs = kzalloc_objs(*gq->skbs, gq->ring_size, GFP_KERNEL); if (!gq->skbs) return -ENOMEM; - gq->unmap_addrs = kcalloc(gq->ring_size, sizeof(*gq->unmap_addrs), GFP_KERNEL); + gq->unmap_addrs = kzalloc_objs(*gq->unmap_addrs, gq->ring_size, + GFP_KERNEL); if (!gq->unmap_addrs) goto out; gq->tx_ring = dma_alloc_coherent(ndev->dev.parent, diff --git a/drivers/net/ethernet/renesas/rtsn.c b/drivers/net/ethernet/renesas/rtsn.c index 85052b47afb9..2850e76d7f6f 100644 --- a/drivers/net/ethernet/renesas/rtsn.c +++ b/drivers/net/ethernet/renesas/rtsn.c @@ -349,8 +349,8 @@ static int rtsn_chain_init(struct rtsn_private *priv, int tx_size, int rx_size) priv->num_tx_ring = tx_size; priv->num_rx_ring = rx_size; - priv->tx_skb = kcalloc(tx_size, sizeof(*priv->tx_skb), GFP_KERNEL); - priv->rx_skb = kcalloc(rx_size, sizeof(*priv->rx_skb), GFP_KERNEL); + priv->tx_skb = kzalloc_objs(*priv->tx_skb, tx_size, GFP_KERNEL); + priv->rx_skb = kzalloc_objs(*priv->rx_skb, rx_size, GFP_KERNEL); if (!priv->rx_skb || !priv->tx_skb) goto error; diff --git a/drivers/net/ethernet/renesas/sh_eth.c b/drivers/net/ethernet/renesas/sh_eth.c index 6fb0ffc1c844..019828d3713f 100644 --- a/drivers/net/ethernet/renesas/sh_eth.c +++ b/drivers/net/ethernet/renesas/sh_eth.c @@ -1410,13 +1410,13 @@ static int sh_eth_ring_init(struct net_device *ndev) mdp->rx_buf_sz += NET_IP_ALIGN; /* Allocate RX and TX skb rings */ - mdp->rx_skbuff = kcalloc(mdp->num_rx_ring, sizeof(*mdp->rx_skbuff), - GFP_KERNEL); + mdp->rx_skbuff = kzalloc_objs(*mdp->rx_skbuff, mdp->num_rx_ring, + GFP_KERNEL); if (!mdp->rx_skbuff) return -ENOMEM; - mdp->tx_skbuff = kcalloc(mdp->num_tx_ring, sizeof(*mdp->tx_skbuff), - GFP_KERNEL); + mdp->tx_skbuff = kzalloc_objs(*mdp->tx_skbuff, mdp->num_tx_ring, + GFP_KERNEL); if (!mdp->tx_skbuff) goto ring_free; diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c index 2794f75df8fc..503a9869e1db 100644 --- a/drivers/net/ethernet/rocker/rocker_main.c +++ b/drivers/net/ethernet/rocker/rocker_main.c @@ -66,7 +66,7 @@ static struct rocker_wait *rocker_wait_create(void) { struct rocker_wait *wait; - wait = kzalloc(sizeof(*wait), GFP_KERNEL); + wait = kzalloc_obj(*wait, GFP_KERNEL); if (!wait) return NULL; return wait; @@ -435,8 +435,7 @@ static int rocker_dma_ring_create(const struct rocker *rocker, info->type = type; info->head = 0; info->tail = 0; - info->desc_info = kcalloc(info->size, sizeof(*info->desc_info), - GFP_KERNEL); + info->desc_info = kzalloc_objs(*info->desc_info, info->size, GFP_KERNEL); if (!info->desc_info) return -ENOMEM; @@ -2155,7 +2154,7 @@ static int rocker_router_fib_event(struct notifier_block *nb, if (info->family != AF_INET) return NOTIFY_DONE; - fib_work = kzalloc(sizeof(*fib_work), GFP_ATOMIC); + fib_work = kzalloc_obj(*fib_work, GFP_ATOMIC); if (WARN_ON(!fib_work)) return NOTIFY_BAD; @@ -2648,9 +2647,8 @@ static int rocker_msix_init(struct rocker *rocker) if (msix_entries != ROCKER_MSIX_VEC_COUNT(rocker->port_count)) return -EINVAL; - rocker->msix_entries = kmalloc_array(msix_entries, - sizeof(struct msix_entry), - GFP_KERNEL); + rocker->msix_entries = kmalloc_objs(struct msix_entry, msix_entries, + GFP_KERNEL); if (!rocker->msix_entries) return -ENOMEM; @@ -2764,7 +2762,7 @@ static int rocker_switchdev_event(struct notifier_block *unused, return rocker_switchdev_port_attr_set_event(dev, ptr); rocker_port = netdev_priv(dev); - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (WARN_ON(!switchdev_work)) return NOTIFY_BAD; @@ -2850,7 +2848,7 @@ static int rocker_probe(struct pci_dev *pdev, const struct pci_device_id *id) struct rocker *rocker; int err; - rocker = kzalloc(sizeof(*rocker), GFP_KERNEL); + rocker = kzalloc_obj(*rocker, GFP_KERNEL); if (!rocker) return -ENOMEM; diff --git a/drivers/net/ethernet/rocker/rocker_ofdpa.c b/drivers/net/ethernet/rocker/rocker_ofdpa.c index 61e50517c05b..a9795b79d1d4 100644 --- a/drivers/net/ethernet/rocker/rocker_ofdpa.c +++ b/drivers/net/ethernet/rocker/rocker_ofdpa.c @@ -838,7 +838,7 @@ static int ofdpa_flow_tbl_ig_port(struct ofdpa_port *ofdpa_port, int flags, { struct ofdpa_flow_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -860,7 +860,7 @@ static int ofdpa_flow_tbl_vlan(struct ofdpa_port *ofdpa_port, { struct ofdpa_flow_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -886,7 +886,7 @@ static int ofdpa_flow_tbl_term_mac(struct ofdpa_port *ofdpa_port, { struct ofdpa_flow_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -926,7 +926,7 @@ static int ofdpa_flow_tbl_bridge(struct ofdpa_port *ofdpa_port, bool dflt = !eth_dst || eth_dst_mask; bool wild = false; - entry = kzalloc(sizeof(*entry), GFP_ATOMIC); + entry = kzalloc_obj(*entry, GFP_ATOMIC); if (!entry) return -ENOMEM; @@ -976,7 +976,7 @@ static int ofdpa_flow_tbl_ucast4_routing(struct ofdpa_port *ofdpa_port, { struct ofdpa_flow_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1006,7 +1006,7 @@ static int ofdpa_flow_tbl_acl(struct ofdpa_port *ofdpa_port, int flags, u32 priority; struct ofdpa_flow_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1150,7 +1150,7 @@ static int ofdpa_group_l2_interface(struct ofdpa_port *ofdpa_port, { struct ofdpa_group_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1166,7 +1166,7 @@ static int ofdpa_group_l2_fan_out(struct ofdpa_port *ofdpa_port, { struct ofdpa_group_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1199,7 +1199,7 @@ static int ofdpa_group_l3_unicast(struct ofdpa_port *ofdpa_port, int flags, { struct ofdpa_group_tbl_entry *entry; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1273,7 +1273,7 @@ static int ofdpa_port_ipv4_neigh(struct ofdpa_port *ofdpa_port, bool removing; int err = 0; - entry = kzalloc(sizeof(*entry), GFP_ATOMIC); + entry = kzalloc_obj(*entry, GFP_ATOMIC); if (!entry) return -ENOMEM; @@ -1386,7 +1386,7 @@ static int ofdpa_port_ipv4_nh(struct ofdpa_port *ofdpa_port, bool resolved = true; int err = 0; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1866,7 +1866,7 @@ static int ofdpa_port_fdb_learn(struct ofdpa_port *ofdpa_port, if (!(flags & OFDPA_OP_FLAG_LEARNED)) return 0; - lw = kzalloc(sizeof(*lw), GFP_ATOMIC); + lw = kzalloc_obj(*lw, GFP_ATOMIC); if (!lw) return -ENOMEM; @@ -1904,7 +1904,7 @@ static int ofdpa_port_fdb(struct ofdpa_port *ofdpa_port, bool removing = (flags & OFDPA_OP_FLAG_REMOVE); unsigned long lock_flags; - fdb = kzalloc(sizeof(*fdb), GFP_KERNEL); + fdb = kzalloc_obj(*fdb, GFP_KERNEL); if (!fdb) return -ENOMEM; @@ -2232,7 +2232,7 @@ static __be16 ofdpa_port_internal_vlan_id_get(struct ofdpa_port *ofdpa_port, unsigned long lock_flags; int i; - entry = kzalloc(sizeof(*entry), GFP_KERNEL); + entry = kzalloc_obj(*entry, GFP_KERNEL); if (!entry) return 0; diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c index 849c5a6c2af1..437bcf8ad0c8 100644 --- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c +++ b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c @@ -489,15 +489,14 @@ static int init_rx_ring(struct net_device *dev, u8 queue_no, return -ENOMEM; /* allocate memory for RX skbuff array */ - rx_ring->rx_skbuff_dma = kmalloc_array(rx_rsize, - sizeof(dma_addr_t), GFP_KERNEL); + rx_ring->rx_skbuff_dma = kmalloc_objs(dma_addr_t, rx_rsize, GFP_KERNEL); if (!rx_ring->rx_skbuff_dma) { ret = -ENOMEM; goto err_free_dma_rx; } - rx_ring->rx_skbuff = kmalloc_array(rx_rsize, - sizeof(struct sk_buff *), GFP_KERNEL); + rx_ring->rx_skbuff = kmalloc_objs(struct sk_buff *, rx_rsize, + GFP_KERNEL); if (!rx_ring->rx_skbuff) { ret = -ENOMEM; goto err_free_skbuff_dma; @@ -2007,7 +2006,7 @@ static int sxgbe_hw_init(struct sxgbe_priv_data * const priv) { u32 ctrl_ids; - priv->hw = kmalloc(sizeof(*priv->hw), GFP_KERNEL); + priv->hw = kmalloc_obj(*priv->hw, GFP_KERNEL); if(!priv->hw) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/ef10.c b/drivers/net/ethernet/sfc/ef10.c index fcec81f862ec..58d3a381271d 100644 --- a/drivers/net/ethernet/sfc/ef10.c +++ b/drivers/net/ethernet/sfc/ef10.c @@ -431,7 +431,7 @@ static int efx_ef10_add_vlan(struct efx_nic *efx, u16 vid) } rc = -ENOMEM; - vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kzalloc_obj(*vlan, GFP_KERNEL); if (!vlan) goto fail_alloc; @@ -527,7 +527,7 @@ static int efx_ef10_probe(struct efx_nic *efx) struct efx_ef10_nic_data *nic_data; int i, rc; - nic_data = kzalloc(sizeof(*nic_data), GFP_KERNEL); + nic_data = kzalloc_obj(*nic_data, GFP_KERNEL); if (!nic_data) return -ENOMEM; efx->nic_data = nic_data; @@ -3591,7 +3591,7 @@ static int efx_ef10_mtd_probe(struct efx_nic *efx) MCDI_VAR_ARRAY_LEN(outlen, NVRAM_PARTITIONS_OUT_TYPE_ID)) return -EIO; - parts = kcalloc(n_parts_total, sizeof(*parts), GFP_KERNEL); + parts = kzalloc_objs(*parts, n_parts_total, GFP_KERNEL); if (!parts) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/ef100.c b/drivers/net/ethernet/sfc/ef100.c index 6334992b0af4..d2f64e049be1 100644 --- a/drivers/net/ethernet/sfc/ef100.c +++ b/drivers/net/ethernet/sfc/ef100.c @@ -453,7 +453,7 @@ static int ef100_pci_probe(struct pci_dev *pci_dev, int rc; /* Allocate probe data and struct efx_nic */ - probe_data = kzalloc(sizeof(*probe_data), GFP_KERNEL); + probe_data = kzalloc_obj(*probe_data, GFP_KERNEL); if (!probe_data) return -ENOMEM; probe_data->pci_dev = pci_dev; diff --git a/drivers/net/ethernet/sfc/ef100_nic.c b/drivers/net/ethernet/sfc/ef100_nic.c index 3ad95a4c8af2..da433a94a994 100644 --- a/drivers/net/ethernet/sfc/ef100_nic.c +++ b/drivers/net/ethernet/sfc/ef100_nic.c @@ -351,7 +351,7 @@ int ef100_phy_probe(struct efx_nic *efx) int rc; /* Probe for the PHY */ - efx->phy_data = kzalloc(sizeof(struct efx_mcdi_phy_data), GFP_KERNEL); + efx->phy_data = kzalloc_obj(struct efx_mcdi_phy_data, GFP_KERNEL); if (!efx->phy_data) return -ENOMEM; @@ -1020,7 +1020,7 @@ static int ef100_probe_main(struct efx_nic *efx) if (WARN_ON(bar_size == 0)) return -EIO; - nic_data = kzalloc(sizeof(*nic_data), GFP_KERNEL); + nic_data = kzalloc_obj(*nic_data, GFP_KERNEL); if (!nic_data) return -ENOMEM; efx->nic_data = nic_data; diff --git a/drivers/net/ethernet/sfc/ef10_sriov.c b/drivers/net/ethernet/sfc/ef10_sriov.c index 9aae0d8b713f..5b3377ca7220 100644 --- a/drivers/net/ethernet/sfc/ef10_sriov.c +++ b/drivers/net/ethernet/sfc/ef10_sriov.c @@ -189,8 +189,7 @@ static int efx_ef10_sriov_alloc_vf_vswitching(struct efx_nic *efx) unsigned int i; int rc; - nic_data->vf = kcalloc(efx->vf_count, sizeof(struct ef10_vf), - GFP_KERNEL); + nic_data->vf = kzalloc_objs(struct ef10_vf, efx->vf_count, GFP_KERNEL); if (!nic_data->vf) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/efx.c b/drivers/net/ethernet/sfc/efx.c index 112e55b98ed3..133a23a9dd5a 100644 --- a/drivers/net/ethernet/sfc/efx.c +++ b/drivers/net/ethernet/sfc/efx.c @@ -1155,7 +1155,7 @@ static int efx_pci_probe(struct pci_dev *pci_dev, int rc; /* Allocate probe data and struct efx_nic */ - probe_data = kzalloc(sizeof(*probe_data), GFP_KERNEL); + probe_data = kzalloc_obj(*probe_data, GFP_KERNEL); if (!probe_data) return -ENOMEM; probe_data->pci_dev = pci_dev; diff --git a/drivers/net/ethernet/sfc/efx_channels.c b/drivers/net/ethernet/sfc/efx_channels.c index ed3a96ebc7f3..84beb79f1969 100644 --- a/drivers/net/ethernet/sfc/efx_channels.c +++ b/drivers/net/ethernet/sfc/efx_channels.c @@ -534,7 +534,7 @@ static struct efx_channel *efx_alloc_channel(struct efx_nic *efx, int i) struct efx_channel *channel; int j; - channel = kzalloc(sizeof(*channel), GFP_KERNEL); + channel = kzalloc_obj(*channel, GFP_KERNEL); if (!channel) return NULL; @@ -604,7 +604,7 @@ struct efx_channel *efx_copy_channel(const struct efx_channel *old_channel) struct efx_channel *channel; int j; - channel = kmalloc(sizeof(*channel), GFP_KERNEL); + channel = kmalloc_obj(*channel, GFP_KERNEL); if (!channel) return NULL; @@ -934,9 +934,9 @@ int efx_set_channels(struct efx_nic *efx) EFX_WARN_ON_PARANOID(efx->xdp_tx_queues); /* Allocate array for XDP TX queue lookup. */ - efx->xdp_tx_queues = kcalloc(efx->xdp_tx_queue_count, - sizeof(*efx->xdp_tx_queues), - GFP_KERNEL); + efx->xdp_tx_queues = kzalloc_objs(*efx->xdp_tx_queues, + efx->xdp_tx_queue_count, + GFP_KERNEL); if (!efx->xdp_tx_queues) return -ENOMEM; } diff --git a/drivers/net/ethernet/sfc/efx_common.c b/drivers/net/ethernet/sfc/efx_common.c index e8fdbb62d872..a41a840b3710 100644 --- a/drivers/net/ethernet/sfc/efx_common.c +++ b/drivers/net/ethernet/sfc/efx_common.c @@ -996,8 +996,8 @@ int efx_init_struct(struct efx_nic *efx, struct pci_dev *pci_dev) mutex_init(&efx->rps_mutex); spin_lock_init(&efx->rps_hash_lock); /* Failure to allocate is not fatal, but may degrade ARFS performance */ - efx->rps_hash_table = kcalloc(EFX_ARFS_HASH_TABLE_SIZE, - sizeof(*efx->rps_hash_table), GFP_KERNEL); + efx->rps_hash_table = kzalloc_objs(*efx->rps_hash_table, + EFX_ARFS_HASH_TABLE_SIZE, GFP_KERNEL); #endif spin_lock_init(&efx->vf_reps_lock); INIT_LIST_HEAD(&efx->vf_reps); diff --git a/drivers/net/ethernet/sfc/ethtool_common.c b/drivers/net/ethernet/sfc/ethtool_common.c index 2fc42b1a2bfb..6b762153c8a4 100644 --- a/drivers/net/ethernet/sfc/ethtool_common.c +++ b/drivers/net/ethernet/sfc/ethtool_common.c @@ -133,7 +133,7 @@ void efx_ethtool_self_test(struct net_device *net_dev, bool already_up; int rc = -ENOMEM; - efx_tests = kzalloc(sizeof(*efx_tests), GFP_KERNEL); + efx_tests = kzalloc_obj(*efx_tests, GFP_KERNEL); if (!efx_tests) goto fail; diff --git a/drivers/net/ethernet/sfc/falcon/efx.c b/drivers/net/ethernet/sfc/falcon/efx.c index 6ea41f6c9ef5..2852868c1003 100644 --- a/drivers/net/ethernet/sfc/falcon/efx.c +++ b/drivers/net/ethernet/sfc/falcon/efx.c @@ -423,7 +423,7 @@ ef4_alloc_channel(struct ef4_nic *efx, int i, struct ef4_channel *old_channel) struct ef4_tx_queue *tx_queue; int j; - channel = kzalloc(sizeof(*channel), GFP_KERNEL); + channel = kzalloc_obj(*channel, GFP_KERNEL); if (!channel) return NULL; @@ -456,7 +456,7 @@ ef4_copy_channel(const struct ef4_channel *old_channel) struct ef4_tx_queue *tx_queue; int j; - channel = kmalloc(sizeof(*channel), GFP_KERNEL); + channel = kmalloc_obj(*channel, GFP_KERNEL); if (!channel) return NULL; diff --git a/drivers/net/ethernet/sfc/falcon/ethtool.c b/drivers/net/ethernet/sfc/falcon/ethtool.c index 049364031545..069269884396 100644 --- a/drivers/net/ethernet/sfc/falcon/ethtool.c +++ b/drivers/net/ethernet/sfc/falcon/ethtool.c @@ -493,7 +493,7 @@ static void ef4_ethtool_self_test(struct net_device *net_dev, bool already_up; int rc = -ENOMEM; - ef4_tests = kzalloc(sizeof(*ef4_tests), GFP_KERNEL); + ef4_tests = kzalloc_obj(*ef4_tests, GFP_KERNEL); if (!ef4_tests) goto fail; diff --git a/drivers/net/ethernet/sfc/falcon/falcon.c b/drivers/net/ethernet/sfc/falcon/falcon.c index c44df8e4dd30..1603c5267654 100644 --- a/drivers/net/ethernet/sfc/falcon/falcon.c +++ b/drivers/net/ethernet/sfc/falcon/falcon.c @@ -929,7 +929,7 @@ static int falcon_mtd_probe(struct ef4_nic *efx) ASSERT_RTNL(); /* Allocate space for maximum number of partitions */ - parts = kcalloc(2, sizeof(*parts), GFP_KERNEL); + parts = kzalloc_objs(*parts, 2, GFP_KERNEL); if (!parts) return -ENOMEM; n_parts = 0; @@ -2180,7 +2180,7 @@ static int falcon_probe_nvconfig(struct ef4_nic *efx) struct falcon_nvconfig *nvconfig; int rc; - nvconfig = kmalloc(sizeof(*nvconfig), GFP_KERNEL); + nvconfig = kmalloc_obj(*nvconfig, GFP_KERNEL); if (!nvconfig) return -ENOMEM; @@ -2289,7 +2289,7 @@ static int falcon_probe_nic(struct ef4_nic *efx) efx->primary = efx; /* only one usable function per controller */ /* Allocate storage for hardware specific data */ - nic_data = kzalloc(sizeof(*nic_data), GFP_KERNEL); + nic_data = kzalloc_obj(*nic_data, GFP_KERNEL); if (!nic_data) return -ENOMEM; efx->nic_data = nic_data; diff --git a/drivers/net/ethernet/sfc/falcon/farch.c b/drivers/net/ethernet/sfc/falcon/farch.c index 01017c41338e..67b62c3a9839 100644 --- a/drivers/net/ethernet/sfc/falcon/farch.c +++ b/drivers/net/ethernet/sfc/falcon/farch.c @@ -2701,7 +2701,7 @@ int ef4_farch_filter_table_probe(struct ef4_nic *efx) struct ef4_farch_filter_table *table; unsigned table_id; - state = kzalloc(sizeof(struct ef4_farch_filter_state), GFP_KERNEL); + state = kzalloc_obj(struct ef4_farch_filter_state, GFP_KERNEL); if (!state) return -ENOMEM; efx->filter_state = state; diff --git a/drivers/net/ethernet/sfc/falcon/qt202x_phy.c b/drivers/net/ethernet/sfc/falcon/qt202x_phy.c index 21af67e42296..dc6383ceb656 100644 --- a/drivers/net/ethernet/sfc/falcon/qt202x_phy.c +++ b/drivers/net/ethernet/sfc/falcon/qt202x_phy.c @@ -340,7 +340,7 @@ static int qt202x_phy_probe(struct ef4_nic *efx) { struct qt202x_phy_data *phy_data; - phy_data = kzalloc(sizeof(struct qt202x_phy_data), GFP_KERNEL); + phy_data = kzalloc_obj(struct qt202x_phy_data, GFP_KERNEL); if (!phy_data) return -ENOMEM; efx->phy_data = phy_data; diff --git a/drivers/net/ethernet/sfc/falcon/rx.c b/drivers/net/ethernet/sfc/falcon/rx.c index f69fcf6caca8..d32bab1b5783 100644 --- a/drivers/net/ethernet/sfc/falcon/rx.c +++ b/drivers/net/ethernet/sfc/falcon/rx.c @@ -701,8 +701,7 @@ int ef4_probe_rx_queue(struct ef4_rx_queue *rx_queue) rx_queue->ptr_mask); /* Allocate RX buffers */ - rx_queue->buffer = kcalloc(entries, sizeof(*rx_queue->buffer), - GFP_KERNEL); + rx_queue->buffer = kzalloc_objs(*rx_queue->buffer, entries, GFP_KERNEL); if (!rx_queue->buffer) return -ENOMEM; @@ -734,8 +733,8 @@ static void ef4_init_rx_recycle_ring(struct ef4_nic *efx, page_ring_size = roundup_pow_of_two(bufs_in_recycle_ring / efx->rx_bufs_per_page); - rx_queue->page_ring = kcalloc(page_ring_size, - sizeof(*rx_queue->page_ring), GFP_KERNEL); + rx_queue->page_ring = kzalloc_objs(*rx_queue->page_ring, page_ring_size, + GFP_KERNEL); if (!rx_queue->page_ring) rx_queue->page_ptr_mask = 0; else diff --git a/drivers/net/ethernet/sfc/falcon/selftest.c b/drivers/net/ethernet/sfc/falcon/selftest.c index c3dc88e6c26c..8205a08132ae 100644 --- a/drivers/net/ethernet/sfc/falcon/selftest.c +++ b/drivers/net/ethernet/sfc/falcon/selftest.c @@ -545,8 +545,8 @@ ef4_test_loopback(struct ef4_tx_queue *tx_queue, /* Determine how many packets to send */ state->packet_count = efx->txq_entries / 3; state->packet_count = min(1 << (i << 2), state->packet_count); - state->skbs = kcalloc(state->packet_count, - sizeof(state->skbs[0]), GFP_KERNEL); + state->skbs = kzalloc_objs(state->skbs[0], state->packet_count, + GFP_KERNEL); if (!state->skbs) return -ENOMEM; state->flush = false; @@ -635,7 +635,7 @@ static int ef4_test_loopbacks(struct ef4_nic *efx, struct ef4_self_tests *tests, /* Set the port loopback_selftest member. From this point on * all received packets will be dropped. Mark the state as * "flushing" so all inflight packets are dropped */ - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (state == NULL) return -ENOMEM; BUG_ON(efx->loopback_selftest); diff --git a/drivers/net/ethernet/sfc/falcon/tenxpress.c b/drivers/net/ethernet/sfc/falcon/tenxpress.c index e27824ef121f..4a5e24b4d174 100644 --- a/drivers/net/ethernet/sfc/falcon/tenxpress.c +++ b/drivers/net/ethernet/sfc/falcon/tenxpress.c @@ -165,7 +165,7 @@ static int tenxpress_phy_probe(struct ef4_nic *efx) struct tenxpress_phy_data *phy_data; /* Allocate phy private storage */ - phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); + phy_data = kzalloc_obj(*phy_data, GFP_KERNEL); if (!phy_data) return -ENOMEM; efx->phy_data = phy_data; diff --git a/drivers/net/ethernet/sfc/falcon/tx.c b/drivers/net/ethernet/sfc/falcon/tx.c index e6e80b039ca2..a295b40342a4 100644 --- a/drivers/net/ethernet/sfc/falcon/tx.c +++ b/drivers/net/ethernet/sfc/falcon/tx.c @@ -544,13 +544,13 @@ int ef4_probe_tx_queue(struct ef4_tx_queue *tx_queue) tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask); /* Allocate software ring */ - tx_queue->buffer = kcalloc(entries, sizeof(*tx_queue->buffer), - GFP_KERNEL); + tx_queue->buffer = kzalloc_objs(*tx_queue->buffer, entries, GFP_KERNEL); if (!tx_queue->buffer) return -ENOMEM; - tx_queue->cb_page = kcalloc(ef4_tx_cb_page_count(tx_queue), - sizeof(tx_queue->cb_page[0]), GFP_KERNEL); + tx_queue->cb_page = kzalloc_objs(tx_queue->cb_page[0], + ef4_tx_cb_page_count(tx_queue), + GFP_KERNEL); if (!tx_queue->cb_page) { rc = -ENOMEM; goto fail1; diff --git a/drivers/net/ethernet/sfc/falcon/txc43128_phy.c b/drivers/net/ethernet/sfc/falcon/txc43128_phy.c index f3503965c52c..0025baff6efe 100644 --- a/drivers/net/ethernet/sfc/falcon/txc43128_phy.c +++ b/drivers/net/ethernet/sfc/falcon/txc43128_phy.c @@ -323,7 +323,7 @@ static int txc43128_phy_probe(struct ef4_nic *efx) struct txc43128_data *phy_data; /* Allocate phy private storage */ - phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); + phy_data = kzalloc_obj(*phy_data, GFP_KERNEL); if (!phy_data) return -ENOMEM; efx->phy_data = phy_data; diff --git a/drivers/net/ethernet/sfc/mae.c b/drivers/net/ethernet/sfc/mae.c index 7cfd9000f79d..6e8e90254792 100644 --- a/drivers/net/ethernet/sfc/mae.c +++ b/drivers/net/ethernet/sfc/mae.c @@ -255,14 +255,12 @@ more: if (desc->scheme) goto fail; rc = -ENOMEM; - desc->keys = kcalloc(desc->n_keys, - sizeof(struct efx_tc_table_field_fmt), - GFP_KERNEL); + desc->keys = kzalloc_objs(struct efx_tc_table_field_fmt, + desc->n_keys, GFP_KERNEL); if (!desc->keys) goto fail; - desc->resps = kcalloc(desc->n_resps, - sizeof(struct efx_tc_table_field_fmt), - GFP_KERNEL); + desc->resps = kzalloc_objs(struct efx_tc_table_field_fmt, + desc->n_resps, GFP_KERNEL); if (!desc->resps) goto fail; } @@ -1160,7 +1158,7 @@ int efx_mae_enumerate_mports(struct efx_nic *efx) for (i = 0; i < count; i++) { struct mae_mport_desc *d; - d = kzalloc(sizeof(*d), GFP_KERNEL); + d = kzalloc_obj(*d, GFP_KERNEL); if (!d) { rc = -ENOMEM; goto fail; @@ -2315,7 +2313,7 @@ int efx_init_mae(struct efx_nic *efx) if (!nic_data->have_mport) return -EINVAL; - mae = kmalloc(sizeof(*mae), GFP_KERNEL); + mae = kmalloc_obj(*mae, GFP_KERNEL); if (!mae) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/mcdi.c b/drivers/net/ethernet/sfc/mcdi.c index 5e9b8def5e42..7a19bba484cd 100644 --- a/drivers/net/ethernet/sfc/mcdi.c +++ b/drivers/net/ethernet/sfc/mcdi.c @@ -63,7 +63,7 @@ int efx_mcdi_init(struct efx_nic *efx) bool already_attached; int rc = -ENOMEM; - efx->mcdi = kzalloc(sizeof(*efx->mcdi), GFP_KERNEL); + efx->mcdi = kzalloc_obj(*efx->mcdi, GFP_KERNEL); if (!efx->mcdi) goto fail; diff --git a/drivers/net/ethernet/sfc/mcdi_filters.c b/drivers/net/ethernet/sfc/mcdi_filters.c index 3db589b90b68..80d53614e4fc 100644 --- a/drivers/net/ethernet/sfc/mcdi_filters.c +++ b/drivers/net/ethernet/sfc/mcdi_filters.c @@ -459,7 +459,7 @@ static s32 efx_mcdi_filter_insert_locked(struct efx_nic *efx, replacing = true; priv_flags = efx_mcdi_filter_entry_flags(table, ins_index); } else { - saved_spec = kmalloc(sizeof(*spec), GFP_ATOMIC); + saved_spec = kmalloc_obj(*spec, GFP_ATOMIC); if (!saved_spec) { rc = -ENOMEM; goto out_unlock; @@ -1310,7 +1310,7 @@ int efx_mcdi_filter_table_probe(struct efx_nic *efx, bool multicast_chaining) if (efx->filter_state) /* already probed */ return 0; - table = kzalloc(sizeof(*table), GFP_KERNEL); + table = kzalloc_obj(*table, GFP_KERNEL); if (!table) return -ENOMEM; @@ -1586,7 +1586,7 @@ int efx_mcdi_filter_add_vlan(struct efx_nic *efx, u16 vid) return -EALREADY; } - vlan = kzalloc(sizeof(*vlan), GFP_KERNEL); + vlan = kzalloc_obj(*vlan, GFP_KERNEL); if (!vlan) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/mcdi_mon.c b/drivers/net/ethernet/sfc/mcdi_mon.c index f5128db7c7e7..2d6472ec4a02 100644 --- a/drivers/net/ethernet/sfc/mcdi_mon.c +++ b/drivers/net/ethernet/sfc/mcdi_mon.c @@ -350,13 +350,13 @@ int efx_mcdi_mon_probe(struct efx_nic *efx) * value, min, max, crit, alarm and label for each sensor. */ n_attrs = 6 * n_sensors; - hwmon->attrs = kcalloc(n_attrs, sizeof(*hwmon->attrs), GFP_KERNEL); + hwmon->attrs = kzalloc_objs(*hwmon->attrs, n_attrs, GFP_KERNEL); if (!hwmon->attrs) { rc = -ENOMEM; goto fail; } - hwmon->group.attrs = kcalloc(n_attrs + 1, sizeof(struct attribute *), - GFP_KERNEL); + hwmon->group.attrs = kzalloc_objs(struct attribute *, n_attrs + 1, + GFP_KERNEL); if (!hwmon->group.attrs) { rc = -ENOMEM; goto fail; diff --git a/drivers/net/ethernet/sfc/mcdi_port_common.c b/drivers/net/ethernet/sfc/mcdi_port_common.c index dae684194ac8..ba9e29ca9874 100644 --- a/drivers/net/ethernet/sfc/mcdi_port_common.c +++ b/drivers/net/ethernet/sfc/mcdi_port_common.c @@ -429,7 +429,7 @@ int efx_mcdi_phy_probe(struct efx_nic *efx) int rc; /* Initialise and populate phy_data */ - phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); + phy_data = kzalloc_obj(*phy_data, GFP_KERNEL); if (phy_data == NULL) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/ptp.c b/drivers/net/ethernet/sfc/ptp.c index 4c7222bf26be..7268f049cf3d 100644 --- a/drivers/net/ethernet/sfc/ptp.c +++ b/drivers/net/ethernet/sfc/ptp.c @@ -1263,7 +1263,7 @@ static int efx_ptp_insert_filter(struct efx_nic *efx, return 0; } - rxfilter = kzalloc(sizeof(*rxfilter), GFP_KERNEL); + rxfilter = kzalloc_obj(*rxfilter, GFP_KERNEL); if (!rxfilter) return -ENOMEM; @@ -1565,7 +1565,7 @@ int efx_ptp_probe(struct efx_nic *efx, struct efx_channel *channel) return 0; } - ptp = kzalloc(sizeof(struct efx_ptp_data), GFP_KERNEL); + ptp = kzalloc_obj(struct efx_ptp_data, GFP_KERNEL); efx->ptp_data = ptp; if (!efx->ptp_data) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/rx_common.c b/drivers/net/ethernet/sfc/rx_common.c index 5306f4c44be4..809faeead09b 100644 --- a/drivers/net/ethernet/sfc/rx_common.c +++ b/drivers/net/ethernet/sfc/rx_common.c @@ -138,8 +138,8 @@ static void efx_init_rx_recycle_ring(struct efx_rx_queue *rx_queue) bufs_in_recycle_ring = efx_rx_recycle_ring_size(efx); page_ring_size = roundup_pow_of_two(bufs_in_recycle_ring / efx->rx_bufs_per_page); - rx_queue->page_ring = kcalloc(page_ring_size, - sizeof(*rx_queue->page_ring), GFP_KERNEL); + rx_queue->page_ring = kzalloc_objs(*rx_queue->page_ring, page_ring_size, + GFP_KERNEL); if (!rx_queue->page_ring) rx_queue->page_ptr_mask = 0; else @@ -204,8 +204,7 @@ int efx_probe_rx_queue(struct efx_rx_queue *rx_queue) rx_queue->ptr_mask); /* Allocate RX buffers */ - rx_queue->buffer = kcalloc(entries, sizeof(*rx_queue->buffer), - GFP_KERNEL); + rx_queue->buffer = kzalloc_objs(*rx_queue->buffer, entries, GFP_KERNEL); if (!rx_queue->buffer) return -ENOMEM; @@ -709,7 +708,7 @@ struct efx_arfs_rule *efx_rps_hash_add(struct efx_nic *efx, return rule; } } - rule = kmalloc(sizeof(*rule), GFP_ATOMIC); + rule = kmalloc_obj(*rule, GFP_ATOMIC); *new = true; if (rule) { memcpy(&rule->spec, spec, sizeof(rule->spec)); diff --git a/drivers/net/ethernet/sfc/selftest.c b/drivers/net/ethernet/sfc/selftest.c index 894fad0bb5ea..ef37de056a19 100644 --- a/drivers/net/ethernet/sfc/selftest.c +++ b/drivers/net/ethernet/sfc/selftest.c @@ -542,8 +542,8 @@ efx_test_loopback(struct efx_tx_queue *tx_queue, /* Determine how many packets to send */ state->packet_count = efx->txq_entries / 3; state->packet_count = min(1 << (i << 2), state->packet_count); - state->skbs = kcalloc(state->packet_count, - sizeof(state->skbs[0]), GFP_KERNEL); + state->skbs = kzalloc_objs(state->skbs[0], state->packet_count, + GFP_KERNEL); if (!state->skbs) return -ENOMEM; state->flush = false; @@ -628,7 +628,7 @@ static int efx_test_loopbacks(struct efx_nic *efx, struct efx_self_tests *tests, /* Set the port loopback_selftest member. From this point on * all received packets will be dropped. Mark the state as * "flushing" so all inflight packets are dropped */ - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (state == NULL) return -ENOMEM; BUG_ON(efx->loopback_selftest); diff --git a/drivers/net/ethernet/sfc/siena/efx_channels.c b/drivers/net/ethernet/sfc/siena/efx_channels.c index fc075ab6b7b5..f2ed3c8b1f5d 100644 --- a/drivers/net/ethernet/sfc/siena/efx_channels.c +++ b/drivers/net/ethernet/sfc/siena/efx_channels.c @@ -536,7 +536,7 @@ static struct efx_channel *efx_alloc_channel(struct efx_nic *efx, int i) struct efx_channel *channel; int j; - channel = kzalloc(sizeof(*channel), GFP_KERNEL); + channel = kzalloc_obj(*channel, GFP_KERNEL); if (!channel) return NULL; @@ -607,7 +607,7 @@ struct efx_channel *efx_copy_channel(const struct efx_channel *old_channel) struct efx_channel *channel; int j; - channel = kmalloc(sizeof(*channel), GFP_KERNEL); + channel = kmalloc_obj(*channel, GFP_KERNEL); if (!channel) return NULL; @@ -966,9 +966,9 @@ int efx_siena_set_channels(struct efx_nic *efx) EFX_WARN_ON_PARANOID(efx->xdp_tx_queues); /* Allocate array for XDP TX queue lookup. */ - efx->xdp_tx_queues = kcalloc(efx->xdp_tx_queue_count, - sizeof(*efx->xdp_tx_queues), - GFP_KERNEL); + efx->xdp_tx_queues = kzalloc_objs(*efx->xdp_tx_queues, + efx->xdp_tx_queue_count, + GFP_KERNEL); if (!efx->xdp_tx_queues) return -ENOMEM; } diff --git a/drivers/net/ethernet/sfc/siena/efx_common.c b/drivers/net/ethernet/sfc/siena/efx_common.c index 35036cc902fe..07e650f2d13e 100644 --- a/drivers/net/ethernet/sfc/siena/efx_common.c +++ b/drivers/net/ethernet/sfc/siena/efx_common.c @@ -1023,8 +1023,8 @@ int efx_siena_init_struct(struct efx_nic *efx, mutex_init(&efx->rps_mutex); spin_lock_init(&efx->rps_hash_lock); /* Failure to allocate is not fatal, but may degrade ARFS performance */ - efx->rps_hash_table = kcalloc(EFX_ARFS_HASH_TABLE_SIZE, - sizeof(*efx->rps_hash_table), GFP_KERNEL); + efx->rps_hash_table = kzalloc_objs(*efx->rps_hash_table, + EFX_ARFS_HASH_TABLE_SIZE, GFP_KERNEL); #endif efx->mdio.dev = net_dev; INIT_WORK(&efx->mac_work, efx_mac_work); diff --git a/drivers/net/ethernet/sfc/siena/ethtool_common.c b/drivers/net/ethernet/sfc/siena/ethtool_common.c index c56e0b54d854..cb19af6aafd9 100644 --- a/drivers/net/ethernet/sfc/siena/ethtool_common.c +++ b/drivers/net/ethernet/sfc/siena/ethtool_common.c @@ -355,7 +355,7 @@ void efx_siena_ethtool_self_test(struct net_device *net_dev, bool already_up; int rc = -ENOMEM; - efx_tests = kzalloc(sizeof(*efx_tests), GFP_KERNEL); + efx_tests = kzalloc_obj(*efx_tests, GFP_KERNEL); if (!efx_tests) goto fail; diff --git a/drivers/net/ethernet/sfc/siena/farch.c b/drivers/net/ethernet/sfc/siena/farch.c index 562a038e38a7..ab2e36520fb9 100644 --- a/drivers/net/ethernet/sfc/siena/farch.c +++ b/drivers/net/ethernet/sfc/siena/farch.c @@ -2790,7 +2790,7 @@ int efx_farch_filter_table_probe(struct efx_nic *efx) struct efx_farch_filter_table *table; unsigned table_id; - state = kzalloc(sizeof(struct efx_farch_filter_state), GFP_KERNEL); + state = kzalloc_obj(struct efx_farch_filter_state, GFP_KERNEL); if (!state) return -ENOMEM; efx->filter_state = state; diff --git a/drivers/net/ethernet/sfc/siena/mcdi.c b/drivers/net/ethernet/sfc/siena/mcdi.c index c8f0fb43e285..3bee5c0e6edc 100644 --- a/drivers/net/ethernet/sfc/siena/mcdi.c +++ b/drivers/net/ethernet/sfc/siena/mcdi.c @@ -65,7 +65,7 @@ int efx_siena_mcdi_init(struct efx_nic *efx) bool already_attached; int rc = -ENOMEM; - efx->mcdi = kzalloc(sizeof(*efx->mcdi), GFP_KERNEL); + efx->mcdi = kzalloc_obj(*efx->mcdi, GFP_KERNEL); if (!efx->mcdi) goto fail; diff --git a/drivers/net/ethernet/sfc/siena/mcdi_mon.c b/drivers/net/ethernet/sfc/siena/mcdi_mon.c index 56a9c56ed9e3..ddf7d712fb21 100644 --- a/drivers/net/ethernet/sfc/siena/mcdi_mon.c +++ b/drivers/net/ethernet/sfc/siena/mcdi_mon.c @@ -350,13 +350,13 @@ int efx_siena_mcdi_mon_probe(struct efx_nic *efx) * value, min, max, crit, alarm and label for each sensor. */ n_attrs = 6 * n_sensors; - hwmon->attrs = kcalloc(n_attrs, sizeof(*hwmon->attrs), GFP_KERNEL); + hwmon->attrs = kzalloc_objs(*hwmon->attrs, n_attrs, GFP_KERNEL); if (!hwmon->attrs) { rc = -ENOMEM; goto fail; } - hwmon->group.attrs = kcalloc(n_attrs + 1, sizeof(struct attribute *), - GFP_KERNEL); + hwmon->group.attrs = kzalloc_objs(struct attribute *, n_attrs + 1, + GFP_KERNEL); if (!hwmon->group.attrs) { rc = -ENOMEM; goto fail; diff --git a/drivers/net/ethernet/sfc/siena/mcdi_port_common.c b/drivers/net/ethernet/sfc/siena/mcdi_port_common.c index 067fe0f4393a..6154d09f9dde 100644 --- a/drivers/net/ethernet/sfc/siena/mcdi_port_common.c +++ b/drivers/net/ethernet/sfc/siena/mcdi_port_common.c @@ -430,7 +430,7 @@ int efx_siena_mcdi_phy_probe(struct efx_nic *efx) int rc; /* Initialise and populate phy_data */ - phy_data = kzalloc(sizeof(*phy_data), GFP_KERNEL); + phy_data = kzalloc_obj(*phy_data, GFP_KERNEL); if (phy_data == NULL) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/siena/ptp.c b/drivers/net/ethernet/sfc/siena/ptp.c index 062c77c92077..2cb1d0fc9daa 100644 --- a/drivers/net/ethernet/sfc/siena/ptp.c +++ b/drivers/net/ethernet/sfc/siena/ptp.c @@ -1443,7 +1443,7 @@ static int efx_ptp_probe(struct efx_nic *efx, struct efx_channel *channel) int rc = 0; unsigned int pos; - ptp = kzalloc(sizeof(struct efx_ptp_data), GFP_KERNEL); + ptp = kzalloc_obj(struct efx_ptp_data, GFP_KERNEL); efx->ptp_data = ptp; if (!efx->ptp_data) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/siena/rx_common.c b/drivers/net/ethernet/sfc/siena/rx_common.c index 4ae09505e417..71549c21ebc1 100644 --- a/drivers/net/ethernet/sfc/siena/rx_common.c +++ b/drivers/net/ethernet/sfc/siena/rx_common.c @@ -141,8 +141,8 @@ static void efx_init_rx_recycle_ring(struct efx_rx_queue *rx_queue) bufs_in_recycle_ring = efx_rx_recycle_ring_size(efx); page_ring_size = roundup_pow_of_two(bufs_in_recycle_ring / efx->rx_bufs_per_page); - rx_queue->page_ring = kcalloc(page_ring_size, - sizeof(*rx_queue->page_ring), GFP_KERNEL); + rx_queue->page_ring = kzalloc_objs(*rx_queue->page_ring, page_ring_size, + GFP_KERNEL); if (!rx_queue->page_ring) rx_queue->page_ptr_mask = 0; else @@ -207,8 +207,7 @@ int efx_siena_probe_rx_queue(struct efx_rx_queue *rx_queue) rx_queue->ptr_mask); /* Allocate RX buffers */ - rx_queue->buffer = kcalloc(entries, sizeof(*rx_queue->buffer), - GFP_KERNEL); + rx_queue->buffer = kzalloc_objs(*rx_queue->buffer, entries, GFP_KERNEL); if (!rx_queue->buffer) return -ENOMEM; @@ -696,7 +695,7 @@ static struct efx_arfs_rule *efx_rps_hash_add(struct efx_nic *efx, return rule; } } - rule = kmalloc(sizeof(*rule), GFP_ATOMIC); + rule = kmalloc_obj(*rule, GFP_ATOMIC); *new = true; if (rule) { memcpy(&rule->spec, spec, sizeof(rule->spec)); diff --git a/drivers/net/ethernet/sfc/siena/selftest.c b/drivers/net/ethernet/sfc/siena/selftest.c index 526da43d4b61..668e6771b8bf 100644 --- a/drivers/net/ethernet/sfc/siena/selftest.c +++ b/drivers/net/ethernet/sfc/siena/selftest.c @@ -543,8 +543,8 @@ efx_test_loopback(struct efx_tx_queue *tx_queue, /* Determine how many packets to send */ state->packet_count = efx->txq_entries / 3; state->packet_count = min(1 << (i << 2), state->packet_count); - state->skbs = kcalloc(state->packet_count, - sizeof(state->skbs[0]), GFP_KERNEL); + state->skbs = kzalloc_objs(state->skbs[0], state->packet_count, + GFP_KERNEL); if (!state->skbs) return -ENOMEM; state->flush = false; @@ -633,7 +633,7 @@ static int efx_test_loopbacks(struct efx_nic *efx, struct efx_self_tests *tests, /* Set the port loopback_selftest member. From this point on * all received packets will be dropped. Mark the state as * "flushing" so all inflight packets are dropped */ - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (state == NULL) return -ENOMEM; BUG_ON(efx->loopback_selftest); diff --git a/drivers/net/ethernet/sfc/siena/siena.c b/drivers/net/ethernet/sfc/siena/siena.c index 49f0c8a1a90a..4718a31b4d94 100644 --- a/drivers/net/ethernet/sfc/siena/siena.c +++ b/drivers/net/ethernet/sfc/siena/siena.c @@ -266,7 +266,7 @@ static int siena_probe_nic(struct efx_nic *efx) int rc; /* Allocate storage for hardware specific data */ - nic_data = kzalloc(sizeof(struct siena_nic_data), GFP_KERNEL); + nic_data = kzalloc_obj(struct siena_nic_data, GFP_KERNEL); if (!nic_data) return -ENOMEM; nic_data->efx = efx; @@ -923,7 +923,7 @@ static int siena_mtd_probe(struct efx_nic *efx) if (rc) return rc; - parts = kcalloc(hweight32(nvram_types), sizeof(*parts), GFP_KERNEL); + parts = kzalloc_objs(*parts, hweight32(nvram_types), GFP_KERNEL); if (!parts) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/siena/siena_sriov.c b/drivers/net/ethernet/sfc/siena/siena_sriov.c index 8353c15dc233..bcab299f7204 100644 --- a/drivers/net/ethernet/sfc/siena/siena_sriov.c +++ b/drivers/net/ethernet/sfc/siena/siena_sriov.c @@ -1123,7 +1123,7 @@ static void efx_siena_sriov_peer_work(struct work_struct *data) ++peer_count; if (--peer_space == 0) { if (list_empty(&pages)) { - epp = kmalloc(sizeof(*epp), GFP_KERNEL); + epp = kmalloc_obj(*epp, GFP_KERNEL); if (!epp) break; epp->ptr = dma_alloc_coherent( @@ -1197,8 +1197,7 @@ static int efx_siena_sriov_vf_alloc(struct efx_nic *efx) struct siena_vf *vf; struct siena_nic_data *nic_data = efx->nic_data; - nic_data->vf = kcalloc(efx->vf_count, sizeof(*nic_data->vf), - GFP_KERNEL); + nic_data->vf = kzalloc_objs(*nic_data->vf, efx->vf_count, GFP_KERNEL); if (!nic_data->vf) return -ENOMEM; diff --git a/drivers/net/ethernet/sfc/siena/tx_common.c b/drivers/net/ethernet/sfc/siena/tx_common.c index 71f9b5ec5ae4..ca7f910a4847 100644 --- a/drivers/net/ethernet/sfc/siena/tx_common.c +++ b/drivers/net/ethernet/sfc/siena/tx_common.c @@ -36,13 +36,13 @@ int efx_siena_probe_tx_queue(struct efx_tx_queue *tx_queue) tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask); /* Allocate software ring */ - tx_queue->buffer = kcalloc(entries, sizeof(*tx_queue->buffer), - GFP_KERNEL); + tx_queue->buffer = kzalloc_objs(*tx_queue->buffer, entries, GFP_KERNEL); if (!tx_queue->buffer) return -ENOMEM; - tx_queue->cb_page = kcalloc(efx_tx_cb_page_count(tx_queue), - sizeof(tx_queue->cb_page[0]), GFP_KERNEL); + tx_queue->cb_page = kzalloc_objs(tx_queue->cb_page[0], + efx_tx_cb_page_count(tx_queue), + GFP_KERNEL); if (!tx_queue->cb_page) { rc = -ENOMEM; goto fail1; diff --git a/drivers/net/ethernet/sfc/tc.c b/drivers/net/ethernet/sfc/tc.c index fa94aa3cd5fe..bf39fb5e4bb6 100644 --- a/drivers/net/ethernet/sfc/tc.c +++ b/drivers/net/ethernet/sfc/tc.c @@ -126,7 +126,7 @@ static struct efx_tc_mac_pedit_action *efx_tc_flower_get_mac(struct efx_nic *efx struct efx_tc_mac_pedit_action *ped, *old; int rc; - ped = kzalloc(sizeof(*ped), GFP_USER); + ped = kzalloc_obj(*ped, GFP_USER); if (!ped) return ERR_PTR(-ENOMEM); memcpy(ped->h_addr, h_addr, ETH_ALEN); @@ -571,7 +571,7 @@ static int efx_tc_flower_record_encap_match(struct efx_nic *efx, if (rc) goto fail_pseudo; - encap = kzalloc(sizeof(*encap), GFP_USER); + encap = kzalloc_obj(*encap, GFP_USER); if (!encap) { rc = -ENOMEM; goto fail_pseudo; @@ -694,7 +694,7 @@ static struct efx_tc_recirc_id *efx_tc_get_recirc_id(struct efx_nic *efx, struct efx_tc_recirc_id *rid, *old; int rc; - rid = kzalloc(sizeof(*rid), GFP_USER); + rid = kzalloc_obj(*rid, GFP_USER); if (!rid) return ERR_PTR(-ENOMEM); rid->chain_index = chain_index; @@ -1505,7 +1505,7 @@ static int efx_tc_flower_replace_foreign_lhs_ar(struct efx_nic *efx, if (rc) goto release_encap_match; - rule = kzalloc(sizeof(*rule), GFP_USER); + rule = kzalloc_obj(*rule, GFP_USER); if (!rule) { rc = -ENOMEM; goto release_encap_match; @@ -1618,7 +1618,7 @@ static int efx_tc_flower_replace_foreign_lhs(struct efx_nic *efx, if (rc) goto release_encap_match; - rule = kzalloc(sizeof(*rule), GFP_USER); + rule = kzalloc_obj(*rule, GFP_USER); if (!rule) { rc = -ENOMEM; goto release_encap_match; @@ -1794,7 +1794,7 @@ static int efx_tc_flower_replace_foreign(struct efx_nic *efx, goto release; } - rule = kzalloc(sizeof(*rule), GFP_USER); + rule = kzalloc_obj(*rule, GFP_USER); if (!rule) { rc = -ENOMEM; goto release; @@ -1815,7 +1815,7 @@ static int efx_tc_flower_replace_foreign(struct efx_nic *efx, goto release; } - act = kzalloc(sizeof(*act), GFP_USER); + act = kzalloc_obj(*act, GFP_USER); if (!act) { rc = -ENOMEM; goto release; @@ -1901,7 +1901,7 @@ static int efx_tc_flower_replace_foreign(struct efx_nic *efx, if (fa->id == FLOW_ACTION_REDIRECT) break; /* end of the line */ /* Mirror, so continue on with saved act */ - act = kzalloc(sizeof(*act), GFP_USER); + act = kzalloc_obj(*act, GFP_USER); if (!act) { rc = -ENOMEM; goto release; @@ -2016,7 +2016,7 @@ static int efx_tc_flower_replace_lhs(struct efx_nic *efx, if (rc) return rc; - rule = kzalloc(sizeof(*rule), GFP_USER); + rule = kzalloc_obj(*rule, GFP_USER); if (!rule) return -ENOMEM; rule->cookie = tc->cookie; @@ -2177,7 +2177,7 @@ static int efx_tc_flower_replace(struct efx_nic *efx, if (rc) goto release; - rule = kzalloc(sizeof(*rule), GFP_USER); + rule = kzalloc_obj(*rule, GFP_USER); if (!rule) { rc = -ENOMEM; goto release; @@ -2199,7 +2199,7 @@ static int efx_tc_flower_replace(struct efx_nic *efx, } /* Parse actions */ - act = kzalloc(sizeof(*act), GFP_USER); + act = kzalloc_obj(*act, GFP_USER); if (!act) { rc = -ENOMEM; goto release; @@ -2340,7 +2340,7 @@ static int efx_tc_flower_replace(struct efx_nic *efx, break; /* end of the line */ /* Mirror, so continue on with saved act */ save.count = NULL; - act = kzalloc(sizeof(*act), GFP_USER); + act = kzalloc_obj(*act, GFP_USER); if (!act) { rc = -ENOMEM; goto release; @@ -2380,7 +2380,7 @@ static int efx_tc_flower_replace(struct efx_nic *efx, break; /* end of the line */ /* Mirror, so continue on with saved act */ save.count = NULL; - act = kzalloc(sizeof(*act), GFP_USER); + act = kzalloc_obj(*act, GFP_USER); if (!act) { rc = -ENOMEM; goto release; @@ -2672,7 +2672,7 @@ static int efx_tc_configure_default_rule(struct efx_nic *efx, u32 ing_port, match->value.ingress_port = ing_port; match->mask.ingress_port = ~0; - act = kzalloc(sizeof(*act), GFP_KERNEL); + act = kzalloc_obj(*act, GFP_KERNEL); if (!act) return -ENOMEM; act->deliver = 1; @@ -2745,7 +2745,7 @@ static int efx_tc_configure_fallback_acts(struct efx_nic *efx, u32 eg_port, struct efx_tc_action_set *act; int rc; - act = kzalloc(sizeof(*act), GFP_KERNEL); + act = kzalloc_obj(*act, GFP_KERNEL); if (!act) return -ENOMEM; act->deliver = 1; @@ -2988,10 +2988,10 @@ int efx_init_struct_tc(struct efx_nic *efx) if (efx->type->is_vf) return 0; - efx->tc = kzalloc(sizeof(*efx->tc), GFP_KERNEL); + efx->tc = kzalloc_obj(*efx->tc, GFP_KERNEL); if (!efx->tc) return -ENOMEM; - efx->tc->caps = kzalloc(sizeof(struct mae_caps), GFP_KERNEL); + efx->tc->caps = kzalloc_obj(struct mae_caps, GFP_KERNEL); if (!efx->tc->caps) { rc = -ENOMEM; goto fail_alloc_caps; diff --git a/drivers/net/ethernet/sfc/tc_bindings.c b/drivers/net/ethernet/sfc/tc_bindings.c index 1b79c535c54e..c4b187b51a69 100644 --- a/drivers/net/ethernet/sfc/tc_bindings.c +++ b/drivers/net/ethernet/sfc/tc_bindings.c @@ -59,7 +59,7 @@ static struct efx_tc_block_binding *efx_tc_create_binding( struct efx_nic *efx, struct efx_rep *efv, struct net_device *otherdev, struct flow_block *block) { - struct efx_tc_block_binding *binding = kmalloc(sizeof(*binding), GFP_KERNEL); + struct efx_tc_block_binding *binding = kmalloc_obj(*binding, GFP_KERNEL); if (!binding) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/sfc/tc_conntrack.c b/drivers/net/ethernet/sfc/tc_conntrack.c index c0603f54cec3..77ce2eca43f2 100644 --- a/drivers/net/ethernet/sfc/tc_conntrack.c +++ b/drivers/net/ethernet/sfc/tc_conntrack.c @@ -365,7 +365,7 @@ static int efx_tc_ct_replace(struct efx_tc_ct_zone *ct_zone, if (WARN_ON(!efx->tc->up)) return -ENETDOWN; - conn = kzalloc(sizeof(*conn), GFP_USER); + conn = kzalloc_obj(*conn, GFP_USER); if (!conn) return -ENOMEM; conn->cookie = tc->cookie; @@ -562,7 +562,7 @@ struct efx_tc_ct_zone *efx_tc_ct_register_zone(struct efx_nic *efx, u16 zone, struct efx_tc_ct_zone *ct_zone, *old; int rc; - ct_zone = kzalloc(sizeof(*ct_zone), GFP_USER); + ct_zone = kzalloc_obj(*ct_zone, GFP_USER); if (!ct_zone) return ERR_PTR(-ENOMEM); ct_zone->zone = zone; diff --git a/drivers/net/ethernet/sfc/tc_counters.c b/drivers/net/ethernet/sfc/tc_counters.c index a421b0123506..d168282f30bf 100644 --- a/drivers/net/ethernet/sfc/tc_counters.c +++ b/drivers/net/ethernet/sfc/tc_counters.c @@ -135,7 +135,7 @@ struct efx_tc_counter *efx_tc_flower_allocate_counter(struct efx_nic *efx, struct efx_tc_counter *cnt; int rc, rc2; - cnt = kzalloc(sizeof(*cnt), GFP_USER); + cnt = kzalloc_obj(*cnt, GFP_USER); if (!cnt) return ERR_PTR(-ENOMEM); @@ -226,7 +226,7 @@ struct efx_tc_counter_index *efx_tc_flower_get_counter_index( struct efx_tc_counter_index *ctr, *old; struct efx_tc_counter *cnt; - ctr = kzalloc(sizeof(*ctr), GFP_USER); + ctr = kzalloc_obj(*ctr, GFP_USER); if (!ctr) return ERR_PTR(-ENOMEM); ctr->cookie = cookie; diff --git a/drivers/net/ethernet/sfc/tc_encap_actions.c b/drivers/net/ethernet/sfc/tc_encap_actions.c index eef06e48185d..da35705cc5e1 100644 --- a/drivers/net/ethernet/sfc/tc_encap_actions.c +++ b/drivers/net/ethernet/sfc/tc_encap_actions.c @@ -120,7 +120,7 @@ static int efx_bind_neigh(struct efx_nic *efx, return -EOPNOTSUPP; } - neigh = kzalloc(sizeof(*neigh), GFP_KERNEL_ACCOUNT); + neigh = kzalloc_obj(*neigh, GFP_KERNEL_ACCOUNT); if (!neigh) return -ENOMEM; neigh->net = get_net_track(net, &neigh->ns_tracker, GFP_KERNEL_ACCOUNT); @@ -632,7 +632,7 @@ struct efx_tc_encap_action *efx_tc_flower_create_encap_md( info->mode); return ERR_PTR(-EOPNOTSUPP); } - encap = kzalloc(sizeof(*encap), GFP_KERNEL_ACCOUNT); + encap = kzalloc_obj(*encap, GFP_KERNEL_ACCOUNT); if (!encap) return ERR_PTR(-ENOMEM); encap->type = type; diff --git a/drivers/net/ethernet/sfc/tx_common.c b/drivers/net/ethernet/sfc/tx_common.c index a22a0d634ffc..4437e2c424f7 100644 --- a/drivers/net/ethernet/sfc/tx_common.c +++ b/drivers/net/ethernet/sfc/tx_common.c @@ -36,13 +36,13 @@ int efx_probe_tx_queue(struct efx_tx_queue *tx_queue) tx_queue->queue, efx->txq_entries, tx_queue->ptr_mask); /* Allocate software ring */ - tx_queue->buffer = kcalloc(entries, sizeof(*tx_queue->buffer), - GFP_KERNEL); + tx_queue->buffer = kzalloc_objs(*tx_queue->buffer, entries, GFP_KERNEL); if (!tx_queue->buffer) return -ENOMEM; - tx_queue->cb_page = kcalloc(efx_tx_cb_page_count(tx_queue), - sizeof(tx_queue->cb_page[0]), GFP_KERNEL); + tx_queue->cb_page = kzalloc_objs(tx_queue->cb_page[0], + efx_tx_cb_page_count(tx_queue), + GFP_KERNEL); if (!tx_queue->cb_page) { rc = -ENOMEM; goto fail1; diff --git a/drivers/net/ethernet/sis/sis190.c b/drivers/net/ethernet/sis/sis190.c index 15e46e6ac262..c06387ed3bf1 100644 --- a/drivers/net/ethernet/sis/sis190.c +++ b/drivers/net/ethernet/sis/sis190.c @@ -1407,7 +1407,7 @@ static int sis190_mii_probe(struct net_device *dev) if (status == 0xffff || status == 0x0000) continue; - phy = kmalloc(sizeof(*phy), GFP_KERNEL); + phy = kmalloc_obj(*phy, GFP_KERNEL); if (!phy) { sis190_free_phy(&tp->first_phy); rc = -ENOMEM; diff --git a/drivers/net/ethernet/sis/sis900.c b/drivers/net/ethernet/sis/sis900.c index d85ac8cbeb00..b756eea09513 100644 --- a/drivers/net/ethernet/sis/sis900.c +++ b/drivers/net/ethernet/sis/sis900.c @@ -619,7 +619,7 @@ static int sis900_mii_probe(struct net_device *net_dev) continue; } - if ((mii_phy = kmalloc(sizeof(struct mii_phy), GFP_KERNEL)) == NULL) { + if ((mii_phy = kmalloc_obj(struct mii_phy, GFP_KERNEL)) == NULL) { mii_phy = sis_priv->first_mii; while (mii_phy) { struct mii_phy *phy; diff --git a/drivers/net/ethernet/smsc/smsc9420.c b/drivers/net/ethernet/smsc/smsc9420.c index f30d4b17c7fb..02482de18b56 100644 --- a/drivers/net/ethernet/smsc/smsc9420.c +++ b/drivers/net/ethernet/smsc/smsc9420.c @@ -1179,9 +1179,8 @@ static int smsc9420_alloc_tx_ring(struct smsc9420_pdata *pd) BUG_ON(!pd->tx_ring); - pd->tx_buffers = kmalloc_array(TX_RING_SIZE, - sizeof(struct smsc9420_ring_info), - GFP_KERNEL); + pd->tx_buffers = kmalloc_objs(struct smsc9420_ring_info, TX_RING_SIZE, + GFP_KERNEL); if (!pd->tx_buffers) return -ENOMEM; @@ -1212,9 +1211,8 @@ static int smsc9420_alloc_rx_ring(struct smsc9420_pdata *pd) BUG_ON(!pd->rx_ring); - pd->rx_buffers = kmalloc_array(RX_RING_SIZE, - sizeof(struct smsc9420_ring_info), - GFP_KERNEL); + pd->rx_buffers = kmalloc_objs(struct smsc9420_ring_info, RX_RING_SIZE, + GFP_KERNEL); if (pd->rx_buffers == NULL) goto out; diff --git a/drivers/net/ethernet/socionext/netsec.c b/drivers/net/ethernet/socionext/netsec.c index ee890de69ffe..3b6008cad3a5 100644 --- a/drivers/net/ethernet/socionext/netsec.c +++ b/drivers/net/ethernet/socionext/netsec.c @@ -1263,7 +1263,7 @@ static int netsec_alloc_dring(struct netsec_priv *priv, enum ring_id id) if (!dring->vaddr) goto err; - dring->desc = kcalloc(DESC_NUM, sizeof(*dring->desc), GFP_KERNEL); + dring->desc = kzalloc_objs(*dring->desc, DESC_NUM, GFP_KERNEL); if (!dring->desc) goto err; diff --git a/drivers/net/ethernet/socionext/sni_ave.c b/drivers/net/ethernet/socionext/sni_ave.c index 4700998c4837..3c581d71c00e 100644 --- a/drivers/net/ethernet/socionext/sni_ave.c +++ b/drivers/net/ethernet/socionext/sni_ave.c @@ -1273,15 +1273,13 @@ static int ave_open(struct net_device *ndev) if (ret) return ret; - priv->tx.desc = kcalloc(priv->tx.ndesc, sizeof(*priv->tx.desc), - GFP_KERNEL); + priv->tx.desc = kzalloc_objs(*priv->tx.desc, priv->tx.ndesc, GFP_KERNEL); if (!priv->tx.desc) { ret = -ENOMEM; goto out_free_irq; } - priv->rx.desc = kcalloc(priv->rx.ndesc, sizeof(*priv->rx.desc), - GFP_KERNEL); + priv->rx.desc = kzalloc_objs(*priv->rx.desc, priv->rx.ndesc, GFP_KERNEL); if (!priv->rx.desc) { kfree(priv->tx.desc); ret = -ENOMEM; diff --git a/drivers/net/ethernet/spacemit/k1_emac.c b/drivers/net/ethernet/spacemit/k1_emac.c index dab0772c5b9d..870ab19395d6 100644 --- a/drivers/net/ethernet/spacemit/k1_emac.c +++ b/drivers/net/ethernet/spacemit/k1_emac.c @@ -391,9 +391,8 @@ static int emac_alloc_tx_resources(struct emac_priv *priv) struct emac_desc_ring *tx_ring = &priv->tx_ring; struct platform_device *pdev = priv->pdev; - tx_ring->tx_desc_buf = kcalloc(tx_ring->total_cnt, - sizeof(*tx_ring->tx_desc_buf), - GFP_KERNEL); + tx_ring->tx_desc_buf = kzalloc_objs(*tx_ring->tx_desc_buf, + tx_ring->total_cnt, GFP_KERNEL); if (!tx_ring->tx_desc_buf) return -ENOMEM; @@ -420,9 +419,8 @@ static int emac_alloc_rx_resources(struct emac_priv *priv) struct emac_desc_ring *rx_ring = &priv->rx_ring; struct platform_device *pdev = priv->pdev; - rx_ring->rx_desc_buf = kcalloc(rx_ring->total_cnt, - sizeof(*rx_ring->rx_desc_buf), - GFP_KERNEL); + rx_ring->rx_desc_buf = kzalloc_objs(*rx_ring->rx_desc_buf, + rx_ring->total_cnt, GFP_KERNEL); if (!rx_ring->rx_desc_buf) return -ENOMEM; diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 82375d34ad57..ebda64cd1bf2 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -2212,9 +2212,8 @@ static int __alloc_dma_rx_desc_resources(struct stmmac_priv *priv, return ret; } - rx_q->buf_pool = kcalloc(dma_conf->dma_rx_size, - sizeof(*rx_q->buf_pool), - GFP_KERNEL); + rx_q->buf_pool = kzalloc_objs(*rx_q->buf_pool, dma_conf->dma_rx_size, + GFP_KERNEL); if (!rx_q->buf_pool) return -ENOMEM; @@ -2297,15 +2296,13 @@ static int __alloc_dma_tx_desc_resources(struct stmmac_priv *priv, tx_q->queue_index = queue; tx_q->priv_data = priv; - tx_q->tx_skbuff_dma = kcalloc(dma_conf->dma_tx_size, - sizeof(*tx_q->tx_skbuff_dma), - GFP_KERNEL); + tx_q->tx_skbuff_dma = kzalloc_objs(*tx_q->tx_skbuff_dma, + dma_conf->dma_tx_size, GFP_KERNEL); if (!tx_q->tx_skbuff_dma) return -ENOMEM; - tx_q->tx_skbuff = kcalloc(dma_conf->dma_tx_size, - sizeof(struct sk_buff *), - GFP_KERNEL); + tx_q->tx_skbuff = kzalloc_objs(struct sk_buff *, dma_conf->dma_tx_size, + GFP_KERNEL); if (!tx_q->tx_skbuff) return -ENOMEM; @@ -4016,7 +4013,7 @@ stmmac_setup_dma_desc(struct stmmac_priv *priv, unsigned int mtu) struct stmmac_dma_conf *dma_conf; int chan, bfsize, ret; - dma_conf = kzalloc(sizeof(*dma_conf), GFP_KERNEL); + dma_conf = kzalloc_obj(*dma_conf, GFP_KERNEL); if (!dma_conf) { netdev_err(priv->dev, "%s: DMA conf allocation failed\n", __func__); diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c index 08b60b7d5fd6..8f18a2eab33e 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_selftests.c @@ -324,7 +324,7 @@ static int __stmmac_test_loopback(struct stmmac_priv *priv, struct sk_buff *skb = NULL; int ret = 0; - tpriv = kzalloc(sizeof(*tpriv), GFP_KERNEL); + tpriv = kzalloc_obj(*tpriv, GFP_KERNEL); if (!tpriv) return -ENOMEM; @@ -434,11 +434,11 @@ static int stmmac_test_eee(struct stmmac_priv *priv) if (!priv->dma_cap.eee || !priv->eee_active) return -EOPNOTSUPP; - initial = kzalloc(sizeof(*initial), GFP_KERNEL); + initial = kzalloc_obj(*initial, GFP_KERNEL); if (!initial) return -ENOMEM; - final = kzalloc(sizeof(*final), GFP_KERNEL); + final = kzalloc_obj(*final, GFP_KERNEL); if (!final) { ret = -ENOMEM; goto out_free_initial; @@ -744,7 +744,7 @@ static int stmmac_test_flowctrl(struct stmmac_priv *priv) if (!phydev || (!phydev->pause && !phydev->asym_pause)) return -EOPNOTSUPP; - tpriv = kzalloc(sizeof(*tpriv), GFP_KERNEL); + tpriv = kzalloc_obj(*tpriv, GFP_KERNEL); if (!tpriv) return -ENOMEM; @@ -898,7 +898,7 @@ static int __stmmac_test_vlanfilt(struct stmmac_priv *priv) struct sk_buff *skb = NULL; int ret = 0, i; - tpriv = kzalloc(sizeof(*tpriv), GFP_KERNEL); + tpriv = kzalloc_obj(*tpriv, GFP_KERNEL); if (!tpriv) return -ENOMEM; @@ -991,7 +991,7 @@ static int __stmmac_test_dvlanfilt(struct stmmac_priv *priv) struct sk_buff *skb = NULL; int ret = 0, i; - tpriv = kzalloc(sizeof(*tpriv), GFP_KERNEL); + tpriv = kzalloc_obj(*tpriv, GFP_KERNEL); if (!tpriv) return -ENOMEM; @@ -1095,23 +1095,23 @@ static int stmmac_test_rxp(struct stmmac_priv *priv) if (!priv->dma_cap.frpsel) return -EOPNOTSUPP; - sel = kzalloc(struct_size(sel, keys, nk), GFP_KERNEL); + sel = kzalloc_flex(*sel, keys, nk, GFP_KERNEL); if (!sel) return -ENOMEM; - exts = kzalloc(sizeof(*exts), GFP_KERNEL); + exts = kzalloc_obj(*exts, GFP_KERNEL); if (!exts) { ret = -ENOMEM; goto cleanup_sel; } - actions = kcalloc(nk, sizeof(*actions), GFP_KERNEL); + actions = kzalloc_objs(*actions, nk, GFP_KERNEL); if (!actions) { ret = -ENOMEM; goto cleanup_exts; } - gact = kcalloc(nk, sizeof(*gact), GFP_KERNEL); + gact = kzalloc_objs(*gact, nk, GFP_KERNEL); if (!gact) { ret = -ENOMEM; goto cleanup_actions; @@ -1266,7 +1266,7 @@ static int stmmac_test_vlanoff_common(struct stmmac_priv *priv, bool svlan) if (!priv->dma_cap.vlins) return -EOPNOTSUPP; - tpriv = kzalloc(sizeof(*tpriv), GFP_KERNEL); + tpriv = kzalloc_obj(*tpriv, GFP_KERNEL); if (!tpriv) return -ENOMEM; @@ -1349,7 +1349,7 @@ static int __stmmac_test_l3filt(struct stmmac_priv *priv, u32 dst, u32 src, priv->plat->rx_queues_to_use); } - dissector = kzalloc(sizeof(*dissector), GFP_KERNEL); + dissector = kzalloc_obj(*dissector, GFP_KERNEL); if (!dissector) { ret = -ENOMEM; goto cleanup_rss; @@ -1358,7 +1358,7 @@ static int __stmmac_test_l3filt(struct stmmac_priv *priv, u32 dst, u32 src, dissector->used_keys |= (1ULL << FLOW_DISSECTOR_KEY_IPV4_ADDRS); dissector->offset[FLOW_DISSECTOR_KEY_IPV4_ADDRS] = 0; - cls = kzalloc(sizeof(*cls), GFP_KERNEL); + cls = kzalloc_obj(*cls, GFP_KERNEL); if (!cls) { ret = -ENOMEM; goto cleanup_dissector; @@ -1368,7 +1368,7 @@ static int __stmmac_test_l3filt(struct stmmac_priv *priv, u32 dst, u32 src, cls->command = FLOW_CLS_REPLACE; cls->cookie = dummy_cookie; - rule = kzalloc(struct_size(rule, action.entries, 1), GFP_KERNEL); + rule = kzalloc_flex(*rule, action.entries, 1, GFP_KERNEL); if (!rule) { ret = -ENOMEM; goto cleanup_cls; @@ -1475,7 +1475,7 @@ static int __stmmac_test_l4filt(struct stmmac_priv *priv, u32 dst, u32 src, priv->plat->rx_queues_to_use); } - dissector = kzalloc(sizeof(*dissector), GFP_KERNEL); + dissector = kzalloc_obj(*dissector, GFP_KERNEL); if (!dissector) { ret = -ENOMEM; goto cleanup_rss; @@ -1486,7 +1486,7 @@ static int __stmmac_test_l4filt(struct stmmac_priv *priv, u32 dst, u32 src, dissector->offset[FLOW_DISSECTOR_KEY_BASIC] = 0; dissector->offset[FLOW_DISSECTOR_KEY_PORTS] = offsetof(typeof(keys), key); - cls = kzalloc(sizeof(*cls), GFP_KERNEL); + cls = kzalloc_obj(*cls, GFP_KERNEL); if (!cls) { ret = -ENOMEM; goto cleanup_dissector; @@ -1496,7 +1496,7 @@ static int __stmmac_test_l4filt(struct stmmac_priv *priv, u32 dst, u32 src, cls->command = FLOW_CLS_REPLACE; cls->cookie = dummy_cookie; - rule = kzalloc(struct_size(rule, action.entries, 1), GFP_KERNEL); + rule = kzalloc_flex(*rule, action.entries, 1, GFP_KERNEL); if (!rule) { ret = -ENOMEM; goto cleanup_cls; @@ -1628,7 +1628,7 @@ static int stmmac_test_arpoffload(struct stmmac_priv *priv) if (!priv->dma_cap.arpoffsel) return -EOPNOTSUPP; - tpriv = kzalloc(sizeof(*tpriv), GFP_KERNEL); + tpriv = kzalloc_obj(*tpriv, GFP_KERNEL); if (!tpriv) return -ENOMEM; diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c index acfb523214b9..fe00e7dd3fe4 100644 --- a/drivers/net/ethernet/sun/cassini.c +++ b/drivers/net/ethernet/sun/cassini.c @@ -465,7 +465,7 @@ static cas_page_t *cas_page_alloc(struct cas *cp, const gfp_t flags) { cas_page_t *page; - page = kmalloc(sizeof(cas_page_t), flags); + page = kmalloc_obj(cas_page_t, flags); if (!page) return NULL; diff --git a/drivers/net/ethernet/sun/ldmvsw.c b/drivers/net/ethernet/sun/ldmvsw.c index 6fc37ab27f7b..c1102acbb1e0 100644 --- a/drivers/net/ethernet/sun/ldmvsw.c +++ b/drivers/net/ethernet/sun/ldmvsw.c @@ -202,7 +202,7 @@ static struct vnet *vsw_get_vnet(struct mdesc_handle *hp, } if (!vp) { - vp = kzalloc(sizeof(*vp), GFP_KERNEL); + vp = kzalloc_obj(*vp, GFP_KERNEL); if (unlikely(!vp)) { mutex_unlock(&vnet_list_mutex); return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/sun/niu.c b/drivers/net/ethernet/sun/niu.c index f035e3bbbef8..2d31e6112ca6 100644 --- a/drivers/net/ethernet/sun/niu.c +++ b/drivers/net/ethernet/sun/niu.c @@ -4341,8 +4341,7 @@ static int niu_alloc_rx_ring_info(struct niu *np, { BUILD_BUG_ON(sizeof(struct rxdma_mailbox) != 64); - rp->rxhash = kcalloc(MAX_RBR_RING_SIZE, sizeof(struct page *), - GFP_KERNEL); + rp->rxhash = kzalloc_objs(struct page *, MAX_RBR_RING_SIZE, GFP_KERNEL); if (!rp->rxhash) return -ENOMEM; @@ -4485,8 +4484,7 @@ static int niu_alloc_channels(struct niu *np) num_rx_rings = parent->rxchan_per_port[port]; num_tx_rings = parent->txchan_per_port[port]; - rx_rings = kcalloc(num_rx_rings, sizeof(struct rx_ring_info), - GFP_KERNEL); + rx_rings = kzalloc_objs(struct rx_ring_info, num_rx_rings, GFP_KERNEL); err = -ENOMEM; if (!rx_rings) goto out_err; @@ -4525,8 +4523,7 @@ static int niu_alloc_channels(struct niu *np) goto out_err; } - tx_rings = kcalloc(num_tx_rings, sizeof(struct tx_ring_info), - GFP_KERNEL); + tx_rings = kzalloc_objs(struct tx_ring_info, num_tx_rings, GFP_KERNEL); err = -ENOMEM; if (!tx_rings) goto out_err; @@ -9514,7 +9511,7 @@ static struct niu_parent *niu_new_parent(struct niu *np, goto fail_unregister; } - p = kzalloc(sizeof(*p), GFP_KERNEL); + p = kzalloc_obj(*p, GFP_KERNEL); if (!p) goto fail_unregister; diff --git a/drivers/net/ethernet/sun/sunhme.c b/drivers/net/ethernet/sun/sunhme.c index 666998082998..1984a6de65ee 100644 --- a/drivers/net/ethernet/sun/sunhme.c +++ b/drivers/net/ethernet/sun/sunhme.c @@ -2248,7 +2248,7 @@ static struct quattro *quattro_sbus_find(struct platform_device *child) if (qp) return qp; - qp = kzalloc(sizeof(*qp), GFP_KERNEL); + qp = kzalloc_obj(*qp, GFP_KERNEL); if (!qp) return NULL; @@ -2278,7 +2278,7 @@ static struct quattro *quattro_pci_find(struct pci_dev *pdev) return qp; } - qp = kmalloc(sizeof(struct quattro), GFP_KERNEL); + qp = kmalloc_obj(struct quattro, GFP_KERNEL); if (!qp) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ethernet/sun/sunqe.c b/drivers/net/ethernet/sun/sunqe.c index 2920341b14a0..36187e85b7e6 100644 --- a/drivers/net/ethernet/sun/sunqe.c +++ b/drivers/net/ethernet/sun/sunqe.c @@ -771,7 +771,7 @@ static struct sunqec *get_qec(struct platform_device *child) qecp = platform_get_drvdata(op); if (!qecp) { - qecp = kzalloc(sizeof(struct sunqec), GFP_KERNEL); + qecp = kzalloc_obj(struct sunqec, GFP_KERNEL); if (qecp) { u32 ctrl; diff --git a/drivers/net/ethernet/sun/sunvnet.c b/drivers/net/ethernet/sun/sunvnet.c index a2a3e94da4b8..7c756e07eb55 100644 --- a/drivers/net/ethernet/sun/sunvnet.c +++ b/drivers/net/ethernet/sun/sunvnet.c @@ -436,7 +436,7 @@ static int vnet_port_probe(struct vio_dev *vdev, const struct vio_device_id *id) goto err_out_put_mdesc; } - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); err = -ENOMEM; if (!port) goto err_out_put_mdesc; diff --git a/drivers/net/ethernet/sun/sunvnet_common.c b/drivers/net/ethernet/sun/sunvnet_common.c index 0212853c9430..5cca95869052 100644 --- a/drivers/net/ethernet/sun/sunvnet_common.c +++ b/drivers/net/ethernet/sun/sunvnet_common.c @@ -1571,7 +1571,7 @@ static void __update_mc_list(struct vnet *vp, struct net_device *dev) } if (!m) { - m = kzalloc(sizeof(*m), GFP_ATOMIC); + m = kzalloc_obj(*m, GFP_ATOMIC); if (!m) continue; memcpy(m->addr, ha->addr, ETH_ALEN); diff --git a/drivers/net/ethernet/sunplus/spl2sw_desc.c b/drivers/net/ethernet/sunplus/spl2sw_desc.c index 3f0d9f78b37d..f6b42cda693a 100644 --- a/drivers/net/ethernet/sunplus/spl2sw_desc.c +++ b/drivers/net/ethernet/sunplus/spl2sw_desc.c @@ -129,8 +129,9 @@ int spl2sw_rx_descs_init(struct spl2sw_common *comm) u32 i, j; for (i = 0; i < RX_DESC_QUEUE_NUM; i++) { - comm->rx_skb_info[i] = kcalloc(comm->rx_desc_num[i], sizeof(*rx_skbinfo), - GFP_KERNEL | GFP_DMA); + comm->rx_skb_info[i] = kzalloc_objs(*rx_skbinfo, + comm->rx_desc_num[i], + GFP_KERNEL | GFP_DMA); if (!comm->rx_skb_info[i]) goto mem_alloc_fail; diff --git a/drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c b/drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c index 589797bad1f9..cda6ee474400 100644 --- a/drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c +++ b/drivers/net/ethernet/synopsys/dwc-xlgmac-desc.c @@ -140,9 +140,8 @@ static int xlgmac_init_ring(struct xlgmac_pdata *pdata, return -ENOMEM; /* Array of descriptor data */ - ring->desc_data_head = kcalloc(dma_desc_count, - sizeof(struct xlgmac_desc_data), - GFP_KERNEL); + ring->desc_data_head = kzalloc_objs(struct xlgmac_desc_data, + dma_desc_count, GFP_KERNEL); if (!ring->desc_data_head) return -ENOMEM; @@ -234,21 +233,21 @@ static int xlgmac_alloc_channels(struct xlgmac_pdata *pdata) int ret = -ENOMEM; unsigned int i; - channel_head = kcalloc(pdata->channel_count, - sizeof(struct xlgmac_channel), GFP_KERNEL); + channel_head = kzalloc_objs(struct xlgmac_channel, pdata->channel_count, + GFP_KERNEL); if (!channel_head) return ret; netif_dbg(pdata, drv, pdata->netdev, "channel_head=%p\n", channel_head); - tx_ring = kcalloc(pdata->tx_ring_count, sizeof(struct xlgmac_ring), - GFP_KERNEL); + tx_ring = kzalloc_objs(struct xlgmac_ring, pdata->tx_ring_count, + GFP_KERNEL); if (!tx_ring) goto err_tx_ring; - rx_ring = kcalloc(pdata->rx_ring_count, sizeof(struct xlgmac_ring), - GFP_KERNEL); + rx_ring = kzalloc_objs(struct xlgmac_ring, pdata->rx_ring_count, + GFP_KERNEL); if (!rx_ring) goto err_rx_ring; diff --git a/drivers/net/ethernet/ti/am65-cpsw-switchdev.c b/drivers/net/ethernet/ti/am65-cpsw-switchdev.c index d4c56da98a6a..53cdac272b58 100644 --- a/drivers/net/ethernet/ti/am65-cpsw-switchdev.c +++ b/drivers/net/ethernet/ti/am65-cpsw-switchdev.c @@ -435,7 +435,7 @@ static int am65_cpsw_switchdev_event(struct notifier_block *unused, if (!am65_cpsw_port_dev_check(ndev)) return NOTIFY_DONE; - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (WARN_ON(!switchdev_work)) return NOTIFY_BAD; diff --git a/drivers/net/ethernet/ti/cpsw_switchdev.c b/drivers/net/ethernet/ti/cpsw_switchdev.c index ce85f7610273..7e06aac388a6 100644 --- a/drivers/net/ethernet/ti/cpsw_switchdev.c +++ b/drivers/net/ethernet/ti/cpsw_switchdev.c @@ -445,7 +445,7 @@ static int cpsw_switchdev_event(struct notifier_block *unused, if (!cpsw_port_dev_check(ndev)) return NOTIFY_DONE; - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (WARN_ON(!switchdev_work)) return NOTIFY_BAD; diff --git a/drivers/net/ethernet/ti/icssg/icssg_switchdev.c b/drivers/net/ethernet/ti/icssg/icssg_switchdev.c index 67e2927e176d..26a57be04665 100644 --- a/drivers/net/ethernet/ti/icssg/icssg_switchdev.c +++ b/drivers/net/ethernet/ti/icssg/icssg_switchdev.c @@ -193,7 +193,7 @@ static int prueth_switchdev_event(struct notifier_block *unused, return notifier_from_errno(err); } - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (WARN_ON(!switchdev_work)) return NOTIFY_BAD; diff --git a/drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c b/drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c index 07c08564386e..fa9959ad966d 100644 --- a/drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c +++ b/drivers/net/ethernet/ti/icssm/icssm_prueth_switch.c @@ -748,7 +748,7 @@ int icssm_prueth_sw_init_fdb_table(struct prueth *prueth) if (prueth->emac_configured) return 0; - prueth->fdb_tbl = kmalloc(sizeof(*prueth->fdb_tbl), GFP_KERNEL); + prueth->fdb_tbl = kmalloc_obj(*prueth->fdb_tbl, GFP_KERNEL); if (!prueth->fdb_tbl) return -ENOMEM; @@ -816,7 +816,7 @@ int icssm_prueth_sw_learn_fdb(struct prueth_emac *emac, u8 *src_mac) { struct icssm_prueth_sw_fdb_work *fdb_work; - fdb_work = kzalloc(sizeof(*fdb_work), GFP_ATOMIC); + fdb_work = kzalloc_obj(*fdb_work, GFP_ATOMIC); if (WARN_ON(!fdb_work)) return -ENOMEM; @@ -835,7 +835,7 @@ int icssm_prueth_sw_purge_fdb(struct prueth_emac *emac) { struct icssm_prueth_sw_fdb_work *fdb_work; - fdb_work = kzalloc(sizeof(*fdb_work), GFP_ATOMIC); + fdb_work = kzalloc_obj(*fdb_work, GFP_ATOMIC); if (WARN_ON(!fdb_work)) return -ENOMEM; diff --git a/drivers/net/ethernet/ti/icssm/icssm_switchdev.c b/drivers/net/ethernet/ti/icssm/icssm_switchdev.c index 414ec9fc02a0..1c48023031dc 100644 --- a/drivers/net/ethernet/ti/icssm/icssm_switchdev.c +++ b/drivers/net/ethernet/ti/icssm/icssm_switchdev.c @@ -167,7 +167,7 @@ static int icssm_prueth_sw_switchdev_event(struct notifier_block *unused, return notifier_from_errno(err); } - switchdev_work = kzalloc(sizeof(*switchdev_work), GFP_ATOMIC); + switchdev_work = kzalloc_obj(*switchdev_work, GFP_ATOMIC); if (WARN_ON(!switchdev_work)) return NOTIFY_BAD; diff --git a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c b/drivers/net/ethernet/ti/k3-cppi-desc-pool.c index 739bae8e11ee..58bb394fecdf 100644 --- a/drivers/net/ethernet/ti/k3-cppi-desc-pool.c +++ b/drivers/net/ethernet/ti/k3-cppi-desc-pool.c @@ -55,7 +55,7 @@ k3_cppi_desc_pool_create_name(struct device *dev, size_t size, const char *pool_name = NULL; int ret = -ENOMEM; - pool = kzalloc(sizeof(*pool), GFP_KERNEL); + pool = kzalloc_obj(*pool, GFP_KERNEL); if (!pool) return ERR_PTR(ret); @@ -77,8 +77,8 @@ k3_cppi_desc_pool_create_name(struct device *dev, size_t size, pool->gen_pool->name = pool_name; - pool->desc_infos = kcalloc(pool->num_desc, - sizeof(*pool->desc_infos), GFP_KERNEL); + pool->desc_infos = kzalloc_objs(*pool->desc_infos, pool->num_desc, + GFP_KERNEL); if (!pool->desc_infos) goto gen_pool_desc_infos_alloc_fail; diff --git a/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c b/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c index 4fbe4b7cd12a..67d96efcb8bc 100644 --- a/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c +++ b/drivers/net/ethernet/toshiba/ps3_gelic_wireless.c @@ -209,7 +209,7 @@ static struct gelic_eurus_cmd *gelic_eurus_sync_cmd(struct gelic_wl_info *wl, struct gelic_eurus_cmd *cmd; /* allocate cmd */ - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return NULL; @@ -2305,9 +2305,8 @@ static struct net_device *gelic_wl_alloc(struct gelic_card *card) pr_debug("%s: wl=%p port=%p\n", __func__, wl, port); /* allocate scan list */ - wl->networks = kcalloc(GELIC_WL_BSS_MAX_ENT, - sizeof(struct gelic_wl_scan_info), - GFP_KERNEL); + wl->networks = kzalloc_objs(struct gelic_wl_scan_info, + GELIC_WL_BSS_MAX_ENT, GFP_KERNEL); if (!wl->networks) goto fail_bss; diff --git a/drivers/net/ethernet/via/via-velocity.c b/drivers/net/ethernet/via/via-velocity.c index 5aa93144a4f5..f761975aeda8 100644 --- a/drivers/net/ethernet/via/via-velocity.c +++ b/drivers/net/ethernet/via/via-velocity.c @@ -1631,8 +1631,8 @@ static int velocity_init_rd_ring(struct velocity_info *vptr) { int ret = -ENOMEM; - vptr->rx.info = kcalloc(vptr->options.numrx, - sizeof(struct velocity_rd_info), GFP_KERNEL); + vptr->rx.info = kzalloc_objs(struct velocity_rd_info, + vptr->options.numrx, GFP_KERNEL); if (!vptr->rx.info) goto out; @@ -1664,9 +1664,9 @@ static int velocity_init_td_ring(struct velocity_info *vptr) /* Init the TD ring entries */ for (j = 0; j < vptr->tx.numq; j++) { - vptr->tx.infos[j] = kcalloc(vptr->options.numtx, - sizeof(struct velocity_td_info), - GFP_KERNEL); + vptr->tx.infos[j] = kzalloc_objs(struct velocity_td_info, + vptr->options.numtx, + GFP_KERNEL); if (!vptr->tx.infos[j]) { while (--j >= 0) kfree(vptr->tx.infos[j]); @@ -2304,7 +2304,7 @@ static int velocity_change_mtu(struct net_device *dev, int new_mtu) struct rx_info rx; struct tx_info tx; - tmp_vptr = kzalloc(sizeof(*tmp_vptr), GFP_KERNEL); + tmp_vptr = kzalloc_obj(*tmp_vptr, GFP_KERNEL); if (!tmp_vptr) { ret = -ENOMEM; goto out_0; diff --git a/drivers/net/ethernet/wangxun/libwx/wx_hw.c b/drivers/net/ethernet/wangxun/libwx/wx_hw.c index 58b8300e3d2c..c78e0775aeb5 100644 --- a/drivers/net/ethernet/wangxun/libwx/wx_hw.c +++ b/drivers/net/ethernet/wangxun/libwx/wx_hw.c @@ -2505,9 +2505,8 @@ int wx_sw_init(struct wx *wx) wx->rss_flags = WX_RSS_FIELD_IPV4 | WX_RSS_FIELD_IPV4_TCP | WX_RSS_FIELD_IPV6 | WX_RSS_FIELD_IPV6_TCP; - wx->mac_table = kcalloc(wx->mac.num_rar_entries, - sizeof(struct wx_mac_addr), - GFP_KERNEL); + wx->mac_table = kzalloc_objs(struct wx_mac_addr, + wx->mac.num_rar_entries, GFP_KERNEL); if (!wx->mac_table) { wx_err(wx, "mac_table allocation failed\n"); kfree(wx->rss_key); diff --git a/drivers/net/ethernet/wangxun/libwx/wx_lib.c b/drivers/net/ethernet/wangxun/libwx/wx_lib.c index b31b48d26575..00c23bebdc72 100644 --- a/drivers/net/ethernet/wangxun/libwx/wx_lib.c +++ b/drivers/net/ethernet/wangxun/libwx/wx_lib.c @@ -1905,16 +1905,14 @@ static int wx_acquire_msix_vectors(struct wx *wx) nvecs = min_t(int, nvecs, num_online_cpus()); nvecs = min_t(int, nvecs, wx->mac.max_msix_vectors); - wx->msix_q_entries = kcalloc(nvecs, sizeof(struct msix_entry), - GFP_KERNEL); + wx->msix_q_entries = kzalloc_objs(struct msix_entry, nvecs, GFP_KERNEL); if (!wx->msix_q_entries) return -ENOMEM; /* One for non-queue interrupts */ nvecs += 1; - wx->msix_entry = kcalloc(1, sizeof(struct msix_entry), - GFP_KERNEL); + wx->msix_entry = kzalloc_objs(struct msix_entry, 1, GFP_KERNEL); if (!wx->msix_entry) { kfree(wx->msix_q_entries); wx->msix_q_entries = NULL; @@ -2097,8 +2095,7 @@ static int wx_alloc_q_vector(struct wx *wx, /* note this will allocate space for the ring structure as well! */ ring_count = txr_count + rxr_count; - q_vector = kzalloc(struct_size(q_vector, ring, ring_count), - GFP_KERNEL); + q_vector = kzalloc_flex(*q_vector, ring, ring_count, GFP_KERNEL); if (!q_vector) return -ENOMEM; diff --git a/drivers/net/ethernet/wangxun/libwx/wx_mbx.c b/drivers/net/ethernet/wangxun/libwx/wx_mbx.c index 2aa03eadf064..d237814cbae5 100644 --- a/drivers/net/ethernet/wangxun/libwx/wx_mbx.c +++ b/drivers/net/ethernet/wangxun/libwx/wx_mbx.c @@ -403,8 +403,7 @@ int wx_read_mbx_vf(struct wx *wx, u32 *msg, u16 size) int wx_init_mbx_params_vf(struct wx *wx) { - wx->vfinfo = kzalloc(sizeof(struct vf_data_storage), - GFP_KERNEL); + wx->vfinfo = kzalloc_obj(struct vf_data_storage, GFP_KERNEL); if (!wx->vfinfo) return -ENOMEM; diff --git a/drivers/net/ethernet/wangxun/libwx/wx_sriov.c b/drivers/net/ethernet/wangxun/libwx/wx_sriov.c index 493da5fffdb6..70a5b00eb353 100644 --- a/drivers/net/ethernet/wangxun/libwx/wx_sriov.c +++ b/drivers/net/ethernet/wangxun/libwx/wx_sriov.c @@ -32,8 +32,7 @@ static int wx_alloc_vf_macvlans(struct wx *wx, u8 num_vfs) if (!num_vf_macvlans) return -EINVAL; - mv_list = kcalloc(num_vf_macvlans, sizeof(struct vf_macvlans), - GFP_KERNEL); + mv_list = kzalloc_objs(struct vf_macvlans, num_vf_macvlans, GFP_KERNEL); if (!mv_list) return -ENOMEM; @@ -88,8 +87,7 @@ static int __wx_enable_sriov(struct wx *wx, u8 num_vfs) wx->ring_feature[RING_F_VMDQ].limit = 1; wx->ring_feature[RING_F_VMDQ].offset = num_vfs; - wx->vfinfo = kcalloc(num_vfs, sizeof(struct vf_data_storage), - GFP_KERNEL); + wx->vfinfo = kzalloc_objs(struct vf_data_storage, num_vfs, GFP_KERNEL); if (!wx->vfinfo) return -ENOMEM; diff --git a/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c b/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c index 662f28bdde8a..d42fd6d8d9c8 100644 --- a/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c +++ b/drivers/net/ethernet/wangxun/ngbe/ngbe_ethtool.c @@ -81,7 +81,7 @@ static int ngbe_set_ringparam(struct net_device *netdev, /* allocate temporary buffer to store rings in */ i = max_t(int, wx->num_tx_queues, wx->num_rx_queues); - temp_ring = kvmalloc_array(i, sizeof(struct wx_ring), GFP_KERNEL); + temp_ring = kvmalloc_objs(struct wx_ring, i, GFP_KERNEL); if (!temp_ring) { err = -ENOMEM; goto clear_reset; diff --git a/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c b/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c index 59d758acccf0..cc0ebc3d030a 100644 --- a/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c +++ b/drivers/net/ethernet/wangxun/txgbe/txgbe_ethtool.c @@ -73,7 +73,7 @@ static int txgbe_set_ringparam(struct net_device *netdev, /* allocate temporary buffer to store rings in */ i = max_t(int, wx->num_tx_queues, wx->num_rx_queues); - temp_ring = kvmalloc_array(i, sizeof(struct wx_ring), GFP_KERNEL); + temp_ring = kvmalloc_objs(struct wx_ring, i, GFP_KERNEL); if (!temp_ring) { err = -ENOMEM; goto clear_reset; @@ -390,7 +390,7 @@ static int txgbe_add_ethtool_fdir_entry(struct txgbe *txgbe, return -EINVAL; } - input = kzalloc(sizeof(*input), GFP_ATOMIC); + input = kzalloc_obj(*input, GFP_ATOMIC); if (!input) return -ENOMEM; diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c index 998bacd508b8..8980c965b5fd 100644 --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c @@ -1542,14 +1542,14 @@ static int axienet_init_dmaengine(struct net_device *ndev) lp->tx_ring_head = 0; lp->rx_ring_tail = 0; lp->rx_ring_head = 0; - lp->tx_skb_ring = kcalloc(TX_BD_NUM_MAX, sizeof(*lp->tx_skb_ring), - GFP_KERNEL); + lp->tx_skb_ring = kzalloc_objs(*lp->tx_skb_ring, TX_BD_NUM_MAX, + GFP_KERNEL); if (!lp->tx_skb_ring) { ret = -ENOMEM; goto err_dma_release_rx; } for (i = 0; i < TX_BD_NUM_MAX; i++) { - skbuf_dma = kzalloc(sizeof(*skbuf_dma), GFP_KERNEL); + skbuf_dma = kzalloc_obj(*skbuf_dma, GFP_KERNEL); if (!skbuf_dma) { ret = -ENOMEM; goto err_free_tx_skb_ring; @@ -1557,14 +1557,14 @@ static int axienet_init_dmaengine(struct net_device *ndev) lp->tx_skb_ring[i] = skbuf_dma; } - lp->rx_skb_ring = kcalloc(RX_BUF_NUM_DEFAULT, sizeof(*lp->rx_skb_ring), - GFP_KERNEL); + lp->rx_skb_ring = kzalloc_objs(*lp->rx_skb_ring, RX_BUF_NUM_DEFAULT, + GFP_KERNEL); if (!lp->rx_skb_ring) { ret = -ENOMEM; goto err_free_tx_skb_ring; } for (i = 0; i < RX_BUF_NUM_DEFAULT; i++) { - skbuf_dma = kzalloc(sizeof(*skbuf_dma), GFP_KERNEL); + skbuf_dma = kzalloc_obj(*skbuf_dma, GFP_KERNEL); if (!skbuf_dma) { ret = -ENOMEM; goto err_free_rx_skb_ring; diff --git a/drivers/net/fjes/fjes_hw.c b/drivers/net/fjes/fjes_hw.c index 5ad2673f213d..db40667413b4 100644 --- a/drivers/net/fjes/fjes_hw.c +++ b/drivers/net/fjes/fjes_hw.c @@ -212,8 +212,7 @@ static int fjes_hw_setup(struct fjes_hw *hw) hw->hw_info.max_epid = &hw->max_epid; hw->hw_info.my_epid = &hw->my_epid; - buf = kcalloc(hw->max_epid, sizeof(struct ep_share_mem_info), - GFP_KERNEL); + buf = kzalloc_objs(struct ep_share_mem_info, hw->max_epid, GFP_KERNEL); if (!buf) return -ENOMEM; diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index 0949d4579171..d482e5512fa8 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c @@ -980,7 +980,7 @@ static struct geneve_sock *geneve_socket_create(struct net *net, __be16 port, struct udp_tunnel_sock_cfg tunnel_cfg; int h; - gs = kzalloc(sizeof(*gs), GFP_KERNEL); + gs = kzalloc_obj(*gs, GFP_KERNEL); if (!gs) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c index 4213c3b2d532..e8949f556209 100644 --- a/drivers/net/gtp.c +++ b/drivers/net/gtp.c @@ -1623,13 +1623,13 @@ static int gtp_hashtable_new(struct gtp_dev *gtp, int hsize) { int i; - gtp->addr_hash = kmalloc_array(hsize, sizeof(struct hlist_head), - GFP_KERNEL | __GFP_NOWARN); + gtp->addr_hash = kmalloc_objs(struct hlist_head, hsize, + GFP_KERNEL | __GFP_NOWARN); if (gtp->addr_hash == NULL) return -ENOMEM; - gtp->tid_hash = kmalloc_array(hsize, sizeof(struct hlist_head), - GFP_KERNEL | __GFP_NOWARN); + gtp->tid_hash = kmalloc_objs(struct hlist_head, hsize, + GFP_KERNEL | __GFP_NOWARN); if (gtp->tid_hash == NULL) goto err1; @@ -1917,7 +1917,7 @@ static struct pdp_ctx *gtp_pdp_add(struct gtp_dev *gtp, struct sock *sk, } - pctx = kmalloc(sizeof(*pctx), GFP_ATOMIC); + pctx = kmalloc_obj(*pctx, GFP_ATOMIC); if (pctx == NULL) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/hamradio/yam.c b/drivers/net/hamradio/yam.c index f29997b20fd7..16220b740b8e 100644 --- a/drivers/net/hamradio/yam.c +++ b/drivers/net/hamradio/yam.c @@ -386,7 +386,7 @@ static unsigned char *add_mcs(unsigned char *bits, int bitrate, } /* Allocate a new mcs */ - if ((p = kmalloc(sizeof(struct yam_mcs), GFP_KERNEL)) == NULL) { + if ((p = kmalloc_obj(struct yam_mcs, GFP_KERNEL)) == NULL) { release_firmware(fw); return NULL; } diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c index 60a4629fe6ba..d9fa2fc4c43c 100644 --- a/drivers/net/hyperv/netvsc.c +++ b/drivers/net/hyperv/netvsc.c @@ -129,7 +129,7 @@ static struct netvsc_device *alloc_net_device(void) { struct netvsc_device *net_device; - net_device = kzalloc(sizeof(struct netvsc_device), GFP_KERNEL); + net_device = kzalloc_obj(struct netvsc_device, GFP_KERNEL); if (!net_device) return NULL; @@ -1025,9 +1025,8 @@ static int netvsc_dma_map(struct hv_device *hv_dev, if (!hv_is_isolation_supported()) return 0; - packet->dma_range = kcalloc(page_count, - sizeof(*packet->dma_range), - GFP_ATOMIC); + packet->dma_range = kzalloc_objs(*packet->dma_range, page_count, + GFP_ATOMIC); if (!packet->dma_range) return -ENOMEM; diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index cbd52cb79268..1a3f2a35519f 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -712,7 +712,7 @@ void netvsc_linkstatus_callback(struct net_device *net, if (net->reg_state != NETREG_REGISTERED) return; - event = kzalloc(sizeof(*event), GFP_ATOMIC); + event = kzalloc_obj(*event, GFP_ATOMIC); if (!event) return; event->event = indicate->status; @@ -931,7 +931,7 @@ struct netvsc_device_info *netvsc_devinfo_get(struct netvsc_device *nvdev) struct netvsc_device_info *dev_info; struct bpf_prog *prog; - dev_info = kzalloc(sizeof(*dev_info), GFP_ATOMIC); + dev_info = kzalloc_obj(*dev_info, GFP_ATOMIC); if (!dev_info) return NULL; @@ -1524,9 +1524,8 @@ static void netvsc_get_ethtool_stats(struct net_device *dev, data[i++] = xdp_tx; } - pcpu_sum = kvmalloc_array(nr_cpu_ids, - sizeof(struct netvsc_ethtool_pcpu_stats), - GFP_KERNEL); + pcpu_sum = kvmalloc_objs(struct netvsc_ethtool_pcpu_stats, nr_cpu_ids, + GFP_KERNEL); if (!pcpu_sum) return; diff --git a/drivers/net/hyperv/rndis_filter.c b/drivers/net/hyperv/rndis_filter.c index c35f9685b6bf..2fa77dc21d7e 100644 --- a/drivers/net/hyperv/rndis_filter.c +++ b/drivers/net/hyperv/rndis_filter.c @@ -64,7 +64,7 @@ static struct rndis_device *get_rndis_device(void) { struct rndis_device *device; - device = kzalloc(sizeof(struct rndis_device), GFP_KERNEL); + device = kzalloc_obj(struct rndis_device, GFP_KERNEL); if (!device) return NULL; @@ -87,7 +87,7 @@ static struct rndis_request *get_rndis_request(struct rndis_device *dev, struct rndis_set_request *set; unsigned long flags; - request = kzalloc(sizeof(struct rndis_request), GFP_KERNEL); + request = kzalloc_obj(struct rndis_request, GFP_KERNEL); if (!request) return NULL; diff --git a/drivers/net/ieee802154/at86rf230.c b/drivers/net/ieee802154/at86rf230.c index fd91f8a45bce..6156cf379916 100644 --- a/drivers/net/ieee802154/at86rf230.c +++ b/drivers/net/ieee802154/at86rf230.c @@ -788,7 +788,7 @@ static irqreturn_t at86rf230_isr(int irq, void *data) disable_irq_nosync(irq); - ctx = kzalloc(sizeof(*ctx), GFP_ATOMIC); + ctx = kzalloc_obj(*ctx, GFP_ATOMIC); if (!ctx) { enable_irq(irq); return IRQ_NONE; diff --git a/drivers/net/ieee802154/ca8210.c b/drivers/net/ieee802154/ca8210.c index ebc4f1b18e7b..bb3ff9ce06b2 100644 --- a/drivers/net/ieee802154/ca8210.c +++ b/drivers/net/ieee802154/ca8210.c @@ -720,8 +720,8 @@ static void ca8210_rx_done(struct cas_control *cas_ctl) &priv->spi->dev, "Resetting MAC...\n"); - mlme_reset_wpc = kmalloc(sizeof(*mlme_reset_wpc), - GFP_KERNEL); + mlme_reset_wpc = kmalloc_obj(*mlme_reset_wpc, + GFP_KERNEL); if (!mlme_reset_wpc) goto finish; INIT_WORK( @@ -884,7 +884,7 @@ static int ca8210_spi_transfer( dev_dbg(&spi->dev, "%s called\n", __func__); - cas_ctl = kzalloc(sizeof(*cas_ctl), GFP_ATOMIC); + cas_ctl = kzalloc_obj(*cas_ctl, GFP_ATOMIC); if (!cas_ctl) return -ENOMEM; @@ -3067,7 +3067,7 @@ static int ca8210_probe(struct spi_device *spi_device) ca8210_hw_setup(hw); ieee802154_random_extended_addr(&hw->phy->perm_extended_addr); - pdata = kmalloc(sizeof(*pdata), GFP_KERNEL); + pdata = kmalloc_obj(*pdata, GFP_KERNEL); if (!pdata) { ret = -ENOMEM; goto error; diff --git a/drivers/net/ieee802154/mac802154_hwsim.c b/drivers/net/ieee802154/mac802154_hwsim.c index 1cab20b5a885..e449afd8e71f 100644 --- a/drivers/net/ieee802154/mac802154_hwsim.c +++ b/drivers/net/ieee802154/mac802154_hwsim.c @@ -98,7 +98,7 @@ static int hwsim_update_pib(struct ieee802154_hw *hw, u8 page, u8 channel, struct hwsim_phy *phy = hw->priv; struct hwsim_pib *pib, *pib_old; - pib = kzalloc(sizeof(*pib), GFP_ATOMIC); + pib = kzalloc_obj(*pib, GFP_ATOMIC); if (!pib) return -ENOMEM; @@ -545,11 +545,11 @@ static struct hwsim_edge *hwsim_alloc_edge(struct hwsim_phy *endpoint, u8 lqi) struct hwsim_edge_info *einfo; struct hwsim_edge *e; - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) return NULL; - einfo = kzalloc(sizeof(*einfo), GFP_KERNEL); + einfo = kzalloc_obj(*einfo, GFP_KERNEL); if (!einfo) { kfree(e); return NULL; @@ -713,7 +713,7 @@ static int hwsim_set_edge_lqi(struct sk_buff *msg, struct genl_info *info) return -ENOENT; } - einfo = kzalloc(sizeof(*einfo), GFP_KERNEL); + einfo = kzalloc_obj(*einfo, GFP_KERNEL); if (!einfo) { mutex_unlock(&hwsim_phys_lock); return -ENOMEM; @@ -946,7 +946,7 @@ static int hwsim_add_one(struct genl_info *info, struct device *dev, /* hwsim phy channel 13 as default */ hw->phy->current_channel = 13; - pib = kzalloc(sizeof(*pib), GFP_KERNEL); + pib = kzalloc_obj(*pib, GFP_KERNEL); if (!pib) { err = -ENOMEM; goto err_pib; diff --git a/drivers/net/ifb.c b/drivers/net/ifb.c index 6da801748189..4ad90264433a 100644 --- a/drivers/net/ifb.c +++ b/drivers/net/ifb.c @@ -187,7 +187,7 @@ static int ifb_dev_init(struct net_device *dev) struct ifb_q_private *txp; int i; - txp = kcalloc(dev->num_tx_queues, sizeof(*txp), GFP_KERNEL); + txp = kzalloc_objs(*txp, dev->num_tx_queues, GFP_KERNEL); if (!txp) return -ENOMEM; dp->tx_private = txp; diff --git a/drivers/net/ipa/gsi_trans.c b/drivers/net/ipa/gsi_trans.c index 19531883864a..f82484de39dd 100644 --- a/drivers/net/ipa/gsi_trans.c +++ b/drivers/net/ipa/gsi_trans.c @@ -730,8 +730,8 @@ int gsi_channel_trans_init(struct gsi *gsi, u32 channel_id) * modulo that number to determine the next one that's free. * Transactions are allocated one at a time. */ - trans_info->trans = kcalloc(tre_count, sizeof(*trans_info->trans), - GFP_KERNEL); + trans_info->trans = kzalloc_objs(*trans_info->trans, tre_count, + GFP_KERNEL); if (!trans_info->trans) return -ENOMEM; trans_info->free_id = 0; /* all modulo channel->tre_count */ @@ -746,8 +746,7 @@ int gsi_channel_trans_init(struct gsi *gsi, u32 channel_id) * Each entry in this map records the transaction associated * with a corresponding completed TRE. */ - trans_info->map = kcalloc(tre_count, sizeof(*trans_info->map), - GFP_KERNEL); + trans_info->map = kzalloc_objs(*trans_info->map, tre_count, GFP_KERNEL); if (!trans_info->map) { ret = -ENOMEM; goto err_trans_free; diff --git a/drivers/net/ipa/ipa_interrupt.c b/drivers/net/ipa/ipa_interrupt.c index 8336596b1247..9e8d75a98f05 100644 --- a/drivers/net/ipa/ipa_interrupt.c +++ b/drivers/net/ipa/ipa_interrupt.c @@ -329,7 +329,7 @@ struct ipa_interrupt *ipa_interrupt_init(struct platform_device *pdev) if (irq <= 0) return ERR_PTR(irq ? : -EINVAL); - interrupt = kzalloc(sizeof(*interrupt), GFP_KERNEL); + interrupt = kzalloc_obj(*interrupt, GFP_KERNEL); if (!interrupt) return ERR_PTR(-ENOMEM); interrupt->irq = irq; diff --git a/drivers/net/ipa/ipa_main.c b/drivers/net/ipa/ipa_main.c index 95a61bae3124..d09b4723f26c 100644 --- a/drivers/net/ipa/ipa_main.c +++ b/drivers/net/ipa/ipa_main.c @@ -830,7 +830,7 @@ static int ipa_probe(struct platform_device *pdev) } /* No more EPROBE_DEFER. Allocate and initialize the IPA structure */ - ipa = kzalloc(sizeof(*ipa), GFP_KERNEL); + ipa = kzalloc_obj(*ipa, GFP_KERNEL); if (!ipa) { ret = -ENOMEM; goto err_power_exit; diff --git a/drivers/net/ipa/ipa_smp2p.c b/drivers/net/ipa/ipa_smp2p.c index 420098796eec..e96bdd9b68a8 100644 --- a/drivers/net/ipa/ipa_smp2p.c +++ b/drivers/net/ipa/ipa_smp2p.c @@ -242,7 +242,7 @@ ipa_smp2p_init(struct ipa *ipa, struct platform_device *pdev, bool modem_init) if (enabled_bit >= 32) /* BITS_PER_U32 */ return -EINVAL; - smp2p = kzalloc(sizeof(*smp2p), GFP_KERNEL); + smp2p = kzalloc_obj(*smp2p, GFP_KERNEL); if (!smp2p) return -ENOMEM; diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c index baccdad695fd..6f4ea2234ccb 100644 --- a/drivers/net/ipvlan/ipvlan_main.c +++ b/drivers/net/ipvlan/ipvlan_main.c @@ -64,7 +64,7 @@ static int ipvlan_port_create(struct net_device *dev) struct ipvl_port *port; int err, idx; - port = kzalloc(sizeof(struct ipvl_port), GFP_KERNEL); + port = kzalloc_obj(struct ipvl_port, GFP_KERNEL); if (!port) return -ENOMEM; @@ -820,7 +820,7 @@ static int ipvlan_add_addr(struct ipvl_dev *ipvlan, void *iaddr, bool is_v6) assert_spin_locked(&ipvlan->port->addrs_lock); - addr = kzalloc(sizeof(struct ipvl_addr), GFP_ATOMIC); + addr = kzalloc_obj(struct ipvl_addr, GFP_ATOMIC); if (!addr) return -ENOMEM; diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c index c2cb2d20976b..1b523a56e7da 100644 --- a/drivers/net/macsec.c +++ b/drivers/net/macsec.c @@ -1465,7 +1465,7 @@ static struct macsec_rx_sc *create_rx_sc(struct net_device *dev, sci_t sci, return ERR_PTR(-EEXIST); } - rx_sc = kzalloc(sizeof(*rx_sc), GFP_KERNEL); + rx_sc = kzalloc_obj(*rx_sc, GFP_KERNEL); if (!rx_sc) return ERR_PTR(-ENOMEM); @@ -1797,7 +1797,7 @@ static int macsec_add_rxsa(struct sk_buff *skb, struct genl_info *info) return -EBUSY; } - rx_sa = kmalloc(sizeof(*rx_sa), GFP_KERNEL); + rx_sa = kmalloc_obj(*rx_sa, GFP_KERNEL); if (!rx_sa) { rtnl_unlock(); return -ENOMEM; @@ -2005,7 +2005,7 @@ static int macsec_add_txsa(struct sk_buff *skb, struct genl_info *info) return -EBUSY; } - tx_sa = kmalloc(sizeof(*tx_sa), GFP_KERNEL); + tx_sa = kmalloc_obj(*tx_sa, GFP_KERNEL); if (!tx_sa) { rtnl_unlock(); return -ENOMEM; @@ -4013,7 +4013,7 @@ static int register_macsec_dev(struct net_device *real_dev, if (!rxd) { int err; - rxd = kmalloc(sizeof(*rxd), GFP_KERNEL); + rxd = kmalloc_obj(*rxd, GFP_KERNEL); if (!rxd) return -ENOMEM; diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 4433b8e95b6a..1b4e327e26e1 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c @@ -163,7 +163,7 @@ static int macvlan_hash_add_source(struct macvlan_dev *vlan, if (entry) return 0; - entry = kmalloc(sizeof(*entry), GFP_KERNEL); + entry = kmalloc_obj(*entry, GFP_KERNEL); if (!entry) return -ENOMEM; @@ -1131,7 +1131,7 @@ static int macvlan_dev_netpoll_setup(struct net_device *dev) struct netpoll *netpoll; int err; - netpoll = kzalloc(sizeof(*netpoll), GFP_KERNEL); + netpoll = kzalloc_obj(*netpoll, GFP_KERNEL); err = -ENOMEM; if (!netpoll) goto out; @@ -1249,7 +1249,7 @@ static int macvlan_port_create(struct net_device *dev) if (netdev_is_rx_handler_busy(dev)) return -EBUSY; - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); if (port == NULL) return -ENOMEM; diff --git a/drivers/net/mctp/mctp-i2c.c b/drivers/net/mctp/mctp-i2c.c index 8043b57bdf25..03f51a66933c 100644 --- a/drivers/net/mctp/mctp-i2c.c +++ b/drivers/net/mctp/mctp-i2c.c @@ -154,7 +154,7 @@ static struct mctp_i2c_client *mctp_i2c_new_client(struct i2c_client *client) goto err; } - mcli = kzalloc(sizeof(*mcli), GFP_KERNEL); + mcli = kzalloc_obj(*mcli, GFP_KERNEL); if (!mcli) { rc = -ENOMEM; goto err; diff --git a/drivers/net/mctp/mctp-i3c.c b/drivers/net/mctp/mctp-i3c.c index 36c2405677c2..0814b65c2843 100644 --- a/drivers/net/mctp/mctp-i3c.c +++ b/drivers/net/mctp/mctp-i3c.c @@ -259,7 +259,7 @@ __must_hold(&busdevs_lock) struct mctp_i3c_device *mi = NULL; int rc; - mi = kzalloc(sizeof(*mi), GFP_KERNEL); + mi = kzalloc_obj(*mi, GFP_KERNEL); if (!mi) { rc = -ENOMEM; goto err; diff --git a/drivers/net/netconsole.c b/drivers/net/netconsole.c index d144787b2947..73604c019b25 100644 --- a/drivers/net/netconsole.c +++ b/drivers/net/netconsole.c @@ -348,7 +348,7 @@ static struct netconsole_target *alloc_and_init(void) { struct netconsole_target *nt; - nt = kzalloc(sizeof(*nt), GFP_KERNEL); + nt = kzalloc_obj(*nt, GFP_KERNEL); if (!nt) return nt; @@ -1270,7 +1270,7 @@ static struct config_item *userdatum_make_item(struct config_group *group, if (count_userdata_entries(nt) >= MAX_USERDATA_ITEMS) return ERR_PTR(-ENOSPC); - udm = kzalloc(sizeof(*udm), GFP_KERNEL); + udm = kzalloc_obj(*udm, GFP_KERNEL); if (!udm) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/netdevsim/bpf.c b/drivers/net/netdevsim/bpf.c index 5f17f68f3c08..badf08add94f 100644 --- a/drivers/net/netdevsim/bpf.c +++ b/drivers/net/netdevsim/bpf.c @@ -222,7 +222,7 @@ static int nsim_bpf_create_prog(struct nsim_dev *nsim_dev, char name[16]; int ret; - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return -ENOMEM; @@ -501,7 +501,7 @@ nsim_bpf_map_alloc(struct netdevsim *ns, struct bpf_offloaded_map *offmap) if (offmap->map.map_flags) return -EINVAL; - nmap = kzalloc(sizeof(*nmap), GFP_KERNEL_ACCOUNT); + nmap = kzalloc_obj(*nmap, GFP_KERNEL_ACCOUNT); if (!nmap) return -ENOMEM; diff --git a/drivers/net/netdevsim/bus.c b/drivers/net/netdevsim/bus.c index d16b95304aa7..8de96fe6c02a 100644 --- a/drivers/net/netdevsim/bus.c +++ b/drivers/net/netdevsim/bus.c @@ -451,7 +451,7 @@ nsim_bus_dev_new(unsigned int id, unsigned int port_count, unsigned int num_queu struct nsim_bus_dev *nsim_bus_dev; int err; - nsim_bus_dev = kzalloc(sizeof(*nsim_bus_dev), GFP_KERNEL); + nsim_bus_dev = kzalloc_obj(*nsim_bus_dev, GFP_KERNEL); if (!nsim_bus_dev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c index f7b32446d3b8..a227c0b9fe4c 100644 --- a/drivers/net/netdevsim/dev.c +++ b/drivers/net/netdevsim/dev.c @@ -267,8 +267,8 @@ static ssize_t nsim_bus_dev_max_vfs_write(struct file *file, if (val > NSIM_DEV_VF_PORT_INDEX_MAX - NSIM_DEV_VF_PORT_INDEX_BASE) return -ERANGE; - vfconfigs = kcalloc(val, sizeof(struct nsim_vf_config), - GFP_KERNEL | __GFP_NOWARN); + vfconfigs = kzalloc_objs(struct nsim_vf_config, val, + GFP_KERNEL | __GFP_NOWARN); if (!vfconfigs) return -ENOMEM; @@ -935,13 +935,13 @@ static int nsim_dev_traps_init(struct devlink *devlink) struct nsim_trap_data *nsim_trap_data; int err; - nsim_trap_data = kzalloc(sizeof(*nsim_trap_data), GFP_KERNEL); + nsim_trap_data = kzalloc_obj(*nsim_trap_data, GFP_KERNEL); if (!nsim_trap_data) return -ENOMEM; - nsim_trap_data->trap_items_arr = kcalloc(ARRAY_SIZE(nsim_traps_arr), - sizeof(struct nsim_trap_item), - GFP_KERNEL); + nsim_trap_data->trap_items_arr = kzalloc_objs(struct nsim_trap_item, + ARRAY_SIZE(nsim_traps_arr), + GFP_KERNEL); if (!nsim_trap_data->trap_items_arr) { err = -ENOMEM; goto err_trap_data_free; @@ -1348,7 +1348,7 @@ static int nsim_rate_node_new(struct devlink_rate *node, void **priv, return -EOPNOTSUPP; } - nsim_node = kzalloc(sizeof(*nsim_node), GFP_KERNEL); + nsim_node = kzalloc_obj(*nsim_node, GFP_KERNEL); if (!nsim_node) return -ENOMEM; @@ -1464,7 +1464,7 @@ static int __nsim_dev_port_add(struct nsim_dev *nsim_dev, enum nsim_dev_port_typ if (type == NSIM_DEV_PORT_TYPE_VF && !nsim_dev_get_vfs(nsim_dev)) return -EINVAL; - nsim_dev_port = kzalloc(sizeof(*nsim_dev_port), GFP_KERNEL); + nsim_dev_port = kzalloc_obj(*nsim_dev_port, GFP_KERNEL); if (!nsim_dev_port) return -ENOMEM; nsim_dev_port->port_index = nsim_dev_port_index(type, port_index); @@ -1652,9 +1652,9 @@ int nsim_drv_probe(struct nsim_bus_dev *nsim_bus_dev) dev_set_drvdata(&nsim_bus_dev->dev, nsim_dev); - nsim_dev->vfconfigs = kcalloc(nsim_bus_dev->max_vfs, - sizeof(struct nsim_vf_config), - GFP_KERNEL | __GFP_NOWARN); + nsim_dev->vfconfigs = kzalloc_objs(struct nsim_vf_config, + nsim_bus_dev->max_vfs, + GFP_KERNEL | __GFP_NOWARN); if (!nsim_dev->vfconfigs) { err = -ENOMEM; goto err_devlink_unlock; diff --git a/drivers/net/netdevsim/fib.c b/drivers/net/netdevsim/fib.c index 16c382c42227..b1292a8c0ef1 100644 --- a/drivers/net/netdevsim/fib.c +++ b/drivers/net/netdevsim/fib.c @@ -277,7 +277,7 @@ nsim_fib4_rt_create(struct nsim_fib_data *data, { struct nsim_fib4_rt *fib4_rt; - fib4_rt = kzalloc(sizeof(*fib4_rt), GFP_KERNEL); + fib4_rt = kzalloc_obj(*fib4_rt, GFP_KERNEL); if (!fib4_rt) return NULL; @@ -497,7 +497,7 @@ static int nsim_fib6_rt_nh_add(struct nsim_fib6_rt *fib6_rt, { struct nsim_fib6_rt_nh *fib6_rt_nh; - fib6_rt_nh = kzalloc(sizeof(*fib6_rt_nh), GFP_KERNEL); + fib6_rt_nh = kzalloc_obj(*fib6_rt_nh, GFP_KERNEL); if (!fib6_rt_nh) return -ENOMEM; @@ -544,7 +544,7 @@ nsim_fib6_rt_create(struct nsim_fib_data *data, int i = 0; int err; - fib6_rt = kzalloc(sizeof(*fib6_rt), GFP_KERNEL); + fib6_rt = kzalloc_obj(*fib6_rt, GFP_KERNEL); if (!fib6_rt) return ERR_PTR(-ENOMEM); @@ -807,7 +807,7 @@ static int nsim_fib6_event_init(struct nsim_fib6_event *fib6_event, nrt6 = fen6_info->nsiblings + 1; - rt_arr = kcalloc(nrt6, sizeof(struct fib6_info *), GFP_ATOMIC); + rt_arr = kzalloc_objs(struct fib6_info *, nrt6, GFP_ATOMIC); if (!rt_arr) return -ENOMEM; @@ -987,7 +987,7 @@ static int nsim_fib_event_schedule_work(struct nsim_fib_data *data, */ return NOTIFY_DONE; - fib_event = kzalloc(sizeof(*fib_event), GFP_ATOMIC); + fib_event = kzalloc_obj(*fib_event, GFP_ATOMIC); if (!fib_event) goto err_fib_event_alloc; @@ -1116,7 +1116,7 @@ static struct nsim_nexthop *nsim_nexthop_create(struct nsim_fib_data *data, u64 occ = 0; int i; - nexthop = kzalloc(sizeof(*nexthop), GFP_KERNEL); + nexthop = kzalloc_obj(*nexthop, GFP_KERNEL); if (!nexthop) return ERR_PTR(-ENOMEM); @@ -1556,7 +1556,7 @@ struct nsim_fib_data *nsim_fib_create(struct devlink *devlink, struct nsim_dev *nsim_dev; int err; - data = kzalloc(sizeof(*data), GFP_KERNEL); + data = kzalloc_obj(*data, GFP_KERNEL); if (!data) return ERR_PTR(-ENOMEM); data->devlink = devlink; diff --git a/drivers/net/netdevsim/hwstats.c b/drivers/net/netdevsim/hwstats.c index 1abe48e35ca3..57b782aa1046 100644 --- a/drivers/net/netdevsim/hwstats.c +++ b/drivers/net/netdevsim/hwstats.c @@ -238,7 +238,7 @@ nsim_dev_hwstats_enable_ifindex(struct nsim_dev_hwstats *hwstats, goto out_unlock_list; } - hwsdev = kzalloc(sizeof(*hwsdev), GFP_KERNEL); + hwsdev = kzalloc_obj(*hwsdev, GFP_KERNEL); if (!hwsdev) { err = -ENOMEM; goto out_put_netdev; diff --git a/drivers/net/netdevsim/netdev.c b/drivers/net/netdevsim/netdev.c index 6285fbefe38a..5ec028a00c62 100644 --- a/drivers/net/netdevsim/netdev.c +++ b/drivers/net/netdevsim/netdev.c @@ -723,7 +723,7 @@ static struct nsim_rq *nsim_queue_alloc(void) { struct nsim_rq *rq; - rq = kzalloc(sizeof(*rq), GFP_KERNEL_ACCOUNT); + rq = kzalloc_obj(*rq, GFP_KERNEL_ACCOUNT); if (!rq) return NULL; @@ -997,8 +997,7 @@ static int nsim_queue_init(struct netdevsim *ns) struct net_device *dev = ns->netdev; int i; - ns->rq = kcalloc(dev->num_rx_queues, sizeof(*ns->rq), - GFP_KERNEL_ACCOUNT); + ns->rq = kzalloc_objs(*ns->rq, dev->num_rx_queues, GFP_KERNEL_ACCOUNT); if (!ns->rq) return -ENOMEM; diff --git a/drivers/net/netdevsim/psample.c b/drivers/net/netdevsim/psample.c index f0c6477dd0ae..39250b9d201f 100644 --- a/drivers/net/netdevsim/psample.c +++ b/drivers/net/netdevsim/psample.c @@ -200,7 +200,7 @@ int nsim_dev_psample_init(struct nsim_dev *nsim_dev) struct nsim_dev_psample *psample; int err; - psample = kzalloc(sizeof(*psample), GFP_KERNEL); + psample = kzalloc_obj(*psample, GFP_KERNEL); if (!psample) return -ENOMEM; nsim_dev->psample = psample; diff --git a/drivers/net/netkit.c b/drivers/net/netkit.c index 0a2fef7caccb..5c0e01396e06 100644 --- a/drivers/net/netkit.c +++ b/drivers/net/netkit.c @@ -796,7 +796,7 @@ int netkit_link_attach(const union bpf_attr *attr, struct bpf_prog *prog) ret = PTR_ERR(dev); goto out; } - nkl = kzalloc(sizeof(*nkl), GFP_KERNEL_ACCOUNT); + nkl = kzalloc_obj(*nkl, GFP_KERNEL_ACCOUNT); if (!nkl) { ret = -ENOMEM; goto out; diff --git a/drivers/net/ovpn/bind.c b/drivers/net/ovpn/bind.c index 24d2788a277e..e42b60cd04a9 100644 --- a/drivers/net/ovpn/bind.c +++ b/drivers/net/ovpn/bind.c @@ -32,7 +32,7 @@ struct ovpn_bind *ovpn_bind_from_sockaddr(const struct sockaddr_storage *ss) else return ERR_PTR(-EAFNOSUPPORT); - bind = kzalloc(sizeof(*bind), GFP_ATOMIC); + bind = kzalloc_obj(*bind, GFP_ATOMIC); if (unlikely(!bind)) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ovpn/crypto_aead.c b/drivers/net/ovpn/crypto_aead.c index 2cca759feffa..de335ab81948 100644 --- a/drivers/net/ovpn/crypto_aead.c +++ b/drivers/net/ovpn/crypto_aead.c @@ -328,7 +328,7 @@ ovpn_aead_crypto_key_slot_new(const struct ovpn_key_config *kc) return ERR_PTR(-EINVAL); /* build the key slot */ - ks = kmalloc(sizeof(*ks), GFP_KERNEL); + ks = kmalloc_obj(*ks, GFP_KERNEL); if (!ks) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ovpn/main.c b/drivers/net/ovpn/main.c index 1bb1afe766a4..4554b0f8a409 100644 --- a/drivers/net/ovpn/main.c +++ b/drivers/net/ovpn/main.c @@ -57,7 +57,7 @@ static int ovpn_mp_alloc(struct ovpn_priv *ovpn) /* the peer container is fairly large, therefore we allocate it only in * MP mode */ - ovpn->peers = kzalloc(sizeof(*ovpn->peers), GFP_KERNEL); + ovpn->peers = kzalloc_obj(*ovpn->peers, GFP_KERNEL); if (!ovpn->peers) return -ENOMEM; diff --git a/drivers/net/ovpn/peer.c b/drivers/net/ovpn/peer.c index 0463b5b0542f..bac34068f0fc 100644 --- a/drivers/net/ovpn/peer.c +++ b/drivers/net/ovpn/peer.c @@ -95,7 +95,7 @@ struct ovpn_peer *ovpn_peer_new(struct ovpn_priv *ovpn, u32 id) int ret; /* alloc and init peer object */ - peer = kzalloc(sizeof(*peer), GFP_KERNEL); + peer = kzalloc_obj(*peer, GFP_KERNEL); if (!peer) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ovpn/socket.c b/drivers/net/ovpn/socket.c index 448cee3b3f9f..7be493f78440 100644 --- a/drivers/net/ovpn/socket.c +++ b/drivers/net/ovpn/socket.c @@ -191,7 +191,7 @@ struct ovpn_socket *ovpn_socket_new(struct socket *sock, struct ovpn_peer *peer) /* socket is not owned: attach to this ovpn instance */ - ovpn_sock = kzalloc(sizeof(*ovpn_sock), GFP_KERNEL); + ovpn_sock = kzalloc_obj(*ovpn_sock, GFP_KERNEL); if (!ovpn_sock) { ovpn_sock = ERR_PTR(-ENOMEM); goto sock_release; diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c index 73e1364ad1ed..abf521f063cf 100644 --- a/drivers/net/pcs/pcs-lynx.c +++ b/drivers/net/pcs/pcs-lynx.c @@ -288,7 +288,7 @@ static struct phylink_pcs *lynx_pcs_create(struct mdio_device *mdio) struct lynx_pcs *lynx; int i; - lynx = kzalloc(sizeof(*lynx), GFP_KERNEL); + lynx = kzalloc_obj(*lynx, GFP_KERNEL); if (!lynx) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/pcs/pcs-mtk-lynxi.c b/drivers/net/pcs/pcs-mtk-lynxi.c index 44006bb6ac0b..5587d572dcbc 100644 --- a/drivers/net/pcs/pcs-mtk-lynxi.c +++ b/drivers/net/pcs/pcs-mtk-lynxi.c @@ -334,7 +334,7 @@ struct phylink_pcs *mtk_pcs_lynxi_create(struct device *dev, dev_dbg(dev, "MediaTek LynxI SGMII PCS (id 0x%08x, ver 0x%04x)\n", id, ver); - mpcs = kzalloc(sizeof(*mpcs), GFP_KERNEL); + mpcs = kzalloc_obj(*mpcs, GFP_KERNEL); if (!mpcs) return NULL; diff --git a/drivers/net/pcs/pcs-rzn1-miic.c b/drivers/net/pcs/pcs-rzn1-miic.c index 8d7f82c1df2f..4de8c426787e 100644 --- a/drivers/net/pcs/pcs-rzn1-miic.c +++ b/drivers/net/pcs/pcs-rzn1-miic.c @@ -487,7 +487,7 @@ struct phylink_pcs *miic_create(struct device *dev, struct device_node *np) return ERR_PTR(-EINVAL); } - miic_port = kzalloc(sizeof(*miic_port), GFP_KERNEL); + miic_port = kzalloc_obj(*miic_port, GFP_KERNEL); if (!miic_port) { put_device(&pdev->dev); return ERR_PTR(-ENOMEM); @@ -679,8 +679,8 @@ static int miic_parse_dt(struct miic *miic, u32 *mode_cfg) s8 *dt_val; u32 conf; - dt_val = kmalloc_array(miic->of_data->conf_conv_count, - sizeof(*dt_val), GFP_KERNEL); + dt_val = kmalloc_objs(*dt_val, miic->of_data->conf_conv_count, + GFP_KERNEL); if (!dt_val) return -ENOMEM; diff --git a/drivers/net/pcs/pcs-xpcs.c b/drivers/net/pcs/pcs-xpcs.c index 9679f2b35a44..8566e6ad64e9 100644 --- a/drivers/net/pcs/pcs-xpcs.c +++ b/drivers/net/pcs/pcs-xpcs.c @@ -1528,7 +1528,7 @@ static struct dw_xpcs *xpcs_create_data(struct mdio_device *mdiodev) { struct dw_xpcs *xpcs; - xpcs = kzalloc(sizeof(*xpcs), GFP_KERNEL); + xpcs = kzalloc_obj(*xpcs, GFP_KERNEL); if (!xpcs) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/phy/as21xxx.c b/drivers/net/phy/as21xxx.c index 005277360656..d3954ea6b1dd 100644 --- a/drivers/net/phy/as21xxx.c +++ b/drivers/net/phy/as21xxx.c @@ -907,7 +907,7 @@ static int as21xxx_match_phy_device(struct phy_device *phydev, return phy_id == phydrv->phy_id; /* Allocate temp priv and load the firmware */ - priv = kzalloc(sizeof(*priv), GFP_KERNEL); + priv = kzalloc_obj(*priv, GFP_KERNEL); if (!priv) return -ENOMEM; diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c index b950acc9c49b..a56f4302840f 100644 --- a/drivers/net/phy/dp83640.c +++ b/drivers/net/phy/dp83640.c @@ -1027,13 +1027,12 @@ static struct dp83640_clock *dp83640_clock_get_bus(struct mii_bus *bus) if (clock) goto out; - clock = kzalloc(sizeof(struct dp83640_clock), GFP_KERNEL); + clock = kzalloc_obj(struct dp83640_clock, GFP_KERNEL); if (!clock) goto out; - clock->caps.pin_config = kcalloc(DP83640_N_PINS, - sizeof(struct ptp_pin_desc), - GFP_KERNEL); + clock->caps.pin_config = kzalloc_objs(struct ptp_pin_desc, + DP83640_N_PINS, GFP_KERNEL); if (!clock->caps.pin_config) { kfree(clock); clock = NULL; @@ -1412,7 +1411,7 @@ static int dp83640_probe(struct phy_device *phydev) if (!clock) goto no_clock; - dp83640 = kzalloc(sizeof(struct dp83640_private), GFP_KERNEL); + dp83640 = kzalloc_obj(struct dp83640_private, GFP_KERNEL); if (!dp83640) goto no_memory; diff --git a/drivers/net/phy/mdio_device.c b/drivers/net/phy/mdio_device.c index 65636070a222..172fbfcb215c 100644 --- a/drivers/net/phy/mdio_device.c +++ b/drivers/net/phy/mdio_device.c @@ -41,7 +41,7 @@ struct mdio_device *mdio_device_create(struct mii_bus *bus, int addr) struct mdio_device *mdiodev; /* We allocate the device, and initialize the default values */ - mdiodev = kzalloc(sizeof(*mdiodev), GFP_KERNEL); + mdiodev = kzalloc_obj(*mdiodev, GFP_KERNEL); if (!mdiodev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c index 663dcdc92204..5ef9248c6b49 100644 --- a/drivers/net/phy/micrel.c +++ b/drivers/net/phy/micrel.c @@ -4114,7 +4114,7 @@ static void lan8814_get_rx_ts(struct kszphy_ptp_priv *ptp_priv) u32 reg; do { - rx_ts = kzalloc(sizeof(*rx_ts), GFP_KERNEL); + rx_ts = kzalloc_obj(*rx_ts, GFP_KERNEL); if (!rx_ts) return; diff --git a/drivers/net/phy/microchip_rds_ptp.c b/drivers/net/phy/microchip_rds_ptp.c index f5f2928e705f..9307df6f6d11 100644 --- a/drivers/net/phy/microchip_rds_ptp.c +++ b/drivers/net/phy/microchip_rds_ptp.c @@ -999,7 +999,7 @@ static struct mchp_rds_ptp_rx_ts if (rc < 0) goto error; - rx_ts = kmalloc(sizeof(*rx_ts), GFP_KERNEL); + rx_ts = kmalloc_obj(*rx_ts, GFP_KERNEL); if (!rx_ts) return NULL; diff --git a/drivers/net/phy/mii_timestamper.c b/drivers/net/phy/mii_timestamper.c index 51ae0593a04f..259ed30897c7 100644 --- a/drivers/net/phy/mii_timestamper.c +++ b/drivers/net/phy/mii_timestamper.c @@ -28,7 +28,7 @@ int register_mii_tstamp_controller(struct device *device, { struct mii_timestamping_desc *desc; - desc = kzalloc(sizeof(*desc), GFP_KERNEL); + desc = kzalloc_obj(*desc, GFP_KERNEL); if (!desc) return -ENOMEM; diff --git a/drivers/net/phy/mscc/mscc_macsec.c b/drivers/net/phy/mscc/mscc_macsec.c index 9a38a29cf397..ed0d445ce1e1 100644 --- a/drivers/net/phy/mscc/mscc_macsec.c +++ b/drivers/net/phy/mscc/mscc_macsec.c @@ -610,7 +610,7 @@ static struct macsec_flow *vsc8584_macsec_alloc_flow(struct vsc8531_private *pri if (index == MSCC_MS_MAX_FLOWS) return ERR_PTR(-ENOMEM); - flow = kzalloc(sizeof(*flow), GFP_KERNEL); + flow = kzalloc_obj(*flow, GFP_KERNEL); if (!flow) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/phy/nxp-c45-tja11xx-macsec.c b/drivers/net/phy/nxp-c45-tja11xx-macsec.c index fc897ba79b03..21519a2d9f85 100644 --- a/drivers/net/phy/nxp-c45-tja11xx-macsec.c +++ b/drivers/net/phy/nxp-c45-tja11xx-macsec.c @@ -431,7 +431,7 @@ static struct nxp_c45_sa *nxp_c45_sa_alloc(struct list_head *sa_list, void *sa, return ERR_PTR(-ENOSPC); } - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return ERR_PTR(-ENOMEM); @@ -991,7 +991,7 @@ static int nxp_c45_mdo_add_secy(struct macsec_context *ctx) if (idx == TX_SC_MAX) return -ENOSPC; - phy_secy = kzalloc(sizeof(*phy_secy), GFP_KERNEL); + phy_secy = kzalloc_obj(*phy_secy, GFP_KERNEL); if (!phy_secy) return -ENOMEM; diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index 13dd1691886d..376bfa923349 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -736,7 +736,7 @@ int phy_ethtool_set_plca_cfg(struct phy_device *phydev, goto out; } - curr_plca_cfg = kmalloc(sizeof(*curr_plca_cfg), GFP_KERNEL); + curr_plca_cfg = kmalloc_obj(*curr_plca_cfg, GFP_KERNEL); if (!curr_plca_cfg) { ret = -ENOMEM; goto out; diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c index 9b8eaac63b90..52c2ff7fc6ae 100644 --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c @@ -438,7 +438,7 @@ static SIMPLE_DEV_PM_OPS(mdio_bus_phy_pm_ops, mdio_bus_phy_suspend, static int phy_register_fixup(const char *bus_id, u32 phy_uid, u32 phy_uid_mask, int (*run)(struct phy_device *)) { - struct phy_fixup *fixup = kzalloc(sizeof(*fixup), GFP_KERNEL); + struct phy_fixup *fixup = kzalloc_obj(*fixup, GFP_KERNEL); if (!fixup) return -ENOMEM; @@ -754,7 +754,7 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, u32 phy_id, int ret = 0; /* We allocate the device, and initialize the default values */ - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + dev = kzalloc_obj(*dev, GFP_KERNEL); if (!dev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/phy/phy_led_triggers.c b/drivers/net/phy/phy_led_triggers.c index 60893691d4c3..7821fe19934c 100644 --- a/drivers/net/phy/phy_led_triggers.c +++ b/drivers/net/phy/phy_led_triggers.c @@ -93,8 +93,7 @@ int phy_led_triggers_register(struct phy_device *phy) if (!phy->phy_num_led_triggers) return 0; - phy->led_link_trigger = kzalloc(sizeof(*phy->led_link_trigger), - GFP_KERNEL); + phy->led_link_trigger = kzalloc_obj(*phy->led_link_trigger, GFP_KERNEL); if (!phy->led_link_trigger) { err = -ENOMEM; goto out_clear; @@ -104,9 +103,9 @@ int phy_led_triggers_register(struct phy_device *phy) if (err) goto out_free_link; - phy->phy_led_triggers = kcalloc(phy->phy_num_led_triggers, - sizeof(struct phy_led_trigger), - GFP_KERNEL); + phy->phy_led_triggers = kzalloc_objs(struct phy_led_trigger, + phy->phy_num_led_triggers, + GFP_KERNEL); if (!phy->phy_led_triggers) { err = -ENOMEM; goto out_unreg_link; diff --git a/drivers/net/phy/phy_link_topology.c b/drivers/net/phy/phy_link_topology.c index 0e9e987f37dd..ed15599dd38d 100644 --- a/drivers/net/phy/phy_link_topology.c +++ b/drivers/net/phy/phy_link_topology.c @@ -15,7 +15,7 @@ static int netdev_alloc_phy_link_topology(struct net_device *dev) { struct phy_link_topology *topo; - topo = kzalloc(sizeof(*topo), GFP_KERNEL); + topo = kzalloc_obj(*topo, GFP_KERNEL); if (!topo) return -ENOMEM; @@ -43,7 +43,7 @@ int phy_link_topo_add_phy(struct net_device *dev, topo = dev->link_topo; } - pdn = kzalloc(sizeof(*pdn), GFP_KERNEL); + pdn = kzalloc_obj(*pdn, GFP_KERNEL); if (!pdn) return -ENOMEM; diff --git a/drivers/net/phy/phy_package.c b/drivers/net/phy/phy_package.c index 3024da0bbf7b..3137a8fecf21 100644 --- a/drivers/net/phy/phy_package.c +++ b/drivers/net/phy/phy_package.c @@ -219,7 +219,7 @@ int phy_package_join(struct phy_device *phydev, int base_addr, size_t priv_size) shared = bus->shared[base_addr]; if (!shared) { ret = -ENOMEM; - shared = kzalloc(sizeof(*shared), GFP_KERNEL); + shared = kzalloc_obj(*shared, GFP_KERNEL); if (!shared) goto err_unlock; if (priv_size) { diff --git a/drivers/net/phy/phy_port.c b/drivers/net/phy/phy_port.c index 63d1bb154dc7..cae133a25fb0 100644 --- a/drivers/net/phy/phy_port.c +++ b/drivers/net/phy/phy_port.c @@ -19,7 +19,7 @@ struct phy_port *phy_port_alloc(void) { struct phy_port *port; - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); if (!port) return NULL; diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index e1f01d7fc4da..f21a69e34d1c 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -1853,7 +1853,7 @@ struct phylink *phylink_create(struct phylink_config *config, return ERR_PTR(-EINVAL); } - pl = kzalloc(sizeof(*pl), GFP_KERNEL); + pl = kzalloc_obj(*pl, GFP_KERNEL); if (!pl) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/phy/sfp-bus.c b/drivers/net/phy/sfp-bus.c index b945d75966d5..07175bf3ef60 100644 --- a/drivers/net/phy/sfp-bus.c +++ b/drivers/net/phy/sfp-bus.c @@ -388,7 +388,7 @@ static struct sfp_bus *sfp_bus_get(const struct fwnode_handle *fwnode) { struct sfp_bus *sfp, *new, *found = NULL; - new = kzalloc(sizeof(*new), GFP_KERNEL); + new = kzalloc_obj(*new, GFP_KERNEL); mutex_lock(&sfp_mutex); diff --git a/drivers/net/phy/sfp.c b/drivers/net/phy/sfp.c index 43aefdd8b70f..42a9c93f03b3 100644 --- a/drivers/net/phy/sfp.c +++ b/drivers/net/phy/sfp.c @@ -3029,7 +3029,7 @@ static struct sfp *sfp_alloc(struct device *dev) { struct sfp *sfp; - sfp = kzalloc(sizeof(*sfp), GFP_KERNEL); + sfp = kzalloc_obj(*sfp, GFP_KERNEL); if (!sfp) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/ppp/bsd_comp.c b/drivers/net/ppp/bsd_comp.c index f385b759d5cf..26bfa0feb7f5 100644 --- a/drivers/net/ppp/bsd_comp.c +++ b/drivers/net/ppp/bsd_comp.c @@ -395,8 +395,7 @@ static void *bsd_alloc (unsigned char *options, int opt_len, int decomp) * Allocate the main control structure for this instance. */ maxmaxcode = MAXCODE(bits); - db = kzalloc(sizeof (struct bsd_db), - GFP_KERNEL); + db = kzalloc_obj(struct bsd_db, GFP_KERNEL); if (!db) { return NULL; diff --git a/drivers/net/ppp/ppp_async.c b/drivers/net/ppp/ppp_async.c index c97406c6004d..ead937d95cd8 100644 --- a/drivers/net/ppp/ppp_async.c +++ b/drivers/net/ppp/ppp_async.c @@ -163,7 +163,7 @@ ppp_asynctty_open(struct tty_struct *tty) return -EOPNOTSUPP; err = -ENOMEM; - ap = kzalloc(sizeof(*ap), GFP_KERNEL); + ap = kzalloc_obj(*ap, GFP_KERNEL); if (!ap) goto out; diff --git a/drivers/net/ppp/ppp_deflate.c b/drivers/net/ppp/ppp_deflate.c index d93aeacc0dba..1d8370d2f098 100644 --- a/drivers/net/ppp/ppp_deflate.c +++ b/drivers/net/ppp/ppp_deflate.c @@ -97,8 +97,7 @@ static void *z_comp_alloc(unsigned char *options, int opt_len) if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE) return NULL; - state = kzalloc(sizeof(*state), - GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (state == NULL) return NULL; @@ -313,7 +312,7 @@ static void *z_decomp_alloc(unsigned char *options, int opt_len) if (w_size < DEFLATE_MIN_SIZE || w_size > DEFLATE_MAX_SIZE) return NULL; - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (state == NULL) return NULL; diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c index f8814d7be6f1..fdf96999ba18 100644 --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c @@ -2926,7 +2926,7 @@ int ppp_register_net_channel(struct net *net, struct ppp_channel *chan) struct channel *pch; struct ppp_net *pn; - pch = kzalloc(sizeof(struct channel), GFP_KERNEL); + pch = kzalloc_obj(struct channel, GFP_KERNEL); if (!pch) return -ENOMEM; @@ -3277,7 +3277,7 @@ ppp_register_compressor(struct compressor *cp) if (find_comp_entry(cp->compress_proto)) goto out; ret = -ENOMEM; - ce = kmalloc(sizeof(struct compressor_entry), GFP_ATOMIC); + ce = kmalloc_obj(struct compressor_entry, GFP_ATOMIC); if (!ce) goto out; ret = 0; diff --git a/drivers/net/ppp/ppp_mppe.c b/drivers/net/ppp/ppp_mppe.c index 630cbf71c147..eacfe50b6955 100644 --- a/drivers/net/ppp/ppp_mppe.c +++ b/drivers/net/ppp/ppp_mppe.c @@ -158,7 +158,7 @@ static void *mppe_alloc(unsigned char *options, int optlen) fips_enabled) return NULL; - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (state == NULL) return NULL; diff --git a/drivers/net/ppp/ppp_synctty.c b/drivers/net/ppp/ppp_synctty.c index 9c4932198931..f49e60985171 100644 --- a/drivers/net/ppp/ppp_synctty.c +++ b/drivers/net/ppp/ppp_synctty.c @@ -162,7 +162,7 @@ ppp_sync_open(struct tty_struct *tty) if (tty->ops->write == NULL) return -EOPNOTSUPP; - ap = kzalloc(sizeof(*ap), GFP_KERNEL); + ap = kzalloc_obj(*ap, GFP_KERNEL); err = -ENOMEM; if (!ap) goto out; diff --git a/drivers/net/pse-pd/pd692x0.c b/drivers/net/pse-pd/pd692x0.c index 134435e90073..ef130eb75212 100644 --- a/drivers/net/pse-pd/pd692x0.c +++ b/drivers/net/pse-pd/pd692x0.c @@ -646,9 +646,9 @@ pd692x0_pi_get_pw_limit_ranges(struct pse_controller_dev *pcdev, int id, int i; pw_table = pd692x0_class_pw_table; - c33_pw_limit_ranges = kcalloc(PD692X0_CLASS_PW_TABLE_SIZE, - sizeof(*c33_pw_limit_ranges), - GFP_KERNEL); + c33_pw_limit_ranges = kzalloc_objs(*c33_pw_limit_ranges, + PD692X0_CLASS_PW_TABLE_SIZE, + GFP_KERNEL); if (!c33_pw_limit_ranges) return -ENOMEM; @@ -1259,7 +1259,7 @@ static int pd692x0_setup_pi_matrix(struct pse_controller_dev *pcdev) struct pd692x0_manager *manager; int ret; - manager = kcalloc(PD692X0_MAX_MANAGERS, sizeof(*manager), GFP_KERNEL); + manager = kzalloc_objs(*manager, PD692X0_MAX_MANAGERS, GFP_KERNEL); if (!manager) return -ENOMEM; diff --git a/drivers/net/pse-pd/pse_core.c b/drivers/net/pse-pd/pse_core.c index 23eb3c9d0bcd..ccbcda0cc4a2 100644 --- a/drivers/net/pse-pd/pse_core.c +++ b/drivers/net/pse-pd/pse_core.c @@ -162,7 +162,7 @@ static int of_load_pse_pis(struct pse_controller_dev *pcdev) if (!np) return -ENODEV; - pcdev->pi = kcalloc(pcdev->nr_lines, sizeof(*pcdev->pi), GFP_KERNEL); + pcdev->pi = kzalloc_objs(*pcdev->pi, pcdev->nr_lines, GFP_KERNEL); if (!pcdev->pi) return -ENOMEM; @@ -1408,7 +1408,7 @@ pse_control_get_internal(struct pse_controller_dev *pcdev, unsigned int index, } } - psec = kzalloc(sizeof(*psec), GFP_KERNEL); + psec = kzalloc_obj(*psec, GFP_KERNEL); if (!psec) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/pse-pd/tps23881.c b/drivers/net/pse-pd/tps23881.c index 76ec1555d60d..465b6cfa6253 100644 --- a/drivers/net/pse-pd/tps23881.c +++ b/drivers/net/pse-pd/tps23881.c @@ -523,8 +523,7 @@ tps23881_pi_get_pw_limit_ranges(struct pse_controller_dev *pcdev, int id, { struct ethtool_c33_pse_pw_limit_range *c33_pw_limit_ranges; - c33_pw_limit_ranges = kzalloc(sizeof(*c33_pw_limit_ranges), - GFP_KERNEL); + c33_pw_limit_ranges = kzalloc_obj(*c33_pw_limit_ranges, GFP_KERNEL); if (!c33_pw_limit_ranges) return -ENOMEM; diff --git a/drivers/net/rionet.c b/drivers/net/rionet.c index 318a0ef1af50..09fbb4ce8e38 100644 --- a/drivers/net/rionet.c +++ b/drivers/net/rionet.c @@ -603,7 +603,7 @@ static int rionet_add_dev(struct device *dev, struct subsys_interface *sif) rnet = netdev_priv(nets[netid].ndev); - peer = kzalloc(sizeof(*peer), GFP_KERNEL); + peer = kzalloc_obj(*peer, GFP_KERNEL); if (!peer) { rc = -ENOMEM; goto out; diff --git a/drivers/net/slip/slhc.c b/drivers/net/slip/slhc.c index ee9fd3a94b96..98c4d5925694 100644 --- a/drivers/net/slip/slhc.c +++ b/drivers/net/slip/slhc.c @@ -98,7 +98,7 @@ slhc_init(int rslots, int tslots) if (rslots < 0 || rslots > 255 || tslots < 0 || tslots > 255) return ERR_PTR(-EINVAL); - comp = kzalloc(sizeof(struct slcompress), GFP_KERNEL); + comp = kzalloc_obj(struct slcompress, GFP_KERNEL); if (! comp) goto out_fail; diff --git a/drivers/net/slip/slip.c b/drivers/net/slip/slip.c index c889fb374703..4019c6b4dafc 100644 --- a/drivers/net/slip/slip.c +++ b/drivers/net/slip/slip.c @@ -1297,8 +1297,7 @@ static int __init slip_init(void) printk(KERN_INFO "SLIP linefill/keepalive option.\n"); #endif - slip_devs = kcalloc(slip_maxdev, sizeof(struct net_device *), - GFP_KERNEL); + slip_devs = kzalloc_objs(struct net_device *, slip_maxdev, GFP_KERNEL); if (!slip_devs) return -ENOMEM; diff --git a/drivers/net/tap.c b/drivers/net/tap.c index 1197f245e873..aee69767342e 100644 --- a/drivers/net/tap.c +++ b/drivers/net/tap.c @@ -1197,7 +1197,7 @@ int tap_queue_resize(struct tap_dev *tap) int n = tap->numqueues; int ret, i = 0; - rings = kmalloc_array(n, sizeof(*rings), GFP_KERNEL); + rings = kmalloc_objs(*rings, n, GFP_KERNEL); if (!rings) return -ENOMEM; @@ -1217,7 +1217,7 @@ static int tap_list_add(dev_t major, const char *device_name) { struct major_info *tap_major; - tap_major = kzalloc(sizeof(*tap_major), GFP_ATOMIC); + tap_major = kzalloc_obj(*tap_major, GFP_ATOMIC); if (!tap_major) return -ENOMEM; diff --git a/drivers/net/team/team_core.c b/drivers/net/team/team_core.c index c08a5c1bd6e4..28c09ffd34b8 100644 --- a/drivers/net/team/team_core.c +++ b/drivers/net/team/team_core.c @@ -157,7 +157,7 @@ static int __team_option_inst_add(struct team *team, struct team_option *option, array_size = 1; /* No array but still need one instance */ for (i = 0; i < array_size; i++) { - opt_inst = kmalloc(sizeof(*opt_inst), GFP_KERNEL); + opt_inst = kmalloc_obj(*opt_inst, GFP_KERNEL); if (!opt_inst) return -ENOMEM; opt_inst->option = option; @@ -256,8 +256,7 @@ static int __team_options_register(struct team *team, struct team_option **dst_opts; int err; - dst_opts = kcalloc(option_count, sizeof(struct team_option *), - GFP_KERNEL); + dst_opts = kzalloc_objs(struct team_option *, option_count, GFP_KERNEL); if (!dst_opts) return -ENOMEM; for (i = 0; i < option_count; i++, option++) { @@ -434,7 +433,7 @@ int team_mode_register(const struct team_mode *mode) mode->priv_size > TEAM_MODE_PRIV_SIZE) return -EINVAL; - mitem = kmalloc(sizeof(*mitem), GFP_KERNEL); + mitem = kmalloc_obj(*mitem, GFP_KERNEL); if (!mitem) return -ENOMEM; @@ -780,8 +779,7 @@ static int team_queue_override_init(struct team *team) if (!queue_cnt) return 0; - listarr = kmalloc_array(queue_cnt, sizeof(struct list_head), - GFP_KERNEL); + listarr = kmalloc_objs(struct list_head, queue_cnt, GFP_KERNEL); if (!listarr) return -ENOMEM; team->qom_lists = listarr; @@ -1017,7 +1015,7 @@ static int __team_port_enable_netpoll(struct team_port *port) struct netpoll *np; int err; - np = kzalloc(sizeof(*np), GFP_KERNEL); + np = kzalloc_obj(*np, GFP_KERNEL); if (!np) return -ENOMEM; diff --git a/drivers/net/team/team_mode_loadbalance.c b/drivers/net/team/team_mode_loadbalance.c index b14538bde2f8..b50c479f06ce 100644 --- a/drivers/net/team/team_mode_loadbalance.c +++ b/drivers/net/team/team_mode_loadbalance.c @@ -259,7 +259,7 @@ static int __fprog_create(struct sock_fprog_kern **pfprog, u32 data_len, if (data_len % sizeof(struct sock_filter)) return -EINVAL; - fprog = kmalloc(sizeof(*fprog), GFP_KERNEL); + fprog = kmalloc_obj(*fprog, GFP_KERNEL); if (!fprog) return -ENOMEM; fprog->filter = kmemdup(filter, data_len, GFP_KERNEL); @@ -594,7 +594,7 @@ static int lb_init(struct team *team) BUG_ON(!func); rcu_assign_pointer(lb_priv->select_tx_port_func, func); - lb_priv->ex = kzalloc(sizeof(*lb_priv->ex), GFP_KERNEL); + lb_priv->ex = kzalloc_obj(*lb_priv->ex, GFP_KERNEL); if (!lb_priv->ex) return -ENOMEM; lb_priv->ex->team = team; diff --git a/drivers/net/tun.c b/drivers/net/tun.c index 8192740357a0..fcddbeb6d36a 100644 --- a/drivers/net/tun.c +++ b/drivers/net/tun.c @@ -318,7 +318,7 @@ static struct tun_flow_entry *tun_flow_create(struct tun_struct *tun, struct hlist_head *head, u32 rxhash, u16 queue_index) { - struct tun_flow_entry *e = kmalloc(sizeof(*e), GFP_ATOMIC); + struct tun_flow_entry *e = kmalloc_obj(*e, GFP_ATOMIC); if (e) { netif_info(tun, tx_queued, tun->dev, @@ -2228,7 +2228,7 @@ static int __tun_set_ebpf(struct tun_struct *tun, struct tun_prog *old, *new = NULL; if (prog) { - new = kmalloc(sizeof(*new), GFP_KERNEL); + new = kmalloc_obj(*new, GFP_KERNEL); if (!new) return -ENOMEM; new->prog = prog; @@ -3605,7 +3605,7 @@ static int tun_queue_resize(struct tun_struct *tun) int n = tun->numqueues + tun->numdisabled; int ret, i; - rings = kmalloc_array(n, sizeof(*rings), GFP_KERNEL); + rings = kmalloc_objs(*rings, n, GFP_KERNEL); if (!rings) return -ENOMEM; diff --git a/drivers/net/usb/aqc111.c b/drivers/net/usb/aqc111.c index 0722050dbe32..5ab60f7c90dd 100644 --- a/drivers/net/usb/aqc111.c +++ b/drivers/net/usb/aqc111.c @@ -703,7 +703,7 @@ static int aqc111_bind(struct usbnet *dev, struct usb_interface *intf) return ret; } - aqc111_data = kzalloc(sizeof(*aqc111_data), GFP_KERNEL); + aqc111_data = kzalloc_obj(*aqc111_data, GFP_KERNEL); if (!aqc111_data) return -ENOMEM; diff --git a/drivers/net/usb/asix_devices.c b/drivers/net/usb/asix_devices.c index 7eb6e86adb16..ca8a9d04a16b 100644 --- a/drivers/net/usb/asix_devices.c +++ b/drivers/net/usb/asix_devices.c @@ -1314,7 +1314,7 @@ static int ax88178_bind(struct usbnet *dev, struct usb_interface *intf) dev->rx_urb_size = 2048; } - dev->driver_priv = kzalloc(sizeof(struct asix_common_private), GFP_KERNEL); + dev->driver_priv = kzalloc_obj(struct asix_common_private, GFP_KERNEL); if (!dev->driver_priv) return -ENOMEM; diff --git a/drivers/net/usb/ax88172a.c b/drivers/net/usb/ax88172a.c index 3100fbe153c0..54c0ba627b50 100644 --- a/drivers/net/usb/ax88172a.c +++ b/drivers/net/usb/ax88172a.c @@ -165,7 +165,7 @@ static int ax88172a_bind(struct usbnet *dev, struct usb_interface *intf) if (ret) return ret; - priv = kzalloc(sizeof(*priv), GFP_KERNEL); + priv = kzalloc_obj(*priv, GFP_KERNEL); if (!priv) return -ENOMEM; diff --git a/drivers/net/usb/ax88179_178a.c b/drivers/net/usb/ax88179_178a.c index 0e9ae89b840e..46e6c4dcda47 100644 --- a/drivers/net/usb/ax88179_178a.c +++ b/drivers/net/usb/ax88179_178a.c @@ -1287,7 +1287,7 @@ static int ax88179_bind(struct usbnet *dev, struct usb_interface *intf) if (ret < 0) return ret; - ax179_data = kzalloc(sizeof(*ax179_data), GFP_KERNEL); + ax179_data = kzalloc_obj(*ax179_data, GFP_KERNEL); if (!ax179_data) return -ENOMEM; diff --git a/drivers/net/usb/cdc_ncm.c b/drivers/net/usb/cdc_ncm.c index 5d123df0a866..39e8063b1f5b 100644 --- a/drivers/net/usb/cdc_ncm.c +++ b/drivers/net/usb/cdc_ncm.c @@ -827,7 +827,7 @@ int cdc_ncm_bind_common(struct usbnet *dev, struct usb_interface *intf, u8 data_ u8 iface_no; struct usb_cdc_parsed_header hdr; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/net/usb/cx82310_eth.c b/drivers/net/usb/cx82310_eth.c index 79a47e2fd437..54199fde1c64 100644 --- a/drivers/net/usb/cx82310_eth.c +++ b/drivers/net/usb/cx82310_eth.c @@ -173,7 +173,7 @@ static int cx82310_bind(struct usbnet *dev, struct usb_interface *intf) if (!dev->partial_data) return -ENOMEM; - priv = kzalloc(sizeof(*priv), GFP_KERNEL); + priv = kzalloc_obj(*priv, GFP_KERNEL); if (!priv) { ret = -ENOMEM; goto err_partial; diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index 1aeb36119d3f..1da216248896 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c @@ -2313,7 +2313,7 @@ static struct hso_device *hso_create_device(struct usb_interface *intf, { struct hso_device *hso_dev; - hso_dev = kzalloc(sizeof(*hso_dev), GFP_KERNEL); + hso_dev = kzalloc_obj(*hso_dev, GFP_KERNEL); if (!hso_dev) return NULL; @@ -2617,7 +2617,7 @@ static struct hso_device *hso_create_bulk_serial_device( if (!hso_dev) return NULL; - serial = kzalloc(sizeof(*serial), GFP_KERNEL); + serial = kzalloc_obj(*serial, GFP_KERNEL); if (!serial) goto exit; @@ -2626,13 +2626,12 @@ static struct hso_device *hso_create_bulk_serial_device( if ((port & HSO_PORT_MASK) == HSO_PORT_MODEM) { num_urbs = 2; - serial->tiocmget = kzalloc(sizeof(struct hso_tiocmget), - GFP_KERNEL); + serial->tiocmget = kzalloc_obj(struct hso_tiocmget, GFP_KERNEL); if (!serial->tiocmget) goto exit; serial->tiocmget->serial_state_notification - = kzalloc(sizeof(struct hso_serial_state_notification), - GFP_KERNEL); + = kzalloc_obj(struct hso_serial_state_notification, + GFP_KERNEL); if (!serial->tiocmget->serial_state_notification) goto exit; tiocmget = serial->tiocmget; @@ -2711,7 +2710,7 @@ struct hso_device *hso_create_mux_serial_device(struct usb_interface *interface, if (!hso_dev) return NULL; - serial = kzalloc(sizeof(*serial), GFP_KERNEL); + serial = kzalloc_obj(*serial, GFP_KERNEL); if (!serial) goto err_free_dev; @@ -2755,7 +2754,7 @@ static void hso_free_shared_int(struct hso_shared_int *mux) static struct hso_shared_int *hso_create_shared_int(struct usb_interface *interface) { - struct hso_shared_int *mux = kzalloc(sizeof(*mux), GFP_KERNEL); + struct hso_shared_int *mux = kzalloc_obj(*mux, GFP_KERNEL); if (!mux) return NULL; diff --git a/drivers/net/usb/lan78xx.c b/drivers/net/usb/lan78xx.c index 00397a807393..92ec3e73edff 100644 --- a/drivers/net/usb/lan78xx.c +++ b/drivers/net/usb/lan78xx.c @@ -682,7 +682,7 @@ static int lan78xx_read_stats(struct lan78xx_net *dev, u32 *src; u32 *dst; - stats = kmalloc(sizeof(*stats), GFP_KERNEL); + stats = kmalloc_obj(*stats, GFP_KERNEL); if (!stats) return -ENOMEM; @@ -3728,7 +3728,7 @@ static int lan78xx_bind(struct lan78xx_net *dev, struct usb_interface *intf) int ret; int i; - dev->data[0] = (unsigned long)kzalloc(sizeof(*pdata), GFP_KERNEL); + dev->data[0] = (unsigned long) kzalloc_obj(*pdata, GFP_KERNEL); pdata = (struct lan78xx_priv *)(dev->data[0]); if (!pdata) { diff --git a/drivers/net/usb/lg-vl600.c b/drivers/net/usb/lg-vl600.c index b2495fa80171..21f6a4795295 100644 --- a/drivers/net/usb/lg-vl600.c +++ b/drivers/net/usb/lg-vl600.c @@ -56,7 +56,7 @@ struct vl600_state { static int vl600_bind(struct usbnet *dev, struct usb_interface *intf) { int ret; - struct vl600_state *s = kzalloc(sizeof(struct vl600_state), GFP_KERNEL); + struct vl600_state *s = kzalloc_obj(struct vl600_state, GFP_KERNEL); if (!s) return -ENOMEM; diff --git a/drivers/net/usb/pegasus.c b/drivers/net/usb/pegasus.c index 7b6d6eb60709..4f539b5d509a 100644 --- a/drivers/net/usb/pegasus.c +++ b/drivers/net/usb/pegasus.c @@ -140,7 +140,7 @@ static int update_eth_regs_async(pegasus_t *pegasus) struct urb *async_urb; struct usb_ctrlrequest *req; - req = kmalloc(sizeof(struct usb_ctrlrequest), GFP_ATOMIC); + req = kmalloc_obj(struct usb_ctrlrequest, GFP_ATOMIC); if (req == NULL) return ret; diff --git a/drivers/net/usb/r8152.c b/drivers/net/usb/r8152.c index 8d36162f36df..c224d2ee107c 100644 --- a/drivers/net/usb/r8152.c +++ b/drivers/net/usb/r8152.c @@ -9647,7 +9647,7 @@ static u8 __rtl_get_hw_ver(struct usb_device *udev) int ret; int i; - tmp = kmalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kmalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return 0; diff --git a/drivers/net/usb/rtl8150.c b/drivers/net/usb/rtl8150.c index 2f1f134b5b48..4cda0643afb6 100644 --- a/drivers/net/usb/rtl8150.c +++ b/drivers/net/usb/rtl8150.c @@ -187,7 +187,7 @@ static int async_set_registers(rtl8150_t *dev, u16 indx, u16 size, u16 reg) struct urb *async_urb; struct async_req *req; - req = kmalloc(sizeof(struct async_req), GFP_ATOMIC); + req = kmalloc_obj(struct async_req, GFP_ATOMIC); if (req == NULL) return res; async_urb = usb_alloc_urb(0, GFP_ATOMIC); diff --git a/drivers/net/usb/sierra_net.c b/drivers/net/usb/sierra_net.c index 3ca60ebdd468..87a10f5ab557 100644 --- a/drivers/net/usb/sierra_net.c +++ b/drivers/net/usb/sierra_net.c @@ -683,7 +683,7 @@ static int sierra_net_bind(struct usbnet *dev, struct usb_interface *intf) return -ENODEV; } /* Initialize sierra private data */ - priv = kzalloc(sizeof *priv, GFP_KERNEL); + priv = kzalloc_obj(*priv, GFP_KERNEL); if (!priv) return -ENOMEM; diff --git a/drivers/net/usb/smsc75xx.c b/drivers/net/usb/smsc75xx.c index 1a61a8bcf5d3..8fb6bb58b589 100644 --- a/drivers/net/usb/smsc75xx.c +++ b/drivers/net/usb/smsc75xx.c @@ -1450,8 +1450,8 @@ static int smsc75xx_bind(struct usbnet *dev, struct usb_interface *intf) return ret; } - dev->data[0] = (unsigned long)kzalloc(sizeof(struct smsc75xx_priv), - GFP_KERNEL); + dev->data[0] = (unsigned long) kzalloc_obj(struct smsc75xx_priv, + GFP_KERNEL); pdata = (struct smsc75xx_priv *)(dev->data[0]); if (!pdata) diff --git a/drivers/net/usb/smsc95xx.c b/drivers/net/usb/smsc95xx.c index 7ecf98d97493..df2c4c1f8c0b 100644 --- a/drivers/net/usb/smsc95xx.c +++ b/drivers/net/usb/smsc95xx.c @@ -1157,7 +1157,7 @@ static int smsc95xx_bind(struct usbnet *dev, struct usb_interface *intf) return ret; } - pdata = kzalloc(sizeof(*pdata), GFP_KERNEL); + pdata = kzalloc_obj(*pdata, GFP_KERNEL); if (!pdata) return -ENOMEM; diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index 8e44feaf7ff1..ed86ba87ca4e 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -1377,8 +1377,7 @@ static int build_dma_sg(const struct sk_buff *skb, struct urb *urb) return 0; /* reserve one for zero packet */ - urb->sg = kmalloc_array(num_sgs + 1, sizeof(struct scatterlist), - GFP_ATOMIC); + urb->sg = kmalloc_objs(struct scatterlist, num_sgs + 1, GFP_ATOMIC); if (!urb->sg) return -ENOMEM; @@ -2234,7 +2233,7 @@ int usbnet_write_cmd_async(struct usbnet *dev, u8 cmd, u8 reqtype, } } - req = kmalloc(sizeof(struct usb_ctrlrequest), GFP_ATOMIC); + req = kmalloc_obj(struct usb_ctrlrequest, GFP_ATOMIC); if (!req) goto fail_free_buf; diff --git a/drivers/net/veth.c b/drivers/net/veth.c index 9982412fd7f2..e35df717e65e 100644 --- a/drivers/net/veth.c +++ b/drivers/net/veth.c @@ -1434,8 +1434,8 @@ static int veth_alloc_queues(struct net_device *dev) struct veth_priv *priv = netdev_priv(dev); int i; - priv->rq = kvcalloc(dev->num_rx_queues, sizeof(*priv->rq), - GFP_KERNEL_ACCOUNT | __GFP_RETRY_MAYFAIL); + priv->rq = kvzalloc_objs(*priv->rq, dev->num_rx_queues, + GFP_KERNEL_ACCOUNT | __GFP_RETRY_MAYFAIL); if (!priv->rq) return -ENOMEM; diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c index db88dcaefb20..31ed78712e43 100644 --- a/drivers/net/virtio_net.c +++ b/drivers/net/virtio_net.c @@ -3732,7 +3732,7 @@ static int virtnet_set_queues(struct virtnet_info *vi, u16 queue_pairs) goto succ; } - mq = kzalloc(sizeof(*mq), GFP_KERNEL); + mq = kzalloc_obj(*mq, GFP_KERNEL); if (!mq) return -ENOMEM; @@ -3799,7 +3799,7 @@ static void virtnet_rx_mode_work(struct work_struct *work) if (!virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_RX)) return; - promisc_allmulti = kzalloc(sizeof(*promisc_allmulti), GFP_KERNEL); + promisc_allmulti = kzalloc_obj(*promisc_allmulti, GFP_KERNEL); if (!promisc_allmulti) { dev_warn(&dev->dev, "Failed to set RX mode, no memory.\n"); return; @@ -3885,7 +3885,7 @@ static int virtnet_vlan_rx_add_vid(struct net_device *dev, __virtio16 *_vid __free(kfree) = NULL; struct scatterlist sg; - _vid = kzalloc(sizeof(*_vid), GFP_KERNEL); + _vid = kzalloc_obj(*_vid, GFP_KERNEL); if (!_vid) return -ENOMEM; @@ -3905,7 +3905,7 @@ static int virtnet_vlan_rx_kill_vid(struct net_device *dev, __virtio16 *_vid __free(kfree) = NULL; struct scatterlist sg; - _vid = kzalloc(sizeof(*_vid), GFP_KERNEL); + _vid = kzalloc_obj(*_vid, GFP_KERNEL); if (!_vid) return -ENOMEM; @@ -4028,7 +4028,7 @@ static int virtnet_send_ctrl_coal_vq_cmd(struct virtnet_info *vi, struct virtio_net_ctrl_coal_vq *coal_vq __free(kfree) = NULL; struct scatterlist sgs; - coal_vq = kzalloc(sizeof(*coal_vq), GFP_KERNEL); + coal_vq = kzalloc_obj(*coal_vq, GFP_KERNEL); if (!coal_vq) return -ENOMEM; @@ -4987,7 +4987,7 @@ static int virtnet_get_hw_stats(struct virtnet_info *vi, qnum += 1; } - req = kcalloc(qnum, sizeof(*req), GFP_KERNEL); + req = kzalloc_objs(*req, qnum, GFP_KERNEL); if (!req) return -ENOMEM; @@ -5127,7 +5127,7 @@ static int virtnet_send_tx_notf_coal_cmds(struct virtnet_info *vi, struct scatterlist sgs_tx; int i; - coal_tx = kzalloc(sizeof(*coal_tx), GFP_KERNEL); + coal_tx = kzalloc_obj(*coal_tx, GFP_KERNEL); if (!coal_tx) return -ENOMEM; @@ -5175,7 +5175,7 @@ static int virtnet_send_rx_notf_coal_cmds(struct virtnet_info *vi, return 0; } - coal_rx = kzalloc(sizeof(*coal_rx), GFP_KERNEL); + coal_rx = kzalloc_obj(*coal_rx, GFP_KERNEL); if (!coal_rx) return -ENOMEM; @@ -5738,7 +5738,7 @@ static int virtnet_set_guest_offloads(struct virtnet_info *vi, u64 offloads) __virtio64 *_offloads __free(kfree) = NULL; struct scatterlist sg; - _offloads = kzalloc(sizeof(*_offloads), GFP_KERNEL); + _offloads = kzalloc_obj(*_offloads, GFP_KERNEL); if (!_offloads) return -ENOMEM; @@ -5882,7 +5882,7 @@ static int virtnet_xsk_pool_enable(struct net_device *dev, size = virtqueue_get_vring_size(rq->vq); - rq->xsk_buffs = kvcalloc(size, sizeof(*rq->xsk_buffs), GFP_KERNEL); + rq->xsk_buffs = kvzalloc_objs(*rq->xsk_buffs, size, GFP_KERNEL); if (!rq->xsk_buffs) return -ENOMEM; @@ -6395,14 +6395,14 @@ static int virtnet_find_vqs(struct virtnet_info *vi) virtio_has_feature(vi->vdev, VIRTIO_NET_F_CTRL_VQ); /* Allocate space for find_vqs parameters */ - vqs = kcalloc(total_vqs, sizeof(*vqs), GFP_KERNEL); + vqs = kzalloc_objs(*vqs, total_vqs, GFP_KERNEL); if (!vqs) goto err_vq; - vqs_info = kcalloc(total_vqs, sizeof(*vqs_info), GFP_KERNEL); + vqs_info = kzalloc_objs(*vqs_info, total_vqs, GFP_KERNEL); if (!vqs_info) goto err_vqs_info; if (!vi->big_packets || vi->mergeable_rx_bufs) { - ctx = kcalloc(total_vqs, sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_objs(*ctx, total_vqs, GFP_KERNEL); if (!ctx) goto err_ctx; } else { @@ -6460,16 +6460,16 @@ static int virtnet_alloc_queues(struct virtnet_info *vi) int i; if (vi->has_cvq) { - vi->ctrl = kzalloc(sizeof(*vi->ctrl), GFP_KERNEL); + vi->ctrl = kzalloc_obj(*vi->ctrl, GFP_KERNEL); if (!vi->ctrl) goto err_ctrl; } else { vi->ctrl = NULL; } - vi->sq = kcalloc(vi->max_queue_pairs, sizeof(*vi->sq), GFP_KERNEL); + vi->sq = kzalloc_objs(*vi->sq, vi->max_queue_pairs, GFP_KERNEL); if (!vi->sq) goto err_sq; - vi->rq = kcalloc(vi->max_queue_pairs, sizeof(*vi->rq), GFP_KERNEL); + vi->rq = kzalloc_objs(*vi->rq, vi->max_queue_pairs, GFP_KERNEL); if (!vi->rq) goto err_rq; @@ -7016,7 +7016,7 @@ static int virtnet_probe(struct virtio_device *vdev) struct scatterlist sg; __le64 v; - stats_cap = kzalloc(sizeof(*stats_cap), GFP_KERNEL); + stats_cap = kzalloc_obj(*stats_cap, GFP_KERNEL); if (!stats_cap) { rtnl_unlock(); err = -ENOMEM; diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c index 571847a7f86d..8c009bcaa8e7 100644 --- a/drivers/net/vrf.c +++ b/drivers/net/vrf.c @@ -158,7 +158,7 @@ static struct vrf_map_elem *vrf_map_elem_alloc(gfp_t flags) { struct vrf_map_elem *me; - me = kmalloc(sizeof(*me), flags); + me = kmalloc_obj(*me, flags); if (!me) return NULL; diff --git a/drivers/net/vxlan/vxlan_core.c b/drivers/net/vxlan/vxlan_core.c index 7bd0ae0a6a33..c1cf3eff4c1b 100644 --- a/drivers/net/vxlan/vxlan_core.c +++ b/drivers/net/vxlan/vxlan_core.c @@ -580,7 +580,7 @@ static int vxlan_fdb_append(struct vxlan_fdb *f, if (rd) return 0; - rd = kmalloc(sizeof(*rd), GFP_ATOMIC); + rd = kmalloc_obj(*rd, GFP_ATOMIC); if (rd == NULL) return -ENOMEM; @@ -774,7 +774,7 @@ static struct vxlan_fdb *vxlan_fdb_alloc(struct vxlan_dev *vxlan, const u8 *mac, { struct vxlan_fdb *f; - f = kmalloc(sizeof(*f), GFP_ATOMIC); + f = kmalloc_obj(*f, GFP_ATOMIC); if (!f) return NULL; memset(&f->key, 0, sizeof(f->key)); @@ -3578,7 +3578,7 @@ static struct vxlan_sock *vxlan_socket_create(struct net *net, bool ipv6, ASSERT_RTNL(); - vs = kzalloc(sizeof(*vs), GFP_KERNEL); + vs = kzalloc_obj(*vs, GFP_KERNEL); if (!vs) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/vxlan/vxlan_mdb.c b/drivers/net/vxlan/vxlan_mdb.c index 816ab1aa0526..8f53ae776613 100644 --- a/drivers/net/vxlan/vxlan_mdb.c +++ b/drivers/net/vxlan/vxlan_mdb.c @@ -430,7 +430,7 @@ static int vxlan_mdb_config_src_entry_init(struct vxlan_mdb_config *cfg, extack)) return -EINVAL; - src = kzalloc(sizeof(*src), GFP_KERNEL); + src = kzalloc_obj(*src, GFP_KERNEL); if (!src) return -ENOMEM; @@ -697,7 +697,7 @@ static int vxlan_mdb_remote_rdst_init(const struct vxlan_mdb_config *cfg, struct vxlan_rdst *rd; int err; - rd = kzalloc(sizeof(*rd), GFP_KERNEL); + rd = kzalloc_obj(*rd, GFP_KERNEL); if (!rd) return -ENOMEM; @@ -767,7 +767,7 @@ vxlan_mdb_remote_src_entry_add(struct vxlan_mdb_remote *remote, { struct vxlan_mdb_src_entry *ent; - ent = kzalloc(sizeof(*ent), GFP_KERNEL); + ent = kzalloc_obj(*ent, GFP_KERNEL); if (!ent) return NULL; @@ -1139,7 +1139,7 @@ static int vxlan_mdb_remote_add(const struct vxlan_mdb_config *cfg, return -ENOENT; } - remote = kzalloc(sizeof(*remote), GFP_KERNEL); + remote = kzalloc_obj(*remote, GFP_KERNEL); if (!remote) return -ENOMEM; @@ -1187,7 +1187,7 @@ vxlan_mdb_entry_get(struct vxlan_dev *vxlan, if (mdb_entry) return mdb_entry; - mdb_entry = kzalloc(sizeof(*mdb_entry), GFP_KERNEL); + mdb_entry = kzalloc_obj(*mdb_entry, GFP_KERNEL); if (!mdb_entry) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/vxlan/vxlan_vnifilter.c b/drivers/net/vxlan/vxlan_vnifilter.c index cde897d92f24..726a34d16fa2 100644 --- a/drivers/net/vxlan/vxlan_vnifilter.c +++ b/drivers/net/vxlan/vxlan_vnifilter.c @@ -697,7 +697,7 @@ static struct vxlan_vni_node *vxlan_vni_alloc(struct vxlan_dev *vxlan, { struct vxlan_vni_node *vninode; - vninode = kzalloc(sizeof(*vninode), GFP_KERNEL); + vninode = kzalloc_obj(*vninode, GFP_KERNEL); if (!vninode) return NULL; vninode->stats = netdev_alloc_pcpu_stats(struct vxlan_vni_stats_pcpu); @@ -925,7 +925,7 @@ int vxlan_vnigroup_init(struct vxlan_dev *vxlan) struct vxlan_vni_group *vg; int ret; - vg = kzalloc(sizeof(*vg), GFP_KERNEL); + vg = kzalloc_obj(*vg, GFP_KERNEL); if (!vg) return -ENOMEM; ret = rhashtable_init(&vg->vni_hash, &vxlan_vni_rht_params); diff --git a/drivers/net/wan/c101.c b/drivers/net/wan/c101.c index 8dd14d916c3a..82ba8dfa979b 100644 --- a/drivers/net/wan/c101.c +++ b/drivers/net/wan/c101.c @@ -313,7 +313,7 @@ static int __init c101_run(unsigned long irq, unsigned long winbase) return -ENODEV; } - card = kzalloc(sizeof(card_t), GFP_KERNEL); + card = kzalloc_obj(card_t, GFP_KERNEL); if (!card) return -ENOBUFS; diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c index 5b01642ca44e..9f989b2ff558 100644 --- a/drivers/net/wan/farsync.c +++ b/drivers/net/wan/farsync.c @@ -2359,7 +2359,7 @@ fst_add_one(struct pci_dev *pdev, const struct pci_device_id *ent) } /* Allocate driver private data */ - card = kzalloc(sizeof(struct fst_card_info), GFP_KERNEL); + card = kzalloc_obj(struct fst_card_info, GFP_KERNEL); if (!card) return -ENOMEM; diff --git a/drivers/net/wan/framer/framer-core.c b/drivers/net/wan/framer/framer-core.c index bf7ac7dd2804..66ed38e97336 100644 --- a/drivers/net/wan/framer/framer-core.c +++ b/drivers/net/wan/framer/framer-core.c @@ -615,7 +615,7 @@ struct framer *framer_create(struct device *dev, struct device_node *node, if (WARN_ON((ops->flags & FRAMER_FLAG_POLL_STATUS) && !ops->get_status)) return ERR_PTR(-EINVAL); - framer = kzalloc(sizeof(*framer), GFP_KERNEL); + framer = kzalloc_obj(*framer, GFP_KERNEL); if (!framer) return ERR_PTR(-ENOMEM); @@ -771,7 +771,7 @@ __framer_provider_of_register(struct device *dev, struct module *owner, { struct framer_provider *framer_provider; - framer_provider = kzalloc(sizeof(*framer_provider), GFP_KERNEL); + framer_provider = kzalloc_obj(*framer_provider, GFP_KERNEL); if (!framer_provider) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wan/framer/pef2256/pef2256.c b/drivers/net/wan/framer/pef2256/pef2256.c index c058cc79137d..f7ed6b3dd2d7 100644 --- a/drivers/net/wan/framer/pef2256/pef2256.c +++ b/drivers/net/wan/framer/pef2256/pef2256.c @@ -638,7 +638,7 @@ static int pef2256_add_audio_devices(struct pef2256 *pef2256) if (!count) return 0; - audio_devs = kcalloc(count, sizeof(*audio_devs), GFP_KERNEL); + audio_devs = kzalloc_objs(*audio_devs, count, GFP_KERNEL); if (!audio_devs) return -ENOMEM; diff --git a/drivers/net/wan/fsl_ucc_hdlc.c b/drivers/net/wan/fsl_ucc_hdlc.c index dff84731343c..5e93e204da0c 100644 --- a/drivers/net/wan/fsl_ucc_hdlc.c +++ b/drivers/net/wan/fsl_ucc_hdlc.c @@ -203,17 +203,15 @@ static int uhdlc_init(struct ucc_hdlc_private *priv) goto free_tx_bd; } - priv->rx_skbuff = kcalloc(priv->rx_ring_size, - sizeof(*priv->rx_skbuff), - GFP_KERNEL); + priv->rx_skbuff = kzalloc_objs(*priv->rx_skbuff, priv->rx_ring_size, + GFP_KERNEL); if (!priv->rx_skbuff) { ret = -ENOMEM; goto free_ucc_pram; } - priv->tx_skbuff = kcalloc(priv->tx_ring_size, - sizeof(*priv->tx_skbuff), - GFP_KERNEL); + priv->tx_skbuff = kzalloc_objs(*priv->tx_skbuff, priv->tx_ring_size, + GFP_KERNEL); if (!priv->tx_skbuff) { ret = -ENOMEM; goto free_rx_skbuff; @@ -900,8 +898,7 @@ static int uhdlc_suspend(struct device *dev) priv->gumr = ioread32be(&uf_regs->gumr); priv->guemr = ioread8(&uf_regs->guemr); - priv->ucc_pram_bak = kmalloc(sizeof(*priv->ucc_pram_bak), - GFP_KERNEL); + priv->ucc_pram_bak = kmalloc_obj(*priv->ucc_pram_bak, GFP_KERNEL); if (!priv->ucc_pram_bak) return -ENOMEM; @@ -1173,7 +1170,7 @@ static int ucc_hdlc_probe(struct platform_device *pdev) ut_info->uf_info.regs = res.start; ut_info->uf_info.irq = irq_of_parse_and_map(np, 0); - uhdlc_priv = kzalloc(sizeof(*uhdlc_priv), GFP_KERNEL); + uhdlc_priv = kzalloc_obj(*uhdlc_priv, GFP_KERNEL); if (!uhdlc_priv) return -ENOMEM; @@ -1186,7 +1183,7 @@ static int ucc_hdlc_probe(struct platform_device *pdev) uhdlc_priv->hdlc_bus = of_property_read_bool(np, "fsl,hdlc-bus"); if (uhdlc_priv->tsa == 1) { - utdm = kzalloc(sizeof(*utdm), GFP_KERNEL); + utdm = kzalloc_obj(*utdm, GFP_KERNEL); if (!utdm) { ret = -ENOMEM; dev_err(&pdev->dev, "No mem to alloc ucc tdm data\n"); diff --git a/drivers/net/wan/hdlc_fr.c b/drivers/net/wan/hdlc_fr.c index 08a0ba5ca471..5f0e54ed1ee1 100644 --- a/drivers/net/wan/hdlc_fr.c +++ b/drivers/net/wan/hdlc_fr.c @@ -192,7 +192,7 @@ static struct pvc_device *add_pvc(struct net_device *dev, u16 dlci) pvc_p = &(*pvc_p)->next; } - pvc = kzalloc(sizeof(*pvc), GFP_ATOMIC); + pvc = kzalloc_obj(*pvc, GFP_ATOMIC); #ifdef DEBUG_PVC printk(KERN_DEBUG "add_pvc: allocated pvc %p, frad %p\n", pvc, dev); #endif diff --git a/drivers/net/wan/n2.c b/drivers/net/wan/n2.c index f3e80722ba1d..1892ee67bf20 100644 --- a/drivers/net/wan/n2.c +++ b/drivers/net/wan/n2.c @@ -340,7 +340,7 @@ static int __init n2_run(unsigned long io, unsigned long irq, return -ENODEV; } - card = kzalloc(sizeof(card_t), GFP_KERNEL); + card = kzalloc_obj(card_t, GFP_KERNEL); if (!card) return -ENOBUFS; diff --git a/drivers/net/wan/pc300too.c b/drivers/net/wan/pc300too.c index 4766446f0fa0..82ae9e1db51d 100644 --- a/drivers/net/wan/pc300too.c +++ b/drivers/net/wan/pc300too.c @@ -300,7 +300,7 @@ static int pc300_pci_init_one(struct pci_dev *pdev, return i; } - card = kzalloc(sizeof(card_t), GFP_KERNEL); + card = kzalloc_obj(card_t, GFP_KERNEL); if (!card) { pci_release_regions(pdev); pci_disable_device(pdev); diff --git a/drivers/net/wan/pci200syn.c b/drivers/net/wan/pci200syn.c index ea86c7035653..33f562919923 100644 --- a/drivers/net/wan/pci200syn.c +++ b/drivers/net/wan/pci200syn.c @@ -281,7 +281,7 @@ static int pci200_pci_init_one(struct pci_dev *pdev, return i; } - card = kzalloc(sizeof(card_t), GFP_KERNEL); + card = kzalloc_obj(card_t, GFP_KERNEL); if (!card) { pci_release_regions(pdev); pci_disable_device(pdev); diff --git a/drivers/net/wan/wanxl.c b/drivers/net/wan/wanxl.c index 5a9e262188ef..d24443390932 100644 --- a/drivers/net/wan/wanxl.c +++ b/drivers/net/wan/wanxl.c @@ -598,7 +598,7 @@ static int wanxl_pci_init_one(struct pci_dev *pdev, ports = 4; } - card = kzalloc(struct_size(card, ports, ports), GFP_KERNEL); + card = kzalloc_flex(*card, ports, ports, GFP_KERNEL); if (!card) { pci_release_regions(pdev); pci_disable_device(pdev); diff --git a/drivers/net/wireguard/noise.c b/drivers/net/wireguard/noise.c index 1fe8468f0bef..994b7c6f0613 100644 --- a/drivers/net/wireguard/noise.c +++ b/drivers/net/wireguard/noise.c @@ -97,7 +97,7 @@ void wg_noise_handshake_clear(struct noise_handshake *handshake) static struct noise_keypair *keypair_create(struct wg_peer *peer) { - struct noise_keypair *keypair = kzalloc(sizeof(*keypair), GFP_KERNEL); + struct noise_keypair *keypair = kzalloc_obj(*keypair, GFP_KERNEL); if (unlikely(!keypair)) return NULL; diff --git a/drivers/net/wireguard/peerlookup.c b/drivers/net/wireguard/peerlookup.c index f2783aa7a88f..5ae4e6c5e7c9 100644 --- a/drivers/net/wireguard/peerlookup.c +++ b/drivers/net/wireguard/peerlookup.c @@ -21,7 +21,7 @@ static struct hlist_head *pubkey_bucket(struct pubkey_hashtable *table, struct pubkey_hashtable *wg_pubkey_hashtable_alloc(void) { - struct pubkey_hashtable *table = kvmalloc(sizeof(*table), GFP_KERNEL); + struct pubkey_hashtable *table = kvmalloc_obj(*table, GFP_KERNEL); if (!table) return NULL; @@ -82,7 +82,7 @@ static struct hlist_head *index_bucket(struct index_hashtable *table, struct index_hashtable *wg_index_hashtable_alloc(void) { - struct index_hashtable *table = kvmalloc(sizeof(*table), GFP_KERNEL); + struct index_hashtable *table = kvmalloc_obj(*table, GFP_KERNEL); if (!table) return NULL; diff --git a/drivers/net/wireguard/ratelimiter.c b/drivers/net/wireguard/ratelimiter.c index dd55e5c26f46..13d532a44294 100644 --- a/drivers/net/wireguard/ratelimiter.c +++ b/drivers/net/wireguard/ratelimiter.c @@ -176,12 +176,12 @@ int wg_ratelimiter_init(void) (1U << 14) / sizeof(struct hlist_head))); max_entries = table_size * 8; - table_v4 = kvcalloc(table_size, sizeof(*table_v4), GFP_KERNEL); + table_v4 = kvzalloc_objs(*table_v4, table_size, GFP_KERNEL); if (unlikely(!table_v4)) goto err_kmemcache; #if IS_ENABLED(CONFIG_IPV6) - table_v6 = kvcalloc(table_size, sizeof(*table_v6), GFP_KERNEL); + table_v6 = kvzalloc_objs(*table_v6, table_size, GFP_KERNEL); if (unlikely(!table_v6)) { kvfree(table_v4); goto err_kmemcache; diff --git a/drivers/net/wireguard/selftest/allowedips.c b/drivers/net/wireguard/selftest/allowedips.c index 41837efa70cb..6c7c79e39ad4 100644 --- a/drivers/net/wireguard/selftest/allowedips.c +++ b/drivers/net/wireguard/selftest/allowedips.c @@ -181,7 +181,7 @@ static __init int horrible_allowedips_insert_v4(struct horrible_allowedips *table, struct in_addr *ip, u8 cidr, void *value) { - struct horrible_allowedips_node *node = kzalloc(sizeof(*node), GFP_KERNEL); + struct horrible_allowedips_node *node = kzalloc_obj(*node, GFP_KERNEL); if (unlikely(!node)) return -ENOMEM; @@ -198,7 +198,7 @@ static __init int horrible_allowedips_insert_v6(struct horrible_allowedips *table, struct in6_addr *ip, u8 cidr, void *value) { - struct horrible_allowedips_node *node = kzalloc(sizeof(*node), GFP_KERNEL); + struct horrible_allowedips_node *node = kzalloc_obj(*node, GFP_KERNEL); if (unlikely(!node)) return -ENOMEM; @@ -266,13 +266,13 @@ static __init bool randomized_test(void) wg_allowedips_init(&t); horrible_allowedips_init(&h); - peers = kcalloc(NUM_PEERS, sizeof(*peers), GFP_KERNEL); + peers = kzalloc_objs(*peers, NUM_PEERS, GFP_KERNEL); if (unlikely(!peers)) { pr_err("allowedips random self-test malloc: FAIL\n"); goto free; } for (i = 0; i < NUM_PEERS; ++i) { - peers[i] = kzalloc(sizeof(*peers[i]), GFP_KERNEL); + peers[i] = kzalloc_obj(*peers[i], GFP_KERNEL); if (unlikely(!peers[i])) { pr_err("allowedips random self-test malloc: FAIL\n"); goto free; @@ -447,7 +447,7 @@ static __init inline struct in6_addr *ip6(u32 a, u32 b, u32 c, u32 d) static __init struct wg_peer *init_peer(void) { - struct wg_peer *peer = kzalloc(sizeof(*peer), GFP_KERNEL); + struct wg_peer *peer = kzalloc_obj(*peer, GFP_KERNEL); if (!peer) return NULL; diff --git a/drivers/net/wireguard/selftest/counter.c b/drivers/net/wireguard/selftest/counter.c index ec3c156bf91b..13c5535a1fd6 100644 --- a/drivers/net/wireguard/selftest/counter.c +++ b/drivers/net/wireguard/selftest/counter.c @@ -10,7 +10,7 @@ bool __init wg_packet_counter_selftest(void) unsigned int test_num = 0, i; bool success = true; - counter = kmalloc(sizeof(*counter), GFP_KERNEL); + counter = kmalloc_obj(*counter, GFP_KERNEL); if (unlikely(!counter)) { pr_err("nonce counter self-test malloc: FAIL\n"); return false; diff --git a/drivers/net/wireless/ath/ar5523/ar5523.c b/drivers/net/wireless/ath/ar5523/ar5523.c index 1230e6278f23..f1567365ac04 100644 --- a/drivers/net/wireless/ath/ar5523/ar5523.c +++ b/drivers/net/wireless/ath/ar5523/ar5523.c @@ -1512,11 +1512,11 @@ static int ar5523_load_firmware(struct usb_device *dev) return -ENOENT; } - txblock = kzalloc(sizeof(*txblock), GFP_KERNEL); + txblock = kzalloc_obj(*txblock, GFP_KERNEL); if (!txblock) goto out; - rxblock = kmalloc(sizeof(*rxblock), GFP_KERNEL); + rxblock = kmalloc_obj(*rxblock, GFP_KERNEL); if (!rxblock) goto out_free_txblock; diff --git a/drivers/net/wireless/ath/ath10k/ce.c b/drivers/net/wireless/ath/ath10k/ce.c index 82f120ee1c66..23e5163acc9a 100644 --- a/drivers/net/wireless/ath/ath10k/ce.c +++ b/drivers/net/wireless/ath/ath10k/ce.c @@ -1461,8 +1461,8 @@ ath10k_ce_alloc_src_ring(struct ath10k *ar, unsigned int ce_id, nentries = roundup_pow_of_two(nentries); - src_ring = kzalloc(struct_size(src_ring, per_transfer_context, - nentries), GFP_KERNEL); + src_ring = kzalloc_flex(*src_ring, per_transfer_context, nentries, + GFP_KERNEL); if (src_ring == NULL) return ERR_PTR(-ENOMEM); @@ -1519,8 +1519,8 @@ ath10k_ce_alloc_src_ring_64(struct ath10k *ar, unsigned int ce_id, nentries = roundup_pow_of_two(nentries); - src_ring = kzalloc(struct_size(src_ring, per_transfer_context, - nentries), GFP_KERNEL); + src_ring = kzalloc_flex(*src_ring, per_transfer_context, nentries, + GFP_KERNEL); if (!src_ring) return ERR_PTR(-ENOMEM); @@ -1575,8 +1575,8 @@ ath10k_ce_alloc_dest_ring(struct ath10k *ar, unsigned int ce_id, nentries = roundup_pow_of_two(attr->dest_nentries); - dest_ring = kzalloc(struct_size(dest_ring, per_transfer_context, - nentries), GFP_KERNEL); + dest_ring = kzalloc_flex(*dest_ring, per_transfer_context, nentries, + GFP_KERNEL); if (dest_ring == NULL) return ERR_PTR(-ENOMEM); @@ -1619,8 +1619,8 @@ ath10k_ce_alloc_dest_ring_64(struct ath10k *ar, unsigned int ce_id, nentries = roundup_pow_of_two(attr->dest_nentries); - dest_ring = kzalloc(struct_size(dest_ring, per_transfer_context, - nentries), GFP_KERNEL); + dest_ring = kzalloc_flex(*dest_ring, per_transfer_context, nentries, + GFP_KERNEL); if (!dest_ring) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c index d7e429041065..bea2cd4e5ee4 100644 --- a/drivers/net/wireless/ath/ath10k/htt_rx.c +++ b/drivers/net/wireless/ath/ath10k/htt_rx.c @@ -807,8 +807,7 @@ int ath10k_htt_rx_alloc(struct ath10k_htt *htt) } htt->rx_ring.netbufs_ring = - kcalloc(htt->rx_ring.size, sizeof(struct sk_buff *), - GFP_KERNEL); + kzalloc_objs(struct sk_buff *, htt->rx_ring.size, GFP_KERNEL); if (!htt->rx_ring.netbufs_ring) goto err_netbuf; diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index da6f7957a0ae..ef595a939bde 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -6431,7 +6431,7 @@ static int ath10k_hw_scan(struct ieee80211_hw *hw, if (ret) goto exit; - arg = kzalloc(sizeof(*arg), GFP_KERNEL); + arg = kzalloc_obj(*arg, GFP_KERNEL); if (!arg) { ret = -ENOMEM; goto exit; @@ -7559,8 +7559,8 @@ static int ath10k_sta_state(struct ieee80211_hw *hw, } if (ath10k_debug_is_extd_tx_stats_enabled(ar)) { - arsta->tx_stats = kzalloc(sizeof(*arsta->tx_stats), - GFP_KERNEL); + arsta->tx_stats = kzalloc_obj(*arsta->tx_stats, + GFP_KERNEL); if (!arsta->tx_stats) { ath10k_mac_dec_num_stations(arvif, sta); ret = -ENOMEM; @@ -7972,7 +7972,7 @@ static int ath10k_remain_on_channel(struct ieee80211_hw *hw, scan_time_msec = ar->hw->wiphy->max_remain_on_channel_duration * 2; - arg = kzalloc(sizeof(*arg), GFP_KERNEL); + arg = kzalloc_obj(*arg, GFP_KERNEL); if (!arg) { ret = -ENOMEM; goto exit; @@ -8954,8 +8954,7 @@ ath10k_mac_op_change_chanctx(struct ieee80211_hw *hw, if (arg.n_vifs == 0) goto radar; - arg.vifs = kcalloc(arg.n_vifs, sizeof(arg.vifs[0]), - GFP_KERNEL); + arg.vifs = kzalloc_objs(arg.vifs[0], arg.n_vifs, GFP_KERNEL); if (!arg.vifs) goto radar; diff --git a/drivers/net/wireless/ath/ath10k/qmi.c b/drivers/net/wireless/ath/ath10k/qmi.c index 8275345631a0..62c9ef500ee7 100644 --- a/drivers/net/wireless/ath/ath10k/qmi.c +++ b/drivers/net/wireless/ath/ath10k/qmi.c @@ -245,7 +245,7 @@ static int ath10k_qmi_bdf_dnld_send_sync(struct ath10k_qmi *qmi) const u8 *temp; int ret; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -437,7 +437,7 @@ ath10k_qmi_cfg_send_sync_msg(struct ath10k *ar, int ret; u32 i; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -578,7 +578,7 @@ static int ath10k_qmi_cap_send_sync_msg(struct ath10k_qmi *qmi) struct qmi_txn txn; int ret; - resp = kzalloc(sizeof(*resp), GFP_KERNEL); + resp = kzalloc_obj(*resp, GFP_KERNEL); if (!resp) return -ENOMEM; @@ -877,7 +877,7 @@ ath10k_qmi_driver_event_post(struct ath10k_qmi *qmi, { struct ath10k_qmi_driver_event *event; - event = kzalloc(sizeof(*event), GFP_ATOMIC); + event = kzalloc_obj(*event, GFP_ATOMIC); if (!event) return -ENOMEM; @@ -1075,7 +1075,7 @@ int ath10k_qmi_init(struct ath10k *ar, u32 msa_size) struct ath10k_qmi *qmi; int ret; - qmi = kzalloc(sizeof(*qmi), GFP_KERNEL); + qmi = kzalloc_obj(*qmi, GFP_KERNEL); if (!qmi) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath10k/sdio.c b/drivers/net/wireless/ath/ath10k/sdio.c index 00d0556dafef..ff046cff7399 100644 --- a/drivers/net/wireless/ath/ath10k/sdio.c +++ b/drivers/net/wireless/ath/ath10k/sdio.c @@ -246,7 +246,7 @@ static int ath10k_sdio_writesb32(struct ath10k *ar, u32 addr, u32 val) __le32 *buf; int ret; - buf = kzalloc(sizeof(*buf), GFP_KERNEL); + buf = kzalloc_obj(*buf, GFP_KERNEL); if (!buf) return -ENOMEM; @@ -1766,7 +1766,7 @@ static int ath10k_sdio_diag_read32(struct ath10k *ar, u32 address, __le32 *val; int ret; - val = kzalloc(sizeof(*val), GFP_KERNEL); + val = kzalloc_obj(*val, GFP_KERNEL); if (!val) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath10k/txrx.c b/drivers/net/wireless/ath/ath10k/txrx.c index 493bfb410aff..50a3498a0bfd 100644 --- a/drivers/net/wireless/ath/ath10k/txrx.c +++ b/drivers/net/wireless/ath/ath10k/txrx.c @@ -230,7 +230,7 @@ void ath10k_peer_map_event(struct ath10k_htt *htt, spin_lock_bh(&ar->data_lock); peer = ath10k_peer_find(ar, ev->vdev_id, ev->addr); if (!peer) { - peer = kzalloc(sizeof(*peer), GFP_ATOMIC); + peer = kzalloc_obj(*peer, GFP_ATOMIC); if (!peer) goto exit; diff --git a/drivers/net/wireless/ath/ath10k/usb.c b/drivers/net/wireless/ath/ath10k/usb.c index 1732a4f98418..59969db56048 100644 --- a/drivers/net/wireless/ath/ath10k/usb.c +++ b/drivers/net/wireless/ath/ath10k/usb.c @@ -799,7 +799,7 @@ static int ath10k_usb_alloc_pipe_resources(struct ath10k *ar, init_usb_anchor(&pipe->urb_submitted); for (i = 0; i < urb_cnt; i++) { - urb_context = kzalloc(sizeof(*urb_context), GFP_KERNEL); + urb_context = kzalloc_obj(*urb_context, GFP_KERNEL); if (!urb_context) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath10k/wmi-tlv.c b/drivers/net/wireless/ath/ath10k/wmi-tlv.c index 16d07d619b4d..ec8e91707f84 100644 --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c @@ -145,7 +145,7 @@ ath10k_wmi_tlv_parse_alloc(struct ath10k *ar, const void *ptr, const void **tb; int ret; - tb = kcalloc(WMI_TLV_TAG_MAX, sizeof(*tb), gfp); + tb = kzalloc_objs(*tb, WMI_TLV_TAG_MAX, gfp); if (!tb) return ERR_PTR(-ENOMEM); @@ -1546,7 +1546,7 @@ static int ath10k_wmi_tlv_op_pull_fw_stats(struct ath10k *ar, data += sizeof(*src); data_len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -1569,7 +1569,7 @@ static int ath10k_wmi_tlv_op_pull_fw_stats(struct ath10k *ar, data += sizeof(*src); data_len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -1590,7 +1590,7 @@ static int ath10k_wmi_tlv_op_pull_fw_stats(struct ath10k *ar, data += sizeof(*src); data_len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3063,7 +3063,7 @@ ath10k_wmi_mgmt_tx_alloc_msdu_id(struct ath10k *ar, struct sk_buff *skb, struct ath10k_mgmt_tx_pkt_addr *pkt_addr; int ret; - pkt_addr = kmalloc(sizeof(*pkt_addr), GFP_ATOMIC); + pkt_addr = kmalloc_obj(*pkt_addr, GFP_ATOMIC); if (!pkt_addr) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c index ce22141e5efd..0bdb38edd915 100644 --- a/drivers/net/wireless/ath/ath10k/wmi.c +++ b/drivers/net/wireless/ath/ath10k/wmi.c @@ -3046,7 +3046,7 @@ static int ath10k_wmi_main_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3067,7 +3067,7 @@ static int ath10k_wmi_main_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3100,7 +3100,7 @@ static int ath10k_wmi_10x_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3122,7 +3122,7 @@ static int ath10k_wmi_10x_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3161,7 +3161,7 @@ static int ath10k_wmi_10_2_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3198,7 +3198,7 @@ static int ath10k_wmi_10_2_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3238,7 +3238,7 @@ static int ath10k_wmi_10_2_4_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3281,7 +3281,7 @@ static int ath10k_wmi_10_2_4_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, stats_len)) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3330,7 +3330,7 @@ static int ath10k_wmi_10_4_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3376,7 +3376,7 @@ static int ath10k_wmi_10_4_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3409,7 +3409,7 @@ static int ath10k_wmi_10_4_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -3429,7 +3429,7 @@ static int ath10k_wmi_10_4_op_pull_fw_stats(struct ath10k *ar, if (!skb_pull(skb, sizeof(*src))) return -EPROTO; - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; ath10k_wmi_10_4_pull_vdev_stats(src, dst); @@ -4912,7 +4912,7 @@ void ath10k_wmi_event_pdev_tpc_config(struct ath10k *ar, struct sk_buff *skb) rate_max = WMI_TPC_RATE_MAX; } - tpc_stats = kzalloc(sizeof(*tpc_stats), GFP_ATOMIC); + tpc_stats = kzalloc_obj(*tpc_stats, GFP_ATOMIC); if (!tpc_stats) return; @@ -5168,7 +5168,7 @@ void ath10k_wmi_event_tpc_final_table(struct ath10k *ar, struct sk_buff *skb) rate_max = WMI_TPC_FINAL_RATE_MAX; } - tpc_stats = kzalloc(sizeof(*tpc_stats), GFP_ATOMIC); + tpc_stats = kzalloc_obj(*tpc_stats, GFP_ATOMIC); if (!tpc_stats) return; diff --git a/drivers/net/wireless/ath/ath10k/wow.c b/drivers/net/wireless/ath/ath10k/wow.c index aa7b2e703f3d..8b7f608b5265 100644 --- a/drivers/net/wireless/ath/ath10k/wow.c +++ b/drivers/net/wireless/ath/ath10k/wow.c @@ -301,7 +301,7 @@ static int ath10k_vif_wow_set_wakeups(struct ath10k_vif *arvif, struct wmi_pno_scan_req *pno; int ret; - pno = kzalloc(sizeof(*pno), GFP_KERNEL); + pno = kzalloc_obj(*pno, GFP_KERNEL); if (!pno) return -ENOMEM; @@ -413,7 +413,7 @@ static int ath10k_vif_wow_clean_nlo(struct ath10k_vif *arvif) if (ar->nlo_enabled) { struct wmi_pno_scan_req *pno; - pno = kzalloc(sizeof(*pno), GFP_KERNEL); + pno = kzalloc_obj(*pno, GFP_KERNEL); if (!pno) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/ce.c b/drivers/net/wireless/ath/ath11k/ce.c index a7a163621b21..b91f8bb9a81c 100644 --- a/drivers/net/wireless/ath/ath11k/ce.c +++ b/drivers/net/wireless/ath/ath11k/ce.c @@ -615,7 +615,7 @@ ath11k_ce_alloc_ring(struct ath11k_base *ab, int nentries, int desc_sz) struct ath11k_ce_ring *ce_ring; dma_addr_t base_addr; - ce_ring = kzalloc(struct_size(ce_ring, skb, nentries), GFP_KERNEL); + ce_ring = kzalloc_flex(*ce_ring, skb, nentries, GFP_KERNEL); if (ce_ring == NULL) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wireless/ath/ath11k/cfr.c b/drivers/net/wireless/ath/ath11k/cfr.c index 61bf1c0884f7..61ac656ece07 100644 --- a/drivers/net/wireless/ath/ath11k/cfr.c +++ b/drivers/net/wireless/ath/ath11k/cfr.c @@ -975,8 +975,7 @@ int ath11k_cfr_init(struct ath11k_base *ab) spin_lock_init(&cfr->lut_lock); num_lut_entries = min_t(u32, CFR_MAX_LUT_ENTRIES, db_cap.min_elem); - cfr->lut = kcalloc(num_lut_entries, sizeof(*cfr->lut), - GFP_KERNEL); + cfr->lut = kzalloc_objs(*cfr->lut, num_lut_entries, GFP_KERNEL); if (!cfr->lut) { ret = -ENOMEM; goto err; diff --git a/drivers/net/wireless/ath/ath11k/dbring.c b/drivers/net/wireless/ath/ath11k/dbring.c index d6994ce6ebff..6ac18f8a1e5f 100644 --- a/drivers/net/wireless/ath/ath11k/dbring.c +++ b/drivers/net/wireless/ath/ath11k/dbring.c @@ -127,7 +127,7 @@ static int ath11k_dbring_fill_bufs(struct ath11k *ar, size = ring->buf_sz + align - 1; while (num_remain > 0) { - buff = kzalloc(sizeof(*buff), GFP_ATOMIC); + buff = kzalloc_obj(*buff, GFP_ATOMIC); if (!buff) break; diff --git a/drivers/net/wireless/ath/ath11k/debugfs.c b/drivers/net/wireless/ath/ath11k/debugfs.c index 50f344803e8f..9b8660e56a1a 100644 --- a/drivers/net/wireless/ath/ath11k/debugfs.c +++ b/drivers/net/wireless/ath/ath11k/debugfs.c @@ -1193,8 +1193,7 @@ static int ath11k_debugfs_dbr_dbg_init(struct ath11k *ar, int dbr_id) if (ar->debug.dbr_debug[dbr_id]) return 0; - ar->debug.dbr_debug[dbr_id] = kzalloc(sizeof(*dbr_debug), - GFP_KERNEL); + ar->debug.dbr_debug[dbr_id] = kzalloc_obj(*dbr_debug, GFP_KERNEL); if (!ar->debug.dbr_debug[dbr_id]) return -ENOMEM; @@ -1216,9 +1215,9 @@ static int ath11k_debugfs_dbr_dbg_init(struct ath11k *ar, int dbr_id) dbr_debug->dbr_debug_enabled = true; dbr_dbg_data->num_ring_debug_entries = ATH11K_DEBUG_DBR_ENTRIES_MAX; dbr_dbg_data->dbr_debug_idx = 0; - dbr_dbg_data->entries = kcalloc(ATH11K_DEBUG_DBR_ENTRIES_MAX, - sizeof(struct ath11k_dbg_dbr_entry), - GFP_KERNEL); + dbr_dbg_data->entries = kzalloc_objs(struct ath11k_dbg_dbr_entry, + ATH11K_DEBUG_DBR_ENTRIES_MAX, + GFP_KERNEL); if (!dbr_dbg_data->entries) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/dp_rx.c b/drivers/net/wireless/ath/ath11k/dp_rx.c index b9e976ddcbbf..49d959b2e148 100644 --- a/drivers/net/wireless/ath/ath11k/dp_rx.c +++ b/drivers/net/wireless/ath/ath11k/dp_rx.c @@ -772,7 +772,7 @@ static void ath11k_dp_rx_tid_del_func(struct ath11k_dp *dp, void *ctx, return; } - elem = kzalloc(sizeof(*elem), GFP_ATOMIC); + elem = kzalloc_obj(*elem, GFP_ATOMIC); if (!elem) goto free_desc; @@ -1542,7 +1542,7 @@ struct htt_ppdu_stats_info *ath11k_dp_htt_get_ppdu_desc(struct ath11k *ar, } } - ppdu_info = kzalloc(sizeof(*ppdu_info), GFP_ATOMIC); + ppdu_info = kzalloc_obj(*ppdu_info, GFP_ATOMIC); if (!ppdu_info) return NULL; @@ -5485,7 +5485,7 @@ static int ath11k_dp_rx_full_mon_prepare_mpdu(struct ath11k_dp *dp, struct sk_buff *head, struct sk_buff *tail) { - mon_mpdu = kzalloc(sizeof(*mon_mpdu), GFP_ATOMIC); + mon_mpdu = kzalloc_obj(*mon_mpdu, GFP_ATOMIC); if (!mon_mpdu) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/dp_tx.c b/drivers/net/wireless/ath/ath11k/dp_tx.c index 86e1e6c27b36..9c2310665713 100644 --- a/drivers/net/wireless/ath/ath11k/dp_tx.c +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c @@ -796,7 +796,7 @@ int ath11k_dp_tx_send_reo_cmd(struct ath11k_base *ab, struct dp_rx_tid *rx_tid, * for tid delete command to free up the resource on the command status * indication? */ - dp_cmd = kzalloc(sizeof(*dp_cmd), GFP_ATOMIC); + dp_cmd = kzalloc_obj(*dp_cmd, GFP_ATOMIC); if (!dp_cmd) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index 4dfd08b58416..7ec87ea7620f 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -4221,7 +4221,7 @@ static int ath11k_mac_op_hw_scan(struct ieee80211_hw *hw, if (ret) goto exit; - arg = kzalloc(sizeof(*arg), GFP_KERNEL); + arg = kzalloc_obj(*arg, GFP_KERNEL); if (!arg) { ret = -ENOMEM; @@ -7876,7 +7876,7 @@ ath11k_mac_update_active_vif_chan(struct ath11k *ar, if (arg.n_vifs == 0) return; - arg.vifs = kcalloc(arg.n_vifs, sizeof(arg.vifs[0]), GFP_KERNEL); + arg.vifs = kzalloc_objs(arg.vifs[0], arg.n_vifs, GFP_KERNEL); if (!arg.vifs) return; @@ -9729,7 +9729,7 @@ static int ath11k_mac_op_remain_on_channel(struct ieee80211_hw *hw, scan_time_msec = ar->hw->wiphy->max_remain_on_channel_duration * 2; - arg = kzalloc(sizeof(*arg), GFP_KERNEL); + arg = kzalloc_obj(*arg, GFP_KERNEL); if (!arg) { ret = -ENOMEM; goto exit; @@ -9823,7 +9823,7 @@ static int ath11k_mac_station_add(struct ath11k *ar, arvif->reinstall_group_keys = false; } - arsta->rx_stats = kzalloc(sizeof(*arsta->rx_stats), GFP_KERNEL); + arsta->rx_stats = kzalloc_obj(*arsta->rx_stats, GFP_KERNEL); if (!arsta->rx_stats) { ret = -ENOMEM; goto dec_num_station; @@ -9844,7 +9844,7 @@ static int ath11k_mac_station_add(struct ath11k *ar, sta->addr, arvif->vdev_id); if (ath11k_debugfs_is_extd_tx_stats_enabled(ar)) { - arsta->tx_stats = kzalloc(sizeof(*arsta->tx_stats), GFP_KERNEL); + arsta->tx_stats = kzalloc_obj(*arsta->tx_stats, GFP_KERNEL); if (!arsta->tx_stats) { ret = -ENOMEM; goto free_peer; @@ -10278,7 +10278,7 @@ static void ath11k_mac_setup_mac_address_list(struct ath11k *ar) return; n_addresses = ar->ab->hw_params.num_vdevs; - addresses = kcalloc(n_addresses, sizeof(*addresses), GFP_KERNEL); + addresses = kzalloc_objs(*addresses, n_addresses, GFP_KERNEL); if (!addresses) return; @@ -10310,7 +10310,7 @@ static int ath11k_mac_setup_iface_combinations(struct ath11k *ar) else n_combos = 1; - combinations = kcalloc(n_combos, sizeof(*combinations), GFP_KERNEL); + combinations = kzalloc_objs(*combinations, n_combos, GFP_KERNEL); if (!combinations) return -ENOMEM; @@ -10319,7 +10319,7 @@ static int ath11k_mac_setup_iface_combinations(struct ath11k *ar) else n_limits = 2; - limits = kcalloc(n_limits, sizeof(*limits), GFP_KERNEL); + limits = kzalloc_objs(*limits, n_limits, GFP_KERNEL); if (!limits) { kfree(combinations); return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/mhi.c b/drivers/net/wireless/ath/ath11k/mhi.c index d2c44f7f9b62..7cb91d23362f 100644 --- a/drivers/net/wireless/ath/ath11k/mhi.c +++ b/drivers/net/wireless/ath/ath11k/mhi.c @@ -207,7 +207,7 @@ static int ath11k_mhi_get_msi(struct ath11k_pci *ab_pci) ath11k_dbg(ab, ATH11K_DBG_PCI, "num_vectors %d base_vector %d\n", num_vectors, base_vector); - irq = kcalloc(num_vectors, sizeof(int), GFP_KERNEL); + irq = kzalloc_objs(int, num_vectors, GFP_KERNEL); if (!irq) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/peer.c b/drivers/net/wireless/ath/ath11k/peer.c index 6d0126c39301..027cc7aa58c8 100644 --- a/drivers/net/wireless/ath/ath11k/peer.c +++ b/drivers/net/wireless/ath/ath11k/peer.c @@ -125,7 +125,7 @@ void ath11k_peer_map_event(struct ath11k_base *ab, u8 vdev_id, u16 peer_id, spin_lock_bh(&ab->base_lock); peer = ath11k_peer_find(ab, vdev_id, mac_addr); if (!peer) { - peer = kzalloc(sizeof(*peer), GFP_ATOMIC); + peer = kzalloc_obj(*peer, GFP_ATOMIC); if (!peer) goto exit; diff --git a/drivers/net/wireless/ath/ath11k/qmi.c b/drivers/net/wireless/ath/ath11k/qmi.c index ff6a97e328b8..ea6f560abd98 100644 --- a/drivers/net/wireless/ath/ath11k/qmi.c +++ b/drivers/net/wireless/ath/ath11k/qmi.c @@ -1799,11 +1799,11 @@ static int ath11k_qmi_fw_ind_register_send(struct ath11k_base *ab) struct qmi_txn txn; int ret; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; - resp = kzalloc(sizeof(*resp), GFP_KERNEL); + resp = kzalloc_obj(*resp, GFP_KERNEL); if (!resp) { ret = -ENOMEM; goto resp_out; @@ -1878,7 +1878,7 @@ static int ath11k_qmi_respond_fw_mem_request(struct ath11k_base *ab) int ret = 0, i; bool delayed; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -2306,7 +2306,7 @@ static int ath11k_qmi_load_file_target_mem(struct ath11k_base *ab, int ret = 0; u32 remaining = len; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -2705,7 +2705,7 @@ static int ath11k_qmi_wlanfw_wlan_cfg_send(struct ath11k_base *ab) ce_cfg = (struct ce_pipe_config *)ab->qmi.ce_cfg.tgt_ce; svc_cfg = (struct service_to_pipe *)ab->qmi.ce_cfg.svc_to_ce_map; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -2929,7 +2929,7 @@ ath11k_qmi_driver_event_post(struct ath11k_qmi *qmi, { struct ath11k_qmi_driver_event *event; - event = kzalloc(sizeof(*event), GFP_ATOMIC); + event = kzalloc_obj(*event, GFP_ATOMIC); if (!event) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/reg.c b/drivers/net/wireless/ath/ath11k/reg.c index 49b79648752c..0cf830d97dbd 100644 --- a/drivers/net/wireless/ath/ath11k/reg.c +++ b/drivers/net/wireless/ath/ath11k/reg.c @@ -146,8 +146,7 @@ int ath11k_reg_update_chan_list(struct ath11k *ar, bool wait) if (WARN_ON(!num_channels)) return -EINVAL; - params = kzalloc(struct_size(params, ch_param, num_channels), - GFP_KERNEL); + params = kzalloc_flex(*params, ch_param, num_channels, GFP_KERNEL); if (!params) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/wmi.c b/drivers/net/wireless/ath/ath11k/wmi.c index 451cc4c719ae..40747fba3b0c 100644 --- a/drivers/net/wireless/ath/ath11k/wmi.c +++ b/drivers/net/wireless/ath/ath11k/wmi.c @@ -249,7 +249,7 @@ const void **ath11k_wmi_tlv_parse_alloc(struct ath11k_base *ab, const void **tb; int ret; - tb = kcalloc(WMI_TAG_MAX, sizeof(*tb), gfp); + tb = kzalloc_objs(*tb, WMI_TAG_MAX, gfp); if (!tb) return ERR_PTR(-ENOMEM); @@ -4918,9 +4918,8 @@ static int ath11k_wmi_tlv_ext_soc_hal_reg_caps_parse(struct ath11k_base *soc, } if (!soc->reg_info_store) { - soc->reg_info_store = kcalloc(soc->num_radios, - sizeof(*soc->reg_info_store), - GFP_ATOMIC); + soc->reg_info_store = kzalloc_objs(*soc->reg_info_store, + soc->num_radios, GFP_ATOMIC); if (!soc->reg_info_store) return -ENOMEM; } @@ -5238,8 +5237,7 @@ static struct cur_reg_rule struct cur_reg_rule *reg_rule_ptr; u32 count; - reg_rule_ptr = kcalloc(num_reg_rules, sizeof(*reg_rule_ptr), - GFP_ATOMIC); + reg_rule_ptr = kzalloc_objs(*reg_rule_ptr, num_reg_rules, GFP_ATOMIC); if (!reg_rule_ptr) return NULL; @@ -5388,7 +5386,7 @@ static struct cur_reg_rule struct cur_reg_rule *reg_rule_ptr; u32 count; - reg_rule_ptr = kcalloc(num_reg_rules, sizeof(*reg_rule_ptr), GFP_ATOMIC); + reg_rule_ptr = kzalloc_objs(*reg_rule_ptr, num_reg_rules, GFP_ATOMIC); if (!reg_rule_ptr) return NULL; @@ -6694,7 +6692,7 @@ static int ath11k_wmi_tlv_fw_stats_data_parse(struct ath11k_base *ab, data += sizeof(*src); len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -6737,7 +6735,7 @@ static int ath11k_wmi_tlv_fw_stats_data_parse(struct ath11k_base *ab, data += sizeof(*src); len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -6760,7 +6758,7 @@ static int ath11k_wmi_tlv_fw_stats_data_parse(struct ath11k_base *ab, data += sizeof(*src); len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -7247,7 +7245,7 @@ static int ath11k_reg_chan_list_event(struct ath11k_base *ab, struct sk_buff *sk struct cur_regulatory_info *reg_info; int ret; - reg_info = kzalloc(sizeof(*reg_info), GFP_ATOMIC); + reg_info = kzalloc_obj(*reg_info, GFP_ATOMIC); if (!reg_info) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath11k/wow.c b/drivers/net/wireless/ath/ath11k/wow.c index b6f08755129f..7b696d1dd0e8 100644 --- a/drivers/net/wireless/ath/ath11k/wow.c +++ b/drivers/net/wireless/ath/ath11k/wow.c @@ -381,7 +381,7 @@ static int ath11k_vif_wow_set_wakeups(struct ath11k_vif *arvif, struct wmi_pno_scan_req *pno; int ret; - pno = kzalloc(sizeof(*pno), GFP_KERNEL); + pno = kzalloc_obj(*pno, GFP_KERNEL); if (!pno) return -ENOMEM; @@ -495,7 +495,7 @@ static int ath11k_vif_wow_clean_nlo(struct ath11k_vif *arvif) if (ar->nlo_enabled) { struct wmi_pno_scan_req *pno; - pno = kzalloc(sizeof(*pno), GFP_KERNEL); + pno = kzalloc_obj(*pno, GFP_KERNEL); if (!pno) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/ce.c b/drivers/net/wireless/ath/ath12k/ce.c index f13b260c5c96..1106671dc844 100644 --- a/drivers/net/wireless/ath/ath12k/ce.c +++ b/drivers/net/wireless/ath/ath12k/ce.c @@ -332,7 +332,7 @@ ath12k_ce_alloc_ring(struct ath12k_base *ab, int nentries, int desc_sz) struct ath12k_ce_ring *ce_ring; dma_addr_t base_addr; - ce_ring = kzalloc(struct_size(ce_ring, skb, nentries), GFP_KERNEL); + ce_ring = kzalloc_flex(*ce_ring, skb, nentries, GFP_KERNEL); if (!ce_ring) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wireless/ath/ath12k/core.c b/drivers/net/wireless/ath/ath12k/core.c index 9d6c50a94e64..d9b41fc90dcd 100644 --- a/drivers/net/wireless/ath/ath12k/core.c +++ b/drivers/net/wireless/ath/ath12k/core.c @@ -1805,7 +1805,7 @@ static struct ath12k_hw_group *ath12k_core_hw_group_alloc(struct ath12k_base *ab list_for_each_entry(ag, &ath12k_hw_group_list, list) count++; - ag = kzalloc(sizeof(*ag), GFP_KERNEL); + ag = kzalloc_obj(*ag, GFP_KERNEL); if (!ag) return NULL; diff --git a/drivers/net/wireless/ath/ath12k/dp.c b/drivers/net/wireless/ath/ath12k/dp.c index ab54c8a84d3e..43f8ef03b1cf 100644 --- a/drivers/net/wireless/ath/ath12k/dp.c +++ b/drivers/net/wireless/ath/ath12k/dp.c @@ -407,9 +407,8 @@ static int ath12k_dp_init_bank_profiles(struct ath12k_base *ab) int i; dp->num_bank_profiles = num_tcl_banks; - dp->bank_profiles = kmalloc_array(num_tcl_banks, - sizeof(struct ath12k_dp_tx_bank_profile), - GFP_KERNEL); + dp->bank_profiles = kmalloc_objs(struct ath12k_dp_tx_bank_profile, + num_tcl_banks, GFP_KERNEL); if (!dp->bank_profiles) return -ENOMEM; @@ -1215,8 +1214,8 @@ static int ath12k_dp_cc_desc_init(struct ath12k_base *ab) spin_lock_bh(&dp->rx_desc_lock); - dp->rxbaddr = kcalloc(num_rx_spt_pages, - sizeof(struct ath12k_rx_desc_info *), GFP_ATOMIC); + dp->rxbaddr = kzalloc_objs(struct ath12k_rx_desc_info *, + num_rx_spt_pages, GFP_ATOMIC); if (!dp->rxbaddr) { spin_unlock_bh(&dp->rx_desc_lock); @@ -1227,8 +1226,8 @@ static int ath12k_dp_cc_desc_init(struct ath12k_base *ab) * RX */ for (i = 0; i < num_rx_spt_pages; i++) { - rx_descs = kcalloc(ATH12K_MAX_SPT_ENTRIES, sizeof(*rx_descs), - GFP_ATOMIC); + rx_descs = kzalloc_objs(*rx_descs, ATH12K_MAX_SPT_ENTRIES, + GFP_ATOMIC); if (!rx_descs) { spin_unlock_bh(&dp->rx_desc_lock); @@ -1253,8 +1252,8 @@ static int ath12k_dp_cc_desc_init(struct ath12k_base *ab) spin_unlock_bh(&dp->rx_desc_lock); - dp->txbaddr = kcalloc(ATH12K_NUM_TX_SPT_PAGES(ab), - sizeof(struct ath12k_tx_desc_info *), GFP_ATOMIC); + dp->txbaddr = kzalloc_objs(struct ath12k_tx_desc_info *, + ATH12K_NUM_TX_SPT_PAGES(ab), GFP_ATOMIC); if (!dp->txbaddr) return -ENOMEM; @@ -1262,8 +1261,9 @@ static int ath12k_dp_cc_desc_init(struct ath12k_base *ab) for (pool_id = 0; pool_id < ATH12K_HW_MAX_QUEUES; pool_id++) { spin_lock_bh(&dp->tx_desc_lock[pool_id]); for (i = 0; i < ATH12K_TX_SPT_PAGES_PER_POOL(ab); i++) { - tx_descs = kcalloc(ATH12K_MAX_SPT_ENTRIES, sizeof(*tx_descs), - GFP_ATOMIC); + tx_descs = kzalloc_objs(*tx_descs, + ATH12K_MAX_SPT_ENTRIES, + GFP_ATOMIC); if (!tx_descs) { spin_unlock_bh(&dp->tx_desc_lock[pool_id]); @@ -1362,8 +1362,8 @@ static int ath12k_dp_cc_init(struct ath12k_base *ab) if (dp->num_spt_pages > ATH12K_MAX_PPT_ENTRIES) dp->num_spt_pages = ATH12K_MAX_PPT_ENTRIES; - dp->spt_info = kcalloc(dp->num_spt_pages, sizeof(struct ath12k_spt_info), - GFP_KERNEL); + dp->spt_info = kzalloc_objs(struct ath12k_spt_info, dp->num_spt_pages, + GFP_KERNEL); if (!dp->spt_info) { ath12k_warn(ab, "SPT page allocation failure"); diff --git a/drivers/net/wireless/ath/ath12k/dp_htt.c b/drivers/net/wireless/ath/ath12k/dp_htt.c index cc71c5c5de5a..e71bb71a6020 100644 --- a/drivers/net/wireless/ath/ath12k/dp_htt.c +++ b/drivers/net/wireless/ath/ath12k/dp_htt.c @@ -386,7 +386,7 @@ struct htt_ppdu_stats_info *ath12k_dp_htt_get_ppdu_desc(struct ath12k_pdev_dp *d } } - ppdu_info = kzalloc(sizeof(*ppdu_info), GFP_ATOMIC); + ppdu_info = kzalloc_obj(*ppdu_info, GFP_ATOMIC); if (!ppdu_info) return NULL; diff --git a/drivers/net/wireless/ath/ath12k/dp_peer.c b/drivers/net/wireless/ath/ath12k/dp_peer.c index 2e66872b5572..95b5a4af4b2e 100644 --- a/drivers/net/wireless/ath/ath12k/dp_peer.c +++ b/drivers/net/wireless/ath/ath12k/dp_peer.c @@ -165,7 +165,7 @@ void ath12k_dp_link_peer_map_event(struct ath12k_base *ab, u8 vdev_id, u16 peer_ spin_lock_bh(&dp->dp_lock); peer = ath12k_dp_link_peer_find_by_vdev_and_addr(dp, vdev_id, mac_addr); if (!peer) { - peer = kzalloc(sizeof(*peer), GFP_ATOMIC); + peer = kzalloc_obj(*peer, GFP_ATOMIC); if (!peer) goto exit; @@ -179,8 +179,8 @@ void ath12k_dp_link_peer_map_event(struct ath12k_base *ab, u8 vdev_id, u16 peer_ ar = ath12k_mac_get_ar_by_vdev_id(ab, vdev_id); if (ar && ath12k_debugfs_is_extd_rx_stats_enabled(ar) && !peer->peer_stats.rx_stats) { - peer->peer_stats.rx_stats = - kzalloc(sizeof(*peer->peer_stats.rx_stats), GFP_ATOMIC); + peer->peer_stats.rx_stats = kzalloc_obj(*peer->peer_stats.rx_stats, + GFP_ATOMIC); } rcu_read_unlock(); @@ -233,7 +233,7 @@ static int ath12k_dp_link_peer_rhash_addr_tbl_init(struct ath12k_dp *dp) lockdep_assert_held(&dp->link_peer_rhash_tbl_lock); - rhash_addr_tbl = kzalloc(sizeof(*dp->rhead_peer_addr), GFP_KERNEL); + rhash_addr_tbl = kzalloc_obj(*dp->rhead_peer_addr, GFP_KERNEL); if (!rhash_addr_tbl) return -ENOMEM; @@ -463,7 +463,7 @@ int ath12k_dp_peer_create(struct ath12k_dp_hw *dp_hw, u8 *addr, } spin_unlock_bh(&dp_hw->peer_lock); - dp_peer = kzalloc(sizeof(*dp_peer), GFP_ATOMIC); + dp_peer = kzalloc_obj(*dp_peer, GFP_ATOMIC); if (!dp_peer) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/dp_rx.c b/drivers/net/wireless/ath/ath12k/dp_rx.c index a32ee9f8061a..5a82ede65dd3 100644 --- a/drivers/net/wireless/ath/ath12k/dp_rx.c +++ b/drivers/net/wireless/ath/ath12k/dp_rx.c @@ -464,7 +464,7 @@ void ath12k_dp_rx_tid_del_func(struct ath12k_dp *dp, void *ctx, ath12k_dp_rx_process_reo_cmd_update_rx_queue_list(dp); spin_unlock_bh(&dp->dp_lock); - elem = kzalloc(sizeof(*elem), GFP_ATOMIC); + elem = kzalloc_obj(*elem, GFP_ATOMIC); if (!elem) goto free_desc; @@ -565,7 +565,7 @@ static int ath12k_dp_prepare_reo_update_elem(struct ath12k_dp *dp, lockdep_assert_held(&dp->dp_lock); - elem = kzalloc(sizeof(*elem), GFP_ATOMIC); + elem = kzalloc_obj(*elem, GFP_ATOMIC); if (!elem) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/mac.c b/drivers/net/wireless/ath/ath12k/mac.c index 68431a0e128e..007c91dbb269 100644 --- a/drivers/net/wireless/ath/ath12k/mac.c +++ b/drivers/net/wireless/ath/ath12k/mac.c @@ -3838,7 +3838,7 @@ static void ath12k_bss_assoc(struct ath12k *ar, lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy); struct ath12k_wmi_peer_assoc_arg *peer_arg __free(kfree) = - kzalloc(sizeof(*peer_arg), GFP_KERNEL); + kzalloc_obj(*peer_arg, GFP_KERNEL); if (!peer_arg) return; @@ -4217,7 +4217,7 @@ static struct ath12k_link_vif *ath12k_mac_assign_link_vif(struct ath12k_hw *ah, if (vif->type == NL80211_IFTYPE_STATION) arvif->is_sta_assoc_link = true; } else { - arvif = kzalloc(sizeof(*arvif), GFP_KERNEL); + arvif = kzalloc_obj(*arvif, GFP_KERNEL); if (!arvif) return NULL; } @@ -5024,7 +5024,8 @@ static struct ath12k_vif_cache *ath12k_ahvif_get_link_cache(struct ath12k_vif *a u8 link_id) { if (!ahvif->cache[link_id]) { - ahvif->cache[link_id] = kzalloc(sizeof(*ahvif->cache[0]), GFP_KERNEL); + ahvif->cache[link_id] = kzalloc_obj(*ahvif->cache[0], + GFP_KERNEL); if (ahvif->cache[link_id]) INIT_LIST_HEAD(&ahvif->cache[link_id]->key_conf.list); } @@ -5602,7 +5603,7 @@ static int ath12k_mac_initiate_hw_scan(struct ieee80211_hw *hw, if (ret) goto exit; - arg = kzalloc(sizeof(*arg), GFP_KERNEL); + arg = kzalloc_obj(*arg, GFP_KERNEL); if (!arg) { ret = -ENOMEM; goto exit; @@ -5692,7 +5693,7 @@ int ath12k_mac_op_hw_scan(struct ieee80211_hw *hw, lockdep_assert_wiphy(hw->wiphy); - chan_list = kcalloc(hw_req->req.n_channels, sizeof(*chan_list), GFP_KERNEL); + chan_list = kzalloc_objs(*chan_list, hw_req->req.n_channels, GFP_KERNEL); if (!chan_list) return -ENOMEM; @@ -6122,7 +6123,7 @@ static int ath12k_mac_update_key_cache(struct ath12k_vif_cache *cache, } if (cmd == SET_KEY) { - key_conf = kzalloc(sizeof(*key_conf), GFP_KERNEL); + key_conf = kzalloc_obj(*key_conf, GFP_KERNEL); if (!key_conf) return -ENOMEM; @@ -6456,7 +6457,7 @@ static int ath12k_mac_station_assoc(struct ath12k *ar, mask = &arvif->bitrate_mask; struct ath12k_wmi_peer_assoc_arg *peer_arg __free(kfree) = - kzalloc(sizeof(*peer_arg), GFP_KERNEL); + kzalloc_obj(*peer_arg, GFP_KERNEL); if (!peer_arg) return -ENOMEM; @@ -6619,7 +6620,7 @@ static void ath12k_sta_rc_update_wk(struct wiphy *wiphy, struct wiphy_work *wk) nss = min(nss, mac_nss); struct ath12k_wmi_peer_assoc_arg *peer_arg __free(kfree) = - kzalloc(sizeof(*peer_arg), GFP_KERNEL); + kzalloc_obj(*peer_arg, GFP_KERNEL); if (!peer_arg) return; @@ -7974,7 +7975,7 @@ static struct ath12k_link_sta *ath12k_mac_alloc_assign_link_sta(struct ath12k_hw if (arsta) return NULL; - arsta = kmalloc(sizeof(*arsta), GFP_KERNEL); + arsta = kmalloc_obj(*arsta, GFP_KERNEL); if (!arsta) return NULL; @@ -11549,7 +11550,7 @@ ath12k_mac_update_active_vif_chan(struct ath12k *ar, if (arg.n_vifs == 0) return; - arg.vifs = kcalloc(arg.n_vifs, sizeof(arg.vifs[0]), GFP_KERNEL); + arg.vifs = kzalloc_objs(arg.vifs[0], arg.n_vifs, GFP_KERNEL); if (!arg.vifs) return; @@ -13714,7 +13715,7 @@ int ath12k_mac_op_remain_on_channel(struct ieee80211_hw *hw, scan_time_msec = hw->wiphy->max_remain_on_channel_duration * 2; struct ath12k_wmi_scan_req_arg *arg __free(kfree) = - kzalloc(sizeof(*arg), GFP_KERNEL); + kzalloc_obj(*arg, GFP_KERNEL); if (!arg) return -ENOMEM; @@ -14122,7 +14123,7 @@ ath12k_mac_setup_radio_iface_comb(struct ath12k *ar, max_interfaces = 1; } - limits = kcalloc(n_limits, sizeof(*limits), GFP_KERNEL); + limits = kzalloc_objs(*limits, n_limits, GFP_KERNEL); if (!limits) return -ENOMEM; @@ -14186,7 +14187,7 @@ ath12k_mac_setup_global_iface_comb(struct ath12k_hw *ah, else n_limits = 1; - limits = kcalloc(n_limits, sizeof(*limits), GFP_KERNEL); + limits = kzalloc_objs(*limits, n_limits, GFP_KERNEL); if (!limits) return -ENOMEM; @@ -14249,8 +14250,8 @@ static int ath12k_mac_setup_iface_combinations(struct ath12k_hw *ah) if (ar->ab->hw_params->single_pdev_only) n_combinations = 2; - combinations = kcalloc(n_combinations, sizeof(*combinations), - GFP_KERNEL); + combinations = kzalloc_objs(*combinations, n_combinations, + GFP_KERNEL); if (!combinations) return -ENOMEM; @@ -14271,20 +14272,20 @@ static int ath12k_mac_setup_iface_combinations(struct ath12k_hw *ah) goto out; } - combinations = kcalloc(n_combinations, sizeof(*combinations), GFP_KERNEL); + combinations = kzalloc_objs(*combinations, n_combinations, GFP_KERNEL); if (!combinations) return -ENOMEM; /* there are multiple radios */ - radio = kcalloc(ah->num_radio, sizeof(*radio), GFP_KERNEL); + radio = kzalloc_objs(*radio, ah->num_radio, GFP_KERNEL); if (!radio) { ret = -ENOMEM; goto err_free_combinations; } for_each_ar(ah, ar, i) { - comb = kzalloc(sizeof(*comb), GFP_KERNEL); + comb = kzalloc_obj(*comb, GFP_KERNEL); if (!comb) { ret = -ENOMEM; goto err_free_radios; diff --git a/drivers/net/wireless/ath/ath12k/mhi.c b/drivers/net/wireless/ath/ath12k/mhi.c index 45c0f66dcc5e..8f07c00c51a2 100644 --- a/drivers/net/wireless/ath/ath12k/mhi.c +++ b/drivers/net/wireless/ath/ath12k/mhi.c @@ -80,7 +80,7 @@ static int ath12k_mhi_get_msi(struct ath12k_pci *ab_pci) ath12k_dbg(ab, ATH12K_DBG_PCI, "Number of assigned MSI for MHI is %d, base vector is %d\n", num_vectors, base_vector); - irq = kcalloc(num_vectors, sizeof(*irq), GFP_KERNEL); + irq = kzalloc_objs(*irq, num_vectors, GFP_KERNEL); if (!irq) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/peer.c b/drivers/net/wireless/ath/ath12k/peer.c index 5f3bd3b9a3e9..ad571a4cf974 100644 --- a/drivers/net/wireless/ath/ath12k/peer.c +++ b/drivers/net/wireless/ath/ath12k/peer.c @@ -413,7 +413,7 @@ int ath12k_link_sta_rhash_tbl_init(struct ath12k_base *ab) struct rhashtable *rhash_addr_tbl; int ret; - rhash_addr_tbl = kzalloc(sizeof(*ab->rhead_sta_addr), GFP_KERNEL); + rhash_addr_tbl = kzalloc_obj(*ab->rhead_sta_addr, GFP_KERNEL); if (!rhash_addr_tbl) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/qmi.c b/drivers/net/wireless/ath/ath12k/qmi.c index cfde4147c8fc..631041bf1dc1 100644 --- a/drivers/net/wireless/ath/ath12k/qmi.c +++ b/drivers/net/wireless/ath/ath12k/qmi.c @@ -2344,11 +2344,11 @@ static int ath12k_qmi_fw_ind_register_send(struct ath12k_base *ab) struct qmi_txn txn; int ret; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; - resp = kzalloc(sizeof(*resp), GFP_KERNEL); + resp = kzalloc_obj(*resp, GFP_KERNEL); if (!resp) { ret = -ENOMEM; goto resp_out; @@ -2416,7 +2416,7 @@ int ath12k_qmi_respond_fw_mem_request(struct ath12k_base *ab) int ret = 0, i; bool delayed; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -2968,7 +2968,7 @@ static int ath12k_qmi_load_file_target_mem(struct ath12k_base *ab, int ret = 0; u32 remaining = len; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -3465,7 +3465,7 @@ static int ath12k_qmi_wlanfw_wlan_cfg_send(struct ath12k_base *ab) ce_cfg = (struct ce_pipe_config *)ab->qmi.ce_cfg.tgt_ce; svc_cfg = (struct service_to_pipe *)ab->qmi.ce_cfg.svc_to_ce_map; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; @@ -3636,7 +3636,7 @@ ath12k_qmi_driver_event_post(struct ath12k_qmi *qmi, { struct ath12k_qmi_driver_event *event; - event = kzalloc(sizeof(*event), GFP_ATOMIC); + event = kzalloc_obj(*event, GFP_ATOMIC); if (!event) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/reg.c b/drivers/net/wireless/ath/ath12k/reg.c index 7898f6981e5a..cd9ed489369e 100644 --- a/drivers/net/wireless/ath/ath12k/reg.c +++ b/drivers/net/wireless/ath/ath12k/reg.c @@ -170,7 +170,7 @@ int ath12k_reg_update_chan_list(struct ath12k *ar, bool wait) return -EINVAL; } - arg = kzalloc(struct_size(arg, channel, num_channels), GFP_KERNEL); + arg = kzalloc_flex(*arg, channel, num_channels, GFP_KERNEL); if (!arg) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/wifi7/dp.c b/drivers/net/wireless/ath/ath12k/wifi7/dp.c index 2b194879ee80..8e0b83801346 100644 --- a/drivers/net/wireless/ath/ath12k/wifi7/dp.c +++ b/drivers/net/wireless/ath/ath12k/wifi7/dp.c @@ -161,7 +161,7 @@ struct ath12k_dp *ath12k_wifi7_dp_device_alloc(struct ath12k_base *ab) struct ath12k_dp *dp; /* TODO: align dp later if cache alignment becomes a bottleneck */ - dp = kzalloc(sizeof(*dp), GFP_KERNEL); + dp = kzalloc_obj(*dp, GFP_KERNEL); if (!dp) return NULL; diff --git a/drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c b/drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c index bd741532b7dc..c9cea597a92e 100644 --- a/drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c +++ b/drivers/net/wireless/ath/ath12k/wifi7/dp_mon.c @@ -1800,7 +1800,7 @@ ath12k_wifi7_dp_mon_parse_rx_dest_tlv(struct ath12k_pdev_dp *dp_pdev, if (WARN_ON_ONCE(pmon->mon_mpdu)) break; - pmon->mon_mpdu = kzalloc(sizeof(*pmon->mon_mpdu), GFP_ATOMIC); + pmon->mon_mpdu = kzalloc_obj(*pmon->mon_mpdu, GFP_ATOMIC); if (!pmon->mon_mpdu) return -ENOMEM; break; @@ -1849,7 +1849,7 @@ ath12k_wifi7_dp_mon_tx_get_ppdu_info(struct ath12k_mon_data *pmon, } /* allocate new tx_ppdu_info */ - tx_ppdu_info = kzalloc(sizeof(*tx_ppdu_info), GFP_ATOMIC); + tx_ppdu_info = kzalloc_obj(*tx_ppdu_info, GFP_ATOMIC); if (!tx_ppdu_info) return NULL; @@ -2383,7 +2383,7 @@ ath12k_wifi7_dp_mon_tx_parse_status_tlv(struct ath12k_base *ab, case HAL_TX_MPDU_START: { struct dp_mon_mpdu *mon_mpdu = tx_ppdu_info->tx_mon_mpdu; - mon_mpdu = kzalloc(sizeof(*mon_mpdu), GFP_ATOMIC); + mon_mpdu = kzalloc_obj(*mon_mpdu, GFP_ATOMIC); if (!mon_mpdu) return DP_MON_TX_STATUS_PPDU_NOT_DONE; status = DP_MON_TX_MPDU_START; @@ -2853,7 +2853,7 @@ ath12k_wifi7_dp_rx_mon_dest_process(struct ath12k *ar, int mac_id, } if (head_msdu && tail_msdu) { - tmp_mpdu = kzalloc(sizeof(*tmp_mpdu), GFP_ATOMIC); + tmp_mpdu = kzalloc_obj(*tmp_mpdu, GFP_ATOMIC); if (!tmp_mpdu) break; diff --git a/drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c b/drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c index 7450938adf65..038e339e8fb1 100644 --- a/drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c +++ b/drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c @@ -165,7 +165,7 @@ int ath12k_wifi7_dp_reo_cmd_send(struct ath12k_base *ab, * for tid delete command to free up the resource on the command status * indication? */ - dp_cmd = kzalloc(sizeof(*dp_cmd), GFP_ATOMIC); + dp_cmd = kzalloc_obj(*dp_cmd, GFP_ATOMIC); if (!dp_cmd) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath12k/wmi.c b/drivers/net/wireless/ath/ath12k/wmi.c index 7617fc3a2479..eb7615a289f7 100644 --- a/drivers/net/wireless/ath/ath12k/wmi.c +++ b/drivers/net/wireless/ath/ath12k/wmi.c @@ -303,7 +303,7 @@ ath12k_wmi_tlv_parse_alloc(struct ath12k_base *ab, const void **tb; int ret; - tb = kcalloc(WMI_TAG_MAX, sizeof(*tb), gfp); + tb = kzalloc_objs(*tb, WMI_TAG_MAX, gfp); if (!tb) return ERR_PTR(-ENOMEM); @@ -6867,7 +6867,7 @@ static int ath12k_reg_chan_list_event(struct ath12k_base *ab, struct sk_buff *sk u8 pdev_idx = 255; int ret; - reg_info = kzalloc(sizeof(*reg_info), GFP_ATOMIC); + reg_info = kzalloc_obj(*reg_info, GFP_ATOMIC); if (!reg_info) { ret = -ENOMEM; goto fallback; @@ -8297,7 +8297,7 @@ static int ath12k_wmi_tlv_fw_stats_data_parse(struct ath12k_base *ab, data += sizeof(*src); len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; ath12k_wmi_pull_vdev_stats(src, dst); @@ -8316,7 +8316,7 @@ static int ath12k_wmi_tlv_fw_stats_data_parse(struct ath12k_base *ab, data += sizeof(*src); len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; ath12k_wmi_pull_bcn_stats(src, dst); @@ -8338,7 +8338,7 @@ static int ath12k_wmi_tlv_fw_stats_data_parse(struct ath12k_base *ab, data += sizeof(*src); len -= sizeof(*src); - dst = kzalloc(sizeof(*dst), GFP_ATOMIC); + dst = kzalloc_obj(*dst, GFP_ATOMIC); if (!dst) continue; @@ -9559,8 +9559,7 @@ static void ath12k_wmi_process_tpc_stats(struct ath12k_base *ab, goto unlock; } ar->debug.tpc_stats = - kzalloc(sizeof(struct wmi_tpc_stats_arg), - GFP_ATOMIC); + kzalloc_obj(struct wmi_tpc_stats_arg, GFP_ATOMIC); if (!ar->debug.tpc_stats) { ath12k_warn(ab, "Failed to allocate memory for tpc stats\n"); diff --git a/drivers/net/wireless/ath/ath12k/wow.c b/drivers/net/wireless/ath/ath12k/wow.c index bb08e1740582..bdac483c58cf 100644 --- a/drivers/net/wireless/ath/ath12k/wow.c +++ b/drivers/net/wireless/ath/ath12k/wow.c @@ -395,7 +395,7 @@ static int ath12k_wow_vif_set_wakeups(struct ath12k_link_vif *arvif, struct wmi_pno_scan_req_arg *pno; int ret; - pno = kzalloc(sizeof(*pno), GFP_KERNEL); + pno = kzalloc_obj(*pno, GFP_KERNEL); if (!pno) return -ENOMEM; @@ -507,7 +507,7 @@ static int ath12k_wow_vdev_clean_nlo(struct ath12k *ar, u32 vdev_id) if (!ar->nlo_enabled) return 0; - pno = kzalloc(sizeof(*pno), GFP_KERNEL); + pno = kzalloc_obj(*pno, GFP_KERNEL); if (!pno) return -ENOMEM; @@ -748,7 +748,7 @@ static int ath12k_wow_arp_ns_offload(struct ath12k *ar, bool enable) lockdep_assert_wiphy(ath12k_ar_to_hw(ar)->wiphy); - offload = kmalloc(sizeof(*offload), GFP_KERNEL); + offload = kmalloc_obj(*offload, GFP_KERNEL); if (!offload) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath5k/base.c b/drivers/net/wireless/ath/ath5k/base.c index 4d88b02ffa79..7b945a010ea1 100644 --- a/drivers/net/wireless/ath/ath5k/base.c +++ b/drivers/net/wireless/ath/ath5k/base.c @@ -919,8 +919,8 @@ ath5k_desc_alloc(struct ath5k_hw *ah) ATH5K_DBG(ah, ATH5K_DEBUG_ANY, "DMA map: %p (%zu) -> %llx\n", ds, ah->desc_len, (unsigned long long)ah->desc_daddr); - bf = kcalloc(1 + ATH_TXBUF + ATH_RXBUF + ATH_BCBUF, - sizeof(struct ath5k_buf), GFP_KERNEL); + bf = kzalloc_objs(struct ath5k_buf, + 1 + ATH_TXBUF + ATH_RXBUF + ATH_BCBUF, GFP_KERNEL); if (bf == NULL) { ATH5K_ERR(ah, "can't allocate bufptr\n"); ret = -ENOMEM; diff --git a/drivers/net/wireless/ath/ath5k/debug.c b/drivers/net/wireless/ath/ath5k/debug.c index ec130510aeb2..5e30316f4543 100644 --- a/drivers/net/wireless/ath/ath5k/debug.c +++ b/drivers/net/wireless/ath/ath5k/debug.c @@ -928,7 +928,7 @@ static int open_file_eeprom(struct inode *inode, struct file *file) /* Create private struct and assign to file */ - ep = kmalloc(sizeof(*ep), GFP_KERNEL); + ep = kmalloc_obj(*ep, GFP_KERNEL); if (!ep) { ret = -ENOMEM; goto freebuf; diff --git a/drivers/net/wireless/ath/ath5k/eeprom.c b/drivers/net/wireless/ath/ath5k/eeprom.c index 58d3e86f6256..a8b9c346c74b 100644 --- a/drivers/net/wireless/ath/ath5k/eeprom.c +++ b/drivers/net/wireless/ath/ath5k/eeprom.c @@ -727,9 +727,8 @@ ath5k_eeprom_convert_pcal_info_5111(struct ath5k_hw *ah, int mode, /* Allocate pd_curves for this cal pier */ chinfo[pier].pd_curves = - kcalloc(AR5K_EEPROM_N_PD_CURVES, - sizeof(struct ath5k_pdgain_info), - GFP_KERNEL); + kzalloc_objs(struct ath5k_pdgain_info, + AR5K_EEPROM_N_PD_CURVES, GFP_KERNEL); if (!chinfo[pier].pd_curves) goto err_out; @@ -761,8 +760,8 @@ ath5k_eeprom_convert_pcal_info_5111(struct ath5k_hw *ah, int mode, if (!pd->pd_step) goto err_out; - pd->pd_pwr = kcalloc(AR5K_EEPROM_N_PWR_POINTS_5111, - sizeof(s16), GFP_KERNEL); + pd->pd_pwr = kzalloc_objs(s16, AR5K_EEPROM_N_PWR_POINTS_5111, + GFP_KERNEL); if (!pd->pd_pwr) goto err_out; @@ -917,9 +916,9 @@ ath5k_eeprom_convert_pcal_info_5112(struct ath5k_hw *ah, int mode, /* Allocate pd_curves for this cal pier */ chinfo[pier].pd_curves = - kcalloc(AR5K_EEPROM_N_PD_CURVES, - sizeof(struct ath5k_pdgain_info), - GFP_KERNEL); + kzalloc_objs(struct ath5k_pdgain_info, + AR5K_EEPROM_N_PD_CURVES, + GFP_KERNEL); if (!chinfo[pier].pd_curves) goto err_out; @@ -943,8 +942,8 @@ ath5k_eeprom_convert_pcal_info_5112(struct ath5k_hw *ah, int mode, if (!pd->pd_step) goto err_out; - pd->pd_pwr = kcalloc(pd->pd_points, - sizeof(s16), GFP_KERNEL); + pd->pd_pwr = kzalloc_objs(s16, pd->pd_points, + GFP_KERNEL); if (!pd->pd_pwr) goto err_out; @@ -981,8 +980,8 @@ ath5k_eeprom_convert_pcal_info_5112(struct ath5k_hw *ah, int mode, if (!pd->pd_step) goto err_out; - pd->pd_pwr = kcalloc(pd->pd_points, - sizeof(s16), GFP_KERNEL); + pd->pd_pwr = kzalloc_objs(s16, pd->pd_points, + GFP_KERNEL); if (!pd->pd_pwr) goto err_out; @@ -1209,9 +1208,9 @@ ath5k_eeprom_convert_pcal_info_2413(struct ath5k_hw *ah, int mode, /* Allocate pd_curves for this cal pier */ chinfo[pier].pd_curves = - kcalloc(AR5K_EEPROM_N_PD_CURVES, - sizeof(struct ath5k_pdgain_info), - GFP_KERNEL); + kzalloc_objs(struct ath5k_pdgain_info, + AR5K_EEPROM_N_PD_CURVES, + GFP_KERNEL); if (!chinfo[pier].pd_curves) goto err_out; @@ -1237,8 +1236,8 @@ ath5k_eeprom_convert_pcal_info_2413(struct ath5k_hw *ah, int mode, if (!pd->pd_step) goto err_out; - pd->pd_pwr = kcalloc(pd->pd_points, - sizeof(s16), GFP_KERNEL); + pd->pd_pwr = kzalloc_objs(s16, pd->pd_points, + GFP_KERNEL); if (!pd->pd_pwr) goto err_out; diff --git a/drivers/net/wireless/ath/ath6kl/core.c b/drivers/net/wireless/ath/ath6kl/core.c index 830350bda531..8be852e832f3 100644 --- a/drivers/net/wireless/ath/ath6kl/core.c +++ b/drivers/net/wireless/ath/ath6kl/core.c @@ -311,7 +311,7 @@ struct ath6kl *ath6kl_core_create(struct device *dev) ar->sta_list[ctr].mgmt_psq_len = 0; INIT_LIST_HEAD(&ar->sta_list[ctr].mgmt_psq); ar->sta_list[ctr].aggr_conn = - kzalloc(sizeof(struct aggr_info_conn), GFP_KERNEL); + kzalloc_obj(struct aggr_info_conn, GFP_KERNEL); if (!ar->sta_list[ctr].aggr_conn) { ath6kl_err("Failed to allocate memory for sta aggregation information\n"); ath6kl_core_destroy(ar); diff --git a/drivers/net/wireless/ath/ath6kl/htc_mbox.c b/drivers/net/wireless/ath/ath6kl/htc_mbox.c index 122e07ef3965..19dfeb012c04 100644 --- a/drivers/net/wireless/ath/ath6kl/htc_mbox.c +++ b/drivers/net/wireless/ath/ath6kl/htc_mbox.c @@ -2792,7 +2792,7 @@ static int ath6kl_htc_reset(struct htc_target *target) (HTC_MAX_CTRL_MSG_LEN + HTC_HDR_LENGTH); for (i = 0; i < NUM_CONTROL_BUFFERS; i++) { - packet = kzalloc(sizeof(*packet), GFP_KERNEL); + packet = kzalloc_obj(*packet, GFP_KERNEL); if (!packet) return -ENOMEM; @@ -2842,13 +2842,13 @@ static void *ath6kl_htc_mbox_create(struct ath6kl *ar) struct htc_target *target = NULL; int status = 0; - target = kzalloc(sizeof(*target), GFP_KERNEL); + target = kzalloc_obj(*target, GFP_KERNEL); if (!target) { ath6kl_err("unable to allocate memory\n"); return NULL; } - target->dev = kzalloc(sizeof(*target->dev), GFP_KERNEL); + target->dev = kzalloc_obj(*target->dev, GFP_KERNEL); if (!target->dev) { ath6kl_err("unable to allocate memory\n"); kfree(target); diff --git a/drivers/net/wireless/ath/ath6kl/htc_pipe.c b/drivers/net/wireless/ath/ath6kl/htc_pipe.c index 7b823be9d846..ba8a701087c3 100644 --- a/drivers/net/wireless/ath/ath6kl/htc_pipe.c +++ b/drivers/net/wireless/ath/ath6kl/htc_pipe.c @@ -510,7 +510,7 @@ static struct htc_packet *build_htc_txctrl_packet(void) struct htc_packet *packet = NULL; struct sk_buff *skb; - packet = kzalloc(sizeof(struct htc_packet), GFP_KERNEL); + packet = kzalloc_obj(struct htc_packet, GFP_KERNEL); if (packet == NULL) return NULL; @@ -1409,7 +1409,7 @@ static void *ath6kl_htc_pipe_create(struct ath6kl *ar) struct htc_packet *packet; int i; - target = kzalloc(sizeof(struct htc_target), GFP_KERNEL); + target = kzalloc_obj(struct htc_target, GFP_KERNEL); if (target == NULL) { ath6kl_err("htc create unable to allocate memory\n"); status = -ENOMEM; @@ -1423,13 +1423,13 @@ static void *ath6kl_htc_pipe_create(struct ath6kl *ar) reset_endpoint_states(target); for (i = 0; i < HTC_PACKET_CONTAINER_ALLOCATION; i++) { - packet = kzalloc(sizeof(struct htc_packet), GFP_KERNEL); + packet = kzalloc_obj(struct htc_packet, GFP_KERNEL); if (packet != NULL) free_htc_packet_container(target, packet); } - target->dev = kzalloc(sizeof(*target->dev), GFP_KERNEL); + target->dev = kzalloc_obj(*target->dev, GFP_KERNEL); if (!target->dev) { ath6kl_err("unable to allocate memory\n"); status = -ENOMEM; diff --git a/drivers/net/wireless/ath/ath6kl/main.c b/drivers/net/wireless/ath/ath6kl/main.c index 59068ea3879b..908cb87842f7 100644 --- a/drivers/net/wireless/ath/ath6kl/main.c +++ b/drivers/net/wireless/ath/ath6kl/main.c @@ -485,7 +485,7 @@ void ath6kl_connect_ap_mode_sta(struct ath6kl_vif *vif, u16 aid, u8 *mac_addr, keymgmt, ucipher, auth, apsd_info); /* send event to application */ - sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); + sinfo = kzalloc_obj(*sinfo, GFP_KERNEL); if (!sinfo) return; @@ -1249,8 +1249,8 @@ static void ath6kl_set_multicast_list(struct net_device *ndev) } if (!found) { - mc_filter = kzalloc(sizeof(struct ath6kl_mc_filter), - GFP_ATOMIC); + mc_filter = kzalloc_obj(struct ath6kl_mc_filter, + GFP_ATOMIC); if (!mc_filter) { WARN_ON(1); goto out; diff --git a/drivers/net/wireless/ath/ath6kl/sdio.c b/drivers/net/wireless/ath/ath6kl/sdio.c index 83de40bc4445..c0a895ae882f 100644 --- a/drivers/net/wireless/ath/ath6kl/sdio.c +++ b/drivers/net/wireless/ath/ath6kl/sdio.c @@ -1316,7 +1316,7 @@ static int ath6kl_sdio_probe(struct sdio_func *func, func->num, func->vendor, func->device, func->max_blksize, func->cur_blksize); - ar_sdio = kzalloc(sizeof(struct ath6kl_sdio), GFP_KERNEL); + ar_sdio = kzalloc_obj(struct ath6kl_sdio, GFP_KERNEL); if (!ar_sdio) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath6kl/txrx.c b/drivers/net/wireless/ath/ath6kl/txrx.c index c3b06b515c4f..623d134c4be7 100644 --- a/drivers/net/wireless/ath/ath6kl/txrx.c +++ b/drivers/net/wireless/ath/ath6kl/txrx.c @@ -1770,13 +1770,13 @@ struct aggr_info *aggr_init(struct ath6kl_vif *vif) { struct aggr_info *p_aggr = NULL; - p_aggr = kzalloc(sizeof(struct aggr_info), GFP_KERNEL); + p_aggr = kzalloc_obj(struct aggr_info, GFP_KERNEL); if (!p_aggr) { ath6kl_err("failed to alloc memory for aggr_node\n"); return NULL; } - p_aggr->aggr_conn = kzalloc(sizeof(struct aggr_info_conn), GFP_KERNEL); + p_aggr->aggr_conn = kzalloc_obj(struct aggr_info_conn, GFP_KERNEL); if (!p_aggr->aggr_conn) { ath6kl_err("failed to alloc memory for connection specific aggr info\n"); kfree(p_aggr); diff --git a/drivers/net/wireless/ath/ath6kl/usb.c b/drivers/net/wireless/ath/ath6kl/usb.c index 38bb501fc553..9362ab82cc30 100644 --- a/drivers/net/wireless/ath/ath6kl/usb.c +++ b/drivers/net/wireless/ath/ath6kl/usb.c @@ -190,8 +190,7 @@ static int ath6kl_usb_alloc_pipe_resources(struct ath6kl_usb_pipe *pipe, init_usb_anchor(&pipe->urb_submitted); for (i = 0; i < urb_cnt; i++) { - urb_context = kzalloc(sizeof(struct ath6kl_urb_context), - GFP_KERNEL); + urb_context = kzalloc_obj(struct ath6kl_urb_context, GFP_KERNEL); if (urb_context == NULL) { status = -ENOMEM; goto fail_alloc_pipe_resources; @@ -634,7 +633,7 @@ static struct ath6kl_usb *ath6kl_usb_create(struct usb_interface *interface) int i; /* ath6kl_usb_destroy() needs ar_usb != NULL && ar_usb->wq != NULL. */ - ar_usb = kzalloc(sizeof(struct ath6kl_usb), GFP_KERNEL); + ar_usb = kzalloc_obj(struct ath6kl_usb, GFP_KERNEL); if (ar_usb == NULL) return NULL; ar_usb->wq = alloc_workqueue("ath6kl_wq", 0, 0); diff --git a/drivers/net/wireless/ath/ath6kl/wmi.c b/drivers/net/wireless/ath/ath6kl/wmi.c index 08a154bce139..c043ba9a2afa 100644 --- a/drivers/net/wireless/ath/ath6kl/wmi.c +++ b/drivers/net/wireless/ath/ath6kl/wmi.c @@ -4135,7 +4135,7 @@ void *ath6kl_wmi_init(struct ath6kl *dev) { struct wmi *wmi; - wmi = kzalloc(sizeof(struct wmi), GFP_KERNEL); + wmi = kzalloc_obj(struct wmi, GFP_KERNEL); if (!wmi) return NULL; diff --git a/drivers/net/wireless/ath/ath9k/hif_usb.c b/drivers/net/wireless/ath/ath9k/hif_usb.c index fe9abe8cd268..c7e063482f55 100644 --- a/drivers/net/wireless/ath/ath9k/hif_usb.c +++ b/drivers/net/wireless/ath/ath9k/hif_usb.c @@ -107,7 +107,7 @@ static int hif_usb_send_regout(struct hif_device_usb *hif_dev, if (urb == NULL) return -ENOMEM; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) { usb_free_urb(urb); return -ENOMEM; @@ -190,7 +190,7 @@ static int hif_usb_send_mgmt(struct hif_device_usb *hif_dev, if (urb == NULL) return -ENOMEM; - cmd = kzalloc(sizeof(*cmd), GFP_ATOMIC); + cmd = kzalloc_obj(*cmd, GFP_ATOMIC); if (cmd == NULL) { usb_free_urb(urb); return -ENOMEM; @@ -849,7 +849,7 @@ static int ath9k_hif_usb_alloc_tx_urbs(struct hif_device_usb *hif_dev) init_usb_anchor(&hif_dev->mgmt_submitted); for (i = 0; i < MAX_TX_URB_NUM; i++) { - tx_buf = kzalloc(sizeof(*tx_buf), GFP_KERNEL); + tx_buf = kzalloc_obj(*tx_buf, GFP_KERNEL); if (!tx_buf) goto err; @@ -897,7 +897,7 @@ static int ath9k_hif_usb_alloc_rx_urbs(struct hif_device_usb *hif_dev) for (i = 0; i < MAX_RX_URB_NUM; i++) { - rx_buf = kzalloc(sizeof(*rx_buf), GFP_KERNEL); + rx_buf = kzalloc_obj(*rx_buf, GFP_KERNEL); if (!rx_buf) { ret = -ENOMEM; goto err_rxb; @@ -972,7 +972,7 @@ static int ath9k_hif_usb_alloc_reg_in_urbs(struct hif_device_usb *hif_dev) for (i = 0; i < MAX_REG_IN_URB_NUM; i++) { - rx_buf = kzalloc(sizeof(*rx_buf), GFP_KERNEL); + rx_buf = kzalloc_obj(*rx_buf, GFP_KERNEL); if (!rx_buf) { ret = -ENOMEM; goto err_rxb; @@ -1376,7 +1376,7 @@ static int ath9k_hif_usb_probe(struct usb_interface *interface, if (id->driver_info == STORAGE_DEVICE) return send_eject_command(interface); - hif_dev = kzalloc(sizeof(struct hif_device_usb), GFP_KERNEL); + hif_dev = kzalloc_obj(struct hif_device_usb, GFP_KERNEL); if (!hif_dev) { ret = -ENOMEM; goto err_alloc; diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_init.c b/drivers/net/wireless/ath/ath9k/htc_drv_init.c index 3633f9eb2c55..a57b1ca76891 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_init.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_init.c @@ -611,7 +611,7 @@ static int ath9k_init_priv(struct ath9k_htc_priv *priv, struct ath_common *common; int i, ret = 0, csz = 0; - ah = kzalloc(sizeof(struct ath_hw), GFP_KERNEL); + ah = kzalloc_obj(struct ath_hw, GFP_KERNEL); if (!ah) return -ENOMEM; diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c index ee5945cfc10e..20e1f9b72b16 100644 --- a/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c +++ b/drivers/net/wireless/ath/ath9k/htc_drv_txrx.c @@ -664,8 +664,8 @@ void ath9k_htc_txstatus(struct ath9k_htc_priv *priv, void *wmi_event) * Store this event, so that the TX cleanup * routine can check later for the needed packet. */ - tx_pend = kzalloc(sizeof(struct ath9k_htc_tx_event), - GFP_ATOMIC); + tx_pend = kzalloc_obj(struct ath9k_htc_tx_event, + GFP_ATOMIC); if (!tx_pend) continue; @@ -1193,7 +1193,7 @@ int ath9k_rx_init(struct ath9k_htc_priv *priv) for (i = 0; i < ATH9K_HTC_RXBUF; i++) { struct ath9k_htc_rxbuf *rxbuf = - kzalloc(sizeof(struct ath9k_htc_rxbuf), GFP_KERNEL); + kzalloc_obj(struct ath9k_htc_rxbuf, GFP_KERNEL); if (rxbuf == NULL) goto err; diff --git a/drivers/net/wireless/ath/ath9k/htc_hst.c b/drivers/net/wireless/ath/ath9k/htc_hst.c index b5257b2b4aa5..a2fe131d8c00 100644 --- a/drivers/net/wireless/ath/ath9k/htc_hst.c +++ b/drivers/net/wireless/ath/ath9k/htc_hst.c @@ -499,7 +499,7 @@ struct htc_target *ath9k_htc_hw_alloc(void *hif_handle, struct htc_endpoint *endpoint; struct htc_target *target; - target = kzalloc(sizeof(struct htc_target), GFP_KERNEL); + target = kzalloc_obj(struct htc_target, GFP_KERNEL); if (!target) return NULL; diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index 14de62c1a32b..e7bf63d257b2 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c @@ -3128,7 +3128,7 @@ struct ath_gen_timer *ath_gen_timer_alloc(struct ath_hw *ah, !AR_SREV_9300_20_OR_LATER(ah)) return NULL; - timer = kzalloc(sizeof(struct ath_gen_timer), GFP_KERNEL); + timer = kzalloc_obj(struct ath_gen_timer, GFP_KERNEL); if (timer == NULL) return NULL; diff --git a/drivers/net/wireless/ath/ath9k/mci.c b/drivers/net/wireless/ath/ath9k/mci.c index a0845002d6fe..f82bb2349928 100644 --- a/drivers/net/wireless/ath/ath9k/mci.c +++ b/drivers/net/wireless/ath/ath9k/mci.c @@ -53,7 +53,7 @@ static bool ath_mci_add_profile(struct ath_common *common, (info->type != MCI_GPM_COEX_PROFILE_VOICE)) return false; - entry = kzalloc(sizeof(*entry), GFP_ATOMIC); + entry = kzalloc_obj(*entry, GFP_ATOMIC); if (!entry) return false; diff --git a/drivers/net/wireless/ath/ath9k/wmi.c b/drivers/net/wireless/ath/ath9k/wmi.c index 805ad31edba2..2f56b9cc0ab8 100644 --- a/drivers/net/wireless/ath/ath9k/wmi.c +++ b/drivers/net/wireless/ath/ath9k/wmi.c @@ -92,7 +92,7 @@ struct wmi *ath9k_init_wmi(struct ath9k_htc_priv *priv) { struct wmi *wmi; - wmi = kzalloc(sizeof(struct wmi), GFP_KERNEL); + wmi = kzalloc_obj(struct wmi, GFP_KERNEL); if (!wmi) return NULL; diff --git a/drivers/net/wireless/ath/carl9170/cmd.c b/drivers/net/wireless/ath/carl9170/cmd.c index b8ed193c0195..402fd0633e09 100644 --- a/drivers/net/wireless/ath/carl9170/cmd.c +++ b/drivers/net/wireless/ath/carl9170/cmd.c @@ -120,7 +120,7 @@ struct carl9170_cmd *carl9170_cmd_buf(struct ar9170 *ar, { struct carl9170_cmd *tmp; - tmp = kzalloc(sizeof(*tmp), GFP_ATOMIC); + tmp = kzalloc_obj(*tmp, GFP_ATOMIC); if (tmp) { tmp->hdr.cmd = cmd; tmp->hdr.len = len; diff --git a/drivers/net/wireless/ath/carl9170/main.c b/drivers/net/wireless/ath/carl9170/main.c index a7a9345f3483..3262a279746f 100644 --- a/drivers/net/wireless/ath/carl9170/main.c +++ b/drivers/net/wireless/ath/carl9170/main.c @@ -1412,8 +1412,7 @@ static int carl9170_op_ampdu_action(struct ieee80211_hw *hw, if (!sta_info->ht_sta) return -EOPNOTSUPP; - tid_info = kzalloc(sizeof(struct carl9170_sta_tid), - GFP_KERNEL); + tid_info = kzalloc_obj(struct carl9170_sta_tid, GFP_KERNEL); if (!tid_info) return -ENOMEM; diff --git a/drivers/net/wireless/ath/carl9170/tx.c b/drivers/net/wireless/ath/carl9170/tx.c index b7717f9e1e9b..59caf1e4b158 100644 --- a/drivers/net/wireless/ath/carl9170/tx.c +++ b/drivers/net/wireless/ath/carl9170/tx.c @@ -1328,7 +1328,7 @@ static void carl9170_bar_check(struct ar9170 *ar, struct sk_buff *skb) struct carl9170_bar_list_entry *entry; unsigned int queue = skb_get_queue_mapping(skb); - entry = kmalloc(sizeof(*entry), GFP_ATOMIC); + entry = kmalloc_obj(*entry, GFP_ATOMIC); if (!WARN_ON_ONCE(!entry)) { entry->skb = skb; spin_lock_bh(&ar->bar_list_lock[queue]); diff --git a/drivers/net/wireless/ath/dfs_pattern_detector.c b/drivers/net/wireless/ath/dfs_pattern_detector.c index 700da9f4531e..a798ff11183d 100644 --- a/drivers/net/wireless/ath/dfs_pattern_detector.c +++ b/drivers/net/wireless/ath/dfs_pattern_detector.c @@ -199,7 +199,7 @@ channel_detector_create(struct dfs_pattern_detector *dpd, u16 freq) u32 i; struct channel_detector *cd; - cd = kzalloc(struct_size(cd, detectors, dpd->num_radar_types), GFP_ATOMIC); + cd = kzalloc_flex(*cd, detectors, dpd->num_radar_types, GFP_ATOMIC); if (cd == NULL) goto fail; @@ -354,7 +354,7 @@ dfs_pattern_detector_init(struct ath_common *common, if (!IS_ENABLED(CONFIG_CFG80211_CERTIFICATION_ONUS)) return NULL; - dpd = kmalloc(sizeof(*dpd), GFP_KERNEL); + dpd = kmalloc_obj(*dpd, GFP_KERNEL); if (dpd == NULL) return NULL; diff --git a/drivers/net/wireless/ath/dfs_pri_detector.c b/drivers/net/wireless/ath/dfs_pri_detector.c index d07c454c9c00..388f9d1913bd 100644 --- a/drivers/net/wireless/ath/dfs_pri_detector.c +++ b/drivers/net/wireless/ath/dfs_pri_detector.c @@ -202,7 +202,7 @@ static bool pulse_queue_enqueue(struct pri_detector *pde, u64 ts) { struct pulse_elem *p = pool_get_pulse_elem(); if (p == NULL) { - p = kmalloc(sizeof(*p), GFP_ATOMIC); + p = kmalloc_obj(*p, GFP_ATOMIC); if (p == NULL) { DFS_POOL_STAT_INC(pulse_alloc_error); return false; @@ -284,7 +284,7 @@ static bool pseq_handler_create_sequences(struct pri_detector *pde, ps.deadline_ts = ps.first_ts + ps.dur; new_ps = pool_get_pseq_elem(); if (new_ps == NULL) { - new_ps = kmalloc(sizeof(*new_ps), GFP_ATOMIC); + new_ps = kmalloc_obj(*new_ps, GFP_ATOMIC); if (new_ps == NULL) { DFS_POOL_STAT_INC(pseq_alloc_error); return false; @@ -418,7 +418,7 @@ struct pri_detector *pri_detector_init(const struct radar_detector_specs *rs) { struct pri_detector *de; - de = kzalloc(sizeof(*de), GFP_ATOMIC); + de = kzalloc_obj(*de, GFP_ATOMIC); if (de == NULL) return NULL; de->exit = pri_detector_exit; diff --git a/drivers/net/wireless/ath/wcn36xx/dxe.c b/drivers/net/wireless/ath/wcn36xx/dxe.c index 0f4df5585fd9..c6ec7a296240 100644 --- a/drivers/net/wireless/ath/wcn36xx/dxe.c +++ b/drivers/net/wireless/ath/wcn36xx/dxe.c @@ -74,7 +74,7 @@ static int wcn36xx_dxe_allocate_ctl_block(struct wcn36xx_dxe_ch *ch) spin_lock_init(&ch->lock); for (i = 0; i < ch->desc_num; i++) { - cur_ctl = kzalloc(sizeof(*cur_ctl), GFP_KERNEL); + cur_ctl = kzalloc_obj(*cur_ctl, GFP_KERNEL); if (!cur_ctl) goto out_fail; diff --git a/drivers/net/wireless/ath/wcn36xx/main.c b/drivers/net/wireless/ath/wcn36xx/main.c index 02a525645bfa..c3f0860873de 100644 --- a/drivers/net/wireless/ath/wcn36xx/main.c +++ b/drivers/net/wireless/ath/wcn36xx/main.c @@ -462,7 +462,7 @@ static u64 wcn36xx_prepare_multicast(struct ieee80211_hw *hw, struct netdev_hw_addr *ha; wcn36xx_dbg(WCN36XX_DBG_MAC, "mac prepare multicast list\n"); - fp = kzalloc(sizeof(*fp), GFP_ATOMIC); + fp = kzalloc_obj(*fp, GFP_ATOMIC); if (!fp) { wcn36xx_err("Out of memory setting filters.\n"); return 0; diff --git a/drivers/net/wireless/ath/wcn36xx/smd.c b/drivers/net/wireless/ath/wcn36xx/smd.c index 136acc414714..f9ebe13d0245 100644 --- a/drivers/net/wireless/ath/wcn36xx/smd.c +++ b/drivers/net/wireless/ath/wcn36xx/smd.c @@ -847,7 +847,7 @@ int wcn36xx_smd_start_hw_scan(struct wcn36xx *wcn, struct ieee80211_vif *vif, return -EINVAL; mutex_lock(&wcn->hal_mutex); - msg_body = kzalloc(sizeof(*msg_body), GFP_KERNEL); + msg_body = kzalloc_obj(*msg_body, GFP_KERNEL); if (!msg_body) { ret = -ENOMEM; goto out; @@ -942,7 +942,7 @@ int wcn36xx_smd_update_channel_list(struct wcn36xx *wcn, struct cfg80211_scan_re struct wcn36xx_hal_update_channel_list_req_msg *msg_body; int ret, i; - msg_body = kzalloc(sizeof(*msg_body), GFP_KERNEL); + msg_body = kzalloc_obj(*msg_body, GFP_KERNEL); if (!msg_body) return -ENOMEM; @@ -1624,7 +1624,7 @@ static int wcn36xx_smd_config_bss_v1(struct wcn36xx *wcn, struct cfg80211_chan_def *chandef; int ret; - msg_body = kzalloc(sizeof(*msg_body), GFP_KERNEL); + msg_body = kzalloc_obj(*msg_body, GFP_KERNEL); if (!msg_body) return -ENOMEM; @@ -1744,7 +1744,7 @@ static int wcn36xx_smd_config_bss_v0(struct wcn36xx *wcn, struct wcn36xx_hal_config_sta_params *sta_params; int ret; - msg = kzalloc(sizeof(*msg), GFP_KERNEL); + msg = kzalloc_obj(*msg, GFP_KERNEL); if (!msg) return -ENOMEM; @@ -3306,7 +3306,7 @@ int wcn36xx_smd_rsp_process(struct rpmsg_device *rpdev, case WCN36XX_HAL_DELETE_STA_CONTEXT_IND: case WCN36XX_HAL_PRINT_REG_INFO_IND: case WCN36XX_HAL_SCAN_OFFLOAD_IND: - msg_ind = kmalloc(struct_size(msg_ind, msg, len), GFP_ATOMIC); + msg_ind = kmalloc_flex(*msg_ind, msg, len, GFP_ATOMIC); if (!msg_ind) { wcn36xx_err("Run out of memory while handling SMD_EVENT (%d)\n", msg_header->msg_type); diff --git a/drivers/net/wireless/ath/wil6210/cfg80211.c b/drivers/net/wireless/ath/wil6210/cfg80211.c index 7218fe70f3bc..e0f39ef9ac78 100644 --- a/drivers/net/wireless/ath/wil6210/cfg80211.c +++ b/drivers/net/wireless/ath/wil6210/cfg80211.c @@ -691,7 +691,7 @@ wil_cfg80211_add_iface(struct wiphy *wiphy, const char *name, return ERR_PTR(-EINVAL); } - p2p_wdev = kzalloc(sizeof(*p2p_wdev), GFP_KERNEL); + p2p_wdev = kzalloc_obj(*p2p_wdev, GFP_KERNEL); if (!p2p_wdev) return ERR_PTR(-ENOMEM); @@ -2394,7 +2394,7 @@ static int wil_cfg80211_probe_client(struct wiphy *wiphy, if (cid < 0) return -ENOLINK; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return -ENOMEM; diff --git a/drivers/net/wireless/ath/wil6210/debugfs.c b/drivers/net/wireless/ath/wil6210/debugfs.c index c021ebcddee7..2e5c24245e6a 100644 --- a/drivers/net/wireless/ath/wil6210/debugfs.c +++ b/drivers/net/wireless/ath/wil6210/debugfs.c @@ -1392,7 +1392,7 @@ static int link_show(struct seq_file *s, void *data) struct station_info *sinfo; int i, rc = 0; - sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); + sinfo = kzalloc_obj(*sinfo, GFP_KERNEL); if (!sinfo) return -ENOMEM; @@ -2441,9 +2441,8 @@ int wil6210_debugfs_init(struct wil6210_priv *wil) if (IS_ERR_OR_NULL(dbg)) return -ENODEV; - wil->dbg_data.data_arr = kcalloc(dbg_off_count, - sizeof(struct wil_debugfs_iomem_data), - GFP_KERNEL); + wil->dbg_data.data_arr = kzalloc_objs(struct wil_debugfs_iomem_data, + dbg_off_count, GFP_KERNEL); if (!wil->dbg_data.data_arr) { debugfs_remove_recursive(dbg); wil->debug = NULL; diff --git a/drivers/net/wireless/ath/wil6210/fw_inc.c b/drivers/net/wireless/ath/wil6210/fw_inc.c index c3c0b289dcf3..bc172f5a70c9 100644 --- a/drivers/net/wireless/ath/wil6210/fw_inc.c +++ b/drivers/net/wireless/ath/wil6210/fw_inc.c @@ -160,8 +160,8 @@ fw_handle_brd_file(struct wil6210_priv *wil, const void *data, return -EINVAL; } - wil->brd_info = kcalloc(max_num_ent, sizeof(struct wil_brd_info), - GFP_KERNEL); + wil->brd_info = kzalloc_objs(struct wil_brd_info, max_num_ent, + GFP_KERNEL); if (!wil->brd_info) return -ENOMEM; diff --git a/drivers/net/wireless/ath/wil6210/pmc.c b/drivers/net/wireless/ath/wil6210/pmc.c index a2f7b4c1da48..8d368c901122 100644 --- a/drivers/net/wireless/ath/wil6210/pmc.c +++ b/drivers/net/wireless/ath/wil6210/pmc.c @@ -85,9 +85,8 @@ void wil_pmc_alloc(struct wil6210_priv *wil, num_descriptors, descriptor_size); /* allocate descriptors info list in pmc context*/ - pmc->descriptors = kcalloc(num_descriptors, - sizeof(struct desc_alloc_info), - GFP_KERNEL); + pmc->descriptors = kzalloc_objs(struct desc_alloc_info, num_descriptors, + GFP_KERNEL); if (!pmc->descriptors) { wil_err(wil, "ERROR allocating pmc skb list\n"); goto no_release_err; diff --git a/drivers/net/wireless/ath/wil6210/rx_reorder.c b/drivers/net/wireless/ath/wil6210/rx_reorder.c index d385bc03033a..75bf9dbbf23a 100644 --- a/drivers/net/wireless/ath/wil6210/rx_reorder.c +++ b/drivers/net/wireless/ath/wil6210/rx_reorder.c @@ -241,13 +241,13 @@ out: struct wil_tid_ampdu_rx *wil_tid_ampdu_rx_alloc(struct wil6210_priv *wil, int size, u16 ssn) { - struct wil_tid_ampdu_rx *r = kzalloc(sizeof(*r), GFP_KERNEL); + struct wil_tid_ampdu_rx *r = kzalloc_obj(*r, GFP_KERNEL); if (!r) return NULL; r->reorder_buf = - kcalloc(size, sizeof(struct sk_buff *), GFP_KERNEL); + kzalloc_objs(struct sk_buff *, size, GFP_KERNEL); if (!r->reorder_buf) { kfree(r); return NULL; diff --git a/drivers/net/wireless/ath/wil6210/txrx.c b/drivers/net/wireless/ath/wil6210/txrx.c index 19702b6f09c3..e11f30a7bb48 100644 --- a/drivers/net/wireless/ath/wil6210/txrx.c +++ b/drivers/net/wireless/ath/wil6210/txrx.c @@ -119,7 +119,7 @@ static int wil_vring_alloc(struct wil6210_priv *wil, struct wil_ring *vring) vring->swhead = 0; vring->swtail = 0; - vring->ctx = kcalloc(vring->size, sizeof(vring->ctx[0]), GFP_KERNEL); + vring->ctx = kzalloc_objs(vring->ctx[0], vring->size, GFP_KERNEL); if (!vring->ctx) { vring->va = NULL; return -ENOMEM; diff --git a/drivers/net/wireless/ath/wil6210/txrx_edma.c b/drivers/net/wireless/ath/wil6210/txrx_edma.c index 1ba1f21ebea2..e391951346c2 100644 --- a/drivers/net/wireless/ath/wil6210/txrx_edma.c +++ b/drivers/net/wireless/ath/wil6210/txrx_edma.c @@ -314,9 +314,8 @@ static int wil_init_rx_buff_arr(struct wil6210_priv *wil, struct list_head *free = &wil->rx_buff_mgmt.free; int i; - wil->rx_buff_mgmt.buff_arr = kcalloc(size + 1, - sizeof(struct wil_rx_buff), - GFP_KERNEL); + wil->rx_buff_mgmt.buff_arr = kzalloc_objs(struct wil_rx_buff, size + 1, + GFP_KERNEL); if (!wil->rx_buff_mgmt.buff_arr) return -ENOMEM; @@ -382,7 +381,7 @@ static int wil_ring_alloc_desc_ring(struct wil6210_priv *wil, ring->swhead = 0; ring->swtail = 0; - ring->ctx = kcalloc(ring->size, sizeof(ring->ctx[0]), GFP_KERNEL); + ring->ctx = kzalloc_objs(ring->ctx[0], ring->size, GFP_KERNEL); if (!ring->ctx) goto err; diff --git a/drivers/net/wireless/ath/wil6210/wmi.c b/drivers/net/wireless/ath/wil6210/wmi.c index 6d376f85fbde..69f9fb19f01b 100644 --- a/drivers/net/wireless/ath/wil6210/wmi.c +++ b/drivers/net/wireless/ath/wil6210/wmi.c @@ -1080,7 +1080,7 @@ static void wmi_evt_connect(struct wil6210_vif *vif, int id, void *d, int len) goto out; } - sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); + sinfo = kzalloc_obj(*sinfo, GFP_KERNEL); if (!sinfo) { rc = -ENOMEM; goto out; diff --git a/drivers/net/wireless/atmel/at76c50x-usb.c b/drivers/net/wireless/atmel/at76c50x-usb.c index aa683eacaf38..11554306a5f3 100644 --- a/drivers/net/wireless/atmel/at76c50x-usb.c +++ b/drivers/net/wireless/atmel/at76c50x-usb.c @@ -378,7 +378,7 @@ static int at76_usbdfu_download(struct usb_device *udev, u8 *buf, u32 size, return -EINVAL; } - dfu_stat_buf = kmalloc(sizeof(*dfu_stat_buf), GFP_KERNEL); + dfu_stat_buf = kmalloc_obj(*dfu_stat_buf, GFP_KERNEL); if (!dfu_stat_buf) { ret = -ENOMEM; goto exit; @@ -607,7 +607,7 @@ static inline int at76_get_hw_cfg_intersil(struct usb_device *udev, static int at76_get_hw_config(struct at76_priv *priv) { int ret; - union at76_hwcfg *hwcfg = kmalloc(sizeof(*hwcfg), GFP_KERNEL); + union at76_hwcfg *hwcfg = kmalloc_obj(*hwcfg, GFP_KERNEL); if (!hwcfg) return -ENOMEM; @@ -931,7 +931,7 @@ static void at76_dump_mib_mac_addr(struct at76_priv *priv) { int i; int ret; - struct mib_mac_addr *m = kmalloc(sizeof(*m), GFP_KERNEL); + struct mib_mac_addr *m = kmalloc_obj(*m, GFP_KERNEL); if (!m) return; @@ -959,7 +959,7 @@ static void at76_dump_mib_mac_wep(struct at76_priv *priv) int i; int ret; int key_len; - struct mib_mac_wep *m = kmalloc(sizeof(*m), GFP_KERNEL); + struct mib_mac_wep *m = kmalloc_obj(*m, GFP_KERNEL); if (!m) return; @@ -994,7 +994,7 @@ exit: static void at76_dump_mib_mac_mgmt(struct at76_priv *priv) { int ret; - struct mib_mac_mgmt *m = kmalloc(sizeof(*m), GFP_KERNEL); + struct mib_mac_mgmt *m = kmalloc_obj(*m, GFP_KERNEL); if (!m) return; @@ -1030,7 +1030,7 @@ exit: static void at76_dump_mib_mac(struct at76_priv *priv) { int ret; - struct mib_mac *m = kmalloc(sizeof(*m), GFP_KERNEL); + struct mib_mac *m = kmalloc_obj(*m, GFP_KERNEL); if (!m) return; @@ -1067,7 +1067,7 @@ exit: static void at76_dump_mib_phy(struct at76_priv *priv) { int ret; - struct mib_phy *m = kmalloc(sizeof(*m), GFP_KERNEL); + struct mib_phy *m = kmalloc_obj(*m, GFP_KERNEL); if (!m) return; @@ -1100,7 +1100,7 @@ exit: static void at76_dump_mib_local(struct at76_priv *priv) { int ret; - struct mib_local *m = kmalloc(sizeof(*m), GFP_KERNEL); + struct mib_local *m = kmalloc_obj(*m, GFP_KERNEL); if (!m) return; @@ -1125,7 +1125,7 @@ exit: static void at76_dump_mib_mdomain(struct at76_priv *priv) { int ret; - struct mib_mdomain *m = kmalloc(sizeof(*m), GFP_KERNEL); + struct mib_mdomain *m = kmalloc_obj(*m, GFP_KERNEL); if (!m) return; @@ -2442,7 +2442,7 @@ static int at76_probe(struct usb_interface *interface, udev = usb_get_dev(interface_to_usbdev(interface)); - fwv = kmalloc(sizeof(*fwv), GFP_KERNEL); + fwv = kmalloc_obj(*fwv, GFP_KERNEL); if (!fwv) { ret = -ENOMEM; goto exit; diff --git a/drivers/net/wireless/broadcom/b43/bus.c b/drivers/net/wireless/broadcom/b43/bus.c index fdb1c82892d6..b6c8697f782b 100644 --- a/drivers/net/wireless/broadcom/b43/bus.c +++ b/drivers/net/wireless/broadcom/b43/bus.c @@ -74,7 +74,7 @@ void b43_bus_bcma_block_write(struct b43_bus_dev *dev, const void *buffer, struct b43_bus_dev *b43_bus_dev_bcma_init(struct bcma_device *core) { - struct b43_bus_dev *dev = kzalloc(sizeof(*dev), GFP_KERNEL); + struct b43_bus_dev *dev = kzalloc_obj(*dev, GFP_KERNEL); if (!dev) return NULL; @@ -179,7 +179,7 @@ struct b43_bus_dev *b43_bus_dev_ssb_init(struct ssb_device *sdev) { struct b43_bus_dev *dev; - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + dev = kzalloc_obj(*dev, GFP_KERNEL); if (!dev) return NULL; diff --git a/drivers/net/wireless/broadcom/b43/debugfs.c b/drivers/net/wireless/broadcom/b43/debugfs.c index 5a49970afc8c..aa6768a66b03 100644 --- a/drivers/net/wireless/broadcom/b43/debugfs.c +++ b/drivers/net/wireless/broadcom/b43/debugfs.c @@ -670,15 +670,15 @@ void b43_debugfs_add_device(struct b43_wldev *dev) char devdir[16]; B43_WARN_ON(!dev); - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) { b43err(dev->wl, "debugfs: add device OOM\n"); return; } e->dev = dev; log = &e->txstatlog; - log->log = kcalloc(B43_NR_LOGGED_TXSTATUS, - sizeof(struct b43_txstatus), GFP_KERNEL); + log->log = kzalloc_objs(struct b43_txstatus, B43_NR_LOGGED_TXSTATUS, + GFP_KERNEL); if (!log->log) { b43err(dev->wl, "debugfs: add device txstatus OOM\n"); kfree(e); diff --git a/drivers/net/wireless/broadcom/b43/dma.c b/drivers/net/wireless/broadcom/b43/dma.c index 6ac7dcebfff9..eca39555718f 100644 --- a/drivers/net/wireless/broadcom/b43/dma.c +++ b/drivers/net/wireless/broadcom/b43/dma.c @@ -838,7 +838,7 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev, int i, err; dma_addr_t dma_test; - ring = kzalloc(sizeof(*ring), GFP_KERNEL); + ring = kzalloc_obj(*ring, GFP_KERNEL); if (!ring) goto out; @@ -846,8 +846,8 @@ struct b43_dmaring *b43_setup_dmaring(struct b43_wldev *dev, if (for_tx) ring->nr_slots = B43_TXRING_SLOTS; - ring->meta = kcalloc(ring->nr_slots, sizeof(struct b43_dmadesc_meta), - GFP_KERNEL); + ring->meta = kzalloc_objs(struct b43_dmadesc_meta, ring->nr_slots, + GFP_KERNEL); if (!ring->meta) goto err_kfree_ring; for (i = 0; i < ring->nr_slots; i++) diff --git a/drivers/net/wireless/broadcom/b43/lo.c b/drivers/net/wireless/broadcom/b43/lo.c index 338b6545a1e7..6fcd7205bda3 100644 --- a/drivers/net/wireless/broadcom/b43/lo.c +++ b/drivers/net/wireless/broadcom/b43/lo.c @@ -766,7 +766,7 @@ struct b43_lo_calib *b43_calibrate_lo_setting(struct b43_wldev *dev, loctl.i, loctl.q); } - cal = kmalloc(sizeof(*cal), GFP_KERNEL); + cal = kmalloc_obj(*cal, GFP_KERNEL); if (!cal) { b43warn(dev->wl, "LO calib: out of memory\n"); return NULL; diff --git a/drivers/net/wireless/broadcom/b43/main.c b/drivers/net/wireless/broadcom/b43/main.c index f1a77c4c445f..97e222e9e613 100644 --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c @@ -2555,7 +2555,7 @@ static void b43_request_firmware(struct work_struct *work) int err; const char *errmsg; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return; ctx->dev = dev; @@ -5494,7 +5494,7 @@ static int b43_one_core_attach(struct b43_bus_dev *dev, struct b43_wl *wl) struct b43_wldev *wldev; int err = -ENOMEM; - wldev = kzalloc(sizeof(*wldev), GFP_KERNEL); + wldev = kzalloc_obj(*wldev, GFP_KERNEL); if (!wldev) goto out; diff --git a/drivers/net/wireless/broadcom/b43/phy_ac.c b/drivers/net/wireless/broadcom/b43/phy_ac.c index 756cd44a8104..85af2d791d91 100644 --- a/drivers/net/wireless/broadcom/b43/phy_ac.c +++ b/drivers/net/wireless/broadcom/b43/phy_ac.c @@ -17,7 +17,7 @@ static int b43_phy_ac_op_allocate(struct b43_wldev *dev) { struct b43_phy_ac *phy_ac; - phy_ac = kzalloc(sizeof(*phy_ac), GFP_KERNEL); + phy_ac = kzalloc_obj(*phy_ac, GFP_KERNEL); if (!phy_ac) return -ENOMEM; dev->phy.ac = phy_ac; diff --git a/drivers/net/wireless/broadcom/b43/phy_g.c b/drivers/net/wireless/broadcom/b43/phy_g.c index ac72ca39e409..94038d427b39 100644 --- a/drivers/net/wireless/broadcom/b43/phy_g.c +++ b/drivers/net/wireless/broadcom/b43/phy_g.c @@ -2422,14 +2422,14 @@ static int b43_gphy_op_allocate(struct b43_wldev *dev) struct b43_txpower_lo_control *lo; int err; - gphy = kzalloc(sizeof(*gphy), GFP_KERNEL); + gphy = kzalloc_obj(*gphy, GFP_KERNEL); if (!gphy) { err = -ENOMEM; goto error; } dev->phy.g = gphy; - lo = kzalloc(sizeof(*lo), GFP_KERNEL); + lo = kzalloc_obj(*lo, GFP_KERNEL); if (!lo) { err = -ENOMEM; goto err_free_gphy; diff --git a/drivers/net/wireless/broadcom/b43/phy_ht.c b/drivers/net/wireless/broadcom/b43/phy_ht.c index 26a226126bc4..a1a5e699caf1 100644 --- a/drivers/net/wireless/broadcom/b43/phy_ht.c +++ b/drivers/net/wireless/broadcom/b43/phy_ht.c @@ -842,7 +842,7 @@ static int b43_phy_ht_op_allocate(struct b43_wldev *dev) { struct b43_phy_ht *phy_ht; - phy_ht = kzalloc(sizeof(*phy_ht), GFP_KERNEL); + phy_ht = kzalloc_obj(*phy_ht, GFP_KERNEL); if (!phy_ht) return -ENOMEM; dev->phy.ht = phy_ht; diff --git a/drivers/net/wireless/broadcom/b43/phy_lcn.c b/drivers/net/wireless/broadcom/b43/phy_lcn.c index 63bd29f070f7..67b61a915aa2 100644 --- a/drivers/net/wireless/broadcom/b43/phy_lcn.c +++ b/drivers/net/wireless/broadcom/b43/phy_lcn.c @@ -669,7 +669,7 @@ static int b43_phy_lcn_op_allocate(struct b43_wldev *dev) { struct b43_phy_lcn *phy_lcn; - phy_lcn = kzalloc(sizeof(*phy_lcn), GFP_KERNEL); + phy_lcn = kzalloc_obj(*phy_lcn, GFP_KERNEL); if (!phy_lcn) return -ENOMEM; dev->phy.lcn = phy_lcn; diff --git a/drivers/net/wireless/broadcom/b43/phy_lp.c b/drivers/net/wireless/broadcom/b43/phy_lp.c index 0e5c076e7544..622d4fe3b613 100644 --- a/drivers/net/wireless/broadcom/b43/phy_lp.c +++ b/drivers/net/wireless/broadcom/b43/phy_lp.c @@ -43,7 +43,7 @@ static int b43_lpphy_op_allocate(struct b43_wldev *dev) { struct b43_phy_lp *lpphy; - lpphy = kzalloc(sizeof(*lpphy), GFP_KERNEL); + lpphy = kzalloc_obj(*lpphy, GFP_KERNEL); if (!lpphy) return -ENOMEM; dev->phy.lp = lpphy; diff --git a/drivers/net/wireless/broadcom/b43/phy_n.c b/drivers/net/wireless/broadcom/b43/phy_n.c index 4bb005b93f2c..768d9576be41 100644 --- a/drivers/net/wireless/broadcom/b43/phy_n.c +++ b/drivers/net/wireless/broadcom/b43/phy_n.c @@ -1549,7 +1549,7 @@ static u16 b43_nphy_gen_load_samples(struct b43_wldev *dev, u32 freq, u16 max, len = bw << 1; } - samples = kcalloc(len, sizeof(struct cordic_iq), GFP_KERNEL); + samples = kzalloc_objs(struct cordic_iq, len, GFP_KERNEL); if (!samples) { b43err(dev->wl, "allocation for samples generation failed\n"); return 0; @@ -6417,7 +6417,7 @@ static int b43_nphy_op_allocate(struct b43_wldev *dev) { struct b43_phy_n *nphy; - nphy = kzalloc(sizeof(*nphy), GFP_KERNEL); + nphy = kzalloc_obj(*nphy, GFP_KERNEL); if (!nphy) return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/b43/pio.c b/drivers/net/wireless/broadcom/b43/pio.c index e41f2f5b4c26..135091bec6c4 100644 --- a/drivers/net/wireless/broadcom/b43/pio.c +++ b/drivers/net/wireless/broadcom/b43/pio.c @@ -127,7 +127,7 @@ static struct b43_pio_txqueue *b43_setup_pioqueue_tx(struct b43_wldev *dev, struct b43_pio_txpacket *p; unsigned int i; - q = kzalloc(sizeof(*q), GFP_KERNEL); + q = kzalloc_obj(*q, GFP_KERNEL); if (!q) return NULL; q->dev = dev; @@ -161,7 +161,7 @@ static struct b43_pio_rxqueue *b43_setup_pioqueue_rx(struct b43_wldev *dev, { struct b43_pio_rxqueue *q; - q = kzalloc(sizeof(*q), GFP_KERNEL); + q = kzalloc_obj(*q, GFP_KERNEL); if (!q) return NULL; q->dev = dev; diff --git a/drivers/net/wireless/broadcom/b43/sdio.c b/drivers/net/wireless/broadcom/b43/sdio.c index 02b0cfd535ab..8d19fe48831f 100644 --- a/drivers/net/wireless/broadcom/b43/sdio.c +++ b/drivers/net/wireless/broadcom/b43/sdio.c @@ -139,7 +139,7 @@ static int b43_sdio_probe(struct sdio_func *func, } sdio_release_host(func); - sdio = kzalloc(sizeof(*sdio), GFP_KERNEL); + sdio = kzalloc_obj(*sdio, GFP_KERNEL); if (!sdio) { error = -ENOMEM; dev_err(&func->dev, "failed to allocate ssb bus\n"); diff --git a/drivers/net/wireless/broadcom/b43legacy/debugfs.c b/drivers/net/wireless/broadcom/b43legacy/debugfs.c index 5d04bcc216e5..ec1f67f6d328 100644 --- a/drivers/net/wireless/broadcom/b43legacy/debugfs.c +++ b/drivers/net/wireless/broadcom/b43legacy/debugfs.c @@ -358,15 +358,15 @@ void b43legacy_debugfs_add_device(struct b43legacy_wldev *dev) char devdir[16]; B43legacy_WARN_ON(!dev); - e = kzalloc(sizeof(*e), GFP_KERNEL); + e = kzalloc_obj(*e, GFP_KERNEL); if (!e) { b43legacyerr(dev->wl, "debugfs: add device OOM\n"); return; } e->dev = dev; log = &e->txstatlog; - log->log = kcalloc(B43legacy_NR_LOGGED_TXSTATUS, - sizeof(struct b43legacy_txstatus), GFP_KERNEL); + log->log = kzalloc_objs(struct b43legacy_txstatus, + B43legacy_NR_LOGGED_TXSTATUS, GFP_KERNEL); if (!log->log) { b43legacyerr(dev->wl, "debugfs: add device txstatus OOM\n"); kfree(e); diff --git a/drivers/net/wireless/broadcom/b43legacy/dma.c b/drivers/net/wireless/broadcom/b43legacy/dma.c index 60e41de72f29..aff7e9161ffc 100644 --- a/drivers/net/wireless/broadcom/b43legacy/dma.c +++ b/drivers/net/wireless/broadcom/b43legacy/dma.c @@ -610,7 +610,7 @@ struct b43legacy_dmaring *b43legacy_setup_dmaring(struct b43legacy_wldev *dev, int nr_slots; dma_addr_t dma_test; - ring = kzalloc(sizeof(*ring), GFP_KERNEL); + ring = kzalloc_obj(*ring, GFP_KERNEL); if (!ring) goto out; ring->type = type; @@ -620,8 +620,8 @@ struct b43legacy_dmaring *b43legacy_setup_dmaring(struct b43legacy_wldev *dev, if (for_tx) nr_slots = B43legacy_TXRING_SLOTS; - ring->meta = kcalloc(nr_slots, sizeof(struct b43legacy_dmadesc_meta), - GFP_KERNEL); + ring->meta = kzalloc_objs(struct b43legacy_dmadesc_meta, nr_slots, + GFP_KERNEL); if (!ring->meta) goto err_kfree_ring; if (for_tx) { diff --git a/drivers/net/wireless/broadcom/b43legacy/main.c b/drivers/net/wireless/broadcom/b43legacy/main.c index aada342e0b80..0873014a9299 100644 --- a/drivers/net/wireless/broadcom/b43legacy/main.c +++ b/drivers/net/wireless/broadcom/b43legacy/main.c @@ -3269,9 +3269,8 @@ static int b43legacy_wireless_core_init(struct b43legacy_wldev *dev) if ((phy->type == B43legacy_PHYTYPE_B) || (phy->type == B43legacy_PHYTYPE_G)) { - phy->_lo_pairs = kcalloc(B43legacy_LO_COUNT, - sizeof(struct b43legacy_lopair), - GFP_KERNEL); + phy->_lo_pairs = kzalloc_objs(struct b43legacy_lopair, + B43legacy_LO_COUNT, GFP_KERNEL); if (!phy->_lo_pairs) return -ENOMEM; } @@ -3739,7 +3738,7 @@ static int b43legacy_one_core_attach(struct ssb_device *dev, struct b43legacy_wldev *wldev; int err = -ENOMEM; - wldev = kzalloc(sizeof(*wldev), GFP_KERNEL); + wldev = kzalloc_obj(*wldev, GFP_KERNEL); if (!wldev) goto out; diff --git a/drivers/net/wireless/broadcom/b43legacy/pio.c b/drivers/net/wireless/broadcom/b43legacy/pio.c index aac413d0f629..fd9b79710350 100644 --- a/drivers/net/wireless/broadcom/b43legacy/pio.c +++ b/drivers/net/wireless/broadcom/b43legacy/pio.c @@ -320,7 +320,7 @@ struct b43legacy_pioqueue *b43legacy_setup_pioqueue(struct b43legacy_wldev *dev, u32 value; u16 qsize; - queue = kzalloc(sizeof(*queue), GFP_KERNEL); + queue = kzalloc_obj(*queue, GFP_KERNEL); if (!queue) goto out; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c index f471c962104a..1a6cb3450d58 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bca/core.c @@ -23,8 +23,7 @@ static int brcmf_bca_alloc_fweh_info(struct brcmf_pub *drvr) { struct brcmf_fweh_info *fweh; - fweh = kzalloc(struct_size(fweh, evt_handler, BRCMF_BCA_E_LAST), - GFP_KERNEL); + fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_BCA_E_LAST, GFP_KERNEL); if (!fweh) return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c index 9ec0c60b6da1..1817adc29cd8 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcdc.c @@ -444,7 +444,7 @@ int brcmf_proto_bcdc_attach(struct brcmf_pub *drvr) { struct brcmf_bcdc *bcdc; - bcdc = kzalloc(sizeof(*bcdc), GFP_ATOMIC); + bcdc = kzalloc_obj(*bcdc, GFP_ATOMIC); if (!bcdc) goto fail; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c index 6a3f187320fc..cf5cf1dce28d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/bcmsdh.c @@ -794,7 +794,7 @@ static int brcmf_sdiod_freezer_attach(struct brcmf_sdio_dev *sdiodev) if (!IS_ENABLED(CONFIG_PM_SLEEP)) return 0; - sdiodev->freezer = kzalloc(sizeof(*sdiodev->freezer), GFP_KERNEL); + sdiodev->freezer = kzalloc_obj(*sdiodev->freezer, GFP_KERNEL); if (!sdiodev->freezer) return -ENOMEM; atomic_set(&sdiodev->freezer->thread_count, 0); @@ -1067,10 +1067,10 @@ static int brcmf_ops_sdio_probe(struct sdio_func *func, if (func->num != 2) return -ENODEV; - bus_if = kzalloc(sizeof(*bus_if), GFP_KERNEL); + bus_if = kzalloc_obj(*bus_if, GFP_KERNEL); if (!bus_if) return -ENOMEM; - sdiodev = kzalloc(sizeof(*sdiodev), GFP_KERNEL); + sdiodev = kzalloc_obj(*sdiodev, GFP_KERNEL); if (!sdiodev) { kfree(bus_if); return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/btcoex.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/btcoex.c index 67c0c5a92f99..5aa1dd33bf85 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/btcoex.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/btcoex.c @@ -362,7 +362,7 @@ int brcmf_btcoex_attach(struct brcmf_cfg80211_info *cfg) struct brcmf_btcoex_info *btci; brcmf_dbg(TRACE, "enter\n"); - btci = kmalloc(sizeof(*btci), GFP_KERNEL); + btci = kmalloc_obj(*btci, GFP_KERNEL); if (!btci) return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index 61f7e620cab3..a442c74423a6 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -2527,7 +2527,7 @@ brcmf_cfg80211_connect(struct wiphy *wiphy, struct net_device *ndev, offsetof(struct brcmf_assoc_params_le, chanspec_list); if (cfg->channel) join_params_size += sizeof(u16); - ext_join_params = kzalloc(sizeof(*ext_join_params), GFP_KERNEL); + ext_join_params = kzalloc_obj(*ext_join_params, GFP_KERNEL); if (ext_join_params == NULL) { err = -ENOMEM; goto done; @@ -4330,7 +4330,7 @@ brcmf_pmksa_v3_op(struct brcmf_if *ifp, struct cfg80211_pmksa *pmksa, int length = offsetof(struct brcmf_pmk_op_v3_le, pmk); int ret; - pmk_op = kzalloc(sizeof(*pmk_op), GFP_KERNEL); + pmk_op = kzalloc_obj(*pmk_op, GFP_KERNEL); if (!pmk_op) return -ENOMEM; @@ -5588,7 +5588,7 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev, err = -EINVAL; goto exit; } - af_params = kzalloc(sizeof(*af_params), GFP_KERNEL); + af_params = kzalloc_obj(*af_params, GFP_KERNEL); if (af_params == NULL) { bphy_err(drvr, "unable to allocate frame\n"); err = -ENOMEM; @@ -6050,7 +6050,7 @@ struct brcmf_cfg80211_vif *brcmf_alloc_vif(struct brcmf_cfg80211_info *cfg, brcmf_dbg(TRACE, "allocating virtual interface (size=%zu)\n", sizeof(*vif)); - vif = kzalloc(sizeof(*vif), GFP_KERNEL); + vif = kzalloc_obj(*vif, GFP_KERNEL); if (!vif) return ERR_PTR(-ENOMEM); @@ -6540,7 +6540,7 @@ brcmf_notify_connect_status_ap(struct brcmf_cfg80211_info *cfg, return -EINVAL; } - sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); + sinfo = kzalloc_obj(*sinfo, GFP_KERNEL); if (!sinfo) return -ENOMEM; @@ -6828,7 +6828,7 @@ static void brcmf_deinit_priv_mem(struct brcmf_cfg80211_info *cfg) static s32 brcmf_init_priv_mem(struct brcmf_cfg80211_info *cfg) { - cfg->conf = kzalloc(sizeof(*cfg->conf), GFP_KERNEL); + cfg->conf = kzalloc_obj(*cfg->conf, GFP_KERNEL); if (!cfg->conf) goto init_priv_mem_out; cfg->extra_buf = kzalloc(WL_EXTRA_BUF_MAX, GFP_KERNEL); @@ -7486,7 +7486,7 @@ static int brcmf_setup_ifmodes(struct wiphy *wiphy, struct brcmf_if *ifp) mchan = brcmf_feat_is_enabled(ifp, BRCMF_FEAT_MCHAN); n_combos = 1 + !!(p2p && !rsdb) + !!mbss; - combo = kcalloc(n_combos, sizeof(*combo), GFP_KERNEL); + combo = kzalloc_objs(*combo, n_combos, GFP_KERNEL); if (!combo) goto err; @@ -7503,7 +7503,7 @@ static int brcmf_setup_ifmodes(struct wiphy *wiphy, struct brcmf_if *ifp) c = 0; i = 0; n_limits = 1 + mon_flag + (p2p ? 2 : 0) + (rsdb || !p2p); - c0_limits = kcalloc(n_limits, sizeof(*c0_limits), GFP_KERNEL); + c0_limits = kzalloc_objs(*c0_limits, n_limits, GFP_KERNEL); if (!c0_limits) goto err; @@ -7542,7 +7542,7 @@ static int brcmf_setup_ifmodes(struct wiphy *wiphy, struct brcmf_if *ifp) if (p2p && !rsdb) { c++; i = 0; - p2p_limits = kcalloc(4, sizeof(*p2p_limits), GFP_KERNEL); + p2p_limits = kzalloc_objs(*p2p_limits, 4, GFP_KERNEL); if (!p2p_limits) goto err; p2p_limits[i].max = 1; @@ -7563,8 +7563,7 @@ static int brcmf_setup_ifmodes(struct wiphy *wiphy, struct brcmf_if *ifp) c++; i = 0; n_limits = 1 + mon_flag; - mbss_limits = kcalloc(n_limits, sizeof(*mbss_limits), - GFP_KERNEL); + mbss_limits = kzalloc_objs(*mbss_limits, n_limits, GFP_KERNEL); if (!mbss_limits) goto err; mbss_limits[i].max = 4; @@ -8322,7 +8321,7 @@ struct brcmf_cfg80211_info *brcmf_cfg80211_attach(struct brcmf_pub *drvr, return NULL; } - cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!cfg) { bphy_err(drvr, "Could not allocate wiphy device\n"); return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c index 4239f2b21e54..a3bbbb76dd97 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c @@ -507,7 +507,7 @@ static struct brcmf_core *brcmf_chip_add_core(struct brcmf_chip_priv *ci, { struct brcmf_core_priv *core; - core = kzalloc(sizeof(*core), GFP_KERNEL); + core = kzalloc_obj(*core, GFP_KERNEL); if (!core) return ERR_PTR(-ENOMEM); @@ -1137,7 +1137,7 @@ struct brcmf_chip *brcmf_chip_attach(void *ctx, u16 devid, if (err < 0) return ERR_PTR(-EINVAL); - chip = kzalloc(sizeof(*chip), GFP_KERNEL); + chip = kzalloc_obj(*chip, GFP_KERNEL); if (!chip) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c index 688f16c51319..cdc9dc733f5b 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/common.c @@ -132,8 +132,7 @@ static int brcmf_c_download_blob(struct brcmf_if *ifp, brcmf_dbg(TRACE, "Enter\n"); - chunk_buf = kzalloc(struct_size(chunk_buf, data, MAX_CHUNK_LEN), - GFP_KERNEL); + chunk_buf = kzalloc_flex(*chunk_buf, data, MAX_CHUNK_LEN, GFP_KERNEL); if (!chunk_buf) { err = -ENOMEM; return -ENOMEM; @@ -521,7 +520,7 @@ struct brcmf_mp_device *brcmf_get_module_param(struct device *dev, brcmf_dbg(INFO, "Enter, bus=%d, chip=%d, rev=%d\n", bus_type, chip, chiprev); - settings = kzalloc(sizeof(*settings), GFP_ATOMIC); + settings = kzalloc_obj(*settings, GFP_ATOMIC); if (!settings) return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c index 616885d6db3f..99d5fd453cf1 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/core.c @@ -879,7 +879,7 @@ struct brcmf_if *brcmf_add_if(struct brcmf_pub *drvr, s32 bsscfgidx, s32 ifidx, if (!drvr->settings->p2p_enable && is_p2pdev) { /* this is P2P_DEVICE interface */ brcmf_dbg(INFO, "allocate non-netdev interface\n"); - ifp = kzalloc(sizeof(*ifp), GFP_KERNEL); + ifp = kzalloc_obj(*ifp, GFP_KERNEL); if (!ifp) return ERR_PTR(-ENOMEM); } else { diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c index 4f0ea4347840..abd38ac8c51e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c @@ -66,8 +66,7 @@ static int brcmf_cyw_alloc_fweh_info(struct brcmf_pub *drvr) { struct brcmf_fweh_info *fweh; - fweh = kzalloc(struct_size(fweh, evt_handler, BRCMF_CYW_E_LAST), - GFP_KERNEL); + fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_CYW_E_LAST, GFP_KERNEL); if (!fweh) return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c index ef79924fd8f4..7b3b0bd1acaf 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/firmware.c @@ -765,7 +765,7 @@ int brcmf_fw_get_firmwares(struct device *dev, struct brcmf_fw_request *req, if (!brcmf_fw_request_is_valid(req)) return -EINVAL; - fwctx = kzalloc(sizeof(*fwctx), GFP_KERNEL); + fwctx = kzalloc_obj(*fwctx, GFP_KERNEL); if (!fwctx) return -ENOMEM; @@ -825,7 +825,7 @@ brcmf_fw_alloc_request(u32 chip, u32 chiprev, return NULL; } - fwreq = kzalloc(struct_size(fwreq, items, n_fwnames), GFP_KERNEL); + fwreq = kzalloc_flex(*fwreq, items, n_fwnames, GFP_KERNEL); if (!fwreq) return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.c index e1127d7e086d..9184022600d6 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/flowring.c @@ -145,7 +145,7 @@ u32 brcmf_flowring_create(struct brcmf_flowring *flow, u8 da[ETH_ALEN], if (i == flow->nrofrings) return -ENOMEM; - ring = kzalloc(sizeof(*ring), GFP_ATOMIC); + ring = kzalloc_obj(*ring, GFP_ATOMIC); if (!ring) return -ENOMEM; @@ -360,7 +360,7 @@ struct brcmf_flowring *brcmf_flowring_attach(struct device *dev, u16 nrofrings) struct brcmf_flowring *flow; u32 i; - flow = kzalloc(sizeof(*flow), GFP_KERNEL); + flow = kzalloc_obj(*flow, GFP_KERNEL); if (flow) { flow->dev = dev; flow->nrofrings = nrofrings; @@ -369,8 +369,7 @@ struct brcmf_flowring *brcmf_flowring_attach(struct device *dev, u16 nrofrings) flow->addr_mode[i] = ADDR_INDIRECT; for (i = 0; i < ARRAY_SIZE(flow->hash); i++) flow->hash[i].ifidx = BRCMF_FLOWRING_INVALID_IFIDX; - flow->rings = kcalloc(nrofrings, sizeof(*flow->rings), - GFP_KERNEL); + flow->rings = kzalloc_objs(*flow->rings, nrofrings, GFP_KERNEL); if (!flow->rings) { kfree(flow); flow = NULL; @@ -480,7 +479,7 @@ void brcmf_flowring_add_tdls_peer(struct brcmf_flowring *flow, int ifidx, struct brcmf_flowring_tdls_entry *tdls_entry; struct brcmf_flowring_tdls_entry *search; - tdls_entry = kzalloc(sizeof(*tdls_entry), GFP_ATOMIC); + tdls_entry = kzalloc_obj(*tdls_entry, GFP_ATOMIC); if (tdls_entry == NULL) return; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c index c2d98ee6652f..984886481f4e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fweh.c @@ -497,7 +497,7 @@ void brcmf_fweh_process_event(struct brcmf_pub *drvr, datalen + sizeof(*event_packet) > packet_len) return; - event = kzalloc(struct_size(event, data, datalen), gfp); + event = kzalloc_flex(*event, data, datalen, gfp); if (!event) return; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c index b70d20128f98..b6fab5eb6002 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/fwsignal.c @@ -1712,8 +1712,7 @@ void brcmf_fws_rxreorder(struct brcmf_if *ifp, struct sk_buff *pkt) /* allocate space for flow reorder info */ brcmf_dbg(INFO, "flow-%d: start, maxidx %d\n", flow_id, max_idx); - rfi = kzalloc(struct_size(rfi, pktslots, max_idx + 1), - GFP_ATOMIC); + rfi = kzalloc_flex(*rfi, pktslots, max_idx + 1, GFP_ATOMIC); if (rfi == NULL) { bphy_err(drvr, "failed to alloc buffer\n"); brcmf_netif_rx(ifp, pkt); @@ -2343,7 +2342,7 @@ struct brcmf_fws_info *brcmf_fws_attach(struct brcmf_pub *drvr) int rc; u32 mode; - fws = kzalloc(sizeof(*fws), GFP_KERNEL); + fws = kzalloc_obj(*fws, GFP_KERNEL); if (!fws) { rc = -ENOMEM; goto fail; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c index 45fbcbdc7d9e..7252cdb6d87a 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/msgbuf.c @@ -299,11 +299,11 @@ brcmf_msgbuf_init_pktids(u32 nr_array_entries, struct brcmf_msgbuf_pktid *array; struct brcmf_msgbuf_pktids *pktids; - array = kcalloc(nr_array_entries, sizeof(*array), GFP_KERNEL); + array = kzalloc_objs(*array, nr_array_entries, GFP_KERNEL); if (!array) return NULL; - pktids = kzalloc(sizeof(*pktids), GFP_KERNEL); + pktids = kzalloc_obj(*pktids, GFP_KERNEL); if (!pktids) { kfree(array); return NULL; @@ -670,7 +670,7 @@ static u32 brcmf_msgbuf_flowring_create(struct brcmf_msgbuf *msgbuf, int ifidx, u32 flowid; ulong flags; - create = kzalloc(sizeof(*create), GFP_ATOMIC); + create = kzalloc_obj(*create, GFP_ATOMIC); if (create == NULL) return BRCMF_FLOWRING_INVALID_ID; @@ -1539,7 +1539,7 @@ int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr) if_msgbuf->max_flowrings = BRCMF_FLOWRING_HASHSIZE - 1; } - msgbuf = kzalloc(sizeof(*msgbuf), GFP_KERNEL); + msgbuf = kzalloc_obj(*msgbuf, GFP_KERNEL); if (!msgbuf) goto fail; @@ -1588,8 +1588,8 @@ int brcmf_proto_msgbuf_attach(struct brcmf_pub *drvr) msgbuf->flowrings = (struct brcmf_commonring **)if_msgbuf->flowrings; msgbuf->max_flowrings = if_msgbuf->max_flowrings; msgbuf->flowring_dma_handle = - kcalloc(msgbuf->max_flowrings, - sizeof(*msgbuf->flowring_dma_handle), GFP_KERNEL); + kzalloc_objs(*msgbuf->flowring_dma_handle, + msgbuf->max_flowrings, GFP_KERNEL); if (!msgbuf->flowring_dma_handle) goto fail; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c index 6327f4eca500..d15b98273cd3 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c @@ -1155,7 +1155,7 @@ brcmf_pcie_alloc_dma_and_ring(struct brcmf_pciedev_info *devinfo, u32 ring_id, addr = tcm_ring_phys_addr + BRCMF_RING_LEN_ITEMS_OFFSET; brcmf_pcie_write_tcm16(devinfo, addr, ring_itemsize_array[ring_id]); - ring = kzalloc(sizeof(*ring), GFP_KERNEL); + ring = kzalloc_obj(*ring, GFP_KERNEL); if (!ring) { dma_free_coherent(&devinfo->pdev->dev, size, dma_buf, dma_handle); @@ -1347,7 +1347,7 @@ static int brcmf_pcie_init_ringbuffers(struct brcmf_pciedev_info *devinfo) devinfo->shared.max_flowrings = max_flowrings; devinfo->shared.max_submissionrings = max_submissionrings; devinfo->shared.max_completionrings = max_completionrings; - rings = kcalloc(max_flowrings, sizeof(*ring), GFP_KERNEL); + rings = kzalloc_objs(*ring, max_flowrings, GFP_KERNEL); if (!rings) goto fail; @@ -2199,8 +2199,8 @@ static void brcmf_pcie_setup(struct device *dev, int ret, bus->msgbuf->commonrings[i] = &devinfo->shared.commonrings[i]->commonring; - flowrings = kcalloc(devinfo->shared.max_flowrings, sizeof(*flowrings), - GFP_KERNEL); + flowrings = kzalloc_objs(*flowrings, devinfo->shared.max_flowrings, + GFP_KERNEL); if (!flowrings) goto fail; @@ -2457,7 +2457,7 @@ brcmf_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id) brcmf_dbg(PCIE, "Enter %x:%x\n", pdev->vendor, pdev->device); ret = -ENOMEM; - devinfo = kzalloc(sizeof(*devinfo), GFP_KERNEL); + devinfo = kzalloc_obj(*devinfo, GFP_KERNEL); if (devinfo == NULL) return ret; @@ -2477,7 +2477,7 @@ brcmf_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id) else devinfo->reginfo = &brcmf_reginfo_default; - pcie_bus_dev = kzalloc(sizeof(*pcie_bus_dev), GFP_KERNEL); + pcie_bus_dev = kzalloc_obj(*pcie_bus_dev, GFP_KERNEL); if (pcie_bus_dev == NULL) { ret = -ENOMEM; goto fail; @@ -2495,12 +2495,12 @@ brcmf_pcie_probe(struct pci_dev *pdev, const struct pci_device_id *id) if (ret < 0) goto fail; - bus = kzalloc(sizeof(*bus), GFP_KERNEL); + bus = kzalloc_obj(*bus, GFP_KERNEL); if (!bus) { ret = -ENOMEM; goto fail; } - bus->msgbuf = kzalloc(sizeof(*bus->msgbuf), GFP_KERNEL); + bus->msgbuf = kzalloc_obj(*bus->msgbuf, GFP_KERNEL); if (!bus->msgbuf) { ret = -ENOMEM; kfree(bus); diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c index 05f66ab13bed..34179e69d77d 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c @@ -321,7 +321,7 @@ static int brcmf_pno_prep_fwconfig(struct brcmf_pno_info *pi, } *buckets = NULL; - fw_buckets = kcalloc(pi->n_reqs, sizeof(*fw_buckets), GFP_KERNEL); + fw_buckets = kzalloc_objs(*fw_buckets, pi->n_reqs, GFP_KERNEL); if (!fw_buckets) return -ENOMEM; @@ -517,7 +517,7 @@ int brcmf_pno_attach(struct brcmf_cfg80211_info *cfg) struct brcmf_pno_info *pi; brcmf_dbg(TRACE, "enter\n"); - pi = kzalloc(sizeof(*pi), GFP_KERNEL); + pi = kzalloc_obj(*pi, GFP_KERNEL); if (!pi) return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c index 2e911d4874af..7fc441859f52 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/proto.c @@ -23,7 +23,7 @@ int brcmf_proto_attach(struct brcmf_pub *drvr) brcmf_dbg(TRACE, "Enter\n"); - proto = kzalloc(sizeof(*proto), GFP_ATOMIC); + proto = kzalloc_obj(*proto, GFP_ATOMIC); if (!proto) goto fail; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c index 8cf9d7e7c3f7..30c19591c018 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -4455,7 +4455,7 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) brcmf_dbg(TRACE, "Enter\n"); /* Allocate private bus interface state */ - bus = kzalloc(sizeof(*bus), GFP_ATOMIC); + bus = kzalloc_obj(*bus, GFP_ATOMIC); if (!bus) { ret = -ENOMEM; goto fail; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c index f0129d10d2b9..0b52f968b907 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/usb.c @@ -428,7 +428,7 @@ brcmf_usbdev_qinit(struct list_head *q, int qsize) int i; struct brcmf_usbreq *req, *reqs; - reqs = kcalloc(qsize, sizeof(struct brcmf_usbreq), GFP_ATOMIC); + reqs = kzalloc_objs(struct brcmf_usbreq, qsize, GFP_ATOMIC); if (reqs == NULL) return NULL; @@ -1255,7 +1255,7 @@ static int brcmf_usb_probe_cb(struct brcmf_usbdev_info *devinfo, if (!bus_pub) return -ENODEV; - bus = kzalloc(sizeof(*bus), GFP_ATOMIC); + bus = kzalloc_obj(*bus, GFP_ATOMIC); if (!bus) { ret = -ENOMEM; goto fail; @@ -1359,7 +1359,7 @@ brcmf_usb_probe(struct usb_interface *intf, const struct usb_device_id *id) brcmf_dbg(USB, "Enter 0x%04x:0x%04x\n", id->idVendor, id->idProduct); - devinfo = kzalloc(sizeof(*devinfo), GFP_ATOMIC); + devinfo = kzalloc_obj(*devinfo, GFP_ATOMIC); if (devinfo == NULL) return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c index 05d7c2a4fba5..9a8351537938 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/wcc/core.c @@ -24,8 +24,7 @@ static int brcmf_wcc_alloc_fweh_info(struct brcmf_pub *drvr) { struct brcmf_fweh_info *fweh; - fweh = kzalloc(struct_size(fweh, evt_handler, BRCMF_WCC_E_LAST), - GFP_KERNEL); + fweh = kzalloc_flex(*fweh, evt_handler, BRCMF_WCC_E_LAST, GFP_KERNEL); if (!fweh) return -ENOMEM; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c index 0cb64fc56783..6a67db07833e 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/aiutils.c @@ -512,7 +512,7 @@ ai_attach(struct bcma_bus *pbus) struct si_info *sii; /* alloc struct si_info */ - sii = kzalloc(sizeof(*sii), GFP_ATOMIC); + sii = kzalloc_obj(*sii, GFP_ATOMIC); if (sii == NULL) return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c index e1d707a7c964..fc7a5dd2e5d8 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/ampdu.c @@ -219,7 +219,7 @@ struct ampdu_info *brcms_c_ampdu_attach(struct brcms_c_info *wlc) struct ampdu_info *ampdu; int i; - ampdu = kzalloc(sizeof(*ampdu), GFP_ATOMIC); + ampdu = kzalloc_obj(*ampdu, GFP_ATOMIC); if (!ampdu) return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/antsel.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/antsel.c index f411bc6d795d..9a3e40528ff7 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/antsel.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/antsel.c @@ -111,7 +111,7 @@ struct antsel_info *brcms_c_antsel_attach(struct brcms_c_info *wlc) struct antsel_info *asi; struct ssb_sprom *sprom = &wlc->hw->d11core->bus->sprom; - asi = kzalloc(sizeof(*asi), GFP_ATOMIC); + asi = kzalloc_obj(*asi, GFP_ATOMIC); if (!asi) return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c index 3878c4124e25..cdfe8635c012 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/channel.c @@ -331,7 +331,7 @@ struct brcms_cm_info *brcms_c_channel_mgr_attach(struct brcms_c_info *wlc) const char *ccode = sprom->alpha2; int ccode_len = sizeof(sprom->alpha2); - wlc_cm = kzalloc(sizeof(*wlc_cm), GFP_ATOMIC); + wlc_cm = kzalloc_obj(*wlc_cm, GFP_ATOMIC); if (wlc_cm == NULL) return NULL; wlc_cm->pub = pub; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c index c739bf7463b3..9f6ef7ce1b58 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/dma.c @@ -558,7 +558,7 @@ struct dma_pub *dma_attach(char *name, struct brcms_c_info *wlc, struct si_info *sii = container_of(sih, struct si_info, pub); /* allocate private info structure */ - di = kzalloc(sizeof(*di), GFP_ATOMIC); + di = kzalloc_obj(*di, GFP_ATOMIC); if (di == NULL) return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c index aadcff1e2b5d..6255d673d2d3 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/mac80211_if.c @@ -1499,7 +1499,7 @@ struct brcms_timer *brcms_init_timer(struct brcms_info *wl, { struct brcms_timer *t; - t = kzalloc(sizeof(*t), GFP_ATOMIC); + t = kzalloc_obj(*t, GFP_ATOMIC); if (!t) return NULL; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c index c1a9c1e442ee..c7eaf160e1fa 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/main.c @@ -457,11 +457,11 @@ static struct brcms_bss_cfg *brcms_c_bsscfg_malloc(uint unit) { struct brcms_bss_cfg *cfg; - cfg = kzalloc(sizeof(*cfg), GFP_ATOMIC); + cfg = kzalloc_obj(*cfg, GFP_ATOMIC); if (cfg == NULL) goto fail; - cfg->current_bss = kzalloc(sizeof(*cfg->current_bss), GFP_ATOMIC); + cfg->current_bss = kzalloc_obj(*cfg->current_bss, GFP_ATOMIC); if (cfg->current_bss == NULL) goto fail; @@ -477,14 +477,14 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) { struct brcms_c_info *wlc; - wlc = kzalloc(sizeof(*wlc), GFP_ATOMIC); + wlc = kzalloc_obj(*wlc, GFP_ATOMIC); if (wlc == NULL) { *err = 1002; goto fail; } /* allocate struct brcms_c_pub state structure */ - wlc->pub = kzalloc(sizeof(*wlc->pub), GFP_ATOMIC); + wlc->pub = kzalloc_obj(*wlc->pub, GFP_ATOMIC); if (wlc->pub == NULL) { *err = 1003; goto fail; @@ -493,7 +493,7 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) /* allocate struct brcms_hardware state structure */ - wlc->hw = kzalloc(sizeof(*wlc->hw), GFP_ATOMIC); + wlc->hw = kzalloc_obj(*wlc->hw, GFP_ATOMIC); if (wlc->hw == NULL) { *err = 1005; goto fail; @@ -501,7 +501,7 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) wlc->hw->wlc = wlc; wlc->hw->bandstate[0] = - kcalloc(MAXBANDS, sizeof(struct brcms_hw_band), GFP_ATOMIC); + kzalloc_objs(struct brcms_hw_band, MAXBANDS, GFP_ATOMIC); if (wlc->hw->bandstate[0] == NULL) { *err = 1006; goto fail; @@ -515,14 +515,13 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) } wlc->modulecb = - kcalloc(BRCMS_MAXMODULES, sizeof(struct modulecb), - GFP_ATOMIC); + kzalloc_objs(struct modulecb, BRCMS_MAXMODULES, GFP_ATOMIC); if (wlc->modulecb == NULL) { *err = 1009; goto fail; } - wlc->default_bss = kzalloc(sizeof(*wlc->default_bss), GFP_ATOMIC); + wlc->default_bss = kzalloc_obj(*wlc->default_bss, GFP_ATOMIC); if (wlc->default_bss == NULL) { *err = 1010; goto fail; @@ -534,20 +533,20 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) goto fail; } - wlc->protection = kzalloc(sizeof(*wlc->protection), GFP_ATOMIC); + wlc->protection = kzalloc_obj(*wlc->protection, GFP_ATOMIC); if (wlc->protection == NULL) { *err = 1016; goto fail; } - wlc->stf = kzalloc(sizeof(*wlc->stf), GFP_ATOMIC); + wlc->stf = kzalloc_obj(*wlc->stf, GFP_ATOMIC); if (wlc->stf == NULL) { *err = 1017; goto fail; } wlc->bandstate[0] = - kcalloc(MAXBANDS, sizeof(*wlc->bandstate[0]), GFP_ATOMIC); + kzalloc_objs(*wlc->bandstate[0], MAXBANDS, GFP_ATOMIC); if (wlc->bandstate[0] == NULL) { *err = 1025; goto fail; @@ -560,14 +559,14 @@ brcms_c_attach_malloc(uint unit, uint *err, uint devid) + (sizeof(struct brcms_band)*i)); } - wlc->corestate = kzalloc(sizeof(*wlc->corestate), GFP_ATOMIC); + wlc->corestate = kzalloc_obj(*wlc->corestate, GFP_ATOMIC); if (wlc->corestate == NULL) { *err = 1026; goto fail; } - wlc->corestate->macstat_snapshot = - kzalloc(sizeof(*wlc->corestate->macstat_snapshot), GFP_ATOMIC); + wlc->corestate->macstat_snapshot = kzalloc_obj(*wlc->corestate->macstat_snapshot, + GFP_ATOMIC); if (wlc->corestate->macstat_snapshot == NULL) { *err = 1027; goto fail; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c index ce6ce2dea39c..7eae73ef7e94 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_cmn.c @@ -333,7 +333,7 @@ struct shared_phy *wlc_phy_shared_attach(struct shared_phy_params *shp) { struct shared_phy *sh; - sh = kzalloc(sizeof(*sh), GFP_ATOMIC); + sh = kzalloc_obj(*sh, GFP_ATOMIC); if (sh == NULL) return NULL; @@ -420,7 +420,7 @@ wlc_phy_attach(struct shared_phy *sh, struct bcma_device *d11core, return &pi->pubpi_ro; } - pi = kzalloc(sizeof(*pi), GFP_ATOMIC); + pi = kzalloc_obj(*pi, GFP_ATOMIC); if (pi == NULL) return NULL; pi->wiphy = wiphy; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c index 5258681218ea..8cec5ad79fda 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_lcn.c @@ -1319,7 +1319,7 @@ wlc_lcnphy_rx_iq_cal(struct brcms_phy *pi, s16 *ptr; struct brcms_phy_lcnphy *pi_lcn = pi->u.pi_lcnphy; - ptr = kmalloc_array(131, sizeof(s16), GFP_ATOMIC); + ptr = kmalloc_objs(s16, 131, GFP_ATOMIC); if (NULL == ptr) return false; if (module == 2) { @@ -3605,7 +3605,7 @@ wlc_lcnphy_a1(struct brcms_phy *pi, int cal_type, int num_levels, u16 *phy_c32; phy_c21 = 0; phy_c10 = phy_c13 = phy_c14 = phy_c8 = 0; - ptr = kmalloc_array(131, sizeof(s16), GFP_ATOMIC); + ptr = kmalloc_objs(s16, 131, GFP_ATOMIC); if (NULL == ptr) return; @@ -4966,7 +4966,7 @@ bool wlc_phy_attach_lcnphy(struct brcms_phy *pi) { struct brcms_phy_lcnphy *pi_lcn; - pi_lcn = kzalloc(sizeof(*pi_lcn), GFP_ATOMIC); + pi_lcn = kzalloc_obj(*pi_lcn, GFP_ATOMIC); if (!pi_lcn) return false; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c index b03d5a1f1a93..86cfa3e87a04 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c @@ -23049,8 +23049,7 @@ wlc_phy_gen_load_samples_nphy(struct brcms_phy *pi, u32 f_kHz, u16 max_val, tbl_len = (phy_bw << 1); } - tone_buf = kmalloc_array(tbl_len, sizeof(struct cordic_iq), - GFP_ATOMIC); + tone_buf = kmalloc_objs(struct cordic_iq, tbl_len, GFP_ATOMIC); if (tone_buf == NULL) return 0; diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c index 8b852581c4e4..20cf6379e838 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy_shim.c @@ -40,7 +40,7 @@ struct phy_shim_info *wlc_phy_shim_attach(struct brcms_hardware *wlc_hw, struct brcms_c_info *wlc) { struct phy_shim_info *physhim; - physhim = kzalloc(sizeof(*physhim), GFP_ATOMIC); + physhim = kzalloc_obj(*physhim, GFP_ATOMIC); if (!physhim) return NULL; diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2100.c b/drivers/net/wireless/intel/ipw2x00/ipw2100.c index c7c5bc0f1650..029459df3343 100644 --- a/drivers/net/wireless/intel/ipw2x00/ipw2100.c +++ b/drivers/net/wireless/intel/ipw2x00/ipw2100.c @@ -1885,9 +1885,8 @@ static int ipw2100_wdev_init(struct net_device *dev) bg_band->band = NL80211_BAND_2GHZ; bg_band->n_channels = geo->bg_channels; - bg_band->channels = kcalloc(geo->bg_channels, - sizeof(struct ieee80211_channel), - GFP_KERNEL); + bg_band->channels = kzalloc_objs(struct ieee80211_channel, + geo->bg_channels, GFP_KERNEL); if (!bg_band->channels) { ipw2100_down(priv); return -ENOMEM; @@ -3413,9 +3412,8 @@ static int ipw2100_msg_allocate(struct ipw2100_priv *priv) dma_addr_t p; priv->msg_buffers = - kmalloc_array(IPW_COMMAND_POOL_SIZE, - sizeof(struct ipw2100_tx_packet), - GFP_KERNEL); + kmalloc_objs(struct ipw2100_tx_packet, IPW_COMMAND_POOL_SIZE, + GFP_KERNEL); if (!priv->msg_buffers) return -ENOMEM; @@ -4410,9 +4408,8 @@ static int ipw2100_tx_allocate(struct ipw2100_priv *priv) return err; } - priv->tx_buffers = kmalloc_array(TX_PENDED_QUEUE_LENGTH, - sizeof(struct ipw2100_tx_packet), - GFP_KERNEL); + priv->tx_buffers = kmalloc_objs(struct ipw2100_tx_packet, + TX_PENDED_QUEUE_LENGTH, GFP_KERNEL); if (!priv->tx_buffers) { bd_queue_free(priv, &priv->tx_queue); return -ENOMEM; @@ -4555,9 +4552,8 @@ static int ipw2100_rx_allocate(struct ipw2100_priv *priv) /* * allocate packets */ - priv->rx_buffers = kmalloc_array(RX_QUEUE_LENGTH, - sizeof(struct ipw2100_rx_packet), - GFP_KERNEL); + priv->rx_buffers = kmalloc_objs(struct ipw2100_rx_packet, + RX_QUEUE_LENGTH, GFP_KERNEL); if (!priv->rx_buffers) { IPW_DEBUG_INFO("can't allocate rx packet buffer table\n"); diff --git a/drivers/net/wireless/intel/ipw2x00/ipw2200.c b/drivers/net/wireless/intel/ipw2x00/ipw2200.c index b0e769da9415..a39985e4a977 100644 --- a/drivers/net/wireless/intel/ipw2x00/ipw2200.c +++ b/drivers/net/wireless/intel/ipw2x00/ipw2200.c @@ -3153,8 +3153,7 @@ static int ipw_load_firmware(struct ipw_priv *priv, u8 * data, size_t len) if (!virts) return -ENOMEM; - phys = kmalloc_array(CB_NUMBER_OF_ELEMENTS_SMALL, sizeof(dma_addr_t), - GFP_KERNEL); + phys = kmalloc_objs(dma_addr_t, CB_NUMBER_OF_ELEMENTS_SMALL, GFP_KERNEL); if (!phys) { kfree(virts); return -ENOMEM; @@ -3723,7 +3722,7 @@ static int ipw_queue_tx_init(struct ipw_priv *priv, { struct pci_dev *dev = priv->pci_dev; - q->txb = kmalloc_array(count, sizeof(q->txb[0]), GFP_KERNEL); + q->txb = kmalloc_objs(q->txb[0], count, GFP_KERNEL); if (!q->txb) return -ENOMEM; @@ -5201,7 +5200,7 @@ static struct ipw_rx_queue *ipw_rx_queue_alloc(struct ipw_priv *priv) struct ipw_rx_queue *rxq; int i; - rxq = kzalloc(sizeof(*rxq), GFP_KERNEL); + rxq = kzalloc_obj(*rxq, GFP_KERNEL); if (unlikely(!rxq)) { IPW_ERROR("memory allocation failed\n"); return NULL; @@ -8103,7 +8102,7 @@ static int is_duplicate_packet(struct ipw_priv *priv, break; } if (p == &priv->ibss_mac_hash[index]) { - entry = kmalloc(sizeof(*entry), GFP_ATOMIC); + entry = kmalloc_obj(*entry, GFP_ATOMIC); if (!entry) { IPW_ERROR ("Cannot malloc new mac entry\n"); @@ -11119,8 +11118,7 @@ static int ipw_up(struct ipw_priv *priv) return -EIO; if (cmdlog && !priv->cmdlog) { - priv->cmdlog = kcalloc(cmdlog, sizeof(*priv->cmdlog), - GFP_KERNEL); + priv->cmdlog = kzalloc_objs(*priv->cmdlog, cmdlog, GFP_KERNEL); if (priv->cmdlog == NULL) { IPW_ERROR("Error allocating %d command log entries.\n", cmdlog); @@ -11279,9 +11277,8 @@ static int ipw_wdev_init(struct net_device *dev) bg_band->band = NL80211_BAND_2GHZ; bg_band->n_channels = geo->bg_channels; - bg_band->channels = kcalloc(geo->bg_channels, - sizeof(struct ieee80211_channel), - GFP_KERNEL); + bg_band->channels = kzalloc_objs(struct ieee80211_channel, + geo->bg_channels, GFP_KERNEL); if (!bg_band->channels) { rc = -ENOMEM; goto out; @@ -11318,9 +11315,8 @@ static int ipw_wdev_init(struct net_device *dev) a_band->band = NL80211_BAND_5GHZ; a_band->n_channels = geo->a_channels; - a_band->channels = kcalloc(geo->a_channels, - sizeof(struct ieee80211_channel), - GFP_KERNEL); + a_band->channels = kzalloc_objs(struct ieee80211_channel, + geo->a_channels, GFP_KERNEL); if (!a_band->channels) { rc = -ENOMEM; goto out; diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_crypto.c b/drivers/net/wireless/intel/ipw2x00/libipw_crypto.c index 243d0c5928a2..e39b95f68dd4 100644 --- a/drivers/net/wireless/intel/ipw2x00/libipw_crypto.c +++ b/drivers/net/wireless/intel/ipw2x00/libipw_crypto.c @@ -159,7 +159,7 @@ int libipw_register_crypto_ops(const struct libipw_crypto_ops *ops) unsigned long flags; struct libipw_crypto_alg *alg; - alg = kzalloc(sizeof(*alg), GFP_KERNEL); + alg = kzalloc_obj(*alg, GFP_KERNEL); if (alg == NULL) return -ENOMEM; diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_crypto_ccmp.c b/drivers/net/wireless/intel/ipw2x00/libipw_crypto_ccmp.c index bf900d8c8ad3..631a4dd86cab 100644 --- a/drivers/net/wireless/intel/ipw2x00/libipw_crypto_ccmp.c +++ b/drivers/net/wireless/intel/ipw2x00/libipw_crypto_ccmp.c @@ -53,7 +53,7 @@ static void *libipw_ccmp_init(int key_idx) { struct libipw_ccmp_data *priv; - priv = kzalloc(sizeof(*priv), GFP_ATOMIC); + priv = kzalloc_obj(*priv, GFP_ATOMIC); if (priv == NULL) goto fail; priv->key_idx = key_idx; diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_crypto_tkip.c b/drivers/net/wireless/intel/ipw2x00/libipw_crypto_tkip.c index 32288697da4f..c6b0de8d91ae 100644 --- a/drivers/net/wireless/intel/ipw2x00/libipw_crypto_tkip.c +++ b/drivers/net/wireless/intel/ipw2x00/libipw_crypto_tkip.c @@ -87,7 +87,7 @@ static void *libipw_tkip_init(int key_idx) if (fips_enabled) return NULL; - priv = kzalloc(sizeof(*priv), GFP_ATOMIC); + priv = kzalloc_obj(*priv, GFP_ATOMIC); if (priv == NULL) goto fail; diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_crypto_wep.c b/drivers/net/wireless/intel/ipw2x00/libipw_crypto_wep.c index c3a4ccb9de17..96109e123a1a 100644 --- a/drivers/net/wireless/intel/ipw2x00/libipw_crypto_wep.c +++ b/drivers/net/wireless/intel/ipw2x00/libipw_crypto_wep.c @@ -37,7 +37,7 @@ static void *libipw_wep_init(int keyidx) if (fips_enabled) return NULL; - priv = kzalloc(sizeof(*priv), GFP_ATOMIC); + priv = kzalloc_obj(*priv, GFP_ATOMIC); if (priv == NULL) return NULL; priv->key_idx = keyidx; diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_module.c b/drivers/net/wireless/intel/ipw2x00/libipw_module.c index 2ad085b1f492..cc771ee9bac3 100644 --- a/drivers/net/wireless/intel/ipw2x00/libipw_module.c +++ b/drivers/net/wireless/intel/ipw2x00/libipw_module.c @@ -57,8 +57,8 @@ static int libipw_networks_allocate(struct libipw_device *ieee) int i, j; for (i = 0; i < MAX_NETWORK_COUNT; i++) { - ieee->networks[i] = kzalloc(sizeof(struct libipw_network), - GFP_KERNEL); + ieee->networks[i] = kzalloc_obj(struct libipw_network, + GFP_KERNEL); if (!ieee->networks[i]) { LIBIPW_ERROR("Out of memory allocating beacons\n"); for (j = 0; j < i; j++) diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_tx.c b/drivers/net/wireless/intel/ipw2x00/libipw_tx.c index 80edaa3dea9c..6e16060834b8 100644 --- a/drivers/net/wireless/intel/ipw2x00/libipw_tx.c +++ b/drivers/net/wireless/intel/ipw2x00/libipw_tx.c @@ -180,7 +180,7 @@ static struct libipw_txb *libipw_alloc_txb(int nr_frags, int txb_size, struct libipw_txb *txb; int i; - txb = kzalloc(struct_size(txb, fragments, nr_frags), gfp_mask); + txb = kzalloc_flex(*txb, fragments, nr_frags, gfp_mask); if (!txb) return NULL; diff --git a/drivers/net/wireless/intel/ipw2x00/libipw_wx.c b/drivers/net/wireless/intel/ipw2x00/libipw_wx.c index db71d81b0d4f..3db31b740a0e 100644 --- a/drivers/net/wireless/intel/ipw2x00/libipw_wx.c +++ b/drivers/net/wireless/intel/ipw2x00/libipw_wx.c @@ -365,8 +365,7 @@ int libipw_wx_set_encode(struct libipw_device *ieee, struct libipw_crypt_data *new_crypt; /* take WEP into use */ - new_crypt = kzalloc(sizeof(struct libipw_crypt_data), - GFP_KERNEL); + new_crypt = kzalloc_obj(struct libipw_crypt_data, GFP_KERNEL); if (new_crypt == NULL) return -ENOMEM; new_crypt->ops = libipw_get_crypto_ops("WEP"); @@ -598,7 +597,7 @@ int libipw_wx_set_encodeext(struct libipw_device *ieee, libipw_crypt_delayed_deinit(&ieee->crypt_info, crypt); - new_crypt = kzalloc(sizeof(*new_crypt), GFP_KERNEL); + new_crypt = kzalloc_obj(*new_crypt, GFP_KERNEL); if (new_crypt == NULL) { ret = -ENOMEM; goto done; diff --git a/drivers/net/wireless/intel/iwlegacy/3945-mac.c b/drivers/net/wireless/intel/iwlegacy/3945-mac.c index 54991f31c52c..c87579e4c7f9 100644 --- a/drivers/net/wireless/intel/iwlegacy/3945-mac.c +++ b/drivers/net/wireless/intel/iwlegacy/3945-mac.c @@ -269,7 +269,7 @@ il3945_get_free_frame(struct il_priv *il) struct il3945_frame *frame; struct list_head *element; if (list_empty(&il->free_frames)) { - frame = kzalloc(sizeof(*frame), GFP_KERNEL); + frame = kzalloc_obj(*frame, GFP_KERNEL); if (!frame) { IL_ERR("Could not allocate frame!\n"); return NULL; diff --git a/drivers/net/wireless/intel/iwlegacy/4965-mac.c b/drivers/net/wireless/intel/iwlegacy/4965-mac.c index 57fa866efd9f..8429b6f5768b 100644 --- a/drivers/net/wireless/intel/iwlegacy/4965-mac.c +++ b/drivers/net/wireless/intel/iwlegacy/4965-mac.c @@ -3027,7 +3027,7 @@ il4965_sta_alloc_lq(struct il_priv *il, u8 sta_id) u32 rate_flags = 0; __le32 rate_n_flags; - link_cmd = kzalloc(sizeof(struct il_link_quality_cmd), GFP_KERNEL); + link_cmd = kzalloc_obj(struct il_link_quality_cmd, GFP_KERNEL); if (!link_cmd) { IL_ERR("Unable to allocate memory for LQ cmd.\n"); return NULL; @@ -3709,7 +3709,7 @@ il4965_get_free_frame(struct il_priv *il) struct il_frame *frame; struct list_head *element; if (list_empty(&il->free_frames)) { - frame = kzalloc(sizeof(*frame), GFP_KERNEL); + frame = kzalloc_obj(*frame, GFP_KERNEL); if (!frame) { IL_ERR("Could not allocate frame!\n"); return NULL; diff --git a/drivers/net/wireless/intel/iwlegacy/common.c b/drivers/net/wireless/intel/iwlegacy/common.c index b7bd3ec4cc50..4a12703e9b46 100644 --- a/drivers/net/wireless/intel/iwlegacy/common.c +++ b/drivers/net/wireless/intel/iwlegacy/common.c @@ -907,8 +907,7 @@ il_init_channel_map(struct il_priv *il) D_EEPROM("Parsing data for %d channels.\n", il->channel_count); il->channel_info = - kcalloc(il->channel_count, sizeof(struct il_channel_info), - GFP_KERNEL); + kzalloc_objs(struct il_channel_info, il->channel_count, GFP_KERNEL); if (!il->channel_info) { IL_ERR("Could not allocate channel_info\n"); il->channel_count = 0; @@ -2969,9 +2968,8 @@ il_tx_queue_alloc(struct il_priv *il, struct il_tx_queue *txq, u32 id) /* Driver ilate data, only for Tx (not command) queues, * not shared with device. */ if (id != il->cmd_queue) { - txq->skbs = kcalloc(TFD_QUEUE_SIZE_MAX, - sizeof(struct sk_buff *), - GFP_KERNEL); + txq->skbs = kzalloc_objs(struct sk_buff *, TFD_QUEUE_SIZE_MAX, + GFP_KERNEL); if (!txq->skbs) { IL_ERR("Fail to alloc skbs\n"); goto error; @@ -3024,9 +3022,9 @@ il_tx_queue_init(struct il_priv *il, u32 txq_id) } txq->meta = - kcalloc(actual_slots, sizeof(struct il_cmd_meta), GFP_KERNEL); + kzalloc_objs(struct il_cmd_meta, actual_slots, GFP_KERNEL); txq->cmd = - kcalloc(actual_slots, sizeof(struct il_device_cmd *), GFP_KERNEL); + kzalloc_objs(struct il_device_cmd *, actual_slots, GFP_KERNEL); if (!txq->meta || !txq->cmd) goto out_free_arrays; @@ -3444,12 +3442,12 @@ il_init_geos(struct il_priv *il) } channels = - kcalloc(il->channel_count, sizeof(struct ieee80211_channel), - GFP_KERNEL); + kzalloc_objs(struct ieee80211_channel, il->channel_count, + GFP_KERNEL); if (!channels) return -ENOMEM; - rates = kcalloc(RATE_COUNT_LEGACY, sizeof(*rates), GFP_KERNEL); + rates = kzalloc_objs(*rates, RATE_COUNT_LEGACY, GFP_KERNEL); if (!rates) { kfree(channels); return -ENOMEM; @@ -4611,9 +4609,8 @@ il_alloc_txq_mem(struct il_priv *il) { if (!il->txq) il->txq = - kcalloc(il->cfg->num_of_queues, - sizeof(struct il_tx_queue), - GFP_KERNEL); + kzalloc_objs(struct il_tx_queue, il->cfg->num_of_queues, + GFP_KERNEL); if (!il->txq) { IL_ERR("Not enough memory for txq\n"); return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/calib.c b/drivers/net/wireless/intel/iwlwifi/dvm/calib.c index f488620d2844..94c5d40cdf41 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/calib.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/calib.c @@ -63,7 +63,7 @@ int iwl_calib_set(struct iwl_priv *priv, if (check_sub_overflow(len, sizeof(*cmd), &len)) return -ENOMEM; - res = kmalloc(struct_size(res, cmd.data, len), GFP_ATOMIC); + res = kmalloc_flex(*res, cmd.data, len, GFP_ATOMIC); if (!res) return -ENOMEM; res->cmd = *cmd; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/devices.c b/drivers/net/wireless/intel/iwlwifi/dvm/devices.c index be7e61e2b291..5c8665b5a1b7 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/devices.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/devices.c @@ -567,7 +567,7 @@ static int iwl6000_hw_channel_switch(struct iwl_priv *priv, }; int err; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c b/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c index d337ab543eb0..f723884e2a62 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/eeprom.c @@ -1067,8 +1067,7 @@ iwl_parse_eeprom_data(struct iwl_trans *trans, const struct iwl_rf_cfg *cfg, if (WARN_ON(!cfg || !cfg->eeprom_params)) return NULL; - data = kzalloc(struct_size(data, channels, IWL_NUM_CHANNELS), - GFP_KERNEL); + data = kzalloc_flex(*data, channels, IWL_NUM_CHANNELS, GFP_KERNEL); if (!data) return NULL; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c index 48711dbcfa5a..bc14ed3060dd 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/lib.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/lib.c @@ -1056,7 +1056,7 @@ int iwlagn_suspend(struct iwl_priv *priv, struct cfg80211_wowlan *wowlan) int ret, i; u16 seq; - key_data.rsc_tsc = kzalloc(sizeof(*key_data.rsc_tsc), GFP_KERNEL); + key_data.rsc_tsc = kzalloc_obj(*key_data.rsc_tsc, GFP_KERNEL); if (!key_data.rsc_tsc) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/main.c b/drivers/net/wireless/intel/iwlwifi/dvm/main.c index 2b4dbebc71c2..ec30b5f3870b 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/main.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/main.c @@ -205,7 +205,7 @@ int iwlagn_send_beacon_cmd(struct iwl_priv *priv) /* Allocate beacon command */ if (!priv->beacon_cmd) - priv->beacon_cmd = kzalloc(sizeof(*tx_beacon_cmd), GFP_KERNEL); + priv->beacon_cmd = kzalloc_obj(*tx_beacon_cmd, GFP_KERNEL); tx_beacon_cmd = priv->beacon_cmd; if (!tx_beacon_cmd) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/rx.c b/drivers/net/wireless/intel/iwlwifi/dvm/rx.c index b34ee68f3dce..088302a238de 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/rx.c @@ -915,7 +915,7 @@ static void iwlagn_rx_noa_notification(struct iwl_priv *priv, len += 1 + 2; copylen += 1 + 2; - new_data = kmalloc(struct_size(new_data, data, len), GFP_ATOMIC); + new_data = kmalloc_flex(*new_data, data, len, GFP_ATOMIC); if (new_data) { new_data->length = len; new_data->data[0] = WLAN_EID_VENDOR_SPECIFIC; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/sta.c b/drivers/net/wireless/intel/iwlwifi/dvm/sta.c index 8b01ab986cb1..b29859f9d7c0 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/sta.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/sta.c @@ -864,7 +864,7 @@ iwl_sta_alloc_lq(struct iwl_priv *priv, struct iwl_rxon_context *ctx, { struct iwl_link_quality_cmd *link_cmd; - link_cmd = kzalloc(sizeof(struct iwl_link_quality_cmd), GFP_KERNEL); + link_cmd = kzalloc_obj(struct iwl_link_quality_cmd, GFP_KERNEL); if (!link_cmd) { IWL_ERR(priv, "Unable to allocate memory for LQ cmd.\n"); return NULL; diff --git a/drivers/net/wireless/intel/iwlwifi/dvm/tt.c b/drivers/net/wireless/intel/iwlwifi/dvm/tt.c index 96831ce8da6f..9bfdf033463b 100644 --- a/drivers/net/wireless/intel/iwlwifi/dvm/tt.c +++ b/drivers/net/wireless/intel/iwlwifi/dvm/tt.c @@ -595,13 +595,11 @@ void iwl_tt_initialize(struct iwl_priv *priv) if (priv->lib->adv_thermal_throttle) { IWL_DEBUG_TEMP(priv, "Advanced Thermal Throttling\n"); - tt->restriction = kcalloc(IWL_TI_STATE_MAX, - sizeof(struct iwl_tt_restriction), - GFP_KERNEL); - tt->transaction = kcalloc(IWL_TI_STATE_MAX * - (IWL_TI_STATE_MAX - 1), - sizeof(struct iwl_tt_trans), - GFP_KERNEL); + tt->restriction = kzalloc_objs(struct iwl_tt_restriction, + IWL_TI_STATE_MAX, GFP_KERNEL); + tt->transaction = kzalloc_objs(struct iwl_tt_trans, + IWL_TI_STATE_MAX * (IWL_TI_STATE_MAX - 1), + GFP_KERNEL); if (!tt->restriction || !tt->transaction) { IWL_ERR(priv, "Fallback to Legacy Throttling\n"); priv->thermal_throttle.advanced_tt = false; diff --git a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c index 2ce55859641c..a070593e085f 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/dbg.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/dbg.c @@ -595,7 +595,7 @@ static struct scatterlist *alloc_sgtable(ssize_t size) nents -= n_fill; } - new = kcalloc(n_alloc, sizeof(*new), GFP_KERNEL); + new = kzalloc_objs(*new, n_alloc, GFP_KERNEL); if (!new) { if (result) _devcd_free_sgtable(result); @@ -2958,8 +2958,8 @@ int iwl_fw_dbg_error_collect(struct iwl_fw_runtime *fwrt, struct iwl_fw_dump_desc *iwl_dump_error_desc; int ret; - iwl_dump_error_desc = - kmalloc(sizeof(*iwl_dump_error_desc), GFP_KERNEL); + iwl_dump_error_desc = kmalloc_obj(*iwl_dump_error_desc, + GFP_KERNEL); if (!iwl_dump_error_desc) return -ENOMEM; @@ -3011,7 +3011,7 @@ int iwl_fw_dbg_collect(struct iwl_fw_runtime *fwrt, delay = le32_to_cpu(trigger->stop_delay) * USEC_PER_MSEC; } - desc = kzalloc(struct_size(desc, trig_desc.data, len), GFP_ATOMIC); + desc = kzalloc_flex(*desc, trig_desc.data, len, GFP_ATOMIC); if (!desc) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/fw/debugfs.c b/drivers/net/wireless/intel/iwlwifi/fw/debugfs.c index 3c4bee85b825..21d889344796 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/debugfs.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/debugfs.c @@ -360,7 +360,7 @@ static void *iwl_dbgfs_fw_info_seq_start(struct seq_file *seq, loff_t *pos) if (*pos >= fw->ucode_capa.n_cmd_versions) return NULL; - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return NULL; state->pos = *pos; diff --git a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c index f297e82d63d2..a45c3a9c223e 100644 --- a/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c +++ b/drivers/net/wireless/intel/iwlwifi/fw/pnvm.c @@ -379,7 +379,7 @@ iwl_pnvm_load_pnvm_to_trans(struct iwl_trans *trans, return; } - pnvm_data = kzalloc(sizeof(*pnvm_data), GFP_KERNEL); + pnvm_data = kzalloc_obj(*pnvm_data, GFP_KERNEL); if (!pnvm_data) goto free; @@ -425,7 +425,7 @@ iwl_pnvm_load_reduce_power_to_trans(struct iwl_trans *trans, return; } - pnvm_data = kzalloc(sizeof(*pnvm_data), GFP_KERNEL); + pnvm_data = kzalloc_obj(*pnvm_data, GFP_KERNEL); if (!pnvm_data) goto free; diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c index 5240dacf1360..a6733224428a 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-dbg-tlv.c @@ -71,7 +71,7 @@ static struct iwl_ucode_tlv *iwl_dbg_tlv_add(const struct iwl_ucode_tlv *tlv, u32 len = le32_to_cpu(tlv->length); struct iwl_dbg_tlv_node *node; - node = kzalloc(struct_size(node, tlv.data, len), GFP_KERNEL); + node = kzalloc_flex(*node, tlv.data, len, GFP_KERNEL); if (!node) return NULL; @@ -618,7 +618,7 @@ static int iwl_dbg_tlv_alloc_fragments(struct iwl_fw_runtime *fwrt, num_frags = min_t(u32, num_frags, remain_pages); frag_pages = DIV_ROUND_UP(remain_pages, num_frags); - fw_mon->frags = kcalloc(num_frags, sizeof(*fw_mon->frags), GFP_KERNEL); + fw_mon->frags = kzalloc_objs(*fw_mon->frags, num_frags, GFP_KERNEL); if (!fw_mon->frags) return -ENOMEM; @@ -1001,7 +1001,7 @@ static void iwl_dbg_tlv_set_periodic_trigs(struct iwl_fw_runtime *fwrt) collect_interval = le32_to_cpu(trig->data[0]); - timer_node = kzalloc(sizeof(*timer_node), GFP_KERNEL); + timer_node = kzalloc_obj(*timer_node, GFP_KERNEL); if (!timer_node) { IWL_ERR(fwrt, "WRT: Failed to allocate periodic trigger\n"); diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c index f8fc6f30fbe5..39e362df0233 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-drv.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-drv.c @@ -1459,7 +1459,7 @@ static int iwl_alloc_ucode_mem(struct fw_img *out, struct fw_img_parsing *img) { struct fw_desc *sec; - sec = kcalloc(img->sec_counter, sizeof(*sec), GFP_KERNEL); + sec = kzalloc_objs(*sec, img->sec_counter, GFP_KERNEL); if (!sec) return -ENOMEM; @@ -1622,7 +1622,7 @@ static void iwl_req_fw_callback(const struct firmware *ucode_raw, void *context) /* dump all fw memory areas by default */ fw->dbg.dump_mask = 0xffffffff; - pieces = kzalloc(sizeof(*pieces), GFP_KERNEL); + pieces = kzalloc_obj(*pieces, GFP_KERNEL); if (!pieces) goto out_free_fw; @@ -1915,7 +1915,7 @@ struct iwl_drv *iwl_drv_start(struct iwl_trans *trans) struct iwl_drv *drv; int ret; - drv = kzalloc(sizeof(*drv), GFP_KERNEL); + drv = kzalloc_obj(*drv, GFP_KERNEL); if (!drv) { ret = -ENOMEM; goto err; diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c index e021fc57d85d..75d1db91314b 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-nvm-parse.c @@ -1377,13 +1377,11 @@ iwl_parse_mei_nvm_data(struct iwl_trans *trans, const struct iwl_rf_cfg *cfg, u8 tx_chains = fw->valid_rx_ant; if (cfg->uhb_supported) - data = kzalloc(struct_size(data, channels, - IWL_NVM_NUM_CHANNELS_UHB), - GFP_KERNEL); + data = kzalloc_flex(*data, channels, IWL_NVM_NUM_CHANNELS_UHB, + GFP_KERNEL); else - data = kzalloc(struct_size(data, channels, - IWL_NVM_NUM_CHANNELS_EXT), - GFP_KERNEL); + data = kzalloc_flex(*data, channels, IWL_NVM_NUM_CHANNELS_EXT, + GFP_KERNEL); if (!data) return NULL; @@ -1446,17 +1444,14 @@ iwl_parse_nvm_data(struct iwl_trans *trans, const struct iwl_rf_cfg *cfg, const __le16 *ch_section; if (cfg->uhb_supported) - data = kzalloc(struct_size(data, channels, - IWL_NVM_NUM_CHANNELS_UHB), - GFP_KERNEL); + data = kzalloc_flex(*data, channels, IWL_NVM_NUM_CHANNELS_UHB, + GFP_KERNEL); else if (cfg->nvm_type != IWL_NVM_EXT) - data = kzalloc(struct_size(data, channels, - IWL_NVM_NUM_CHANNELS), - GFP_KERNEL); + data = kzalloc_flex(*data, channels, IWL_NVM_NUM_CHANNELS, + GFP_KERNEL); else - data = kzalloc(struct_size(data, channels, - IWL_NVM_NUM_CHANNELS_EXT), - GFP_KERNEL); + data = kzalloc_flex(*data, channels, IWL_NVM_NUM_CHANNELS_EXT, + GFP_KERNEL); if (!data) return NULL; @@ -1692,7 +1687,7 @@ iwl_parse_nvm_mcc_info(struct iwl_trans *trans, num_of_ch); /* build a regdomain rule for every valid channel */ - regd = kzalloc(struct_size(regd, reg_rules, num_of_ch), GFP_KERNEL); + regd = kzalloc_flex(*regd, reg_rules, num_of_ch, GFP_KERNEL); if (!regd) return ERR_PTR(-ENOMEM); @@ -2041,7 +2036,7 @@ struct iwl_nvm_data *iwl_get_nvm(struct iwl_trans *trans, if (empty_otp) IWL_INFO(trans, "OTP is empty\n"); - nvm = kzalloc(struct_size(nvm, channels, IWL_NUM_CHANNELS), GFP_KERNEL); + nvm = kzalloc_flex(*nvm, channels, IWL_NUM_CHANNELS, GFP_KERNEL); if (!nvm) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c b/drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c index 0a93ac769f66..a5e287daf440 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-phy-db.c @@ -59,8 +59,7 @@ struct iwl_phy_db_chg_txp { struct iwl_phy_db *iwl_phy_db_init(struct iwl_trans *trans) { - struct iwl_phy_db *phy_db = kzalloc(sizeof(struct iwl_phy_db), - GFP_KERNEL); + struct iwl_phy_db *phy_db = kzalloc_obj(struct iwl_phy_db, GFP_KERNEL); if (!phy_db) return phy_db; @@ -172,9 +171,9 @@ int iwl_phy_db_set_section(struct iwl_phy_db *phy_db, * Firmware sends the largest index first, so we can use * it to know how much we should allocate. */ - phy_db->calib_ch_group_papd = kcalloc(chg_id + 1, - sizeof(struct iwl_phy_db_entry), - GFP_ATOMIC); + phy_db->calib_ch_group_papd = kzalloc_objs(struct iwl_phy_db_entry, + chg_id + 1, + GFP_ATOMIC); if (!phy_db->calib_ch_group_papd) return -ENOMEM; phy_db->n_group_papd = chg_id + 1; @@ -186,9 +185,9 @@ int iwl_phy_db_set_section(struct iwl_phy_db *phy_db, * Firmware sends the largest index first, so we can use * it to know how much we should allocate. */ - phy_db->calib_ch_group_txp = kcalloc(chg_id + 1, - sizeof(struct iwl_phy_db_entry), - GFP_ATOMIC); + phy_db->calib_ch_group_txp = kzalloc_objs(struct iwl_phy_db_entry, + chg_id + 1, + GFP_ATOMIC); if (!phy_db->calib_ch_group_txp) return -ENOMEM; phy_db->n_group_txp = chg_id + 1; diff --git a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c index fa1442246662..eebec9b8c169 100644 --- a/drivers/net/wireless/intel/iwlwifi/iwl-trans.c +++ b/drivers/net/wireless/intel/iwlwifi/iwl-trans.c @@ -46,7 +46,7 @@ iwl_trans_get_restart_data(struct device *dev) if (data) return data; - data = kzalloc(struct_size(data, name, strlen(name) + 1), GFP_ATOMIC); + data = kzalloc_flex(*data, name, strlen(name) + 1, GFP_ATOMIC); if (!data) return NULL; @@ -113,7 +113,7 @@ static void iwl_trans_schedule_reprobe(struct iwl_trans *trans, return; } - reprobe = kzalloc(sizeof(*reprobe), GFP_KERNEL); + reprobe = kzalloc_obj(*reprobe, GFP_KERNEL); if (!reprobe) { module_put(THIS_MODULE); return; diff --git a/drivers/net/wireless/intel/iwlwifi/mei/main.c b/drivers/net/wireless/intel/iwlwifi/mei/main.c index dce0b7cf7b26..f9358cb01103 100644 --- a/drivers/net/wireless/intel/iwlwifi/mei/main.c +++ b/drivers/net/wireless/intel/iwlwifi/mei/main.c @@ -702,7 +702,7 @@ static void iwl_mei_handle_csme_filters(struct mei_cl_device *cldev, rcu_dereference_protected(mei->filters, lockdep_is_held(&iwl_mei_mutex)); - new_filters = kzalloc(sizeof(*new_filters), GFP_KERNEL); + new_filters = kzalloc_obj(*new_filters, GFP_KERNEL); if (!new_filters) return; @@ -886,7 +886,7 @@ static void iwl_mei_handle_nvm(struct mei_cl_device *cldev, int i; kfree(mei->nvm); - mei->nvm = kzalloc(sizeof(*mei_nvm), GFP_KERNEL); + mei->nvm = kzalloc_obj(*mei_nvm, GFP_KERNEL); if (!mei->nvm) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/d3.c b/drivers/net/wireless/intel/iwlwifi/mld/d3.c index 6595542e95cf..e7849183dff1 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/d3.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/d3.c @@ -609,10 +609,9 @@ iwl_mld_handle_wowlan_info_notif(struct iwl_mld *mld, 5)) return true; - converted_notif = kzalloc(struct_size(converted_notif, - mlo_gtks, - notif_v5->num_mlo_link_keys), - GFP_ATOMIC); + converted_notif = kzalloc_flex(*converted_notif, mlo_gtks, + notif_v5->num_mlo_link_keys, + GFP_ATOMIC); if (!converted_notif) { IWL_ERR(mld, "Failed to allocate memory for converted wowlan_info_notif\n"); @@ -1173,8 +1172,7 @@ iwl_mld_set_netdetect_info(struct iwl_mld *mld, for (int k = 0; k < SCAN_OFFLOAD_MATCHING_CHANNELS_LEN; k++) n_channels += hweight8(matches[i].matching_channels[k]); - match = kzalloc(struct_size(match, channels, n_channels), - GFP_KERNEL); + match = kzalloc_flex(*match, channels, n_channels, GFP_KERNEL); if (!match) return; @@ -1251,8 +1249,8 @@ iwl_mld_process_netdetect_res(struct iwl_mld *mld, goto out; } n_matches = hweight_long(matched_profiles); - netdetect_info = kzalloc(struct_size(netdetect_info, matches, - n_matches), GFP_KERNEL); + netdetect_info = kzalloc_flex(*netdetect_info, matches, n_matches, + GFP_KERNEL); if (netdetect_info) iwl_mld_set_netdetect_info(mld, netdetect_cfg, netdetect_info, resume_data->netdetect_res, @@ -1656,7 +1654,7 @@ iwl_mld_suspend_send_security_cmds(struct iwl_mld *mld, struct iwl_mld_suspend_key_iter_data data = {}; int ret; - data.rsc = kzalloc(sizeof(*data.rsc), GFP_KERNEL); + data.rsc = kzalloc_obj(*data.rsc, GFP_KERNEL); if (!data.rsc) return -ENOMEM; @@ -2002,8 +2000,8 @@ int iwl_mld_wowlan_resume(struct iwl_mld *mld) iwl_fw_dbg_read_d3_debug_data(&mld->fwrt); - resume_data.wowlan_status = kzalloc(sizeof(*resume_data.wowlan_status), - GFP_KERNEL); + resume_data.wowlan_status = kzalloc_obj(*resume_data.wowlan_status, + GFP_KERNEL); if (!resume_data.wowlan_status) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/iface.c b/drivers/net/wireless/intel/iwlwifi/mld/iface.c index 743e44ff19cf..b418cbeb30aa 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/iface.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/iface.c @@ -542,7 +542,7 @@ void iwl_mld_handle_probe_resp_data_notif(struct iwl_mld *mld, notif->noa_attr.len_low)) return; - new_data = kzalloc(sizeof(*new_data), GFP_KERNEL); + new_data = kzalloc_obj(*new_data, GFP_KERNEL); if (!new_data) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/link.c b/drivers/net/wireless/intel/iwlwifi/mld/link.c index d89840a1152b..5640de4662d7 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/link.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/link.c @@ -468,7 +468,7 @@ int iwl_mld_add_link(struct iwl_mld *mld, if (is_deflink) { link = &mld_vif->deflink; } else { - link = kzalloc(sizeof(*link), GFP_KERNEL); + link = kzalloc_obj(*link, GFP_KERNEL); if (!link) return -ENOMEM; } diff --git a/drivers/net/wireless/intel/iwlwifi/mld/low_latency.c b/drivers/net/wireless/intel/iwlwifi/mld/low_latency.c index 23362867b400..fb63c8ba800a 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/low_latency.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/low_latency.c @@ -131,8 +131,8 @@ int iwl_mld_low_latency_init(struct iwl_mld *mld) struct iwl_mld_low_latency *ll = &mld->low_latency; unsigned long ts = jiffies; - ll->pkts_counters = kcalloc(mld->trans->info.num_rxqs, - sizeof(*ll->pkts_counters), GFP_KERNEL); + ll->pkts_counters = kzalloc_objs(*ll->pkts_counters, + mld->trans->info.num_rxqs, GFP_KERNEL); if (!ll->pkts_counters) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c index 3414b04a6953..54e128fd0141 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/mac80211.c @@ -2092,8 +2092,7 @@ static int iwl_mld_alloc_ptk_pn(struct iwl_mld *mld, return -EINVAL; WARN_ON(rcu_access_pointer(mld_sta->ptk_pn[keyidx])); - *ptk_pn = kzalloc(struct_size(*ptk_pn, q, num_rx_queues), - GFP_KERNEL); + *ptk_pn = kzalloc_flex(**ptk_pn, q, num_rx_queues, GFP_KERNEL); if (!*ptk_pn) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/notif.c b/drivers/net/wireless/intel/iwlwifi/mld/notif.c index 35356b244c0a..240526d8b632 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/notif.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/notif.c @@ -557,7 +557,7 @@ static void iwl_mld_rx_notif(struct iwl_mld *mld, break; } - entry = kzalloc(sizeof(*entry), GFP_ATOMIC); + entry = kzalloc_obj(*entry, GFP_ATOMIC); /* we can't do much... */ if (!entry) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/scan.c b/drivers/net/wireless/intel/iwlwifi/mld/scan.c index 16f48087a888..6679be028a6b 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/scan.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/scan.c @@ -2083,9 +2083,9 @@ void iwl_mld_handle_channel_survey_notif(struct iwl_mld *mld, n_channels += mld->wiphy->bands[band]->n_channels; } - mld->channel_survey = kzalloc(struct_size(mld->channel_survey, - channels, n_channels), - GFP_KERNEL); + mld->channel_survey = kzalloc_flex(*mld->channel_survey, + channels, n_channels, + GFP_KERNEL); if (!mld->channel_survey) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/sta.c b/drivers/net/wireless/intel/iwlwifi/mld/sta.c index 6056a306f7cb..0869f2ee7cee 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/sta.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/sta.c @@ -539,7 +539,7 @@ iwl_mld_add_link_sta(struct iwl_mld *mld, struct ieee80211_link_sta *link_sta) if (link_sta == &link_sta->sta->deflink) { mld_link_sta = &mld_sta->deflink; } else { - mld_link_sta = kzalloc(sizeof(*mld_link_sta), GFP_KERNEL); + mld_link_sta = kzalloc_obj(*mld_link_sta, GFP_KERNEL); if (!mld_link_sta) return -ENOMEM; } @@ -660,8 +660,8 @@ iwl_mld_alloc_dup_data(struct iwl_mld *mld, struct iwl_mld_sta *mld_sta) if (mld->fw_status.in_hw_restart) return 0; - dup_data = kcalloc(mld->trans->info.num_rxqs, sizeof(*dup_data), - GFP_KERNEL); + dup_data = kzalloc_objs(*dup_data, mld->trans->info.num_rxqs, + GFP_KERNEL); if (!dup_data) return -ENOMEM; @@ -695,9 +695,9 @@ static void iwl_mld_alloc_mpdu_counters(struct iwl_mld *mld, sta->tdls || !ieee80211_vif_is_mld(vif)) return; - mld_sta->mpdu_counters = kcalloc(mld->trans->info.num_rxqs, - sizeof(*mld_sta->mpdu_counters), - GFP_KERNEL); + mld_sta->mpdu_counters = kzalloc_objs(*mld_sta->mpdu_counters, + mld->trans->info.num_rxqs, + GFP_KERNEL); if (!mld_sta->mpdu_counters) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mld/time_sync.c b/drivers/net/wireless/intel/iwlwifi/mld/time_sync.c index 50799f9bfccb..ad6f5c40f23d 100644 --- a/drivers/net/wireless/intel/iwlwifi/mld/time_sync.c +++ b/drivers/net/wireless/intel/iwlwifi/mld/time_sync.c @@ -12,8 +12,8 @@ static int iwl_mld_init_time_sync(struct iwl_mld *mld, u32 protocols, const u8 *addr) { - struct iwl_mld_time_sync_data *time_sync = kzalloc(sizeof(*time_sync), - GFP_KERNEL); + struct iwl_mld_time_sync_data *time_sync = kzalloc_obj(*time_sync, + GFP_KERNEL); if (!time_sync) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c index 6c225861db61..8df70323d426 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/d3.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/d3.c @@ -460,7 +460,7 @@ static int iwl_mvm_wowlan_config_rsc_tsc(struct iwl_mvm *mvm, struct wowlan_key_rsc_v5_data data = {}; int i; - data.rsc = kzalloc(sizeof(*data.rsc), GFP_KERNEL); + data.rsc = kzalloc_obj(*data.rsc, GFP_KERNEL); if (!data.rsc) return -ENOMEM; @@ -483,7 +483,7 @@ static int iwl_mvm_wowlan_config_rsc_tsc(struct iwl_mvm *mvm, } else if (ver == 2 || ver == IWL_FW_CMD_VER_UNKNOWN) { struct wowlan_key_rsc_tsc_data data = {}; - data.rsc_tsc = kzalloc(sizeof(*data.rsc_tsc), GFP_KERNEL); + data.rsc_tsc = kzalloc_obj(*data.rsc_tsc, GFP_KERNEL); if (!data.rsc_tsc) return -ENOMEM; @@ -2605,8 +2605,7 @@ static void iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm, n_matches = 0; } - net_detect = kzalloc(struct_size(net_detect, matches, n_matches), - GFP_KERNEL); + net_detect = kzalloc_flex(*net_detect, matches, n_matches, GFP_KERNEL); if (!net_detect || !n_matches) goto out_report_nd; net_detect->n_matches = n_matches; @@ -2620,8 +2619,7 @@ static void iwl_mvm_query_netdetect_reasons(struct iwl_mvm *mvm, d3_data->nd_results, i); - match = kzalloc(struct_size(match, channels, n_channels), - GFP_KERNEL); + match = kzalloc_flex(*match, channels, n_channels, GFP_KERNEL); if (!match) goto out_report_nd; match->n_channels = n_channels; @@ -3093,7 +3091,7 @@ static int __iwl_mvm_resume(struct iwl_mvm *mvm) } if (resume_notif_based) { - d3_data.status = kzalloc(sizeof(*d3_data.status), GFP_KERNEL); + d3_data.status = kzalloc_obj(*d3_data.status, GFP_KERNEL); if (!d3_data.status) { IWL_ERR(mvm, "Failed to allocate wowlan status\n"); ret = -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c b/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c index a493ef6bedc3..0a21670a9207 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ftm-initiator.c @@ -1124,7 +1124,7 @@ static void iwl_mvm_ftm_rtt_smoothing(struct iwl_mvm *mvm, } if (!resp) { - resp = kzalloc(sizeof(*resp), GFP_KERNEL); + resp = kzalloc_obj(*resp, GFP_KERNEL); if (!resp) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c index 0e5820c13523..a633f0d9c821 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac-ctxt.c @@ -1764,7 +1764,7 @@ void iwl_mvm_probe_resp_data_notif(struct iwl_mvm *mvm, notif->noa_attr.len_low)) return; - new_data = kzalloc(sizeof(*new_data), GFP_KERNEL); + new_data = kzalloc_obj(*new_data, GFP_KERNEL); if (!new_data) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c index 169c87588938..aeaa1d4b312d 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c @@ -4348,9 +4348,9 @@ static int __iwl_mvm_mac_set_key(struct ieee80211_hw *hw, int tid, q; WARN_ON(rcu_access_pointer(mvmsta->ptk_pn[keyidx])); - ptk_pn = kzalloc(struct_size(ptk_pn, q, - mvm->trans->info.num_rxqs), - GFP_KERNEL); + ptk_pn = kzalloc_flex(*ptk_pn, q, + mvm->trans->info.num_rxqs, + GFP_KERNEL); if (!ptk_pn) { ret = -ENOMEM; break; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c index 075ff09e93cc..00ba47d5f499 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-mac80211.c @@ -905,7 +905,7 @@ iwl_mvm_mld_change_vif_links(struct ieee80211_hw *hw, if (!(added & BIT(i))) continue; - new_link[i] = kzalloc(sizeof(*new_link[i]), GFP_KERNEL); + new_link[i] = kzalloc_obj(*new_link[i], GFP_KERNEL); if (!new_link[i]) { err = -ENOMEM; goto free; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c index 1100d763ceb6..8417b76e8fdb 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/mld-sta.c @@ -547,7 +547,7 @@ static int iwl_mvm_mld_alloc_sta_link(struct iwl_mvm *mvm, if (rcu_access_pointer(sta->link[link_id]) == &sta->deflink) { link = &mvm_sta->deflink; } else { - link = kzalloc(sizeof(*link), GFP_KERNEL); + link = kzalloc_obj(*link, GFP_KERNEL); if (!link) return -ENOMEM; } diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c index 5ebd046371f5..be328607e6f8 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/ops.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/ops.c @@ -1097,7 +1097,7 @@ static void iwl_mvm_me_conn_status(void *priv, const struct iwl_mei_conn_info *c */ prev_conn_info = rcu_dereference_protected(mvm->csme_conn_info, true); - curr_conn_info = kzalloc(sizeof(*curr_conn_info), GFP_KERNEL); + curr_conn_info = kzalloc_obj(*curr_conn_info, GFP_KERNEL); if (!curr_conn_info) return; @@ -1747,7 +1747,7 @@ static void iwl_mvm_rx_common(struct iwl_mvm *mvm, return; } - entry = kzalloc(sizeof(*entry), GFP_ATOMIC); + entry = kzalloc_obj(*entry, GFP_ATOMIC); /* we can't do much... */ if (!entry) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c index 9c51953d255d..3e39c243ddca 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/scan.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/scan.c @@ -547,7 +547,7 @@ iwl_mvm_config_sched_scan_profiles(struct iwl_mvm *mvm, else blocklist_len = IWL_SCAN_MAX_BLACKLIST_LEN; - blocklist = kcalloc(blocklist_len, sizeof(*blocklist), GFP_KERNEL); + blocklist = kzalloc_objs(*blocklist, blocklist_len, GFP_KERNEL); if (!blocklist) return -ENOMEM; @@ -3603,9 +3603,8 @@ void iwl_mvm_rx_channel_survey_notif(struct iwl_mvm *mvm, n_channels += mvm->hw->wiphy->bands[band]->n_channels; } - mvm->acs_survey = kzalloc(struct_size(mvm->acs_survey, - channels, n_channels), - GFP_KERNEL); + mvm->acs_survey = kzalloc_flex(*mvm->acs_survey, channels, + n_channels, GFP_KERNEL); if (!mvm->acs_survey) return; diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c index 363232bb74fa..5f37ee7b9ab1 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/sta.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/sta.c @@ -1798,8 +1798,8 @@ int iwl_mvm_sta_init(struct iwl_mvm *mvm, struct ieee80211_vif *vif, if (iwl_mvm_has_new_rx_api(mvm)) { int q; - dup_data = kcalloc(mvm->trans->info.num_rxqs, - sizeof(*dup_data), GFP_KERNEL); + dup_data = kzalloc_objs(*dup_data, mvm->trans->info.num_rxqs, + GFP_KERNEL); if (!dup_data) return -ENOMEM; /* diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c index 0957223c776d..65b54f1e6347 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/ctxt-info.c @@ -99,10 +99,10 @@ int iwl_pcie_init_fw_sec(struct iwl_trans *trans, /* add 2 due to separators */ paging_cnt = iwl_pcie_get_num_sections(fw, lmac_cnt + umac_cnt + 2); - dram->fw = kcalloc(umac_cnt + lmac_cnt, sizeof(*dram->fw), GFP_KERNEL); + dram->fw = kzalloc_objs(*dram->fw, umac_cnt + lmac_cnt, GFP_KERNEL); if (!dram->fw) return -ENOMEM; - dram->paging = kcalloc(paging_cnt, sizeof(*dram->paging), GFP_KERNEL); + dram->paging = kzalloc_objs(*dram->paging, paging_cnt, GFP_KERNEL); if (!dram->paging) return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c index 619a9505e6d9..4e23b292e4df 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/rx.c @@ -773,15 +773,14 @@ static int iwl_pcie_rx_alloc(struct iwl_trans *trans) if (WARN_ON(trans_pcie->rxq)) return -EINVAL; - trans_pcie->rxq = kcalloc(trans->info.num_rxqs, sizeof(struct iwl_rxq), - GFP_KERNEL); - trans_pcie->rx_pool = kcalloc(RX_POOL_SIZE(trans_pcie->num_rx_bufs), - sizeof(trans_pcie->rx_pool[0]), - GFP_KERNEL); + trans_pcie->rxq = kzalloc_objs(struct iwl_rxq, trans->info.num_rxqs, + GFP_KERNEL); + trans_pcie->rx_pool = kzalloc_objs(trans_pcie->rx_pool[0], + RX_POOL_SIZE(trans_pcie->num_rx_bufs), + GFP_KERNEL); trans_pcie->global_table = - kcalloc(RX_POOL_SIZE(trans_pcie->num_rx_bufs), - sizeof(trans_pcie->global_table[0]), - GFP_KERNEL); + kzalloc_objs(trans_pcie->global_table[0], + RX_POOL_SIZE(trans_pcie->num_rx_bufs), GFP_KERNEL); if (!trans_pcie->rxq || !trans_pcie->rx_pool || !trans_pcie->global_table) { ret = -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c index 415a19ea9f06..ec88aefb0913 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/trans.c @@ -2303,7 +2303,7 @@ void iwl_trans_pcie_reset(struct iwl_trans *trans, enum iwl_reset_mode mode) return; } - removal = kzalloc(sizeof(*removal), GFP_ATOMIC); + removal = kzalloc_obj(*removal, GFP_ATOMIC); if (!removal) { module_put(THIS_MODULE); return; @@ -2748,7 +2748,7 @@ static void *iwl_dbgfs_tx_queue_seq_start(struct seq_file *seq, loff_t *pos) if (*pos >= priv->trans->mac_cfg->base->num_of_queues) return NULL; - state = kmalloc(sizeof(*state), GFP_KERNEL); + state = kmalloc_obj(*state, GFP_KERNEL); if (!state) return NULL; state->pos = *pos; diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c index df0545f09da9..f2752ab4c402 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx-gen2.c @@ -928,7 +928,7 @@ iwl_txq_dyn_alloc_dma(struct iwl_trans *trans, int size, unsigned int timeout) if (WARN_ON(size > bc_tbl_entries)) return ERR_PTR(-EINVAL); - txq = kzalloc(sizeof(*txq), GFP_KERNEL); + txq = kzalloc_obj(*txq, GFP_KERNEL); if (!txq) return ERR_PTR(-ENOMEM); @@ -1152,7 +1152,7 @@ int iwl_txq_gen2_init(struct iwl_trans *trans, int txq_id, int queue_size) /* alloc and init the tx queue */ if (!trans_pcie->txqs.txq[txq_id]) { - queue = kzalloc(sizeof(*queue), GFP_KERNEL); + queue = kzalloc_obj(*queue, GFP_KERNEL); if (!queue) { IWL_ERR(trans, "Not enough memory for tx queue\n"); return -ENOMEM; diff --git a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c index 6e85aa519e1b..0b817e5c5679 100644 --- a/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/pcie/gen1_2/tx.c @@ -741,9 +741,8 @@ int iwl_pcie_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq, txq->n_window = slots_num; - txq->entries = kcalloc(slots_num, - sizeof(struct iwl_pcie_txq_entry), - GFP_KERNEL); + txq->entries = kzalloc_objs(struct iwl_pcie_txq_entry, slots_num, + GFP_KERNEL); if (!txq->entries) goto error; @@ -751,8 +750,7 @@ int iwl_pcie_txq_alloc(struct iwl_trans *trans, struct iwl_txq *txq, if (cmd_queue) for (i = 0; i < slots_num; i++) { txq->entries[i].cmd = - kmalloc(sizeof(struct iwl_device_cmd), - GFP_KERNEL); + kmalloc_obj(struct iwl_device_cmd, GFP_KERNEL); if (!txq->entries[i].cmd) goto error; } @@ -838,8 +836,8 @@ static int iwl_pcie_tx_alloc(struct iwl_trans *trans) } trans_pcie->txq_memory = - kcalloc(trans->mac_cfg->base->num_of_queues, - sizeof(struct iwl_txq), GFP_KERNEL); + kzalloc_objs(struct iwl_txq, + trans->mac_cfg->base->num_of_queues, GFP_KERNEL); if (!trans_pcie->txq_memory) { IWL_ERR(trans, "Not enough memory for txq\n"); ret = -ENOMEM; diff --git a/drivers/net/wireless/intersil/p54/eeprom.c b/drivers/net/wireless/intersil/p54/eeprom.c index 5bd35c147e19..c338a7a7fc41 100644 --- a/drivers/net/wireless/intersil/p54/eeprom.c +++ b/drivers/net/wireless/intersil/p54/eeprom.c @@ -154,13 +154,12 @@ static int p54_generate_band(struct ieee80211_hw *dev, if ((!list->entries) || (!list->band_channel_num[band])) return -EINVAL; - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) goto err_out; - tmp->channels = kcalloc(list->band_channel_num[band], - sizeof(struct ieee80211_channel), - GFP_KERNEL); + tmp->channels = kzalloc_objs(struct ieee80211_channel, + list->band_channel_num[band], GFP_KERNEL); if (!tmp->channels) goto err_out; @@ -336,23 +335,22 @@ static int p54_generate_channel_lists(struct ieee80211_hw *dev) max_channel_num = max_t(unsigned int, max_channel_num, priv->curve_data->entries); - list = kzalloc(sizeof(*list), GFP_KERNEL); + list = kzalloc_obj(*list, GFP_KERNEL); if (!list) { ret = -ENOMEM; goto free; } priv->chan_num = max_channel_num; - priv->survey = kcalloc(max_channel_num, sizeof(struct survey_info), - GFP_KERNEL); + priv->survey = kzalloc_objs(struct survey_info, max_channel_num, + GFP_KERNEL); if (!priv->survey) { ret = -ENOMEM; goto free; } list->max_entries = max_channel_num; - list->channels = kcalloc(max_channel_num, - sizeof(struct p54_channel_entry), - GFP_KERNEL); + list->channels = kzalloc_objs(struct p54_channel_entry, max_channel_num, + GFP_KERNEL); if (!list->channels) { ret = -ENOMEM; goto free; diff --git a/drivers/net/wireless/intersil/p54/p54usb.c b/drivers/net/wireless/intersil/p54/p54usb.c index cae47663b17b..c0d3b5329f4e 100644 --- a/drivers/net/wireless/intersil/p54/p54usb.c +++ b/drivers/net/wireless/intersil/p54/p54usb.c @@ -328,7 +328,7 @@ static void p54u_tx_net2280(struct ieee80211_hw *dev, struct sk_buff *skb) struct net2280_reg_write *reg = NULL; int err = -ENOMEM; - reg = kmalloc(sizeof(*reg), GFP_ATOMIC); + reg = kmalloc_obj(*reg, GFP_ATOMIC); if (!reg) goto out; diff --git a/drivers/net/wireless/marvell/libertas/cfg.c b/drivers/net/wireless/marvell/libertas/cfg.c index caba7491cd5a..331b0b69ce62 100644 --- a/drivers/net/wireless/marvell/libertas/cfg.c +++ b/drivers/net/wireless/marvell/libertas/cfg.c @@ -2094,7 +2094,7 @@ struct wireless_dev *lbs_cfg_alloc(struct device *dev) int ret = 0; struct wireless_dev *wdev; - wdev = kzalloc(sizeof(struct wireless_dev), GFP_KERNEL); + wdev = kzalloc_obj(struct wireless_dev, GFP_KERNEL); if (!wdev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wireless/marvell/libertas/debugfs.c b/drivers/net/wireless/marvell/libertas/debugfs.c index c604613ab506..d2dc9128dae2 100644 --- a/drivers/net/wireless/marvell/libertas/debugfs.c +++ b/drivers/net/wireless/marvell/libertas/debugfs.c @@ -232,7 +232,7 @@ static ssize_t lbs_threshold_read(uint16_t tlv_type, uint16_t event_mask, if (!buf) return -ENOMEM; - subscribed = kzalloc(sizeof(*subscribed), GFP_KERNEL); + subscribed = kzalloc_obj(*subscribed, GFP_KERNEL); if (!subscribed) { ret = -ENOMEM; goto out_page; @@ -288,7 +288,7 @@ static ssize_t lbs_threshold_write(uint16_t tlv_type, uint16_t event_mask, ret = -EINVAL; goto out_page; } - events = kzalloc(sizeof(*events), GFP_KERNEL); + events = kzalloc_obj(*events, GFP_KERNEL); if (!events) { ret = -ENOMEM; goto out_page; diff --git a/drivers/net/wireless/marvell/libertas/if_sdio.c b/drivers/net/wireless/marvell/libertas/if_sdio.c index fc5318035822..b814cf9032ad 100644 --- a/drivers/net/wireless/marvell/libertas/if_sdio.c +++ b/drivers/net/wireless/marvell/libertas/if_sdio.c @@ -1158,7 +1158,7 @@ static int if_sdio_probe(struct sdio_func *func, return -ENODEV; } - card = kzalloc(sizeof(struct if_sdio_card), GFP_KERNEL); + card = kzalloc_obj(struct if_sdio_card, GFP_KERNEL); if (!card) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/libertas/if_spi.c b/drivers/net/wireless/marvell/libertas/if_spi.c index 8a2504a62840..a21f7bba13c5 100644 --- a/drivers/net/wireless/marvell/libertas/if_spi.c +++ b/drivers/net/wireless/marvell/libertas/if_spi.c @@ -1113,7 +1113,7 @@ static int if_spi_probe(struct spi_device *spi) } /* Allocate card structure to represent this specific device */ - card = kzalloc(sizeof(struct if_spi_card), GFP_KERNEL); + card = kzalloc_obj(struct if_spi_card, GFP_KERNEL); if (!card) { err = -ENOMEM; goto teardown; diff --git a/drivers/net/wireless/marvell/libertas/if_usb.c b/drivers/net/wireless/marvell/libertas/if_usb.c index 924ab93b7b67..e02756d7e87a 100644 --- a/drivers/net/wireless/marvell/libertas/if_usb.c +++ b/drivers/net/wireless/marvell/libertas/if_usb.c @@ -203,7 +203,7 @@ static int if_usb_probe(struct usb_interface *intf, udev = interface_to_usbdev(intf); - cardp = kzalloc(sizeof(struct if_usb_card), GFP_KERNEL); + cardp = kzalloc_obj(struct if_usb_card, GFP_KERNEL); if (!cardp) goto error; diff --git a/drivers/net/wireless/marvell/libertas/mesh.c b/drivers/net/wireless/marvell/libertas/mesh.c index 2dd635935448..aa94b777da13 100644 --- a/drivers/net/wireless/marvell/libertas/mesh.c +++ b/drivers/net/wireless/marvell/libertas/mesh.c @@ -983,7 +983,7 @@ static int lbs_add_mesh(struct lbs_private *priv) int ret = 0; /* Allocate a virtual mesh device */ - mesh_wdev = kzalloc(sizeof(struct wireless_dev), GFP_KERNEL); + mesh_wdev = kzalloc_obj(struct wireless_dev, GFP_KERNEL); if (!mesh_wdev) { lbs_deb_mesh("init mshX wireless device failed\n"); ret = -ENOMEM; diff --git a/drivers/net/wireless/marvell/libertas_tf/if_usb.c b/drivers/net/wireless/marvell/libertas_tf/if_usb.c index 5662a244f82a..44c609205422 100644 --- a/drivers/net/wireless/marvell/libertas_tf/if_usb.c +++ b/drivers/net/wireless/marvell/libertas_tf/if_usb.c @@ -154,7 +154,7 @@ static int if_usb_probe(struct usb_interface *intf, lbtf_deb_enter(LBTF_DEB_USB); udev = interface_to_usbdev(intf); - cardp = kzalloc(sizeof(struct if_usb_card), GFP_KERNEL); + cardp = kzalloc_obj(struct if_usb_card, GFP_KERNEL); if (!cardp) goto error; diff --git a/drivers/net/wireless/marvell/mwifiex/11n.c b/drivers/net/wireless/marvell/mwifiex/11n.c index 66f0f5377ac1..cef8a55427dd 100644 --- a/drivers/net/wireless/marvell/mwifiex/11n.c +++ b/drivers/net/wireless/marvell/mwifiex/11n.c @@ -547,8 +547,8 @@ void mwifiex_create_ba_tbl(struct mwifiex_private *priv, u8 *ra, int tid, int tid_down; if (!mwifiex_get_ba_tbl(priv, tid, ra)) { - new_node = kzalloc(sizeof(struct mwifiex_tx_ba_stream_tbl), - GFP_ATOMIC); + new_node = kzalloc_obj(struct mwifiex_tx_ba_stream_tbl, + GFP_ATOMIC); if (!new_node) return; diff --git a/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c b/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c index f3397dc6c422..c00b385c0f58 100644 --- a/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c +++ b/drivers/net/wireless/marvell/mwifiex/11n_rxreorder.c @@ -344,7 +344,7 @@ mwifiex_11n_create_rx_reorder_tbl(struct mwifiex_private *priv, u8 *ta, return; } /* if !tbl then create one */ - new_node = kzalloc(sizeof(struct mwifiex_rx_reorder_tbl), GFP_KERNEL); + new_node = kzalloc_obj(struct mwifiex_rx_reorder_tbl, GFP_KERNEL); if (!new_node) return; diff --git a/drivers/net/wireless/marvell/mwifiex/cfg80211.c b/drivers/net/wireless/marvell/mwifiex/cfg80211.c index a66d18e380fc..f387b26b086b 100644 --- a/drivers/net/wireless/marvell/mwifiex/cfg80211.c +++ b/drivers/net/wireless/marvell/mwifiex/cfg80211.c @@ -756,7 +756,7 @@ mwifiex_cfg80211_set_wiphy_params(struct wiphy *wiphy, int radio_idx, return -EINVAL; } - bss_cfg = kzalloc(sizeof(*bss_cfg), GFP_KERNEL); + bss_cfg = kzalloc_obj(*bss_cfg, GFP_KERNEL); if (!bss_cfg) return -ENOMEM; @@ -2073,7 +2073,7 @@ static int mwifiex_cfg80211_start_ap(struct wiphy *wiphy, if (GET_BSS_ROLE(priv) != MWIFIEX_BSS_ROLE_UAP) return -1; - bss_cfg = kzalloc(sizeof(struct mwifiex_uap_bss_param), GFP_KERNEL); + bss_cfg = kzalloc_obj(struct mwifiex_uap_bss_param, GFP_KERNEL); if (!bss_cfg) return -ENOMEM; @@ -2683,7 +2683,7 @@ mwifiex_cfg80211_scan(struct wiphy *wiphy, if (!mwifiex_stop_bg_scan(priv)) cfg80211_sched_scan_stopped_locked(priv->wdev.wiphy, 0); - user_scan_cfg = kzalloc(sizeof(*user_scan_cfg), GFP_KERNEL); + user_scan_cfg = kzalloc_obj(*user_scan_cfg, GFP_KERNEL); if (!user_scan_cfg) return -ENOMEM; @@ -2787,7 +2787,7 @@ mwifiex_cfg80211_sched_scan_start(struct wiphy *wiphy, request->n_channels, request->scan_plans->interval, (int)request->ie_len); - bgscan_cfg = kzalloc(sizeof(*bgscan_cfg), GFP_KERNEL); + bgscan_cfg = kzalloc_obj(*bgscan_cfg, GFP_KERNEL); if (!bgscan_cfg) return -ENOMEM; @@ -3452,7 +3452,7 @@ static int mwifiex_set_mef_filter(struct mwifiex_private *priv, if (wowlan->n_patterns || wowlan->magic_pkt) num_entries++; - mef_entry = kcalloc(num_entries, sizeof(*mef_entry), GFP_KERNEL); + mef_entry = kzalloc_objs(*mef_entry, num_entries, GFP_KERNEL); if (!mef_entry) return -ENOMEM; @@ -3989,7 +3989,7 @@ mwifiex_cfg80211_uap_add_station(struct mwifiex_private *priv, const u8 *mac, if (!ret) { struct station_info *sinfo; - sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); + sinfo = kzalloc_obj(*sinfo, GFP_KERNEL); if (!sinfo) return -ENOMEM; @@ -4161,7 +4161,7 @@ static int mwifiex_tm_cmd(struct wiphy *wiphy, struct wireless_dev *wdev, if (!tb[MWIFIEX_TM_ATTR_DATA]) return -EINVAL; - hostcmd = kzalloc(sizeof(*hostcmd), GFP_KERNEL); + hostcmd = kzalloc_obj(*hostcmd, GFP_KERNEL); if (!hostcmd) return -ENOMEM; @@ -4677,9 +4677,9 @@ int mwifiex_init_channel_scan_gap(struct mwifiex_adapter *adapter) * additional active scan request for hidden SSIDs on passive channels. */ adapter->num_in_chan_stats = 2 * (n_channels_bg + n_channels_a); - adapter->chan_stats = kcalloc(adapter->num_in_chan_stats, - sizeof(*adapter->chan_stats), - GFP_KERNEL); + adapter->chan_stats = kzalloc_objs(*adapter->chan_stats, + adapter->num_in_chan_stats, + GFP_KERNEL); if (!adapter->chan_stats) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wireless/marvell/mwifiex/cmdevt.c index 0f466c31337f..1bb30fbab12b 100644 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c @@ -389,8 +389,8 @@ int mwifiex_alloc_cmd_buffer(struct mwifiex_adapter *adapter) u32 i; /* Allocate and initialize struct cmd_ctrl_node */ - cmd_array = kcalloc(MWIFIEX_NUM_OF_CMD_BUFFER, - sizeof(struct cmd_ctrl_node), GFP_KERNEL); + cmd_array = kzalloc_objs(struct cmd_ctrl_node, + MWIFIEX_NUM_OF_CMD_BUFFER, GFP_KERNEL); if (!cmd_array) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/mwifiex/ie.c b/drivers/net/wireless/marvell/mwifiex/ie.c index 26694cee15d3..55af5e9b5bee 100644 --- a/drivers/net/wireless/marvell/mwifiex/ie.c +++ b/drivers/net/wireless/marvell/mwifiex/ie.c @@ -149,7 +149,7 @@ mwifiex_update_uap_custom_ie(struct mwifiex_private *priv, u16 len; int ret; - ap_custom_ie = kzalloc(sizeof(*ap_custom_ie), GFP_KERNEL); + ap_custom_ie = kzalloc_obj(*ap_custom_ie, GFP_KERNEL); if (!ap_custom_ie) return -ENOMEM; @@ -221,8 +221,7 @@ static int mwifiex_update_vs_ie(const u8 *ies, int ies_len, vendor_ie = cfg80211_find_vendor_ie(oui, oui_type, ies, ies_len); if (vendor_ie) { if (!*ie_ptr) { - *ie_ptr = kzalloc(sizeof(struct mwifiex_ie), - GFP_KERNEL); + *ie_ptr = kzalloc_obj(struct mwifiex_ie, GFP_KERNEL); if (!*ie_ptr) return -ENOMEM; ie = *ie_ptr; @@ -326,7 +325,7 @@ static int mwifiex_uap_parse_tail_ies(struct mwifiex_private *priv, if (!info->tail || !info->tail_len) return 0; - gen_ie = kzalloc(sizeof(*gen_ie), GFP_KERNEL); + gen_ie = kzalloc_obj(*gen_ie, GFP_KERNEL); if (!gen_ie) return -ENOMEM; @@ -439,7 +438,7 @@ int mwifiex_del_mgmt_ies(struct mwifiex_private *priv) int ret = 0; if (priv->gen_idx != MWIFIEX_AUTO_IDX_MASK) { - gen_ie = kmalloc(sizeof(*gen_ie), GFP_KERNEL); + gen_ie = kmalloc_obj(*gen_ie, GFP_KERNEL); if (!gen_ie) return -ENOMEM; @@ -457,7 +456,7 @@ int mwifiex_del_mgmt_ies(struct mwifiex_private *priv) } if (priv->beacon_idx != MWIFIEX_AUTO_IDX_MASK) { - beacon_ie = kmalloc(sizeof(struct mwifiex_ie), GFP_KERNEL); + beacon_ie = kmalloc_obj(struct mwifiex_ie, GFP_KERNEL); if (!beacon_ie) { ret = -ENOMEM; goto done; @@ -467,7 +466,7 @@ int mwifiex_del_mgmt_ies(struct mwifiex_private *priv) beacon_ie->ie_length = 0; } if (priv->proberesp_idx != MWIFIEX_AUTO_IDX_MASK) { - pr_ie = kmalloc(sizeof(struct mwifiex_ie), GFP_KERNEL); + pr_ie = kmalloc_obj(struct mwifiex_ie, GFP_KERNEL); if (!pr_ie) { ret = -ENOMEM; goto done; @@ -477,7 +476,7 @@ int mwifiex_del_mgmt_ies(struct mwifiex_private *priv) pr_ie->ie_length = 0; } if (priv->assocresp_idx != MWIFIEX_AUTO_IDX_MASK) { - ar_ie = kmalloc(sizeof(struct mwifiex_ie), GFP_KERNEL); + ar_ie = kmalloc_obj(struct mwifiex_ie, GFP_KERNEL); if (!ar_ie) { ret = -ENOMEM; goto done; diff --git a/drivers/net/wireless/marvell/mwifiex/init.c b/drivers/net/wireless/marvell/mwifiex/init.c index 4820010a86f6..28ffcc780eab 100644 --- a/drivers/net/wireless/marvell/mwifiex/init.c +++ b/drivers/net/wireless/marvell/mwifiex/init.c @@ -25,7 +25,7 @@ static int mwifiex_add_bss_prio_tbl(struct mwifiex_private *priv) struct mwifiex_bss_prio_node *bss_prio; struct mwifiex_bss_prio_tbl *tbl = adapter->bss_prio_tbl; - bss_prio = kzalloc(sizeof(struct mwifiex_bss_prio_node), GFP_KERNEL); + bss_prio = kzalloc_obj(struct mwifiex_bss_prio_node, GFP_KERNEL); if (!bss_prio) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/mwifiex/main.c b/drivers/net/wireless/marvell/mwifiex/main.c index ff177b06f42d..d4c62fad8099 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.c +++ b/drivers/net/wireless/marvell/mwifiex/main.c @@ -60,7 +60,7 @@ static int mwifiex_register(void *card, struct device *dev, struct mwifiex_adapter *adapter; int i; - adapter = kzalloc(sizeof(struct mwifiex_adapter), GFP_KERNEL); + adapter = kzalloc_obj(struct mwifiex_adapter, GFP_KERNEL); if (!adapter) return -ENOMEM; @@ -82,7 +82,7 @@ static int mwifiex_register(void *card, struct device *dev, for (i = 0; i < MWIFIEX_MAX_BSS_NUM; i++) { /* Allocate memory for private structure */ adapter->priv[i] = - kzalloc(sizeof(struct mwifiex_private), GFP_KERNEL); + kzalloc_obj(struct mwifiex_private, GFP_KERNEL); if (!adapter->priv[i]) goto error; @@ -1180,7 +1180,7 @@ void mwifiex_drv_info_dump(struct mwifiex_adapter *adapter) p += adapter->if_ops.reg_dump(adapter, p); } p += sprintf(p, "\n=== more debug information\n"); - debug_info = kzalloc(sizeof(*debug_info), GFP_KERNEL); + debug_info = kzalloc_obj(*debug_info, GFP_KERNEL); if (debug_info) { for (i = 0; i < adapter->priv_num; i++) { if (!adapter->priv[i]->netdev) @@ -1346,7 +1346,7 @@ void mwifiex_init_priv_params(struct mwifiex_private *priv, if (GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_STA || GET_BSS_ROLE(priv) == MWIFIEX_BSS_ROLE_UAP) { - priv->hist_data = kmalloc(sizeof(*priv->hist_data), GFP_KERNEL); + priv->hist_data = kmalloc_obj(*priv->hist_data, GFP_KERNEL); if (priv->hist_data) mwifiex_hist_data_reset(priv); } diff --git a/drivers/net/wireless/marvell/mwifiex/scan.c b/drivers/net/wireless/marvell/mwifiex/scan.c index cab889af4c4a..b4858c0002e0 100644 --- a/drivers/net/wireless/marvell/mwifiex/scan.c +++ b/drivers/net/wireless/marvell/mwifiex/scan.c @@ -1503,16 +1503,15 @@ int mwifiex_scan_networks(struct mwifiex_private *priv, adapter->scan_processing = true; spin_unlock_bh(&adapter->mwifiex_cmd_lock); - scan_cfg_out = kzalloc(sizeof(union mwifiex_scan_cmd_config_tlv), - GFP_KERNEL); + scan_cfg_out = kzalloc_obj(union mwifiex_scan_cmd_config_tlv, + GFP_KERNEL); if (!scan_cfg_out) { ret = -ENOMEM; goto done; } - scan_chan_list = kcalloc(MWIFIEX_USER_SCAN_CHAN_MAX, - sizeof(struct mwifiex_chan_scan_param_set), - GFP_KERNEL); + scan_chan_list = kzalloc_objs(struct mwifiex_chan_scan_param_set, + MWIFIEX_USER_SCAN_CHAN_MAX, GFP_KERNEL); if (!scan_chan_list) { kfree(scan_cfg_out); ret = -ENOMEM; @@ -1650,7 +1649,7 @@ static int mwifiex_save_hidden_ssid_channels(struct mwifiex_private *priv, int chid; /* Allocate and fill new bss descriptor */ - bss_desc = kzalloc(sizeof(*bss_desc), GFP_KERNEL); + bss_desc = kzalloc_obj(*bss_desc, GFP_KERNEL); if (!bss_desc) return -ENOMEM; @@ -1693,7 +1692,7 @@ static int mwifiex_update_curr_bss_params(struct mwifiex_private *priv, int ret; /* Allocate and fill new bss descriptor */ - bss_desc = kzalloc(sizeof(struct mwifiex_bssdescriptor), GFP_KERNEL); + bss_desc = kzalloc_obj(struct mwifiex_bssdescriptor, GFP_KERNEL); if (!bss_desc) return -ENOMEM; @@ -1932,7 +1931,7 @@ mwifiex_active_scan_req_for_passive_chan(struct mwifiex_private *priv) mwifiex_dbg(adapter, INFO, "No BSS with hidden SSID found on DFS channels\n"); return 0; } - user_scan_cfg = kzalloc(sizeof(*user_scan_cfg), GFP_KERNEL); + user_scan_cfg = kzalloc_obj(*user_scan_cfg, GFP_KERNEL); if (!user_scan_cfg) return -ENOMEM; @@ -2174,9 +2173,8 @@ int mwifiex_ret_802_11_scan(struct mwifiex_private *priv, if (nd_config) { adapter->nd_info = - kzalloc(struct_size(adapter->nd_info, matches, - scan_rsp->number_of_sets), - GFP_ATOMIC); + kzalloc_flex(*adapter->nd_info, matches, + scan_rsp->number_of_sets, GFP_ATOMIC); if (adapter->nd_info) adapter->nd_info->n_matches = scan_rsp->number_of_sets; @@ -2452,7 +2450,7 @@ int mwifiex_stop_bg_scan(struct mwifiex_private *priv) return 0; } - bgscan_cfg = kzalloc(sizeof(*bgscan_cfg), GFP_KERNEL); + bgscan_cfg = kzalloc_obj(*bgscan_cfg, GFP_KERNEL); if (!bgscan_cfg) return -ENOMEM; @@ -2779,7 +2777,7 @@ static int mwifiex_scan_specific_ssid(struct mwifiex_private *priv, return -EBUSY; } - scan_cfg = kzalloc(sizeof(struct mwifiex_user_scan_cfg), GFP_KERNEL); + scan_cfg = kzalloc_obj(struct mwifiex_user_scan_cfg, GFP_KERNEL); if (!scan_cfg) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c index dcca71158fc6..b457ed6f18f5 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmd.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmd.c @@ -1516,7 +1516,7 @@ int mwifiex_send_rgpower_table(struct mwifiex_private *priv, const u8 *data, struct mwifiex_adapter *adapter = priv->adapter; struct mwifiex_ds_misc_cmd *hostcmd __free(kfree) = NULL; - hostcmd = kzalloc(sizeof(*hostcmd), GFP_KERNEL); + hostcmd = kzalloc_obj(*hostcmd, GFP_KERNEL); if (!hostcmd) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c index 9c53825f222d..f8f84fc670f3 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c @@ -1052,7 +1052,7 @@ mwifiex_create_custom_regdomain(struct mwifiex_private *priv, if (WARN_ON_ONCE(num_chan > NL80211_MAX_SUPP_REG_RULES)) return ERR_PTR(-EINVAL); - regd = kzalloc(struct_size(regd, reg_rules, num_chan), GFP_KERNEL); + regd = kzalloc_flex(*regd, reg_rules, num_chan, GFP_KERNEL); if (!regd) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c index ef6722ffdc74..46476cb752dd 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_ioctl.c @@ -330,8 +330,7 @@ int mwifiex_bss_start(struct mwifiex_private *priv, struct cfg80211_bss *bss, return -EINVAL; /* Allocate and fill new bss descriptor */ - bss_desc = kzalloc(sizeof(struct mwifiex_bssdescriptor), - GFP_KERNEL); + bss_desc = kzalloc_obj(struct mwifiex_bssdescriptor, GFP_KERNEL); if (!bss_desc) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/mwifiex/tdls.c b/drivers/net/wireless/marvell/mwifiex/tdls.c index 77a9a6de636d..a4cf323e704b 100644 --- a/drivers/net/wireless/marvell/mwifiex/tdls.c +++ b/drivers/net/wireless/marvell/mwifiex/tdls.c @@ -1356,7 +1356,7 @@ void mwifiex_add_auto_tdls_peer(struct mwifiex_private *priv, const u8 *mac) } /* create new TDLS peer */ - tdls_peer = kzalloc(sizeof(*tdls_peer), GFP_ATOMIC); + tdls_peer = kzalloc_obj(*tdls_peer, GFP_ATOMIC); if (tdls_peer) { ether_addr_copy(tdls_peer->mac_addr, mac); tdls_peer->tdls_status = TDLS_SETUP_INPROGRESS; diff --git a/drivers/net/wireless/marvell/mwifiex/uap_event.c b/drivers/net/wireless/marvell/mwifiex/uap_event.c index 245cb99a3daa..9abd011aa295 100644 --- a/drivers/net/wireless/marvell/mwifiex/uap_event.c +++ b/drivers/net/wireless/marvell/mwifiex/uap_event.c @@ -105,7 +105,7 @@ int mwifiex_process_uap_event(struct mwifiex_private *priv) switch (eventcause) { case EVENT_UAP_STA_ASSOC: - sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); + sinfo = kzalloc_obj(*sinfo, GFP_KERNEL); if (!sinfo) return -ENOMEM; diff --git a/drivers/net/wireless/marvell/mwifiex/util.c b/drivers/net/wireless/marvell/mwifiex/util.c index 6882e90e90b2..7d3631d21223 100644 --- a/drivers/net/wireless/marvell/mwifiex/util.c +++ b/drivers/net/wireless/marvell/mwifiex/util.c @@ -694,7 +694,7 @@ mwifiex_add_sta_entry(struct mwifiex_private *priv, const u8 *mac) if (node) goto done; - node = kzalloc(sizeof(*node), GFP_ATOMIC); + node = kzalloc_obj(*node, GFP_ATOMIC); if (!node) goto done; diff --git a/drivers/net/wireless/marvell/mwifiex/wmm.c b/drivers/net/wireless/marvell/mwifiex/wmm.c index 1b1222c73728..841505e83c7f 100644 --- a/drivers/net/wireless/marvell/mwifiex/wmm.c +++ b/drivers/net/wireless/marvell/mwifiex/wmm.c @@ -99,7 +99,7 @@ mwifiex_wmm_allocate_ralist_node(struct mwifiex_adapter *adapter, const u8 *ra) { struct mwifiex_ra_list_tbl *ra_list; - ra_list = kzalloc(sizeof(struct mwifiex_ra_list_tbl), GFP_ATOMIC); + ra_list = kzalloc_obj(struct mwifiex_ra_list_tbl, GFP_ATOMIC); if (!ra_list) return NULL; diff --git a/drivers/net/wireless/marvell/mwl8k.c b/drivers/net/wireless/marvell/mwl8k.c index 54d6d00ecdf1..c505c83f8abc 100644 --- a/drivers/net/wireless/marvell/mwl8k.c +++ b/drivers/net/wireless/marvell/mwl8k.c @@ -1182,7 +1182,7 @@ static int mwl8k_rxq_init(struct ieee80211_hw *hw, int index) return -ENOMEM; } - rxq->buf = kcalloc(MWL8K_RX_DESCS, sizeof(*rxq->buf), GFP_KERNEL); + rxq->buf = kzalloc_objs(*rxq->buf, MWL8K_RX_DESCS, GFP_KERNEL); if (rxq->buf == NULL) { dma_free_coherent(&priv->pdev->dev, size, rxq->rxd, rxq->rxd_dma); @@ -1478,7 +1478,7 @@ static int mwl8k_txq_init(struct ieee80211_hw *hw, int index) return -ENOMEM; } - txq->skb = kcalloc(MWL8K_TX_DESCS, sizeof(*txq->skb), GFP_KERNEL); + txq->skb = kzalloc_objs(*txq->skb, MWL8K_TX_DESCS, GFP_KERNEL); if (txq->skb == NULL) { dma_free_coherent(&priv->pdev->dev, size, txq->txd, txq->txd_dma); @@ -2472,7 +2472,7 @@ static int mwl8k_cmd_get_hw_spec_sta(struct ieee80211_hw *hw) int rc; int i; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -2537,7 +2537,7 @@ static int mwl8k_cmd_get_hw_spec_ap(struct ieee80211_hw *hw) int rc, i; u32 api_version; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -2639,7 +2639,7 @@ static int mwl8k_cmd_set_hw_spec(struct ieee80211_hw *hw) int rc; int i; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -2753,7 +2753,7 @@ static int mwl8k_cmd_get_stat(struct ieee80211_hw *hw, struct mwl8k_cmd_get_stat *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -2796,7 +2796,7 @@ mwl8k_cmd_radio_control(struct ieee80211_hw *hw, bool enable, bool force) if (enable == priv->radio_on && !force) return 0; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -2854,7 +2854,7 @@ static int mwl8k_cmd_rf_tx_power(struct ieee80211_hw *hw, int dBm) struct mwl8k_cmd_rf_tx_power *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -2895,7 +2895,7 @@ static int mwl8k_cmd_tx_power(struct ieee80211_hw *hw, int rc; int i; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -2948,7 +2948,7 @@ mwl8k_cmd_rf_antenna(struct ieee80211_hw *hw, int antenna, int mask) struct mwl8k_cmd_rf_antenna *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3066,7 +3066,7 @@ static int mwl8k_cmd_set_pre_scan(struct ieee80211_hw *hw) struct mwl8k_cmd_set_pre_scan *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3099,7 +3099,7 @@ mwl8k_cmd_bbp_reg_access(struct ieee80211_hw *hw, struct mwl8k_cmd_bbp_reg_access *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3135,7 +3135,7 @@ mwl8k_cmd_set_post_scan(struct ieee80211_hw *hw, const __u8 *mac) struct mwl8k_cmd_set_post_scan *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3228,7 +3228,7 @@ static int mwl8k_cmd_set_rf_channel(struct ieee80211_hw *hw, struct mwl8k_priv *priv = hw->priv; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3314,7 +3314,7 @@ mwl8k_cmd_set_aid(struct ieee80211_hw *hw, u16 prot_mode; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3368,7 +3368,7 @@ mwl8k_cmd_set_rate(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct mwl8k_cmd_set_rate *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3402,7 +3402,7 @@ static int mwl8k_cmd_finalize_join(struct ieee80211_hw *hw, void *frame, int payload_len; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3440,7 +3440,7 @@ mwl8k_cmd_set_rts_threshold(struct ieee80211_hw *hw, int radio_idx, struct mwl8k_cmd_set_rts_threshold *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3469,7 +3469,7 @@ static int mwl8k_cmd_set_slot(struct ieee80211_hw *hw, bool short_slot_time) struct mwl8k_cmd_set_slot *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3543,7 +3543,7 @@ mwl8k_cmd_set_edca_params(struct ieee80211_hw *hw, __u8 qnum, struct mwl8k_cmd_set_edca_params *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3583,7 +3583,7 @@ static int mwl8k_cmd_set_wmm_mode(struct ieee80211_hw *hw, bool enable) struct mwl8k_cmd_set_wmm_mode *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3615,7 +3615,7 @@ static int mwl8k_cmd_mimo_config(struct ieee80211_hw *hw, __u8 rx, __u8 tx) struct mwl8k_cmd_mimo_config *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3658,7 +3658,7 @@ static int mwl8k_cmd_use_fixed_rate_sta(struct ieee80211_hw *hw) struct mwl8k_cmd_use_fixed_rate_sta *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3698,7 +3698,7 @@ mwl8k_cmd_use_fixed_rate_ap(struct ieee80211_hw *hw, int mcast, int mgmt) struct mwl8k_cmd_use_fixed_rate_ap *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3727,7 +3727,7 @@ static int mwl8k_cmd_enable_sniffer(struct ieee80211_hw *hw, bool enable) struct mwl8k_cmd_enable_sniffer *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3782,7 +3782,7 @@ static int mwl8k_cmd_update_mac_addr(struct ieee80211_hw *hw, mac_type = MWL8K_MAC_TYPE_SECONDARY_AP; } - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3837,7 +3837,7 @@ static int mwl8k_cmd_set_rateadapt_mode(struct ieee80211_hw *hw, __u16 mode) struct mwl8k_cmd_set_rate_adapt_mode *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3865,7 +3865,7 @@ static int mwl8k_cmd_get_watchdog_bitmap(struct ieee80211_hw *hw, u8 *bitmap) struct mwl8k_cmd_get_watchdog_bitmap *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -3954,7 +3954,7 @@ static int mwl8k_cmd_bss_start(struct ieee80211_hw *hw, if (!enable && !(priv->running_bsses & (1 << mwl8k_vif->macid))) return 0; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4046,7 +4046,7 @@ mwl8k_check_ba(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream, struct mwl8k_cmd_bastream *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4078,7 +4078,7 @@ mwl8k_create_ba(struct ieee80211_hw *hw, struct mwl8k_ampdu_stream *stream, struct mwl8k_cmd_bastream *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4121,7 +4121,7 @@ static void mwl8k_destroy_ba(struct ieee80211_hw *hw, { struct mwl8k_cmd_bastream *cmd; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return; @@ -4173,7 +4173,7 @@ static int mwl8k_cmd_set_new_stn_add(struct ieee80211_hw *hw, u32 rates; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4211,7 +4211,7 @@ static int mwl8k_cmd_set_new_stn_add_self(struct ieee80211_hw *hw, struct mwl8k_cmd_set_new_stn *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4254,7 +4254,7 @@ static int mwl8k_cmd_set_new_stn_del(struct ieee80211_hw *hw, spin_unlock(&priv->stream_lock); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4341,7 +4341,7 @@ static int mwl8k_cmd_update_encryption_enable(struct ieee80211_hw *hw, struct mwl8k_cmd_update_encryption *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4410,7 +4410,7 @@ static int mwl8k_cmd_encryption_set_key(struct ieee80211_hw *hw, u8 idx; struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4467,7 +4467,7 @@ static int mwl8k_cmd_encryption_remove_key(struct ieee80211_hw *hw, int rc; struct mwl8k_vif *mwl8k_vif = MWL8K_VIF(vif); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4604,7 +4604,7 @@ static int mwl8k_cmd_update_stadb_add(struct ieee80211_hw *hw, u32 rates; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; @@ -4643,7 +4643,7 @@ static int mwl8k_cmd_update_stadb_del(struct ieee80211_hw *hw, struct mwl8k_cmd_update_stadb *cmd; int rc; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (cmd == NULL) return -ENOMEM; diff --git a/drivers/net/wireless/mediatek/mt76/agg-rx.c b/drivers/net/wireless/mediatek/mt76/agg-rx.c index 3d34caf7e4f7..144c336e13a2 100644 --- a/drivers/net/wireless/mediatek/mt76/agg-rx.c +++ b/drivers/net/wireless/mediatek/mt76/agg-rx.c @@ -248,7 +248,7 @@ int mt76_rx_aggr_start(struct mt76_dev *dev, struct mt76_wcid *wcid, u8 tidno, mt76_rx_aggr_stop(dev, wcid, tidno); - tid = kzalloc(struct_size(tid, reorder_buf, size), GFP_KERNEL); + tid = kzalloc_flex(*tid, reorder_buf, size, GFP_KERNEL); if (!tid) return -ENOMEM; diff --git a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c index bd56cdb022a2..45992fdcec60 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7615/mac.c +++ b/drivers/net/wireless/mediatek/mt76/mt7615/mac.c @@ -1055,7 +1055,7 @@ mt7615_mac_queue_rate_update(struct mt7615_phy *phy, struct mt7615_sta *sta, if (work_pending(&dev->rate_work)) return -EBUSY; - wrd = kzalloc(sizeof(*wrd), GFP_ATOMIC); + wrd = kzalloc_obj(*wrd, GFP_ATOMIC); if (!wrd) return -ENOMEM; diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/main.c b/drivers/net/wireless/mediatek/mt76/mt7996/main.c index beed795edb24..fee1f5ae0496 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7996/main.c +++ b/drivers/net/wireless/mediatek/mt76/mt7996/main.c @@ -966,7 +966,7 @@ mt7996_mac_sta_init_link(struct mt7996_dev *dev, mtxq->wcid = idx; } } else { - msta_link = kzalloc(sizeof(*msta_link), GFP_KERNEL); + msta_link = kzalloc_obj(*msta_link, GFP_KERNEL); if (!msta_link) return -ENOMEM; diff --git a/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c b/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c index 14a88ef79b6c..c0c042de477b 100644 --- a/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c +++ b/drivers/net/wireless/mediatek/mt76/mt7996/mcu.c @@ -726,7 +726,7 @@ mt7996_mcu_wed_rro_event(struct mt7996_dev *dev, struct sk_buff *skb) struct mt7996_wed_rro_session_id *session; e = (void *)skb->data; - session = kzalloc(sizeof(*session), GFP_ATOMIC); + session = kzalloc_obj(*session, GFP_ATOMIC); if (!session) break; diff --git a/drivers/net/wireless/microchip/wilc1000/cfg80211.c b/drivers/net/wireless/microchip/wilc1000/cfg80211.c index c39e7f313ea1..edd4e570fe9f 100644 --- a/drivers/net/wireless/microchip/wilc1000/cfg80211.c +++ b/drivers/net/wireless/microchip/wilc1000/cfg80211.c @@ -484,15 +484,15 @@ static int disconnect(struct wiphy *wiphy, struct net_device *dev, static int wilc_wfi_cfg_allocate_wpa_entry(struct wilc_priv *priv, u8 idx) { if (!priv->wilc_gtk[idx]) { - priv->wilc_gtk[idx] = kzalloc(sizeof(*priv->wilc_gtk[idx]), - GFP_KERNEL); + priv->wilc_gtk[idx] = kzalloc_obj(*priv->wilc_gtk[idx], + GFP_KERNEL); if (!priv->wilc_gtk[idx]) return -ENOMEM; } if (!priv->wilc_ptk[idx]) { - priv->wilc_ptk[idx] = kzalloc(sizeof(*priv->wilc_ptk[idx]), - GFP_KERNEL); + priv->wilc_ptk[idx] = kzalloc_obj(*priv->wilc_ptk[idx], + GFP_KERNEL); if (!priv->wilc_ptk[idx]) return -ENOMEM; } @@ -504,8 +504,8 @@ static int wilc_wfi_cfg_allocate_wpa_igtk_entry(struct wilc_priv *priv, u8 idx) { idx -= 4; if (!priv->wilc_igtk[idx]) { - priv->wilc_igtk[idx] = kzalloc(sizeof(*priv->wilc_igtk[idx]), - GFP_KERNEL); + priv->wilc_igtk[idx] = kzalloc_obj(*priv->wilc_igtk[idx], + GFP_KERNEL); if (!priv->wilc_igtk[idx]) return -ENOMEM; } @@ -1178,7 +1178,7 @@ static int mgmt_tx(struct wiphy *wiphy, if (!ieee80211_is_mgmt(mgmt->frame_control)) goto out; - mgmt_tx = kmalloc(sizeof(*mgmt_tx), GFP_KERNEL); + mgmt_tx = kmalloc_obj(*mgmt_tx, GFP_KERNEL); if (!mgmt_tx) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/microchip/wilc1000/hif.c b/drivers/net/wireless/microchip/wilc1000/hif.c index a229c6cab332..bbd1794acb27 100644 --- a/drivers/net/wireless/microchip/wilc1000/hif.c +++ b/drivers/net/wireless/microchip/wilc1000/hif.c @@ -60,7 +60,7 @@ wilc_alloc_work(struct wilc_vif *vif, void (*work_fun)(struct work_struct *), if (!work_fun) return ERR_PTR(-EINVAL); - msg = kzalloc(sizeof(*msg), GFP_ATOMIC); + msg = kzalloc_obj(*msg, GFP_ATOMIC); if (!msg) return ERR_PTR(-ENOMEM); msg->fn = work_fun; @@ -387,7 +387,7 @@ wilc_parse_join_bss_param(struct cfg80211_bss *bss, u64 ies_tsf; int ret; - param = kzalloc(sizeof(*param), GFP_KERNEL); + param = kzalloc_obj(*param, GFP_KERNEL); if (!param) return NULL; @@ -1039,7 +1039,7 @@ int wilc_set_external_auth_param(struct wilc_vif *vif, wid.id = WID_EXTERNAL_AUTH_PARAM; wid.type = WID_BIN_DATA; wid.size = sizeof(*param); - param = kzalloc(sizeof(*param), GFP_KERNEL); + param = kzalloc_obj(*param, GFP_KERNEL); if (!param) return -EINVAL; @@ -1516,7 +1516,7 @@ int wilc_init(struct net_device *dev, struct host_if_drv **hif_drv_handler) struct host_if_drv *hif_drv; struct wilc_vif *vif = netdev_priv(dev); - hif_drv = kzalloc(sizeof(*hif_drv), GFP_KERNEL); + hif_drv = kzalloc_obj(*hif_drv, GFP_KERNEL); if (!hif_drv) return -ENOMEM; diff --git a/drivers/net/wireless/microchip/wilc1000/mon.c b/drivers/net/wireless/microchip/wilc1000/mon.c index c3d27aaec297..b5cf6fa7a851 100644 --- a/drivers/net/wireless/microchip/wilc1000/mon.c +++ b/drivers/net/wireless/microchip/wilc1000/mon.c @@ -120,7 +120,7 @@ static int mon_mgmt_tx(struct net_device *dev, const u8 *buf, size_t len) return -EFAULT; netif_stop_queue(dev); - mgmt_tx = kmalloc(sizeof(*mgmt_tx), GFP_ATOMIC); + mgmt_tx = kmalloc_obj(*mgmt_tx, GFP_ATOMIC); if (!mgmt_tx) return -ENOMEM; diff --git a/drivers/net/wireless/microchip/wilc1000/netdev.c b/drivers/net/wireless/microchip/wilc1000/netdev.c index af298021e050..956cb578bf37 100644 --- a/drivers/net/wireless/microchip/wilc1000/netdev.c +++ b/drivers/net/wireless/microchip/wilc1000/netdev.c @@ -752,7 +752,7 @@ netdev_tx_t wilc_mac_xmit(struct sk_buff *skb, struct net_device *ndev) return NETDEV_TX_OK; } - tx_data = kmalloc(sizeof(*tx_data), GFP_ATOMIC); + tx_data = kmalloc_obj(*tx_data, GFP_ATOMIC); if (!tx_data) { dev_kfree_skb(skb); netif_wake_queue(ndev); diff --git a/drivers/net/wireless/microchip/wilc1000/sdio.c b/drivers/net/wireless/microchip/wilc1000/sdio.c index af970f999111..64b1490b793d 100644 --- a/drivers/net/wireless/microchip/wilc1000/sdio.c +++ b/drivers/net/wireless/microchip/wilc1000/sdio.c @@ -145,7 +145,7 @@ static int wilc_sdio_probe(struct sdio_func *func, int ret; - sdio_priv = kzalloc(sizeof(*sdio_priv), GFP_KERNEL); + sdio_priv = kzalloc_obj(*sdio_priv, GFP_KERNEL); if (!sdio_priv) return -ENOMEM; diff --git a/drivers/net/wireless/microchip/wilc1000/spi.c b/drivers/net/wireless/microchip/wilc1000/spi.c index 5bcabb7decea..cad1fcf2e14f 100644 --- a/drivers/net/wireless/microchip/wilc1000/spi.c +++ b/drivers/net/wireless/microchip/wilc1000/spi.c @@ -211,7 +211,7 @@ static int wilc_bus_probe(struct spi_device *spi) struct wilc *wilc; int ret; - spi_priv = kzalloc(sizeof(*spi_priv), GFP_KERNEL); + spi_priv = kzalloc_obj(*spi_priv, GFP_KERNEL); if (!spi_priv) return -ENOMEM; diff --git a/drivers/net/wireless/microchip/wilc1000/wlan.c b/drivers/net/wireless/microchip/wilc1000/wlan.c index fedc7d59216a..15a2221892cd 100644 --- a/drivers/net/wireless/microchip/wilc1000/wlan.c +++ b/drivers/net/wireless/microchip/wilc1000/wlan.c @@ -244,7 +244,7 @@ static int wilc_wlan_txq_add_cfg_pkt(struct wilc_vif *vif, u8 *buffer, return 0; } - tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); + tqe = kmalloc_obj(*tqe, GFP_ATOMIC); if (!tqe) { complete(&wilc->cfg_event); return 0; @@ -413,7 +413,7 @@ int wilc_wlan_txq_add_net_pkt(struct net_device *dev, return 0; } - tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); + tqe = kmalloc_obj(*tqe, GFP_ATOMIC); if (!tqe) { tx_complete_fn(tx_data, 0); @@ -466,7 +466,7 @@ int wilc_wlan_txq_add_mgmt_pkt(struct net_device *dev, void *priv, u8 *buffer, tx_complete_fn(priv, 0); return 0; } - tqe = kmalloc(sizeof(*tqe), GFP_ATOMIC); + tqe = kmalloc_obj(*tqe, GFP_ATOMIC); if (!tqe) { tx_complete_fn(priv, 0); @@ -1209,7 +1209,7 @@ static void wilc_wlan_handle_isr_ext(struct wilc *wilc, u32 int_status) offset += size; wilc->rx_buffer_offset = offset; - rqe = kmalloc(sizeof(*rqe), GFP_KERNEL); + rqe = kmalloc_obj(*rqe, GFP_KERNEL); if (!rqe) return; diff --git a/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c b/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c index cfabd5aebb54..0163f0b17497 100644 --- a/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c +++ b/drivers/net/wireless/microchip/wilc1000/wlan_cfg.c @@ -390,7 +390,7 @@ int wilc_wlan_cfg_init(struct wilc *wl) if (!wl->cfg.s) goto out_w; - str_vals = kzalloc(sizeof(*str_vals), GFP_KERNEL); + str_vals = kzalloc_obj(*str_vals, GFP_KERNEL); if (!str_vals) goto out_s; diff --git a/drivers/net/wireless/purelifi/plfxlc/usb.c b/drivers/net/wireless/purelifi/plfxlc/usb.c index 711902a809db..09303aa6c1d7 100644 --- a/drivers/net/wireless/purelifi/plfxlc/usb.c +++ b/drivers/net/wireless/purelifi/plfxlc/usb.c @@ -204,7 +204,7 @@ static int __lf_x_usb_enable_rx(struct plfxlc_usb *usb) int i, r; r = -ENOMEM; - urbs = kcalloc(RX_URBS_COUNT, sizeof(struct urb *), GFP_KERNEL); + urbs = kzalloc_objs(struct urb *, RX_URBS_COUNT, GFP_KERNEL); if (!urbs) goto error; diff --git a/drivers/net/wireless/quantenna/qtnfmac/commands.c b/drivers/net/wireless/quantenna/qtnfmac/commands.c index 956c5763662f..b1908fa90cfa 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/commands.c +++ b/drivers/net/wireless/quantenna/qtnfmac/commands.c @@ -981,7 +981,7 @@ qtnf_parse_wowlan_info(struct qtnf_wmac *mac, const struct qlink_wowlan_support *data1; struct wiphy_wowlan_support *supp; - supp = kzalloc(sizeof(*supp), GFP_KERNEL); + supp = kzalloc_obj(*supp, GFP_KERNEL); if (!supp) return; @@ -1031,8 +1031,8 @@ qtnf_parse_variable_mac_info(struct qtnf_wmac *mac, if (WARN_ON(resp->n_reg_rules > NL80211_MAX_SUPP_REG_RULES)) return -E2BIG; - mac->rd = kzalloc(struct_size(mac->rd, reg_rules, resp->n_reg_rules), - GFP_KERNEL); + mac->rd = kzalloc_flex(*mac->rd, reg_rules, resp->n_reg_rules, + GFP_KERNEL); if (!mac->rd) return -ENOMEM; @@ -1084,8 +1084,8 @@ qtnf_parse_variable_mac_info(struct qtnf_wmac *mac, return -EINVAL; } - limits = kcalloc(rec->n_limits, sizeof(*limits), - GFP_KERNEL); + limits = kzalloc_objs(*limits, rec->n_limits, + GFP_KERNEL); if (!limits) return -ENOMEM; @@ -1254,9 +1254,8 @@ qtnf_cmd_resp_proc_mac_info(struct qtnf_wmac *mac, sizeof(mac_info->vht_cap_mod_mask)); mac_info->n_if_comb = resp_info->n_iface_combinations; - mac_info->if_comb = kcalloc(mac->macinfo.n_if_comb, - sizeof(*mac->macinfo.if_comb), - GFP_KERNEL); + mac_info->if_comb = kzalloc_objs(*mac->macinfo.if_comb, + mac->macinfo.n_if_comb, GFP_KERNEL); if (!mac->macinfo.if_comb) return -ENOMEM; @@ -1341,8 +1340,8 @@ static int qtnf_cmd_band_fill_iftype(const u8 *data, if (band->n_iftype_data == 0) return 0; - iftype_data = kcalloc(band->n_iftype_data, sizeof(*iftype_data), - GFP_KERNEL); + iftype_data = kzalloc_objs(*iftype_data, band->n_iftype_data, + GFP_KERNEL); if (!iftype_data) { band->n_iftype_data = 0; return -ENOMEM; @@ -1389,8 +1388,8 @@ qtnf_cmd_resp_fill_band_info(struct ieee80211_supported_band *band, return 0; if (!band->channels) - band->channels = kcalloc(band->n_channels, sizeof(*chan), - GFP_KERNEL); + band->channels = kzalloc_objs(*chan, band->n_channels, + GFP_KERNEL); if (!band->channels) { band->n_channels = 0; return -ENOMEM; diff --git a/drivers/net/wireless/quantenna/qtnfmac/core.c b/drivers/net/wireless/quantenna/qtnfmac/core.c index 38af6cdc2843..4cab8dee332b 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/core.c +++ b/drivers/net/wireless/quantenna/qtnfmac/core.c @@ -212,7 +212,7 @@ static int qtnf_mac_init_single_band(struct wiphy *wiphy, { int ret; - wiphy->bands[band] = kzalloc(sizeof(*wiphy->bands[band]), GFP_KERNEL); + wiphy->bands[band] = kzalloc_obj(*wiphy->bands[band], GFP_KERNEL); if (!wiphy->bands[band]) return -ENOMEM; diff --git a/drivers/net/wireless/quantenna/qtnfmac/event.c b/drivers/net/wireless/quantenna/qtnfmac/event.c index 71840f41b73c..c16cd1e5286a 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/event.c +++ b/drivers/net/wireless/quantenna/qtnfmac/event.c @@ -41,7 +41,7 @@ qtnf_event_handle_sta_assoc(struct qtnf_wmac *mac, struct qtnf_vif *vif, return -EPROTO; } - sinfo = kzalloc(sizeof(*sinfo), GFP_KERNEL); + sinfo = kzalloc_obj(*sinfo, GFP_KERNEL); if (!sinfo) return -ENOMEM; diff --git a/drivers/net/wireless/quantenna/qtnfmac/util.c b/drivers/net/wireless/quantenna/qtnfmac/util.c index cda6f5f3f38a..5c1a5a8f87a6 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/util.c +++ b/drivers/net/wireless/quantenna/qtnfmac/util.c @@ -59,7 +59,7 @@ struct qtnf_sta_node *qtnf_sta_list_add(struct qtnf_vif *vif, if (node) goto done; - node = kzalloc(sizeof(*node), GFP_KERNEL); + node = kzalloc_obj(*node, GFP_KERNEL); if (unlikely(!node)) goto done; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2400pci.c b/drivers/net/wireless/ralink/rt2x00/rt2400pci.c index 42e21e9f303b..f2b55db0b27b 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2400pci.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2400pci.c @@ -1589,7 +1589,7 @@ static int rt2400pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev) /* * Create channel information array */ - info = kcalloc(spec->num_channels, sizeof(*info), GFP_KERNEL); + info = kzalloc_objs(*info, spec->num_channels, GFP_KERNEL); if (!info) return -ENOMEM; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2500pci.c b/drivers/net/wireless/ralink/rt2x00/rt2500pci.c index 36ddc5a69fa4..a6b26c5ef4cf 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2500pci.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2500pci.c @@ -1907,7 +1907,7 @@ static int rt2500pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev) /* * Create channel information array */ - info = kcalloc(spec->num_channels, sizeof(*info), GFP_KERNEL); + info = kzalloc_objs(*info, spec->num_channels, GFP_KERNEL); if (!info) return -ENOMEM; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2500usb.c b/drivers/net/wireless/ralink/rt2x00/rt2500usb.c index 09923765e2db..50f1eeddf913 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2500usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2500usb.c @@ -1720,7 +1720,7 @@ static int rt2500usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev) /* * Create channel information array */ - info = kcalloc(spec->num_channels, sizeof(*info), GFP_KERNEL); + info = kzalloc_objs(*info, spec->num_channels, GFP_KERNEL); if (!info) return -ENOMEM; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c index 65d0f805459c..6041f029857b 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2800lib.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800lib.c @@ -11907,13 +11907,13 @@ static int rt2800_probe_hw_mode(struct rt2x00_dev *rt2x00dev) /* * Create channel information and survey arrays */ - info = kcalloc(spec->num_channels, sizeof(*info), GFP_KERNEL); + info = kzalloc_objs(*info, spec->num_channels, GFP_KERNEL); if (!info) return -ENOMEM; rt2x00dev->chan_survey = - kcalloc(spec->num_channels, sizeof(struct rt2x00_chan_survey), - GFP_KERNEL); + kzalloc_objs(struct rt2x00_chan_survey, spec->num_channels, + GFP_KERNEL); if (!rt2x00dev->chan_survey) { kfree(info); return -ENOMEM; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c index b51a23300ba2..d1d94b0b0f31 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2800usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2800usb.c @@ -179,7 +179,7 @@ static int rt2800usb_autorun_detect(struct rt2x00_dev *rt2x00dev) u32 fw_mode; int ret; - reg = kmalloc(sizeof(*reg), GFP_KERNEL); + reg = kmalloc_obj(*reg, GFP_KERNEL); if (reg == NULL) return -ENOMEM; /* cannot use rt2x00usb_register_read here as it uses different diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00debug.c b/drivers/net/wireless/ralink/rt2x00/rt2x00debug.c index f2395309ec00..edececd89572 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00debug.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00debug.c @@ -639,7 +639,7 @@ void rt2x00debug_register(struct rt2x00_dev *rt2x00dev) struct dentry *queue_folder; struct dentry *register_folder; - intf = kzalloc(sizeof(struct rt2x00debug_intf), GFP_KERNEL); + intf = kzalloc_obj(struct rt2x00debug_intf, GFP_KERNEL); if (!intf) { rt2x00_err(rt2x00dev, "Failed to allocate debug handler\n"); return; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c index 778a478ab53a..dee01472747f 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c @@ -1020,11 +1020,11 @@ static int rt2x00lib_probe_hw_modes(struct rt2x00_dev *rt2x00dev, if (spec->supported_rates & SUPPORT_RATE_OFDM) num_rates += 8; - channels = kcalloc(spec->num_channels, sizeof(*channels), GFP_KERNEL); + channels = kzalloc_objs(*channels, spec->num_channels, GFP_KERNEL); if (!channels) return -ENOMEM; - rates = kcalloc(num_rates, sizeof(*rates), GFP_KERNEL); + rates = kzalloc_objs(*rates, num_rates, GFP_KERNEL); if (!rates) goto exit_free_channels; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c index 13e48b1e7356..8fb336834ced 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c @@ -564,7 +564,7 @@ static void rt2x00queue_bar_check(struct queue_entry *entry) if (likely(!ieee80211_is_back_req(bar->frame_control))) return; - bar_entry = kmalloc(sizeof(*bar_entry), GFP_ATOMIC); + bar_entry = kmalloc_obj(*bar_entry, GFP_ATOMIC); /* * If the alloc fails we still send the BAR out but just don't track @@ -1244,7 +1244,7 @@ int rt2x00queue_allocate(struct rt2x00_dev *rt2x00dev) */ rt2x00dev->data_queues = 2 + rt2x00dev->ops->tx_queues + req_atim; - queue = kcalloc(rt2x00dev->data_queues, sizeof(*queue), GFP_KERNEL); + queue = kzalloc_objs(*queue, rt2x00dev->data_queues, GFP_KERNEL); if (!queue) return -ENOMEM; diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c b/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c index a6d50149e0c3..54599cad78f9 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00usb.c @@ -196,7 +196,7 @@ void rt2x00usb_register_read_async(struct rt2x00_dev *rt2x00dev, struct urb *urb; struct rt2x00_async_read_data *rd; - rd = kmalloc(sizeof(*rd), GFP_ATOMIC); + rd = kmalloc_obj(*rd, GFP_ATOMIC); if (!rd) return; diff --git a/drivers/net/wireless/ralink/rt2x00/rt61pci.c b/drivers/net/wireless/ralink/rt2x00/rt61pci.c index d1cd5694e3c7..aea74b6b28e4 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt61pci.c +++ b/drivers/net/wireless/ralink/rt2x00/rt61pci.c @@ -2712,7 +2712,7 @@ static int rt61pci_probe_hw_mode(struct rt2x00_dev *rt2x00dev) /* * Create channel information array */ - info = kcalloc(spec->num_channels, sizeof(*info), GFP_KERNEL); + info = kzalloc_objs(*info, spec->num_channels, GFP_KERNEL); if (!info) return -ENOMEM; diff --git a/drivers/net/wireless/ralink/rt2x00/rt73usb.c b/drivers/net/wireless/ralink/rt2x00/rt73usb.c index b79dda952a33..c47f4689ffdd 100644 --- a/drivers/net/wireless/ralink/rt2x00/rt73usb.c +++ b/drivers/net/wireless/ralink/rt2x00/rt73usb.c @@ -2136,7 +2136,7 @@ static int rt73usb_probe_hw_mode(struct rt2x00_dev *rt2x00dev) /* * Create channel information array */ - info = kcalloc(spec->num_channels, sizeof(*info), GFP_KERNEL); + info = kzalloc_objs(*info, spec->num_channels, GFP_KERNEL); if (!info) return -ENOMEM; diff --git a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c index 7aa2da0cd63c..7a2a31af9a79 100644 --- a/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c +++ b/drivers/net/wireless/realtek/rtl818x/rtl8187/dev.c @@ -129,7 +129,7 @@ static void rtl8187_iowrite_async(struct rtl8187_priv *priv, __le16 addr, } *buf; int rc; - buf = kmalloc(sizeof(*buf), GFP_ATOMIC); + buf = kmalloc_obj(*buf, GFP_ATOMIC); if (!buf) return; @@ -1463,7 +1463,7 @@ static int rtl8187_probe(struct usb_interface *intf, priv->is_rtl8187b = (id->driver_info == DEVICE_RTL8187B); /* allocate "DMA aware" buffer for register accesses */ - priv->io_dmabuf = kmalloc(sizeof(*priv->io_dmabuf), GFP_KERNEL); + priv->io_dmabuf = kmalloc_obj(*priv->io_dmabuf, GFP_KERNEL); if (!priv->io_dmabuf) { err = -ENOMEM; goto err_free_dev; diff --git a/drivers/net/wireless/realtek/rtl8xxxu/core.c b/drivers/net/wireless/realtek/rtl8xxxu/core.c index f9a527f6a175..721c95f13ec9 100644 --- a/drivers/net/wireless/realtek/rtl8xxxu/core.c +++ b/drivers/net/wireless/realtek/rtl8xxxu/core.c @@ -7323,7 +7323,7 @@ static void rtl8xxxu_collect_sta_iter(void *data, struct ieee80211_sta *sta) struct rtl8xxxu_iter_stas_data *iter_stas = data; struct rtl8xxxu_stas_entry *stas_entry; - stas_entry = kmalloc(sizeof(*stas_entry), GFP_ATOMIC); + stas_entry = kmalloc_obj(*stas_entry, GFP_ATOMIC); if (!stas_entry) return; @@ -7381,7 +7381,7 @@ static int rtl8xxxu_start(struct ieee80211_hw *hw) } for (i = 0; i < RTL8XXXU_TX_URBS; i++) { - tx_urb = kmalloc(sizeof(struct rtl8xxxu_tx_urb), GFP_KERNEL); + tx_urb = kmalloc_obj(struct rtl8xxxu_tx_urb, GFP_KERNEL); if (!tx_urb) { if (!i) ret = -ENOMEM; @@ -7402,7 +7402,7 @@ static int rtl8xxxu_start(struct ieee80211_hw *hw) spin_unlock_irqrestore(&priv->rx_urb_lock, flags); for (i = 0; i < RTL8XXXU_RX_URBS; i++) { - rx_urb = kmalloc(sizeof(struct rtl8xxxu_rx_urb), GFP_KERNEL); + rx_urb = kmalloc_obj(struct rtl8xxxu_rx_urb, GFP_KERNEL); if (!rx_urb) { if (!i) ret = -ENOMEM; diff --git a/drivers/net/wireless/realtek/rtlwifi/base.c b/drivers/net/wireless/realtek/rtlwifi/base.c index 09e5a16d7252..0ac9cf0937aa 100644 --- a/drivers/net/wireless/realtek/rtlwifi/base.c +++ b/drivers/net/wireless/realtek/rtlwifi/base.c @@ -2011,7 +2011,7 @@ void rtl_collect_scan_list(struct ieee80211_hw *hw, struct sk_buff *skb) } if (!entry) { - entry = kmalloc(sizeof(*entry), GFP_ATOMIC); + entry = kmalloc_obj(*entry, GFP_ATOMIC); if (!entry) goto label_err; diff --git a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c index e88d92d3ae7a..332f90e4d83f 100644 --- a/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c +++ b/drivers/net/wireless/realtek/rtlwifi/btcoexist/rtl_btc.c @@ -132,10 +132,10 @@ static void rtl_btc_alloc_variable(struct rtl_priv *rtlpriv, bool wifi_only) { if (wifi_only) rtlpriv->btcoexist.wifi_only_context = - kzalloc(sizeof(struct wifi_only_cfg), GFP_KERNEL); + kzalloc_obj(struct wifi_only_cfg, GFP_KERNEL); else rtlpriv->btcoexist.btc_context = - kzalloc(sizeof(struct btc_coexist), GFP_KERNEL); + kzalloc_obj(struct btc_coexist, GFP_KERNEL); } static void rtl_btc_free_variable(struct rtl_priv *rtlpriv) diff --git a/drivers/net/wireless/realtek/rtlwifi/rc.c b/drivers/net/wireless/realtek/rtlwifi/rc.c index a164364109ba..dcfaa98198b6 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rc.c +++ b/drivers/net/wireless/realtek/rtlwifi/rc.c @@ -278,7 +278,7 @@ static void *rtl_rate_alloc_sta(void *ppriv, struct rtl_priv *rtlpriv = ppriv; struct rtl_rate_priv *rate_priv; - rate_priv = kzalloc(sizeof(*rate_priv), gfp); + rate_priv = kzalloc_obj(*rate_priv, gfp); if (!rate_priv) return NULL; diff --git a/drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c b/drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c index cc699efa9c79..1f927dd9e152 100644 --- a/drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c +++ b/drivers/net/wireless/realtek/rtlwifi/rtl8192du/sw.c @@ -70,10 +70,10 @@ static int rtl92du_init_shared_data(struct ieee80211_hw *hw) rtlpriv->curveindex_5g = kcalloc(TARGET_CHNL_NUM_5G, sizeof(*rtlpriv->curveindex_5g), GFP_KERNEL); - rtlpriv->mutex_for_power_on_off = - kzalloc(sizeof(*rtlpriv->mutex_for_power_on_off), GFP_KERNEL); - rtlpriv->mutex_for_hw_init = - kzalloc(sizeof(*rtlpriv->mutex_for_hw_init), GFP_KERNEL); + rtlpriv->mutex_for_power_on_off = kzalloc_obj(*rtlpriv->mutex_for_power_on_off, + GFP_KERNEL); + rtlpriv->mutex_for_hw_init = kzalloc_obj(*rtlpriv->mutex_for_hw_init, + GFP_KERNEL); if (!rtlpriv->curveindex_2g || !rtlpriv->curveindex_5g || !rtlpriv->mutex_for_power_on_off || !rtlpriv->mutex_for_hw_init) { diff --git a/drivers/net/wireless/realtek/rtw88/fw.c b/drivers/net/wireless/realtek/rtw88/fw.c index c68a9fff6808..a3e5b0963cb7 100644 --- a/drivers/net/wireless/realtek/rtw88/fw.c +++ b/drivers/net/wireless/realtek/rtw88/fw.c @@ -1331,7 +1331,7 @@ static struct rtw_rsvd_page *rtw_alloc_rsvd_page(struct rtw_dev *rtwdev, { struct rtw_rsvd_page *rsvd_pkt = NULL; - rsvd_pkt = kzalloc(sizeof(*rsvd_pkt), GFP_KERNEL); + rsvd_pkt = kzalloc_obj(*rsvd_pkt, GFP_KERNEL); if (!rsvd_pkt) return NULL; diff --git a/drivers/net/wireless/realtek/rtw88/sdio.c b/drivers/net/wireless/realtek/rtw88/sdio.c index 138e9e348c6c..b42840271051 100644 --- a/drivers/net/wireless/realtek/rtw88/sdio.c +++ b/drivers/net/wireless/realtek/rtw88/sdio.c @@ -1290,8 +1290,8 @@ static int rtw_sdio_init_tx(struct rtw_dev *rtwdev) for (i = 0; i < RTK_MAX_TX_QUEUE_NUM; i++) skb_queue_head_init(&rtwsdio->tx_queue[i]); - rtwsdio->tx_handler_data = kmalloc(sizeof(*rtwsdio->tx_handler_data), - GFP_KERNEL); + rtwsdio->tx_handler_data = kmalloc_obj(*rtwsdio->tx_handler_data, + GFP_KERNEL); if (!rtwsdio->tx_handler_data) goto err_destroy_wq; diff --git a/drivers/net/wireless/realtek/rtw88/usb.c b/drivers/net/wireless/realtek/rtw88/usb.c index db60e142268d..433b06c8d8a6 100644 --- a/drivers/net/wireless/realtek/rtw88/usb.c +++ b/drivers/net/wireless/realtek/rtw88/usb.c @@ -403,7 +403,7 @@ static bool rtw_usb_tx_agg_skb(struct rtw_usb *rtwusb, struct sk_buff_head *list if (skb_queue_empty(list)) return false; - txcb = kmalloc(sizeof(*txcb), GFP_ATOMIC); + txcb = kmalloc_obj(*txcb, GFP_ATOMIC); if (!txcb) return false; diff --git a/drivers/net/wireless/realtek/rtw88/util.c b/drivers/net/wireless/realtek/rtw88/util.c index 66819f694405..fcd6eb1ab32a 100644 --- a/drivers/net/wireless/realtek/rtw88/util.c +++ b/drivers/net/wireless/realtek/rtw88/util.c @@ -122,7 +122,7 @@ static void rtw_collect_sta_iter(void *data, struct ieee80211_sta *sta) struct rtw_iter_stas_data *iter_stas = data; struct rtw_stas_entry *stas_entry; - stas_entry = kmalloc(sizeof(*stas_entry), GFP_ATOMIC); + stas_entry = kmalloc_obj(*stas_entry, GFP_ATOMIC); if (!stas_entry) return; @@ -172,7 +172,7 @@ static void rtw_collect_vif_iter(void *data, u8 *mac, struct ieee80211_vif *vif) struct rtw_iter_vifs_data *iter_stas = data; struct rtw_vifs_entry *vifs_entry; - vifs_entry = kmalloc(sizeof(*vifs_entry), GFP_ATOMIC); + vifs_entry = kmalloc_obj(*vifs_entry, GFP_ATOMIC); if (!vifs_entry) return; diff --git a/drivers/net/wireless/realtek/rtw89/acpi.c b/drivers/net/wireless/realtek/rtw89/acpi.c index f1e758a5f32b..0853b2e49675 100644 --- a/drivers/net/wireless/realtek/rtw89/acpi.c +++ b/drivers/net/wireless/realtek/rtw89/acpi.c @@ -115,7 +115,7 @@ rtw89_acpi_evaluate_method(struct rtw89_dev *rtwdev, const char *method) goto out; } - data = kzalloc(struct_size(data, buf, len), GFP_KERNEL); + data = kzalloc_flex(*data, buf, len, GFP_KERNEL); if (!data) goto out; diff --git a/drivers/net/wireless/realtek/rtw89/cam.c b/drivers/net/wireless/realtek/rtw89/cam.c index 9f63d67777fa..949f304216e2 100644 --- a/drivers/net/wireless/realtek/rtw89/cam.c +++ b/drivers/net/wireless/realtek/rtw89/cam.c @@ -420,7 +420,7 @@ static int rtw89_cam_sec_key_install(struct rtw89_dev *rtwdev, return ret; } - sec_cam = kzalloc(sizeof(*sec_cam), GFP_KERNEL); + sec_cam = kzalloc_obj(*sec_cam, GFP_KERNEL); if (!sec_cam) { ret = -ENOMEM; goto err_release_cam; diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c index 6e77522bcd8f..3295f76a0f1c 100644 --- a/drivers/net/wireless/realtek/rtw89/core.c +++ b/drivers/net/wireless/realtek/rtw89/core.c @@ -4220,7 +4220,7 @@ int rtw89_core_send_nullfunc(struct rtw89_dev *rtwdev, struct rtw89_vif_link *rt if (vif->type != NL80211_IFTYPE_STATION || !vif->cfg.assoc) return 0; - wait = kzalloc(sizeof(*wait), GFP_KERNEL); + wait = kzalloc_obj(*wait, GFP_KERNEL); if (!wait) return -ENOMEM; @@ -5657,7 +5657,7 @@ rtw89_wait_for_cond_prep(struct rtw89_wait_info *wait, unsigned int cond) if (cur != RTW89_WAIT_COND_IDLE) return ERR_PTR(-EPERM); - prep = kzalloc(sizeof(*prep), GFP_KERNEL); + prep = kzalloc_obj(*prep, GFP_KERNEL); if (!prep) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/wireless/realtek/rtw89/debug.c b/drivers/net/wireless/realtek/rtw89/debug.c index 06a9504d2bad..fb89660ba70c 100644 --- a/drivers/net/wireless/realtek/rtw89/debug.c +++ b/drivers/net/wireless/realtek/rtw89/debug.c @@ -3524,7 +3524,7 @@ rtw89_debug_priv_early_h2c_set(struct rtw89_dev *rtwdev, goto out; } - early_h2c = kmalloc(sizeof(*early_h2c), GFP_KERNEL); + early_h2c = kmalloc_obj(*early_h2c, GFP_KERNEL); if (!early_h2c) { kfree(h2c); return -EFAULT; diff --git a/drivers/net/wireless/realtek/rtw89/fw.c b/drivers/net/wireless/realtek/rtw89/fw.c index f84726f04669..97c58a2fa399 100644 --- a/drivers/net/wireless/realtek/rtw89/fw.c +++ b/drivers/net/wireless/realtek/rtw89/fw.c @@ -1099,12 +1099,12 @@ int rtw89_build_phy_tbl_from_elm(struct rtw89_dev *rtwdev, else if (*pp) return 1; /* ignore if an element is existing */ - tbl = kzalloc(sizeof(*tbl), GFP_KERNEL); + tbl = kzalloc_obj(*tbl, GFP_KERNEL); if (!tbl) return -ENOMEM; n_regs = le32_to_cpu(elm->size) / sizeof(tbl->regs[0]); - regs = kcalloc(n_regs, sizeof(*regs), GFP_KERNEL); + regs = kzalloc_objs(*regs, n_regs, GFP_KERNEL); if (!regs) goto out; @@ -1141,7 +1141,7 @@ int rtw89_fw_recognize_txpwr_from_elm(struct rtw89_dev *rtwdev, struct rtw89_txpwr_conf *conf; if (!rtwdev->rfe_data) { - rtwdev->rfe_data = kzalloc(sizeof(*rtwdev->rfe_data), GFP_KERNEL); + rtwdev->rfe_data = kzalloc_obj(*rtwdev->rfe_data, GFP_KERNEL); if (!rtwdev->rfe_data) return -ENOMEM; } @@ -1201,7 +1201,7 @@ int rtw89_build_txpwr_trk_tbl_from_elm(struct rtw89_dev *rtwdev, return -ENOENT; } - elm_info->txpwr_trk = kzalloc(sizeof(*elm_info->txpwr_trk), GFP_KERNEL); + elm_info->txpwr_trk = kzalloc_obj(*elm_info->txpwr_trk, GFP_KERNEL); if (!elm_info->txpwr_trk) return -ENOMEM; @@ -1250,7 +1250,7 @@ int rtw89_build_rfk_log_fmt_from_elm(struct rtw89_dev *rtwdev, if (elm_info->rfk_log_fmt) goto allocated; - elm_info->rfk_log_fmt = kzalloc(sizeof(*elm_info->rfk_log_fmt), GFP_KERNEL); + elm_info->rfk_log_fmt = kzalloc_obj(*elm_info->rfk_log_fmt, GFP_KERNEL); if (!elm_info->rfk_log_fmt) return 1; /* this is an optional element, so just ignore this */ @@ -2944,7 +2944,7 @@ static int rtw89_fw_h2c_add_general_pkt(struct rtw89_dev *rtwdev, struct sk_buff *skb; int ret; - info = kzalloc(sizeof(*info), GFP_KERNEL); + info = kzalloc_obj(*info, GFP_KERNEL); if (!info) return -ENOMEM; @@ -8138,7 +8138,7 @@ static int rtw89_append_probe_req_ie(struct rtw89_dev *rtwdev, skb_put_data(new, ies->ies[band], ies->len[band]); skb_put_data(new, ies->common_ies, ies->common_ie_len); - info = kzalloc(sizeof(*info), GFP_KERNEL); + info = kzalloc_obj(*info, GFP_KERNEL); if (!info) { ret = -ENOMEM; kfree_skb(new); @@ -8234,7 +8234,7 @@ static int rtw89_update_6ghz_rnr_chan_ax(struct rtw89_dev *rtwdev, hdr = (struct ieee80211_hdr *)skb->data; ether_addr_copy(hdr->addr3, params->bssid); - info = kzalloc(sizeof(*info), GFP_KERNEL); + info = kzalloc_obj(*info, GFP_KERNEL); if (!info) { ret = -ENOMEM; kfree_skb(skb); @@ -8527,7 +8527,7 @@ int rtw89_pno_scan_add_chan_list_ax(struct rtw89_dev *rtwdev, idx < nd_config->n_channels && list_len < RTW89_SCAN_LIST_LIMIT_AX; idx++, list_len++) { channel = nd_config->channels[idx]; - ch_info = kzalloc(sizeof(*ch_info), GFP_KERNEL); + ch_info = kzalloc_obj(*ch_info, GFP_KERNEL); if (!ch_info) { ret = -ENOMEM; goto out; @@ -8567,7 +8567,7 @@ static int rtw89_hw_scan_add_op_types_ax(struct rtw89_dev *rtwdev, { struct rtw89_mac_chinfo_ax *tmp; - tmp = kzalloc(sizeof(*tmp), GFP_KERNEL); + tmp = kzalloc_obj(*tmp, GFP_KERNEL); if (!tmp) return -ENOMEM; @@ -8613,7 +8613,7 @@ int rtw89_hw_scan_prep_chan_list_ax(struct rtw89_dev *rtwdev, for (idx = 0; idx < req->n_channels; idx++) { channel = req->channels[idx]; - ch_info = kzalloc(sizeof(*ch_info), GFP_KERNEL); + ch_info = kzalloc_obj(*ch_info, GFP_KERNEL); if (!ch_info) { ret = -ENOMEM; goto out; @@ -8745,7 +8745,7 @@ int rtw89_pno_scan_add_chan_list_be(struct rtw89_dev *rtwdev, idx < nd_config->n_channels && list_len < RTW89_SCAN_LIST_LIMIT_BE; idx++, list_len++) { channel = nd_config->channels[idx]; - ch_info = kzalloc(sizeof(*ch_info), GFP_KERNEL); + ch_info = kzalloc_obj(*ch_info, GFP_KERNEL); if (!ch_info) { ret = -ENOMEM; goto out; @@ -8807,7 +8807,7 @@ int rtw89_hw_scan_prep_chan_list_be(struct rtw89_dev *rtwdev, !cfg80211_channel_is_psc(channel) && chan_by_rnr) continue; - ch_info = kzalloc(sizeof(*ch_info), GFP_KERNEL); + ch_info = kzalloc_obj(*ch_info, GFP_KERNEL); if (!ch_info) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/realtek/rtw89/mac80211.c b/drivers/net/wireless/realtek/rtw89/mac80211.c index 315bb0d0759f..594af3b7201b 100644 --- a/drivers/net/wireless/realtek/rtw89/mac80211.c +++ b/drivers/net/wireless/realtek/rtw89/mac80211.c @@ -1666,7 +1666,7 @@ int rtw89_ops_change_vif_links(struct ieee80211_hw *hw, return -EOPNOTSUPP; if (removing_links) { - snap = kzalloc(sizeof(*snap), GFP_KERNEL); + snap = kzalloc_obj(*snap, GFP_KERNEL); if (!snap) return -ENOMEM; diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c index 6c6d5f1da867..eb2e2191408a 100644 --- a/drivers/net/wireless/realtek/rtw89/phy.c +++ b/drivers/net/wireless/realtek/rtw89/phy.c @@ -1975,7 +1975,7 @@ void rtw89_phy_init_rf_reg(struct rtw89_dev *rtwdev, bool noio) struct rtw89_fw_h2c_rf_reg_info *rf_reg_info; u8 path; - rf_reg_info = kzalloc(sizeof(*rf_reg_info), GFP_KERNEL); + rf_reg_info = kzalloc_obj(*rf_reg_info, GFP_KERNEL); if (!rf_reg_info) return; diff --git a/drivers/net/wireless/realtek/rtw89/sar.c b/drivers/net/wireless/realtek/rtw89/sar.c index ef7feccccd5e..994ebbd8d267 100644 --- a/drivers/net/wireless/realtek/rtw89/sar.c +++ b/drivers/net/wireless/realtek/rtw89/sar.c @@ -501,7 +501,7 @@ static void rtw89_set_sar_from_acpi(struct rtw89_dev *rtwdev) struct rtw89_sar_cfg_acpi *cfg; int ret; - cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!cfg) return; diff --git a/drivers/net/wireless/realtek/rtw89/ser.c b/drivers/net/wireless/realtek/rtw89/ser.c index 7fdc69578da3..f91e66133b30 100644 --- a/drivers/net/wireless/realtek/rtw89/ser.c +++ b/drivers/net/wireless/realtek/rtw89/ser.c @@ -210,7 +210,7 @@ static int ser_send_msg(struct rtw89_ser *ser, u8 event) if (test_bit(RTW89_SER_DRV_STOP_RUN, ser->flags)) return -EIO; - msg = kmalloc(sizeof(*msg), GFP_ATOMIC); + msg = kmalloc_obj(*msg, GFP_ATOMIC); if (!msg) return -ENOMEM; diff --git a/drivers/net/wireless/realtek/rtw89/usb.c b/drivers/net/wireless/realtek/rtw89/usb.c index e77561a4d971..95b5c1cfdce4 100644 --- a/drivers/net/wireless/realtek/rtw89/usb.c +++ b/drivers/net/wireless/realtek/rtw89/usb.c @@ -294,7 +294,7 @@ static void rtw89_usb_ops_tx_kick_off(struct rtw89_dev *rtwdev, u8 txch) if (!skb) break; - txcb = kmalloc(sizeof(*txcb), GFP_ATOMIC); + txcb = kmalloc_obj(*txcb, GFP_ATOMIC); if (!txcb) { rtw89_usb_tx_free_skb(rtwdev, txch, skb); continue; @@ -931,8 +931,8 @@ static int rtw89_usb_intf_init(struct rtw89_dev *rtwdev, if (ret) return ret; - rtwusb->vendor_req_buf = kmalloc(sizeof(*rtwusb->vendor_req_buf), - GFP_KERNEL); + rtwusb->vendor_req_buf = kmalloc_obj(*rtwusb->vendor_req_buf, + GFP_KERNEL); if (!rtwusb->vendor_req_buf) return -ENOMEM; diff --git a/drivers/net/wireless/realtek/rtw89/wow.c b/drivers/net/wireless/realtek/rtw89/wow.c index b67ceda59e92..6954ca8f0b35 100644 --- a/drivers/net/wireless/realtek/rtw89/wow.c +++ b/drivers/net/wireless/realtek/rtw89/wow.c @@ -1490,7 +1490,7 @@ static int rtw89_pno_scan_update_probe_req(struct rtw89_dev *rtwdev, skb_put_data(skb, basic_rate_ie, sizeof(basic_rate_ie)); skb_put_data(skb, nd_config->ie, nd_config->ie_len); - info = kzalloc(sizeof(*info), GFP_KERNEL); + info = kzalloc_obj(*info, GFP_KERNEL); if (!info) { kfree_skb(skb); rtw89_fw_release_pno_pkt_list(rtwdev, rtwvif_link); diff --git a/drivers/net/wireless/rsi/rsi_91x_coex.c b/drivers/net/wireless/rsi/rsi_91x_coex.c index 372eaaa2b9ef..5bc8c30f2721 100644 --- a/drivers/net/wireless/rsi/rsi_91x_coex.c +++ b/drivers/net/wireless/rsi/rsi_91x_coex.c @@ -140,7 +140,7 @@ int rsi_coex_attach(struct rsi_common *common) struct rsi_coex_ctrl_block *coex_cb; int cnt; - coex_cb = kzalloc(sizeof(*coex_cb), GFP_KERNEL); + coex_cb = kzalloc_obj(*coex_cb, GFP_KERNEL); if (!coex_cb) return -ENOMEM; diff --git a/drivers/net/wireless/rsi/rsi_91x_debugfs.c b/drivers/net/wireless/rsi/rsi_91x_debugfs.c index c528e6ca2c8d..ea1766b967ee 100644 --- a/drivers/net/wireless/rsi/rsi_91x_debugfs.c +++ b/drivers/net/wireless/rsi/rsi_91x_debugfs.c @@ -285,7 +285,7 @@ int rsi_init_dbgfs(struct rsi_hw *adapter) int ii; const struct rsi_dbg_files *files; - dev_dbgfs = kzalloc(sizeof(*dev_dbgfs), GFP_KERNEL); + dev_dbgfs = kzalloc_obj(*dev_dbgfs, GFP_KERNEL); if (!dev_dbgfs) return -ENOMEM; diff --git a/drivers/net/wireless/rsi/rsi_91x_hal.c b/drivers/net/wireless/rsi/rsi_91x_hal.c index 7d26314a3e76..9e65db2f6460 100644 --- a/drivers/net/wireless/rsi/rsi_91x_hal.c +++ b/drivers/net/wireless/rsi/rsi_91x_hal.c @@ -647,7 +647,7 @@ static int bl_write_header(struct rsi_hw *adapter, u8 *flash_content, u32 write_addr, write_len; int status; - bl_hdr = kzalloc(sizeof(*bl_hdr), GFP_KERNEL); + bl_hdr = kzalloc_obj(*bl_hdr, GFP_KERNEL); if (!bl_hdr) return -ENOMEM; diff --git a/drivers/net/wireless/rsi/rsi_91x_main.c b/drivers/net/wireless/rsi/rsi_91x_main.c index a9bb37d5d581..c936e40ac871 100644 --- a/drivers/net/wireless/rsi/rsi_91x_main.c +++ b/drivers/net/wireless/rsi/rsi_91x_main.c @@ -304,11 +304,11 @@ struct rsi_hw *rsi_91x_init(u16 oper_mode) struct rsi_common *common = NULL; u8 ii = 0; - adapter = kzalloc(sizeof(*adapter), GFP_KERNEL); + adapter = kzalloc_obj(*adapter, GFP_KERNEL); if (!adapter) return NULL; - adapter->priv = kzalloc(sizeof(*common), GFP_KERNEL); + adapter->priv = kzalloc_obj(*common, GFP_KERNEL); if (adapter->priv == NULL) { rsi_dbg(ERR_ZONE, "%s: Failed in allocation of memory\n", __func__); diff --git a/drivers/net/wireless/rsi/rsi_91x_sdio.c b/drivers/net/wireless/rsi/rsi_91x_sdio.c index ee7ad81c858d..51932a434d89 100644 --- a/drivers/net/wireless/rsi/rsi_91x_sdio.c +++ b/drivers/net/wireless/rsi/rsi_91x_sdio.c @@ -828,7 +828,7 @@ static int rsi_init_sdio_interface(struct rsi_hw *adapter, struct rsi_91x_sdiodev *rsi_91x_dev; int status; - rsi_91x_dev = kzalloc(sizeof(*rsi_91x_dev), GFP_KERNEL); + rsi_91x_dev = kzalloc_obj(*rsi_91x_dev, GFP_KERNEL); if (!rsi_91x_dev) return -ENOMEM; diff --git a/drivers/net/wireless/rsi/rsi_91x_usb.c b/drivers/net/wireless/rsi/rsi_91x_usb.c index dccc139cabb2..b0238103c13b 100644 --- a/drivers/net/wireless/rsi/rsi_91x_usb.c +++ b/drivers/net/wireless/rsi/rsi_91x_usb.c @@ -620,7 +620,7 @@ static int rsi_init_usb_interface(struct rsi_hw *adapter, struct rsi_91x_usbdev *rsi_dev; int status; - rsi_dev = kzalloc(sizeof(*rsi_dev), GFP_KERNEL); + rsi_dev = kzalloc_obj(*rsi_dev, GFP_KERNEL); if (!rsi_dev) return -ENOMEM; diff --git a/drivers/net/wireless/silabs/wfx/debug.c b/drivers/net/wireless/silabs/wfx/debug.c index e8265208f9a5..6475a4a42afc 100644 --- a/drivers/net/wireless/silabs/wfx/debug.c +++ b/drivers/net/wireless/silabs/wfx/debug.c @@ -291,7 +291,7 @@ static ssize_t wfx_send_hif_msg_read(struct file *file, char __user *user_buf, static int wfx_send_hif_msg_open(struct inode *inode, struct file *file) { - struct dbgfs_hif_msg *context = kzalloc(sizeof(*context), GFP_KERNEL); + struct dbgfs_hif_msg *context = kzalloc_obj(*context, GFP_KERNEL); if (!context) return -ENOMEM; diff --git a/drivers/net/wireless/st/cw1200/cw1200_sdio.c b/drivers/net/wireless/st/cw1200/cw1200_sdio.c index 00c4731d8f8e..b503112d3a3e 100644 --- a/drivers/net/wireless/st/cw1200/cw1200_sdio.c +++ b/drivers/net/wireless/st/cw1200/cw1200_sdio.c @@ -287,7 +287,7 @@ static int cw1200_sdio_probe(struct sdio_func *func, if (func->num != 0x01) return -ENODEV; - self = kzalloc(sizeof(*self), GFP_KERNEL); + self = kzalloc_obj(*self, GFP_KERNEL); if (!self) { pr_err("Can't allocate SDIO hwbus_priv.\n"); return -ENOMEM; diff --git a/drivers/net/wireless/st/cw1200/debug.c b/drivers/net/wireless/st/cw1200/debug.c index 8686929c70df..6af080d0f21b 100644 --- a/drivers/net/wireless/st/cw1200/debug.c +++ b/drivers/net/wireless/st/cw1200/debug.c @@ -360,8 +360,8 @@ static const struct file_operations fops_wsm_dumps = { int cw1200_debug_init(struct cw1200_common *priv) { int ret = -ENOMEM; - struct cw1200_debug_priv *d = kzalloc(sizeof(struct cw1200_debug_priv), - GFP_KERNEL); + struct cw1200_debug_priv *d = kzalloc_obj(struct cw1200_debug_priv, + GFP_KERNEL); priv->debug = d; if (!d) return ret; diff --git a/drivers/net/wireless/st/cw1200/pm.c b/drivers/net/wireless/st/cw1200/pm.c index 2002e3f9fe45..ed2650b2a40b 100644 --- a/drivers/net/wireless/st/cw1200/pm.c +++ b/drivers/net/wireless/st/cw1200/pm.c @@ -207,7 +207,7 @@ int cw1200_wow_suspend(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan) wsm_set_ether_type_filter(priv, &cw1200_ether_type_filter_on.hdr); /* Allocate state */ - state = kzalloc(sizeof(struct cw1200_suspend_state), GFP_KERNEL); + state = kzalloc_obj(struct cw1200_suspend_state, GFP_KERNEL); if (!state) goto revert3; diff --git a/drivers/net/wireless/st/cw1200/queue.c b/drivers/net/wireless/st/cw1200/queue.c index a933e2c7dc2c..717da9c2cad9 100644 --- a/drivers/net/wireless/st/cw1200/queue.c +++ b/drivers/net/wireless/st/cw1200/queue.c @@ -153,8 +153,7 @@ int cw1200_queue_stats_init(struct cw1200_queue_stats *stats, spin_lock_init(&stats->lock); init_waitqueue_head(&stats->wait_link_id_empty); - stats->link_map_cache = kcalloc(map_capacity, sizeof(int), - GFP_KERNEL); + stats->link_map_cache = kzalloc_objs(int, map_capacity, GFP_KERNEL); if (!stats->link_map_cache) return -ENOMEM; @@ -180,13 +179,13 @@ int cw1200_queue_init(struct cw1200_queue *queue, spin_lock_init(&queue->lock); timer_setup(&queue->gc, cw1200_queue_gc, 0); - queue->pool = kcalloc(capacity, sizeof(struct cw1200_queue_item), - GFP_KERNEL); + queue->pool = kzalloc_objs(struct cw1200_queue_item, capacity, + GFP_KERNEL); if (!queue->pool) return -ENOMEM; - queue->link_map_cache = kcalloc(stats->map_capacity, sizeof(int), - GFP_KERNEL); + queue->link_map_cache = kzalloc_objs(int, stats->map_capacity, + GFP_KERNEL); if (!queue->link_map_cache) { kfree(queue->pool); queue->pool = NULL; diff --git a/drivers/net/wireless/st/cw1200/scan.c b/drivers/net/wireless/st/cw1200/scan.c index 1f856fbbc0ea..f0b902d2ecc1 100644 --- a/drivers/net/wireless/st/cw1200/scan.c +++ b/drivers/net/wireless/st/cw1200/scan.c @@ -225,9 +225,8 @@ void cw1200_scan_work(struct work_struct *work) scan.type = WSM_SCAN_TYPE_BACKGROUND; scan.flags = WSM_SCAN_FLAG_FORCE_BACKGROUND; } - scan.ch = kcalloc(it - priv->scan.curr, - sizeof(struct wsm_scan_ch), - GFP_KERNEL); + scan.ch = kzalloc_objs(struct wsm_scan_ch, it - priv->scan.curr, + GFP_KERNEL); if (!scan.ch) { priv->scan.status = -ENOMEM; goto fail; diff --git a/drivers/net/wireless/st/cw1200/wsm.c b/drivers/net/wireless/st/cw1200/wsm.c index 4a9e4b5d3547..0b669b2f3ef4 100644 --- a/drivers/net/wireless/st/cw1200/wsm.c +++ b/drivers/net/wireless/st/cw1200/wsm.c @@ -922,7 +922,7 @@ static int wsm_event_indication(struct cw1200_common *priv, struct wsm_buf *buf) return 0; } - event = kzalloc(sizeof(struct cw1200_wsm_event), GFP_KERNEL); + event = kzalloc_obj(struct cw1200_wsm_event, GFP_KERNEL); if (!event) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl1251/acx.c b/drivers/net/wireless/ti/wl1251/acx.c index 166efac812fe..b53ac17172c4 100644 --- a/drivers/net/wireless/ti/wl1251/acx.c +++ b/drivers/net/wireless/ti/wl1251/acx.c @@ -18,7 +18,7 @@ int wl1251_acx_frame_rates(struct wl1251 *wl, u8 ctrl_rate, u8 ctrl_mod, wl1251_debug(DEBUG_ACX, "acx frame rates"); - rates = kzalloc(sizeof(*rates), GFP_KERNEL); + rates = kzalloc_obj(*rates, GFP_KERNEL); if (!rates) return -ENOMEM; @@ -47,7 +47,7 @@ int wl1251_acx_station_id(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx dot11_station_id"); - mac = kzalloc(sizeof(*mac), GFP_KERNEL); + mac = kzalloc_obj(*mac, GFP_KERNEL); if (!mac) return -ENOMEM; @@ -67,7 +67,7 @@ int wl1251_acx_default_key(struct wl1251 *wl, u8 key_id) wl1251_debug(DEBUG_ACX, "acx dot11_default_key (%d)", key_id); - default_key = kzalloc(sizeof(*default_key), GFP_KERNEL); + default_key = kzalloc_obj(*default_key, GFP_KERNEL); if (!default_key) return -ENOMEM; @@ -95,7 +95,7 @@ int wl1251_acx_wake_up_conditions(struct wl1251 *wl, u8 wake_up_event, wl1251_debug(DEBUG_ACX, "acx wake up conditions"); - wake_up = kzalloc(sizeof(*wake_up), GFP_KERNEL); + wake_up = kzalloc_obj(*wake_up, GFP_KERNEL); if (!wake_up) return -ENOMEM; @@ -121,7 +121,7 @@ int wl1251_acx_sleep_auth(struct wl1251 *wl, u8 sleep_auth) wl1251_debug(DEBUG_ACX, "acx sleep auth"); - auth = kzalloc(sizeof(*auth), GFP_KERNEL); + auth = kzalloc_obj(*auth, GFP_KERNEL); if (!auth) return -ENOMEM; @@ -140,7 +140,7 @@ int wl1251_acx_fw_version(struct wl1251 *wl, char *buf, size_t len) wl1251_debug(DEBUG_ACX, "acx fw rev"); - rev = kzalloc(sizeof(*rev), GFP_KERNEL); + rev = kzalloc_obj(*rev, GFP_KERNEL); if (!rev) return -ENOMEM; @@ -167,7 +167,7 @@ int wl1251_acx_tx_power(struct wl1251 *wl, int power) if (power < 0 || power > 25) return -EINVAL; - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -191,7 +191,7 @@ int wl1251_acx_feature_cfg(struct wl1251 *wl, u32 data_flow_options) wl1251_debug(DEBUG_ACX, "acx feature cfg"); - feature = kzalloc(sizeof(*feature), GFP_KERNEL); + feature = kzalloc_obj(*feature, GFP_KERNEL); if (!feature) return -ENOMEM; @@ -233,7 +233,7 @@ int wl1251_acx_data_path_params(struct wl1251 *wl, wl1251_debug(DEBUG_ACX, "acx data path params"); - params = kzalloc(sizeof(*params), GFP_KERNEL); + params = kzalloc_obj(*params, GFP_KERNEL); if (!params) return -ENOMEM; @@ -279,7 +279,7 @@ int wl1251_acx_rx_msdu_life_time(struct wl1251 *wl, u32 life_time) wl1251_debug(DEBUG_ACX, "acx rx msdu life time"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -303,7 +303,7 @@ int wl1251_acx_rx_config(struct wl1251 *wl, u32 config, u32 filter) wl1251_debug(DEBUG_ACX, "acx rx config"); - rx_config = kzalloc(sizeof(*rx_config), GFP_KERNEL); + rx_config = kzalloc_obj(*rx_config, GFP_KERNEL); if (!rx_config) return -ENOMEM; @@ -329,7 +329,7 @@ int wl1251_acx_pd_threshold(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx data pd threshold"); - pd = kzalloc(sizeof(*pd), GFP_KERNEL); + pd = kzalloc_obj(*pd, GFP_KERNEL); if (!pd) return -ENOMEM; @@ -353,7 +353,7 @@ int wl1251_acx_slot(struct wl1251 *wl, enum acx_slot_type slot_time) wl1251_debug(DEBUG_ACX, "acx slot"); - slot = kzalloc(sizeof(*slot), GFP_KERNEL); + slot = kzalloc_obj(*slot, GFP_KERNEL); if (!slot) return -ENOMEM; @@ -379,7 +379,7 @@ int wl1251_acx_group_address_tbl(struct wl1251 *wl, bool enable, wl1251_debug(DEBUG_ACX, "acx group address tbl"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -405,7 +405,7 @@ int wl1251_acx_service_period_timeout(struct wl1251 *wl) struct acx_rx_timeout *rx_timeout; int ret; - rx_timeout = kzalloc(sizeof(*rx_timeout), GFP_KERNEL); + rx_timeout = kzalloc_obj(*rx_timeout, GFP_KERNEL); if (!rx_timeout) return -ENOMEM; @@ -434,7 +434,7 @@ int wl1251_acx_rts_threshold(struct wl1251 *wl, u16 rts_threshold) wl1251_debug(DEBUG_ACX, "acx rts threshold"); - rts = kzalloc(sizeof(*rts), GFP_KERNEL); + rts = kzalloc_obj(*rts, GFP_KERNEL); if (!rts) return -ENOMEM; @@ -458,7 +458,7 @@ int wl1251_acx_beacon_filter_opt(struct wl1251 *wl, bool enable_filter) wl1251_debug(DEBUG_ACX, "acx beacon filter opt"); - beacon_filter = kzalloc(sizeof(*beacon_filter), GFP_KERNEL); + beacon_filter = kzalloc_obj(*beacon_filter, GFP_KERNEL); if (!beacon_filter) return -ENOMEM; @@ -485,7 +485,7 @@ int wl1251_acx_beacon_filter_table(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx beacon filter table"); - ie_table = kzalloc(sizeof(*ie_table), GFP_KERNEL); + ie_table = kzalloc_obj(*ie_table, GFP_KERNEL); if (!ie_table) return -ENOMEM; @@ -513,7 +513,7 @@ int wl1251_acx_conn_monit_params(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx connection monitor parameters"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -540,7 +540,7 @@ int wl1251_acx_sg_enable(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx sg enable"); - pta = kzalloc(sizeof(*pta), GFP_KERNEL); + pta = kzalloc_obj(*pta, GFP_KERNEL); if (!pta) return -ENOMEM; @@ -564,7 +564,7 @@ int wl1251_acx_sg_cfg(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx sg cfg"); - param = kzalloc(sizeof(*param), GFP_KERNEL); + param = kzalloc_obj(*param, GFP_KERNEL); if (!param) return -ENOMEM; @@ -616,7 +616,7 @@ int wl1251_acx_cca_threshold(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx cca threshold"); - detection = kzalloc(sizeof(*detection), GFP_KERNEL); + detection = kzalloc_obj(*detection, GFP_KERNEL); if (!detection) return -ENOMEM; @@ -639,7 +639,7 @@ int wl1251_acx_bcn_dtim_options(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx bcn dtim options"); - bb = kzalloc(sizeof(*bb), GFP_KERNEL); + bb = kzalloc_obj(*bb, GFP_KERNEL); if (!bb) return -ENOMEM; @@ -666,7 +666,7 @@ int wl1251_acx_aid(struct wl1251 *wl, u16 aid) wl1251_debug(DEBUG_ACX, "acx aid"); - acx_aid = kzalloc(sizeof(*acx_aid), GFP_KERNEL); + acx_aid = kzalloc_obj(*acx_aid, GFP_KERNEL); if (!acx_aid) return -ENOMEM; @@ -690,7 +690,7 @@ int wl1251_acx_event_mbox_mask(struct wl1251 *wl, u32 event_mask) wl1251_debug(DEBUG_ACX, "acx event mbox mask"); - mask = kzalloc(sizeof(*mask), GFP_KERNEL); + mask = kzalloc_obj(*mask, GFP_KERNEL); if (!mask) return -ENOMEM; @@ -719,7 +719,7 @@ int wl1251_acx_low_rssi(struct wl1251 *wl, s8 threshold, u8 weight, wl1251_debug(DEBUG_ACX, "acx low rssi"); - rssi = kzalloc(sizeof(*rssi), GFP_KERNEL); + rssi = kzalloc_obj(*rssi, GFP_KERNEL); if (!rssi) return -ENOMEM; @@ -743,7 +743,7 @@ int wl1251_acx_set_preamble(struct wl1251 *wl, enum acx_preamble_type preamble) wl1251_debug(DEBUG_ACX, "acx_set_preamble"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -768,7 +768,7 @@ int wl1251_acx_cts_protect(struct wl1251 *wl, wl1251_debug(DEBUG_ACX, "acx_set_ctsprotect"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -790,7 +790,7 @@ int wl1251_acx_tsf_info(struct wl1251 *wl, u64 *mactime) struct acx_tsf_info *tsf_info; int ret; - tsf_info = kzalloc(sizeof(*tsf_info), GFP_KERNEL); + tsf_info = kzalloc_obj(*tsf_info, GFP_KERNEL); if (!tsf_info) return -ENOMEM; @@ -832,7 +832,7 @@ int wl1251_acx_mem_cfg(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx mem cfg"); - mem_conf = kzalloc(sizeof(*mem_conf), GFP_KERNEL); + mem_conf = kzalloc_obj(*mem_conf, GFP_KERNEL); if (!mem_conf) return -ENOMEM; @@ -877,7 +877,7 @@ int wl1251_acx_wr_tbtt_and_dtim(struct wl1251 *wl, u16 tbtt, u8 dtim) wl1251_debug(DEBUG_ACX, "acx tbtt and dtim"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -904,7 +904,7 @@ int wl1251_acx_bet_enable(struct wl1251 *wl, enum wl1251_acx_bet_mode mode, wl1251_debug(DEBUG_ACX, "acx bet enable"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -929,7 +929,7 @@ int wl1251_acx_arp_ip_filter(struct wl1251 *wl, bool enable, __be32 address) wl1251_debug(DEBUG_ACX, "acx arp ip filter, enable: %d", enable); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -957,7 +957,7 @@ int wl1251_acx_ac_cfg(struct wl1251 *wl, u8 ac, u8 cw_min, u16 cw_max, wl1251_debug(DEBUG_ACX, "acx ac cfg %d cw_ming %d cw_max %d " "aifs %d txop %d", ac, cw_min, cw_max, aifs, txop); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -990,7 +990,7 @@ int wl1251_acx_tid_cfg(struct wl1251 *wl, u8 queue, "ps_scheme %d ack_policy %d", queue, type, tsid, ps_scheme, ack_policy); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl1251/cmd.c b/drivers/net/wireless/ti/wl1251/cmd.c index c33ee0d4d323..19eb8806651f 100644 --- a/drivers/net/wireless/ti/wl1251/cmd.c +++ b/drivers/net/wireless/ti/wl1251/cmd.c @@ -133,7 +133,7 @@ int wl1251_cmd_vbm(struct wl1251 *wl, u8 identity, wl1251_debug(DEBUG_CMD, "cmd vbm"); - vbm = kzalloc(sizeof(*vbm), GFP_KERNEL); + vbm = kzalloc_obj(*vbm, GFP_KERNEL); if (!vbm) return -ENOMEM; @@ -169,7 +169,7 @@ int wl1251_cmd_data_path_rx(struct wl1251 *wl, u8 channel, bool enable) wl1251_debug(DEBUG_CMD, "cmd data path"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -203,7 +203,7 @@ int wl1251_cmd_data_path_tx(struct wl1251 *wl, u8 channel, bool enable) wl1251_debug(DEBUG_CMD, "cmd data path"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -233,7 +233,7 @@ int wl1251_cmd_join(struct wl1251 *wl, u8 bss_type, u8 channel, int ret, i; u8 *bssid; - join = kzalloc(sizeof(*join), GFP_KERNEL); + join = kzalloc_obj(*join, GFP_KERNEL); if (!join) return -ENOMEM; @@ -276,7 +276,7 @@ int wl1251_cmd_ps_mode(struct wl1251 *wl, u8 ps_mode) wl1251_debug(DEBUG_CMD, "cmd set ps mode"); - ps_params = kzalloc(sizeof(*ps_params), GFP_KERNEL); + ps_params = kzalloc_obj(*ps_params, GFP_KERNEL); if (!ps_params) return -ENOMEM; @@ -342,7 +342,7 @@ int wl1251_cmd_scan(struct wl1251 *wl, u8 *ssid, size_t ssid_len, WARN_ON(n_channels > SCAN_MAX_NUM_OF_CHANNELS); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -409,7 +409,7 @@ int wl1251_cmd_trigger_scan_to(struct wl1251 *wl, u32 timeout) wl1251_debug(DEBUG_CMD, "cmd trigger scan to"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl1251/debugfs.c b/drivers/net/wireless/ti/wl1251/debugfs.c index a1b778a0fda0..a68d57555318 100644 --- a/drivers/net/wireless/ti/wl1251/debugfs.c +++ b/drivers/net/wireless/ti/wl1251/debugfs.c @@ -444,7 +444,7 @@ void wl1251_debugfs_reset(struct wl1251 *wl) int wl1251_debugfs_init(struct wl1251 *wl) { - wl->stats.fw_stats = kzalloc(sizeof(*wl->stats.fw_stats), GFP_KERNEL); + wl->stats.fw_stats = kzalloc_obj(*wl->stats.fw_stats, GFP_KERNEL); if (!wl->stats.fw_stats) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl1251/event.c b/drivers/net/wireless/ti/wl1251/event.c index e945aafd88ee..6135d7c6d109 100644 --- a/drivers/net/wireless/ti/wl1251/event.c +++ b/drivers/net/wireless/ti/wl1251/event.c @@ -208,7 +208,7 @@ int wl1251_event_handle(struct wl1251 *wl, u8 mbox_num) if (mbox_num > 1) return -EINVAL; - mbox = kmalloc(sizeof(*mbox), GFP_KERNEL); + mbox = kmalloc_obj(*mbox, GFP_KERNEL); if (!mbox) { wl1251_error("can not allocate mbox buffer"); return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl1251/init.c b/drivers/net/wireless/ti/wl1251/init.c index 5663f197ea69..0d7f08f0a41a 100644 --- a/drivers/net/wireless/ti/wl1251/init.c +++ b/drivers/net/wireless/ti/wl1251/init.c @@ -194,8 +194,7 @@ int wl1251_hw_init_mem_config(struct wl1251 *wl) if (ret < 0) return ret; - wl->target_mem_map = kzalloc(sizeof(struct wl1251_acx_mem_map), - GFP_KERNEL); + wl->target_mem_map = kzalloc_obj(struct wl1251_acx_mem_map, GFP_KERNEL); if (!wl->target_mem_map) { wl1251_error("couldn't allocate target memory map"); return -ENOMEM; @@ -261,7 +260,7 @@ static int wl1251_hw_init_tx_queue_config(struct wl1251 *wl) wl1251_debug(DEBUG_ACX, "acx tx queue config"); - config = kzalloc(sizeof(*config), GFP_KERNEL); + config = kzalloc_obj(*config, GFP_KERNEL); if (!config) { ret = -ENOMEM; goto out; @@ -294,8 +293,8 @@ static int wl1251_hw_init_data_path_config(struct wl1251 *wl) int ret; /* asking for the data path parameters */ - wl->data_path = kzalloc(sizeof(struct acx_data_path_params_resp), - GFP_KERNEL); + wl->data_path = kzalloc_obj(struct acx_data_path_params_resp, + GFP_KERNEL); if (!wl->data_path) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl1251/io.c b/drivers/net/wireless/ti/wl1251/io.c index e8d567af74b4..84d497ebc7f2 100644 --- a/drivers/net/wireless/ti/wl1251/io.c +++ b/drivers/net/wireless/ti/wl1251/io.c @@ -123,7 +123,7 @@ void wl1251_set_partition(struct wl1251 *wl, { struct wl1251_partition_set *partition; - partition = kmalloc(sizeof(*partition), GFP_KERNEL); + partition = kmalloc_obj(*partition, GFP_KERNEL); if (!partition) { wl1251_error("can not allocate partition buffer"); return; diff --git a/drivers/net/wireless/ti/wl1251/main.c b/drivers/net/wireless/ti/wl1251/main.c index 69fc51f183ad..0a5ec19f8abc 100644 --- a/drivers/net/wireless/ti/wl1251/main.c +++ b/drivers/net/wireless/ti/wl1251/main.c @@ -725,7 +725,7 @@ static u64 wl1251_op_prepare_multicast(struct ieee80211_hw *hw, if (unlikely(wl->state == WL1251_STATE_OFF)) return 0; - fp = kzalloc(sizeof(*fp), GFP_ATOMIC); + fp = kzalloc_obj(*fp, GFP_ATOMIC); if (!fp) { wl1251_error("Out of memory setting filters."); return 0; @@ -878,7 +878,7 @@ static int wl1251_op_set_key(struct ieee80211_hw *hw, enum set_key_cmd cmd, wl1251_debug(DEBUG_MAC80211, "mac80211 set key"); - wl_cmd = kzalloc(sizeof(*wl_cmd), GFP_KERNEL); + wl_cmd = kzalloc_obj(*wl_cmd, GFP_KERNEL); if (!wl_cmd) { ret = -ENOMEM; goto out; @@ -1640,7 +1640,7 @@ struct ieee80211_hw *wl1251_alloc_hw(void) wl->tx_mgmt_frm_rate = DEFAULT_HW_GEN_TX_RATE; wl->tx_mgmt_frm_mod = DEFAULT_HW_GEN_MODULATION_TYPE; - wl->rx_descriptor = kmalloc(sizeof(*wl->rx_descriptor), GFP_KERNEL); + wl->rx_descriptor = kmalloc_obj(*wl->rx_descriptor, GFP_KERNEL); if (!wl->rx_descriptor) { wl1251_error("could not allocate memory for rx descriptor"); ieee80211_free_hw(hw); diff --git a/drivers/net/wireless/ti/wl1251/sdio.c b/drivers/net/wireless/ti/wl1251/sdio.c index b45050243129..1ba35c9fb34b 100644 --- a/drivers/net/wireless/ti/wl1251/sdio.c +++ b/drivers/net/wireless/ti/wl1251/sdio.c @@ -204,7 +204,7 @@ static int wl1251_sdio_probe(struct sdio_func *func, wl = hw->priv; - wl_sdio = kzalloc(sizeof(*wl_sdio), GFP_KERNEL); + wl_sdio = kzalloc_obj(*wl_sdio, GFP_KERNEL); if (wl_sdio == NULL) { ret = -ENOMEM; goto out_free_hw; diff --git a/drivers/net/wireless/ti/wl1251/tx.c b/drivers/net/wireless/ti/wl1251/tx.c index adb4840b0489..acd4834d8a54 100644 --- a/drivers/net/wireless/ti/wl1251/tx.c +++ b/drivers/net/wireless/ti/wl1251/tx.c @@ -451,7 +451,7 @@ void wl1251_tx_complete(struct wl1251 *wl) if (unlikely(wl->state != WL1251_STATE_ON)) return; - result = kmalloc_array(FW_TX_CMPLT_BLOCK_SIZE, sizeof(*result), GFP_KERNEL); + result = kmalloc_objs(*result, FW_TX_CMPLT_BLOCK_SIZE, GFP_KERNEL); if (!result) { wl1251_error("can not allocate result buffer"); return; diff --git a/drivers/net/wireless/ti/wl12xx/acx.c b/drivers/net/wireless/ti/wl12xx/acx.c index fb830d01b8ff..74e16f8c8b22 100644 --- a/drivers/net/wireless/ti/wl12xx/acx.c +++ b/drivers/net/wireless/ti/wl12xx/acx.c @@ -17,7 +17,7 @@ int wl1271_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap) struct wl1271_acx_host_config_bitmap *bitmap_conf; int ret; - bitmap_conf = kzalloc(sizeof(*bitmap_conf), GFP_KERNEL); + bitmap_conf = kzalloc_obj(*bitmap_conf, GFP_KERNEL); if (!bitmap_conf) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/ti/wl12xx/cmd.c b/drivers/net/wireless/ti/wl12xx/cmd.c index 17434b3bb10b..d57f420baa60 100644 --- a/drivers/net/wireless/ti/wl12xx/cmd.c +++ b/drivers/net/wireless/ti/wl12xx/cmd.c @@ -22,7 +22,7 @@ int wl1271_cmd_ext_radio_parms(struct wl1271 *wl) if (!wl->nvs) return -ENODEV; - ext_radio_parms = kzalloc(sizeof(*ext_radio_parms), GFP_KERNEL); + ext_radio_parms = kzalloc_obj(*ext_radio_parms, GFP_KERNEL); if (!ext_radio_parms) return -ENOMEM; @@ -63,7 +63,7 @@ int wl1271_cmd_general_parms(struct wl1271 *wl) return -EINVAL; } - gen_parms = kzalloc(sizeof(*gen_parms), GFP_KERNEL); + gen_parms = kzalloc_obj(*gen_parms, GFP_KERNEL); if (!gen_parms) return -ENOMEM; @@ -130,7 +130,7 @@ int wl128x_cmd_general_parms(struct wl1271 *wl) return -EINVAL; } - gen_parms = kzalloc(sizeof(*gen_parms), GFP_KERNEL); + gen_parms = kzalloc_obj(*gen_parms, GFP_KERNEL); if (!gen_parms) return -ENOMEM; @@ -191,7 +191,7 @@ int wl1271_cmd_radio_parms(struct wl1271 *wl) if (!wl->nvs) return -ENODEV; - radio_parms = kzalloc(sizeof(*radio_parms), GFP_KERNEL); + radio_parms = kzalloc_obj(*radio_parms, GFP_KERNEL); if (!radio_parms) return -ENOMEM; @@ -235,7 +235,7 @@ int wl128x_cmd_radio_parms(struct wl1271 *wl) if (!wl->nvs) return -ENODEV; - radio_parms = kzalloc(sizeof(*radio_parms), GFP_KERNEL); + radio_parms = kzalloc_obj(*radio_parms, GFP_KERNEL); if (!radio_parms) return -ENOMEM; @@ -280,7 +280,7 @@ int wl12xx_cmd_channel_switch(struct wl1271 *wl, wl1271_debug(DEBUG_ACX, "cmd channel switch"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c index ffbf54776330..f766845e2451 100644 --- a/drivers/net/wireless/ti/wl12xx/main.c +++ b/drivers/net/wireless/ti/wl12xx/main.c @@ -1882,7 +1882,7 @@ static int wl12xx_setup(struct wl1271 *wl) wl1271_error("Invalid tcxo parameter %s", tcxo_param); } - priv->rx_mem_addr = kmalloc(sizeof(*priv->rx_mem_addr), GFP_KERNEL); + priv->rx_mem_addr = kmalloc_obj(*priv->rx_mem_addr, GFP_KERNEL); if (!priv->rx_mem_addr) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl12xx/scan.c b/drivers/net/wireless/ti/wl12xx/scan.c index 6c18e8552e4a..021c547bbab8 100644 --- a/drivers/net/wireless/ti/wl12xx/scan.c +++ b/drivers/net/wireless/ti/wl12xx/scan.c @@ -91,8 +91,8 @@ static int wl1271_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, if (!passive && wl->scan.req->n_ssids == 0) return WL1271_NOTHING_TO_SCAN; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); - trigger = kzalloc(sizeof(*trigger), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); + trigger = kzalloc_obj(*trigger, GFP_KERNEL); if (!cmd || !trigger) { ret = -ENOMEM; goto out; @@ -184,7 +184,7 @@ int wl12xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_CMD, "cmd scan stop"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -317,7 +317,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl, wl1271_debug(DEBUG_CMD, "cmd sched_scan scan config"); - cfg = kzalloc(sizeof(*cfg), GFP_KERNEL); + cfg = kzalloc_obj(*cfg, GFP_KERNEL); if (!cfg) return -ENOMEM; @@ -348,7 +348,7 @@ int wl1271_scan_sched_scan_config(struct wl1271 *wl, wl1271_debug(DEBUG_SCAN, "filter_type = %d", cfg->filter_type); - cfg_channels = kzalloc(sizeof(*cfg_channels), GFP_KERNEL); + cfg_channels = kzalloc_obj(*cfg_channels, GFP_KERNEL); if (!cfg_channels) { ret = -ENOMEM; goto out; @@ -425,7 +425,7 @@ int wl1271_scan_sched_scan_start(struct wl1271 *wl, struct wl12xx_vif *wlvif) test_bit(WLVIF_FLAG_IN_USE, &wlvif->flags)) return -EBUSY; - start = kzalloc(sizeof(*start), GFP_KERNEL); + start = kzalloc_obj(*start, GFP_KERNEL); if (!start) return -ENOMEM; @@ -465,7 +465,7 @@ void wl12xx_scan_sched_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_CMD, "cmd periodic scan stop"); /* FIXME: what to do if alloc'ing to stop fails? */ - stop = kzalloc(sizeof(*stop), GFP_KERNEL); + stop = kzalloc_obj(*stop, GFP_KERNEL); if (!stop) { wl1271_error("failed to alloc memory to send sched scan stop"); return; diff --git a/drivers/net/wireless/ti/wl18xx/acx.c b/drivers/net/wireless/ti/wl18xx/acx.c index d1deef02f43e..f29dd27814f5 100644 --- a/drivers/net/wireless/ti/wl18xx/acx.c +++ b/drivers/net/wireless/ti/wl18xx/acx.c @@ -23,7 +23,7 @@ int wl18xx_acx_host_if_cfg_bitmap(struct wl1271 *wl, u32 host_cfg_bitmap, host_cfg_bitmap, sdio_blk_size, extra_mem_blks, len_field_size); - bitmap_conf = kzalloc(sizeof(*bitmap_conf), GFP_KERNEL); + bitmap_conf = kzalloc_obj(*bitmap_conf, GFP_KERNEL); if (!bitmap_conf) { ret = -ENOMEM; goto out; @@ -54,7 +54,7 @@ int wl18xx_acx_set_checksum_state(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx checksum state"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -80,7 +80,7 @@ int wl18xx_acx_clear_statistics(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx clear statistics"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -105,7 +105,7 @@ int wl18xx_acx_peer_ht_operation_mode(struct wl1271 *wl, u8 hlid, bool wide) wl1271_debug(DEBUG_ACX, "acx peer ht operation mode hlid %d bw %d", hlid, wide); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -146,7 +146,7 @@ int wl18xx_acx_set_peer_cap(struct wl1271 *wl, "acx set cap ht_supp: %d ht_cap: %d rates: 0x%x", ht_cap->ht_supported, ht_cap->cap, rate_set); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -192,7 +192,7 @@ int wl18xx_acx_interrupt_notify_config(struct wl1271 *wl, struct wl18xx_acx_interrupt_notify *acx; int ret = 0; - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -219,7 +219,7 @@ int wl18xx_acx_rx_ba_filter(struct wl1271 *wl, bool action) struct wl18xx_acx_rx_ba_filter *acx; int ret = 0; - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -247,7 +247,7 @@ int wl18xx_acx_ap_sleep(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx config ap sleep"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -277,7 +277,7 @@ int wl18xx_acx_dynamic_fw_traces(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx dynamic fw traces config %d", wl->dynamic_fw_traces); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -305,7 +305,7 @@ int wl18xx_acx_time_sync_cfg(struct wl1271 *wl) wl->conf.sg.params[WL18XX_CONF_SG_TIME_SYNC], wl->zone_master_mac_addr); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/ti/wl18xx/cmd.c b/drivers/net/wireless/ti/wl18xx/cmd.c index 5f8620d90052..5a1dc648fd57 100644 --- a/drivers/net/wireless/ti/wl18xx/cmd.c +++ b/drivers/net/wireless/ti/wl18xx/cmd.c @@ -22,7 +22,7 @@ int wl18xx_cmd_channel_switch(struct wl1271 *wl, wl1271_debug(DEBUG_ACX, "cmd channel switch (count=%d)", ch_switch->count); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -78,7 +78,7 @@ int wl18xx_cmd_smart_config_start(struct wl1271 *wl, u32 group_bitmap) wl1271_debug(DEBUG_CMD, "cmd smart config start group_bitmap=0x%x", group_bitmap); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -105,7 +105,7 @@ int wl18xx_cmd_smart_config_stop(struct wl1271 *wl) wl1271_debug(DEBUG_CMD, "cmd smart config stop"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -137,7 +137,7 @@ int wl18xx_cmd_smart_config_set_group_key(struct wl1271 *wl, u16 group_id, return -E2BIG; } - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -167,7 +167,7 @@ int wl18xx_cmd_set_cac(struct wl1271 *wl, struct wl12xx_vif *wlvif, bool start) wl1271_debug(DEBUG_CMD, "cmd cac (channel %d) %s", wlvif->channel, start ? "start" : "stop"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -198,7 +198,7 @@ int wl18xx_cmd_radar_detection_debug(struct wl1271 *wl, u8 channel) wl1271_debug(DEBUG_CMD, "cmd radar detection debug (chan %d)", channel); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -224,7 +224,7 @@ int wl18xx_cmd_dfs_master_restart(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_CMD, "cmd dfs master restart (role %d)", wlvif->role_id); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wl18xx/scan.c b/drivers/net/wireless/ti/wl18xx/scan.c index d9f4b715abf6..7e61403aa374 100644 --- a/drivers/net/wireless/ti/wl18xx/scan.c +++ b/drivers/net/wireless/ti/wl18xx/scan.c @@ -31,7 +31,7 @@ static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, struct wlcore_scan_channels *cmd_channels = NULL; int ret; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -67,7 +67,7 @@ static int wl18xx_scan_send(struct wl1271 *wl, struct wl12xx_vif *wlvif, /* configure channels */ WARN_ON(req->n_ssids > 1); - cmd_channels = kzalloc(sizeof(*cmd_channels), GFP_KERNEL); + cmd_channels = kzalloc_obj(*cmd_channels, GFP_KERNEL); if (!cmd_channels) { ret = -ENOMEM; goto out; @@ -169,7 +169,7 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl, if (filter_type < 0) return filter_type; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -201,7 +201,7 @@ int wl18xx_scan_sched_scan_config(struct wl1271 *wl, /* don't stop scanning automatically when something is found */ cmd->terminate_after = 0; - cmd_channels = kzalloc(sizeof(*cmd_channels), GFP_KERNEL); + cmd_channels = kzalloc_obj(*cmd_channels, GFP_KERNEL); if (!cmd_channels) { ret = -ENOMEM; goto out; @@ -301,7 +301,7 @@ static int __wl18xx_scan_stop(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_CMD, "cmd periodic scan stop"); - stop = kzalloc(sizeof(*stop), GFP_KERNEL); + stop = kzalloc_obj(*stop, GFP_KERNEL); if (!stop) { wl1271_error("failed to alloc memory to send sched scan stop"); return -ENOMEM; diff --git a/drivers/net/wireless/ti/wlcore/acx.c b/drivers/net/wireless/ti/wlcore/acx.c index e820fe694121..65d1df37828d 100644 --- a/drivers/net/wireless/ti/wlcore/acx.c +++ b/drivers/net/wireless/ti/wlcore/acx.c @@ -28,7 +28,7 @@ int wl1271_acx_wake_up_conditions(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx wake up conditions (wake_up_event %d listen_interval %d)", wake_up_event, listen_interval); - wake_up = kzalloc(sizeof(*wake_up), GFP_KERNEL); + wake_up = kzalloc_obj(*wake_up, GFP_KERNEL); if (!wake_up) { ret = -ENOMEM; goto out; @@ -57,7 +57,7 @@ int wl1271_acx_sleep_auth(struct wl1271 *wl, u8 sleep_auth) wl1271_debug(DEBUG_ACX, "acx sleep auth %d", sleep_auth); - auth = kzalloc(sizeof(*auth), GFP_KERNEL); + auth = kzalloc_obj(*auth, GFP_KERNEL); if (!auth) { ret = -ENOMEM; goto out; @@ -90,7 +90,7 @@ int wl1271_acx_tx_power(struct wl1271 *wl, struct wl12xx_vif *wlvif, if (power < 0 || power > 25) return -EINVAL; - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -117,7 +117,7 @@ int wl1271_acx_feature_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_ACX, "acx feature cfg"); - feature = kzalloc(sizeof(*feature), GFP_KERNEL); + feature = kzalloc_obj(*feature, GFP_KERNEL); if (!feature) { ret = -ENOMEM; goto out; @@ -162,7 +162,7 @@ int wl1271_acx_rx_msdu_life_time(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx rx msdu life time"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -189,7 +189,7 @@ int wl1271_acx_slot(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx slot"); - slot = kzalloc(sizeof(*slot), GFP_KERNEL); + slot = kzalloc_obj(*slot, GFP_KERNEL); if (!slot) { ret = -ENOMEM; goto out; @@ -218,7 +218,7 @@ int wl1271_acx_group_address_tbl(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx group address tbl"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -248,7 +248,7 @@ int wl1271_acx_service_period_timeout(struct wl1271 *wl, struct acx_rx_timeout *rx_timeout; int ret; - rx_timeout = kzalloc(sizeof(*rx_timeout), GFP_KERNEL); + rx_timeout = kzalloc_obj(*rx_timeout, GFP_KERNEL); if (!rx_timeout) { ret = -ENOMEM; goto out; @@ -288,7 +288,7 @@ int wl1271_acx_rts_threshold(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx rts threshold: %d", rts_threshold); - rts = kzalloc(sizeof(*rts), GFP_KERNEL); + rts = kzalloc_obj(*rts, GFP_KERNEL); if (!rts) { ret = -ENOMEM; goto out; @@ -316,7 +316,7 @@ int wl1271_acx_dco_itrim_params(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx dco itrim parameters"); - dco = kzalloc(sizeof(*dco), GFP_KERNEL); + dco = kzalloc_obj(*dco, GFP_KERNEL); if (!dco) { ret = -ENOMEM; goto out; @@ -350,7 +350,7 @@ int wl1271_acx_beacon_filter_opt(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl->conf.conn.bcn_filt_mode == CONF_BCN_FILT_MODE_DISABLED) goto out; - beacon_filter = kzalloc(sizeof(*beacon_filter), GFP_KERNEL); + beacon_filter = kzalloc_obj(*beacon_filter, GFP_KERNEL); if (!beacon_filter) { ret = -ENOMEM; goto out; @@ -387,7 +387,7 @@ int wl1271_acx_beacon_filter_table(struct wl1271 *wl, wl1271_debug(DEBUG_ACX, "acx beacon filter table"); - ie_table = kzalloc(sizeof(*ie_table), GFP_KERNEL); + ie_table = kzalloc_obj(*ie_table, GFP_KERNEL); if (!ie_table) { ret = -ENOMEM; goto out; @@ -446,7 +446,7 @@ int wl1271_acx_conn_monit_params(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx connection monitor parameters: %s", enable ? "enabled" : "disabled"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -482,7 +482,7 @@ int wl1271_acx_sg_enable(struct wl1271 *wl, bool enable) wl1271_debug(DEBUG_ACX, "acx sg enable"); - pta = kzalloc(sizeof(*pta), GFP_KERNEL); + pta = kzalloc_obj(*pta, GFP_KERNEL); if (!pta) { ret = -ENOMEM; goto out; @@ -512,7 +512,7 @@ int wl12xx_acx_sg_cfg(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx sg cfg"); - param = kzalloc(sizeof(*param), GFP_KERNEL); + param = kzalloc_obj(*param, GFP_KERNEL); if (!param) { ret = -ENOMEM; goto out; @@ -541,7 +541,7 @@ int wl1271_acx_cca_threshold(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx cca threshold"); - detection = kzalloc(sizeof(*detection), GFP_KERNEL); + detection = kzalloc_obj(*detection, GFP_KERNEL); if (!detection) { ret = -ENOMEM; goto out; @@ -567,7 +567,7 @@ int wl1271_acx_bcn_dtim_options(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_ACX, "acx bcn dtim options"); - bb = kzalloc(sizeof(*bb), GFP_KERNEL); + bb = kzalloc_obj(*bb, GFP_KERNEL); if (!bb) { ret = -ENOMEM; goto out; @@ -597,7 +597,7 @@ int wl1271_acx_aid(struct wl1271 *wl, struct wl12xx_vif *wlvif, u16 aid) wl1271_debug(DEBUG_ACX, "acx aid"); - acx_aid = kzalloc(sizeof(*acx_aid), GFP_KERNEL); + acx_aid = kzalloc_obj(*acx_aid, GFP_KERNEL); if (!acx_aid) { ret = -ENOMEM; goto out; @@ -624,7 +624,7 @@ int wl1271_acx_event_mbox_mask(struct wl1271 *wl, u32 event_mask) wl1271_debug(DEBUG_ACX, "acx event mbox mask"); - mask = kzalloc(sizeof(*mask), GFP_KERNEL); + mask = kzalloc_obj(*mask, GFP_KERNEL); if (!mask) { ret = -ENOMEM; goto out; @@ -654,7 +654,7 @@ int wl1271_acx_set_preamble(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx_set_preamble"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -682,7 +682,7 @@ int wl1271_acx_cts_protect(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx_set_ctsprotect"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -727,7 +727,7 @@ int wl1271_acx_sta_rate_policies(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_ACX, "acx rate policies"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; @@ -798,7 +798,7 @@ int wl1271_acx_ap_rate_policy(struct wl1271 *wl, struct conf_tx_rate_class *c, wl1271_debug(DEBUG_ACX, "acx ap rate policy %d rates 0x%x", idx, c->enabled_rates); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -831,7 +831,7 @@ int wl1271_acx_ac_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx ac cfg %d cw_ming %d cw_max %d " "aifs %d txop %d", ac, cw_min, cw_max, aifsn, txop); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; @@ -866,7 +866,7 @@ int wl1271_acx_tid_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx tid config"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; @@ -907,7 +907,7 @@ int wl1271_acx_frag_threshold(struct wl1271 *wl, u32 frag_threshold) wl1271_debug(DEBUG_ACX, "acx frag threshold: %d", frag_threshold); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; @@ -933,7 +933,7 @@ int wl1271_acx_tx_config_options(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx tx config options"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; @@ -961,7 +961,7 @@ int wl12xx_acx_mem_cfg(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "wl1271 mem cfg"); - mem_conf = kzalloc(sizeof(*mem_conf), GFP_KERNEL); + mem_conf = kzalloc_obj(*mem_conf, GFP_KERNEL); if (!mem_conf) { ret = -ENOMEM; goto out; @@ -998,8 +998,7 @@ int wl1271_acx_init_mem_config(struct wl1271 *wl) { int ret; - wl->target_mem_map = kzalloc(sizeof(struct wl1271_acx_mem_map), - GFP_KERNEL); + wl->target_mem_map = kzalloc_obj(struct wl1271_acx_mem_map, GFP_KERNEL); if (!wl->target_mem_map) { wl1271_error("couldn't allocate target memory map"); return -ENOMEM; @@ -1032,7 +1031,7 @@ int wl1271_acx_init_rx_interrupt(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "wl1271 rx interrupt config"); - rx_conf = kzalloc(sizeof(*rx_conf), GFP_KERNEL); + rx_conf = kzalloc_obj(*rx_conf, GFP_KERNEL); if (!rx_conf) { ret = -ENOMEM; goto out; @@ -1066,7 +1065,7 @@ int wl1271_acx_bet_enable(struct wl1271 *wl, struct wl12xx_vif *wlvif, if (enable && wl->conf.conn.bet_enable == CONF_BET_MODE_DISABLE) goto out; - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1095,7 +1094,7 @@ int wl1271_acx_arp_ip_filter(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx arp ip filter, enable: %d", enable); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1128,7 +1127,7 @@ int wl1271_acx_pm_config(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx pm config"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1157,7 +1156,7 @@ int wl1271_acx_keep_alive_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx keep alive mode: %d", enable); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1185,7 +1184,7 @@ int wl1271_acx_keep_alive_config(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx keep alive config"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1217,7 +1216,7 @@ int wl1271_acx_rssi_snr_trigger(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx rssi snr trigger"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1259,7 +1258,7 @@ int wl1271_acx_rssi_snr_avg_weights(struct wl1271 *wl, wl1271_debug(DEBUG_ACX, "acx rssi snr avg weights"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1294,7 +1293,7 @@ int wl1271_acx_set_ht_capabilities(struct wl1271 *wl, "sta supp: %d sta cap: %d", ht_cap->ht_supported, ht_cap->cap); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1340,7 +1339,7 @@ int wl1271_acx_set_ht_information(struct wl1271 *wl, wl1271_debug(DEBUG_ACX, "acx ht information setting"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1376,7 +1375,7 @@ int wl12xx_acx_set_ba_initiator_policy(struct wl1271 *wl, wl1271_debug(DEBUG_ACX, "acx ba initiator policy"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1412,7 +1411,7 @@ int wl12xx_acx_set_ba_receiver_session(struct wl1271 *wl, u8 tid_index, wl1271_debug(DEBUG_ACX, "acx ba receiver session setting"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1451,7 +1450,7 @@ int wl12xx_acx_tsf_info(struct wl1271 *wl, struct wl12xx_vif *wlvif, struct wl12xx_acx_fw_tsf_information *tsf_info; int ret; - tsf_info = kzalloc(sizeof(*tsf_info), GFP_KERNEL); + tsf_info = kzalloc_obj(*tsf_info, GFP_KERNEL); if (!tsf_info) { ret = -ENOMEM; goto out; @@ -1483,7 +1482,7 @@ int wl1271_acx_ps_rx_streaming(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx ps rx streaming"); - rx_streaming = kzalloc(sizeof(*rx_streaming), GFP_KERNEL); + rx_streaming = kzalloc_obj(*rx_streaming, GFP_KERNEL); if (!rx_streaming) { ret = -ENOMEM; goto out; @@ -1530,7 +1529,7 @@ int wl1271_acx_ap_max_tx_retry(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_ACX, "acx ap max tx retry"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -1555,7 +1554,7 @@ int wl12xx_acx_config_ps(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_ACX, "acx config ps"); - config_ps = kzalloc(sizeof(*config_ps), GFP_KERNEL); + config_ps = kzalloc_obj(*config_ps, GFP_KERNEL); if (!config_ps) { ret = -ENOMEM; goto out; @@ -1586,7 +1585,7 @@ int wl1271_acx_set_inconnection_sta(struct wl1271 *wl, wl1271_debug(DEBUG_ACX, "acx set inconnaction sta %pM", addr); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -1612,7 +1611,7 @@ int wl1271_acx_fm_coex(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx fm coex setting"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1653,7 +1652,7 @@ int wl12xx_acx_set_rate_mgmt_params(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx set rate mgmt params"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; @@ -1695,7 +1694,7 @@ int wl12xx_acx_config_hangover(struct wl1271 *wl) wl1271_debug(DEBUG_ACX, "acx config hangover"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1735,7 +1734,7 @@ int wlcore_acx_average_rssi(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_ACX, "acx roaming statistics"); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) { ret = -ENOMEM; goto out; @@ -1767,7 +1766,7 @@ int wl1271_acx_default_rx_filter_enable(struct wl1271 *wl, bool enable, wl1271_debug(DEBUG_ACX, "acx default rx filter en: %d act: %d", enable, action); - acx = kzalloc(sizeof(*acx), GFP_KERNEL); + acx = kzalloc_obj(*acx, GFP_KERNEL); if (!acx) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wlcore/cmd.c b/drivers/net/wireless/ti/wlcore/cmd.c index 9d73ba933a16..ded64bf9c5a6 100644 --- a/drivers/net/wireless/ti/wlcore/cmd.c +++ b/drivers/net/wireless/ti/wlcore/cmd.c @@ -172,7 +172,7 @@ int wlcore_cmd_wait_for_event_or_timeout(struct wl1271 *wl, *timeout = false; - events_vector = kmalloc(sizeof(*events_vector), GFP_KERNEL | GFP_DMA); + events_vector = kmalloc_obj(*events_vector, GFP_KERNEL | GFP_DMA); if (!events_vector) return -ENOMEM; @@ -231,7 +231,7 @@ int wl12xx_cmd_role_enable(struct wl1271 *wl, u8 *addr, u8 role_type, if (WARN_ON(*role_id != WL12XX_INVALID_ROLE_ID)) return -EBUSY; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -273,7 +273,7 @@ int wl12xx_cmd_role_disable(struct wl1271 *wl, u8 *role_id) if (WARN_ON(*role_id == WL12XX_INVALID_ROLE_ID)) return -ENOENT; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -431,7 +431,7 @@ static int wl12xx_cmd_role_start_dev(struct wl1271 *wl, struct wl12xx_cmd_role_start *cmd; int ret; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -483,7 +483,7 @@ static int wl12xx_cmd_role_stop_dev(struct wl1271 *wl, if (WARN_ON(wlvif->dev_hlid == WL12XX_INVALID_LINK_ID)) return -EINVAL; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -517,7 +517,7 @@ int wl12xx_cmd_role_start_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif) u32 supported_rates; int ret; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -594,7 +594,7 @@ int wl12xx_cmd_role_stop_sta(struct wl1271 *wl, struct wl12xx_vif *wlvif) if (WARN_ON(wlvif->sta.hlid == WL12XX_INVALID_LINK_ID)) return -EINVAL; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -641,7 +641,7 @@ int wl12xx_cmd_role_start_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif) } } - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -736,7 +736,7 @@ int wl12xx_cmd_role_stop_ap(struct wl1271 *wl, struct wl12xx_vif *wlvif) struct wl12xx_cmd_role_stop *cmd; int ret; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -769,7 +769,7 @@ int wl12xx_cmd_role_start_ibss(struct wl1271 *wl, struct wl12xx_vif *wlvif) struct ieee80211_bss_conf *bss_conf = &vif->bss_conf; int ret; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -942,7 +942,7 @@ int wl1271_cmd_data_path(struct wl1271 *wl, bool enable) wl1271_debug(DEBUG_CMD, "cmd data path"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -993,7 +993,7 @@ int wl1271_cmd_ps_mode(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_CMD, "cmd set ps mode"); - ps_params = kzalloc(sizeof(*ps_params), GFP_KERNEL); + ps_params = kzalloc_obj(*ps_params, GFP_KERNEL); if (!ps_params) { ret = -ENOMEM; goto out; @@ -1028,7 +1028,7 @@ int wl1271_cmd_template_set(struct wl1271 *wl, u8 role_id, WARN_ON(buf_len > WL1271_CMD_TEMPL_MAX_SIZE); buf_len = min_t(size_t, buf_len, WL1271_CMD_TEMPL_MAX_SIZE); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1340,7 +1340,7 @@ int wl12xx_cmd_set_default_wep_key(struct wl1271 *wl, u8 id, u8 hlid) wl1271_debug(DEBUG_CMD, "cmd set_default_wep_key %d", id); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1376,7 +1376,7 @@ int wl1271_cmd_set_sta_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, if (wlvif->sta.hlid == WL12XX_INVALID_LINK_ID) return 0; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1442,7 +1442,7 @@ int wl1271_cmd_set_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, int ret = 0; u8 lid_type; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -1505,7 +1505,7 @@ int wl12xx_cmd_set_peer_state(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_CMD, "cmd set peer state (hlid=%d)", hlid); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1540,7 +1540,7 @@ int wl12xx_cmd_add_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_CMD, "cmd add peer %d", (int)hlid); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1599,7 +1599,7 @@ int wl12xx_cmd_remove_peer(struct wl1271 *wl, struct wl12xx_vif *wlvif, wl1271_debug(DEBUG_CMD, "cmd remove peer %d", (int)hlid); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1733,7 +1733,7 @@ int wlcore_cmd_regdomain_config_locked(struct wl1271 *wl) if (!memcmp(tmp_ch_bitmap, wl->reg_ch_conf_last, sizeof(tmp_ch_bitmap))) goto out; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1778,7 +1778,7 @@ int wl12xx_cmd_config_fwlog(struct wl1271 *wl) wl1271_debug(DEBUG_CMD, "cmd config firmware logger"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1810,7 +1810,7 @@ int wl12xx_cmd_stop_fwlog(struct wl1271 *wl) wl1271_debug(DEBUG_CMD, "cmd stop firmware logger"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1840,7 +1840,7 @@ static int wl12xx_cmd_roc(struct wl1271 *wl, struct wl12xx_vif *wlvif, if (WARN_ON(role_id == WL12XX_INVALID_ROLE_ID)) return -EINVAL; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1882,7 +1882,7 @@ static int wl12xx_cmd_croc(struct wl1271 *wl, u8 role_id) wl1271_debug(DEBUG_CMD, "cmd croc (%d)", role_id); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -1951,7 +1951,7 @@ int wl12xx_cmd_stop_channel_switch(struct wl1271 *wl, struct wl12xx_vif *wlvif) wl1271_debug(DEBUG_ACX, "cmd stop channel switch"); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; @@ -2055,7 +2055,7 @@ int wlcore_cmd_generic_cfg(struct wl1271 *wl, struct wl12xx_vif *wlvif, "cmd generic cfg (role %d feature %d enable %d value %d)", wlvif->role_id, feature, enable, value); - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) return -ENOMEM; diff --git a/drivers/net/wireless/ti/wlcore/init.c b/drivers/net/wireless/ti/wlcore/init.c index 03b49baa9d89..3f544a900f67 100644 --- a/drivers/net/wireless/ti/wlcore/init.c +++ b/drivers/net/wireless/ti/wlcore/init.c @@ -148,7 +148,7 @@ static int wl1271_ap_init_deauth_template(struct wl1271 *wl, int ret; u32 rate; - tmpl = kzalloc(sizeof(*tmpl), GFP_KERNEL); + tmpl = kzalloc_obj(*tmpl, GFP_KERNEL); if (!tmpl) { ret = -ENOMEM; goto out; @@ -175,7 +175,7 @@ static int wl1271_ap_init_null_template(struct wl1271 *wl, int ret; u32 rate; - nullfunc = kzalloc(sizeof(*nullfunc), GFP_KERNEL); + nullfunc = kzalloc_obj(*nullfunc, GFP_KERNEL); if (!nullfunc) { ret = -ENOMEM; goto out; @@ -208,7 +208,7 @@ static int wl1271_ap_init_qos_null_template(struct wl1271 *wl, int ret; u32 rate; - qosnull = kzalloc(sizeof(*qosnull), GFP_KERNEL); + qosnull = kzalloc_obj(*qosnull, GFP_KERNEL); if (!qosnull) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/ti/wlcore/main.c b/drivers/net/wireless/ti/wlcore/main.c index dce79bce2e3f..82e035aea874 100644 --- a/drivers/net/wireless/ti/wlcore/main.c +++ b/drivers/net/wireless/ti/wlcore/main.c @@ -1070,11 +1070,11 @@ static int wl1271_setup(struct wl1271 *wl) if (!wl->raw_fw_status) goto err; - wl->fw_status = kzalloc(sizeof(*wl->fw_status), GFP_KERNEL); + wl->fw_status = kzalloc_obj(*wl->fw_status, GFP_KERNEL); if (!wl->fw_status) goto err; - wl->tx_res_if = kzalloc(sizeof(*wl->tx_res_if), GFP_KERNEL); + wl->tx_res_if = kzalloc_obj(*wl->tx_res_if, GFP_KERNEL); if (!wl->tx_res_if) goto err; @@ -1477,7 +1477,7 @@ wl1271_validate_wowlan_pattern(struct cfg80211_pkt_pattern *p) struct wl12xx_rx_filter *wl1271_rx_filter_alloc(void) { - return kzalloc(sizeof(struct wl12xx_rx_filter), GFP_KERNEL); + return kzalloc_obj(struct wl12xx_rx_filter, GFP_KERNEL); } void wl1271_rx_filter_free(struct wl12xx_rx_filter *filter) @@ -3215,7 +3215,7 @@ static u64 wl1271_op_prepare_multicast(struct ieee80211_hw *hw, struct wl1271_filter_params *fp; struct netdev_hw_addr *ha; - fp = kzalloc(sizeof(*fp), GFP_ATOMIC); + fp = kzalloc_obj(*fp, GFP_ATOMIC); if (!fp) { wl1271_error("Out of memory setting filters."); return 0; @@ -3346,7 +3346,7 @@ static int wl1271_record_ap_key(struct wl1271 *wl, struct wl12xx_vif *wlvif, if (i == MAX_NUM_KEYS) return -EBUSY; - ap_key = kzalloc(sizeof(*ap_key), GFP_KERNEL); + ap_key = kzalloc_obj(*ap_key, GFP_KERNEL); if (!ap_key) return -ENOMEM; @@ -6459,7 +6459,7 @@ struct ieee80211_hw *wlcore_alloc_hw(size_t priv_size, u32 aggr_buf_size, goto err_fwlog; } - wl->buffer_32 = kmalloc(sizeof(*wl->buffer_32), GFP_KERNEL); + wl->buffer_32 = kmalloc_obj(*wl->buffer_32, GFP_KERNEL); if (!wl->buffer_32) { ret = -ENOMEM; goto err_mbox; diff --git a/drivers/net/wireless/ti/wlcore/scan.c b/drivers/net/wireless/ti/wlcore/scan.c index f6dc54c1dbad..7cd58bb0efb6 100644 --- a/drivers/net/wireless/ti/wlcore/scan.c +++ b/drivers/net/wireless/ti/wlcore/scan.c @@ -389,7 +389,7 @@ wlcore_scan_sched_scan_ssid_list(struct wl1271 *wl, goto out; } - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out; diff --git a/drivers/net/wireless/ti/wlcore/testmode.c b/drivers/net/wireless/ti/wlcore/testmode.c index 7c0cb1b7fef0..caca2786d07c 100644 --- a/drivers/net/wireless/ti/wlcore/testmode.c +++ b/drivers/net/wireless/ti/wlcore/testmode.c @@ -159,7 +159,7 @@ static int wl1271_tm_cmd_interrogate(struct wl1271 *wl, struct nlattr *tb[]) if (ret < 0) goto out; - cmd = kzalloc(sizeof(*cmd), GFP_KERNEL); + cmd = kzalloc_obj(*cmd, GFP_KERNEL); if (!cmd) { ret = -ENOMEM; goto out_sleep; diff --git a/drivers/net/wireless/virtual/mac80211_hwsim.c b/drivers/net/wireless/virtual/mac80211_hwsim.c index 4d9f5f87e814..f4f37f71285e 100644 --- a/drivers/net/wireless/virtual/mac80211_hwsim.c +++ b/drivers/net/wireless/virtual/mac80211_hwsim.c @@ -6489,7 +6489,7 @@ static int hwsim_new_radio_nl(struct sk_buff *msg, struct genl_info *info) if (info->attrs[HWSIM_ATTR_PMSR_SUPPORT]) { struct cfg80211_pmsr_capabilities *pmsr_capa; - pmsr_capa = kmalloc(sizeof(*pmsr_capa), GFP_KERNEL); + pmsr_capa = kmalloc_obj(*pmsr_capa, GFP_KERNEL); if (!pmsr_capa) { ret = -ENOMEM; goto out_free; diff --git a/drivers/net/wireless/virtual/virt_wifi.c b/drivers/net/wireless/virtual/virt_wifi.c index 4eae89376feb..eac81ebf9551 100644 --- a/drivers/net/wireless/virtual/virt_wifi.c +++ b/drivers/net/wireless/virtual/virt_wifi.c @@ -558,7 +558,7 @@ static int virt_wifi_newlink(struct net_device *dev, netif_stacked_transfer_operstate(priv->lowerdev, dev); SET_NETDEV_DEV(dev, &priv->lowerdev->dev); - dev->ieee80211_ptr = kzalloc(sizeof(*dev->ieee80211_ptr), GFP_KERNEL); + dev->ieee80211_ptr = kzalloc_obj(*dev->ieee80211_ptr, GFP_KERNEL); if (!dev->ieee80211_ptr) { err = -ENOMEM; diff --git a/drivers/net/wireless/zydas/zd1211rw/zd_mac.c b/drivers/net/wireless/zydas/zd1211rw/zd_mac.c index 0f6271d7259b..f5063efc8e42 100644 --- a/drivers/net/wireless/zydas/zd1211rw/zd_mac.c +++ b/drivers/net/wireless/zydas/zd1211rw/zd_mac.c @@ -722,8 +722,7 @@ static int zd_mac_config_beacon(struct ieee80211_hw *hw, struct sk_buff *beacon, /* Alloc memory for full beacon write at once. */ num_cmds = 1 + zd_chip_is_zd1211b(&mac->chip) + full_len; - ioreqs = kmalloc_array(num_cmds, sizeof(struct zd_ioreq32), - GFP_KERNEL); + ioreqs = kmalloc_objs(struct zd_ioreq32, num_cmds, GFP_KERNEL); if (!ioreqs) { r = -ENOMEM; goto out_nofree; diff --git a/drivers/net/wireless/zydas/zd1211rw/zd_rf_uw2453.c b/drivers/net/wireless/zydas/zd1211rw/zd_rf_uw2453.c index a4e7f187d82d..d15d95ff5aad 100644 --- a/drivers/net/wireless/zydas/zd1211rw/zd_rf_uw2453.c +++ b/drivers/net/wireless/zydas/zd1211rw/zd_rf_uw2453.c @@ -518,7 +518,7 @@ int zd_rf_init_uw2453(struct zd_rf *rf) /* we have our own TX integration code */ rf->update_channel_int = 0; - rf->priv = kmalloc(sizeof(struct uw2453_priv), GFP_KERNEL); + rf->priv = kmalloc_obj(struct uw2453_priv, GFP_KERNEL); if (rf->priv == NULL) return -ENOMEM; diff --git a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c index 8ee15a15f4ca..e5c3be14ae4e 100644 --- a/drivers/net/wireless/zydas/zd1211rw/zd_usb.c +++ b/drivers/net/wireless/zydas/zd1211rw/zd_usb.c @@ -752,7 +752,7 @@ static int __zd_usb_enable_rx(struct zd_usb *usb) dev_dbg_f(zd_usb_dev(usb), "\n"); r = -ENOMEM; - urbs = kcalloc(RX_URBS_COUNT, sizeof(struct urb *), GFP_KERNEL); + urbs = kzalloc_objs(struct urb *, RX_URBS_COUNT, GFP_KERNEL); if (!urbs) goto error; for (i = 0; i < RX_URBS_COUNT; i++) { diff --git a/drivers/net/wwan/iosm/iosm_ipc_imem.c b/drivers/net/wwan/iosm/iosm_ipc_imem.c index 530a3ea47a1a..f354e4514565 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_imem.c +++ b/drivers/net/wwan/iosm/iosm_ipc_imem.c @@ -1334,7 +1334,7 @@ static int ipc_imem_config(struct iosm_imem *ipc_imem) struct iosm_imem *ipc_imem_init(struct iosm_pcie *pcie, unsigned int device_id, void __iomem *mmio, struct device *dev) { - struct iosm_imem *ipc_imem = kzalloc(sizeof(*pcie->imem), GFP_KERNEL); + struct iosm_imem *ipc_imem = kzalloc_obj(*pcie->imem, GFP_KERNEL); enum ipc_mem_exec_stage stage; if (!ipc_imem) @@ -1359,8 +1359,7 @@ struct iosm_imem *ipc_imem_init(struct iosm_pcie *pcie, unsigned int device_id, goto mmio_init_fail; } - ipc_imem->ipc_task = kzalloc(sizeof(*ipc_imem->ipc_task), - GFP_KERNEL); + ipc_imem->ipc_task = kzalloc_obj(*ipc_imem->ipc_task, GFP_KERNEL); /* Create tasklet for event handling*/ if (!ipc_imem->ipc_task) diff --git a/drivers/net/wwan/iosm/iosm_ipc_mmio.c b/drivers/net/wwan/iosm/iosm_ipc_mmio.c index 6764c13530b9..3319d7423101 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_mmio.c +++ b/drivers/net/wwan/iosm/iosm_ipc_mmio.c @@ -82,7 +82,7 @@ void ipc_mmio_update_cp_capability(struct iosm_mmio *ipc_mmio) struct iosm_mmio *ipc_mmio_init(void __iomem *mmio, struct device *dev) { - struct iosm_mmio *ipc_mmio = kzalloc(sizeof(*ipc_mmio), GFP_KERNEL); + struct iosm_mmio *ipc_mmio = kzalloc_obj(*ipc_mmio, GFP_KERNEL); int retries = IPC_MMIO_EXEC_STAGE_TIMEOUT; enum ipc_mem_exec_stage stage; diff --git a/drivers/net/wwan/iosm/iosm_ipc_mux.c b/drivers/net/wwan/iosm/iosm_ipc_mux.c index b846889fcb09..d370c7b7810a 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_mux.c +++ b/drivers/net/wwan/iosm/iosm_ipc_mux.c @@ -278,7 +278,7 @@ out: struct iosm_mux *ipc_mux_init(struct ipc_mux_config *mux_cfg, struct iosm_imem *imem) { - struct iosm_mux *ipc_mux = kzalloc(sizeof(*ipc_mux), GFP_KERNEL); + struct iosm_mux *ipc_mux = kzalloc_obj(*ipc_mux, GFP_KERNEL); int i, j, ul_tds, ul_td_size; struct sk_buff_head *free_list; struct sk_buff *skb; diff --git a/drivers/net/wwan/iosm/iosm_ipc_pcie.c b/drivers/net/wwan/iosm/iosm_ipc_pcie.c index 08ff0d6ccfab..f7f693c2296a 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_pcie.c +++ b/drivers/net/wwan/iosm/iosm_ipc_pcie.c @@ -260,7 +260,7 @@ default_ret: static int ipc_pcie_probe(struct pci_dev *pci, const struct pci_device_id *pci_id) { - struct iosm_pcie *ipc_pcie = kzalloc(sizeof(*ipc_pcie), GFP_KERNEL); + struct iosm_pcie *ipc_pcie = kzalloc_obj(*ipc_pcie, GFP_KERNEL); int ret; pr_debug("Probing device 0x%X from the vendor 0x%X", pci_id->device, diff --git a/drivers/net/wwan/iosm/iosm_ipc_port.c b/drivers/net/wwan/iosm/iosm_ipc_port.c index 5d5b4183e14a..bf75d8b94682 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_port.c +++ b/drivers/net/wwan/iosm/iosm_ipc_port.c @@ -48,7 +48,7 @@ static const struct wwan_port_ops ipc_wwan_ctrl_ops = { struct iosm_cdev *ipc_port_init(struct iosm_imem *ipc_imem, struct ipc_chnl_cfg ipc_port_cfg) { - struct iosm_cdev *ipc_port = kzalloc(sizeof(*ipc_port), GFP_KERNEL); + struct iosm_cdev *ipc_port = kzalloc_obj(*ipc_port, GFP_KERNEL); enum wwan_port_type port_type = ipc_port_cfg.wwan_port_type; enum ipc_channel_id chl_id = ipc_port_cfg.id; diff --git a/drivers/net/wwan/iosm/iosm_ipc_protocol.c b/drivers/net/wwan/iosm/iosm_ipc_protocol.c index 63fc7012f09f..851a24641c35 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_protocol.c +++ b/drivers/net/wwan/iosm/iosm_ipc_protocol.c @@ -222,8 +222,8 @@ bool ipc_protocol_resume(struct iosm_protocol *ipc_protocol) struct iosm_protocol *ipc_protocol_init(struct iosm_imem *ipc_imem) { - struct iosm_protocol *ipc_protocol = - kzalloc(sizeof(*ipc_protocol), GFP_KERNEL); + struct iosm_protocol *ipc_protocol = kzalloc_obj(*ipc_protocol, + GFP_KERNEL); struct ipc_protocol_context_info *p_ci; u64 addr; diff --git a/drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c b/drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c index 4627847c6daa..f2f86f41fd10 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c +++ b/drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c @@ -69,7 +69,7 @@ static int ipc_protocol_msg_prepipe_open(struct iosm_protocol *ipc_protocol, * SKB ring is internal memory allocation for driver. No need to * re-calculate the start and end addresses. */ - skbr = kcalloc(pipe->nr_of_entries, sizeof(*skbr), GFP_ATOMIC); + skbr = kzalloc_objs(*skbr, pipe->nr_of_entries, GFP_ATOMIC); if (!skbr) return -ENOMEM; diff --git a/drivers/net/wwan/iosm/iosm_ipc_task_queue.c b/drivers/net/wwan/iosm/iosm_ipc_task_queue.c index 852a99166144..f9c1837781e5 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_task_queue.c +++ b/drivers/net/wwan/iosm/iosm_ipc_task_queue.c @@ -174,8 +174,7 @@ int ipc_task_init(struct ipc_task *ipc_task) { struct ipc_task_queue *ipc_queue = &ipc_task->ipc_queue; - ipc_task->ipc_tasklet = kzalloc(sizeof(*ipc_task->ipc_tasklet), - GFP_KERNEL); + ipc_task->ipc_tasklet = kzalloc_obj(*ipc_task->ipc_tasklet, GFP_KERNEL); if (!ipc_task->ipc_tasklet) return -ENOMEM; diff --git a/drivers/net/wwan/iosm/iosm_ipc_trace.c b/drivers/net/wwan/iosm/iosm_ipc_trace.c index 9656254c1c6c..c6368131d786 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_trace.c +++ b/drivers/net/wwan/iosm/iosm_ipc_trace.c @@ -140,7 +140,7 @@ struct iosm_trace *ipc_trace_init(struct iosm_imem *ipc_imem) ipc_imem_channel_init(ipc_imem, IPC_CTYPE_CTRL, chnl_cfg, IRQ_MOD_OFF); - ipc_trace = kzalloc(sizeof(*ipc_trace), GFP_KERNEL); + ipc_trace = kzalloc_obj(*ipc_trace, GFP_KERNEL); if (!ipc_trace) return NULL; diff --git a/drivers/net/wwan/iosm/iosm_ipc_uevent.c b/drivers/net/wwan/iosm/iosm_ipc_uevent.c index d12188ffed7e..4073b70e2457 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_uevent.c +++ b/drivers/net/wwan/iosm/iosm_ipc_uevent.c @@ -27,7 +27,7 @@ static void ipc_uevent_work(struct work_struct *data) void ipc_uevent_send(struct device *dev, char *uevent) { - struct ipc_uevent_info *info = kzalloc(sizeof(*info), GFP_ATOMIC); + struct ipc_uevent_info *info = kzalloc_obj(*info, GFP_ATOMIC); if (!info) return; diff --git a/drivers/net/wwan/iosm/iosm_ipc_wwan.c b/drivers/net/wwan/iosm/iosm_ipc_wwan.c index ff747fc79aaf..7a299b6b41c9 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_wwan.c +++ b/drivers/net/wwan/iosm/iosm_ipc_wwan.c @@ -290,7 +290,7 @@ struct iosm_wwan *ipc_wwan_init(struct iosm_imem *ipc_imem, struct device *dev) { struct iosm_wwan *ipc_wwan; - ipc_wwan = kzalloc(sizeof(*ipc_wwan), GFP_KERNEL); + ipc_wwan = kzalloc_obj(*ipc_wwan, GFP_KERNEL); if (!ipc_wwan) return NULL; diff --git a/drivers/net/wwan/mhi_wwan_ctrl.c b/drivers/net/wwan/mhi_wwan_ctrl.c index e13c0b078175..33e0dd11abde 100644 --- a/drivers/net/wwan/mhi_wwan_ctrl.c +++ b/drivers/net/wwan/mhi_wwan_ctrl.c @@ -218,7 +218,7 @@ static int mhi_wwan_ctrl_probe(struct mhi_device *mhi_dev, struct mhi_wwan_dev *mhiwwan; struct wwan_port *port; - mhiwwan = kzalloc(sizeof(*mhiwwan), GFP_KERNEL); + mhiwwan = kzalloc_obj(*mhiwwan, GFP_KERNEL); if (!mhiwwan) return -ENOMEM; diff --git a/drivers/net/wwan/t7xx/t7xx_hif_cldma.c b/drivers/net/wwan/t7xx/t7xx_hif_cldma.c index 43ac1c3f1ad0..a32378dcc392 100644 --- a/drivers/net/wwan/t7xx/t7xx_hif_cldma.c +++ b/drivers/net/wwan/t7xx/t7xx_hif_cldma.c @@ -391,7 +391,7 @@ static struct cldma_request *t7xx_alloc_rx_request(struct cldma_ctrl *md_ctrl, s struct cldma_request *req; int val; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return NULL; @@ -451,7 +451,7 @@ static struct cldma_request *t7xx_alloc_tx_request(struct cldma_ctrl *md_ctrl) { struct cldma_request *req; - req = kzalloc(sizeof(*req), GFP_KERNEL); + req = kzalloc_obj(*req, GFP_KERNEL); if (!req) return NULL; @@ -1206,7 +1206,7 @@ static int t7xx_cldma_suspend(struct t7xx_pci_dev *t7xx_dev, void *entity_param) static int t7xx_cldma_pm_init(struct cldma_ctrl *md_ctrl) { - md_ctrl->pm_entity = kzalloc(sizeof(*md_ctrl->pm_entity), GFP_KERNEL); + md_ctrl->pm_entity = kzalloc_obj(*md_ctrl->pm_entity, GFP_KERNEL); if (!md_ctrl->pm_entity) return -ENOMEM; diff --git a/drivers/net/wwan/t7xx/t7xx_state_monitor.c b/drivers/net/wwan/t7xx/t7xx_state_monitor.c index cbdbb91e8381..091d7cabd630 100644 --- a/drivers/net/wwan/t7xx/t7xx_state_monitor.c +++ b/drivers/net/wwan/t7xx/t7xx_state_monitor.c @@ -486,7 +486,8 @@ int t7xx_fsm_append_cmd(struct t7xx_fsm_ctl *ctl, enum t7xx_fsm_cmd_state cmd_id unsigned long flags; int ret; - cmd = kzalloc(sizeof(*cmd), flag & FSM_CMD_FLAG_IN_INTERRUPT ? GFP_ATOMIC : GFP_KERNEL); + cmd = kzalloc_obj(*cmd, + flag & FSM_CMD_FLAG_IN_INTERRUPT ? GFP_ATOMIC : GFP_KERNEL); if (!cmd) return -ENOMEM; @@ -532,8 +533,8 @@ int t7xx_fsm_append_event(struct t7xx_fsm_ctl *ctl, enum t7xx_fsm_event_state ev return -EINVAL; } - event = kmalloc(struct_size(event, data, length), - in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); + event = kmalloc_flex(*event, data, length, + in_interrupt() ? GFP_ATOMIC : GFP_KERNEL); if (!event) return -ENOMEM; diff --git a/drivers/net/wwan/wwan_core.c b/drivers/net/wwan/wwan_core.c index 015213b3d687..ffa222b6dce8 100644 --- a/drivers/net/wwan/wwan_core.c +++ b/drivers/net/wwan/wwan_core.c @@ -250,7 +250,7 @@ static struct wwan_device *wwan_create_dev(struct device *parent) goto done_unlock; } - wwandev = kzalloc(sizeof(*wwandev), GFP_KERNEL); + wwandev = kzalloc_obj(*wwandev, GFP_KERNEL); if (!wwandev) { wwandev = ERR_PTR(-ENOMEM); ida_free(&wwan_dev_ids, id); @@ -639,7 +639,7 @@ struct wwan_port *wwan_create_port(struct device *parent, if (IS_ERR(wwandev)) return ERR_CAST(wwandev); - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); if (!port) { err = -ENOMEM; goto error_wwandev_remove; diff --git a/drivers/net/wwan/wwan_hwsim.c b/drivers/net/wwan/wwan_hwsim.c index 8541bd58e831..55d3b2bb4061 100644 --- a/drivers/net/wwan/wwan_hwsim.c +++ b/drivers/net/wwan/wwan_hwsim.c @@ -317,7 +317,7 @@ static struct wwan_hwsim_port *wwan_hwsim_port_new(struct wwan_hwsim_dev *dev, else return ERR_PTR(-EINVAL); - port = kzalloc(sizeof(*port), GFP_KERNEL); + port = kzalloc_obj(*port, GFP_KERNEL); if (!port) return ERR_PTR(-ENOMEM); @@ -390,7 +390,7 @@ static struct wwan_hwsim_dev *wwan_hwsim_dev_new(void) struct wwan_hwsim_dev *dev; int err; - dev = kzalloc(sizeof(*dev), GFP_KERNEL); + dev = kzalloc_obj(*dev, GFP_KERNEL); if (!dev) return ERR_PTR(-ENOMEM); diff --git a/drivers/net/xen-netback/hash.c b/drivers/net/xen-netback/hash.c index c6b2eba3511b..20c2c6c5bda1 100644 --- a/drivers/net/xen-netback/hash.c +++ b/drivers/net/xen-netback/hash.c @@ -39,7 +39,7 @@ static void xenvif_add_hash(struct xenvif *vif, const u8 *tag, unsigned long flags; bool found; - new = kmalloc(sizeof(*entry), GFP_ATOMIC); + new = kmalloc_obj(*entry, GFP_ATOMIC); if (!new) return; diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index c759ebc56457..3cdb7fd659db 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c @@ -855,7 +855,7 @@ static int xenvif_mcast_add(struct xenvif *vif, const u8 *addr) return -ENOSPC; } - mcast = kzalloc(sizeof(*mcast), GFP_ATOMIC); + mcast = kzalloc_obj(*mcast, GFP_ATOMIC); if (!mcast) return -ENOMEM; diff --git a/drivers/net/xen-netback/xenbus.c b/drivers/net/xen-netback/xenbus.c index 61b547aab286..adb3967f00ee 100644 --- a/drivers/net/xen-netback/xenbus.c +++ b/drivers/net/xen-netback/xenbus.c @@ -1007,7 +1007,7 @@ static int netback_probe(struct xenbus_device *dev, int err; int sg; const char *script; - struct backend_info *be = kzalloc(sizeof(*be), GFP_KERNEL); + struct backend_info *be = kzalloc_obj(*be, GFP_KERNEL); if (!be) { xenbus_dev_fatal(dev, -ENOMEM, diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index 0969d5c9f6b7..c4e75cc53f64 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c @@ -2212,8 +2212,8 @@ static int xennet_create_queues(struct netfront_info *info, unsigned int i; int ret; - info->queues = kcalloc(*num_queues, sizeof(struct netfront_queue), - GFP_KERNEL); + info->queues = kzalloc_objs(struct netfront_queue, *num_queues, + GFP_KERNEL); if (!info->queues) return -ENOMEM; |
