summaryrefslogtreecommitdiff
path: root/drivers/net/can
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2026-02-20 23:49:23 -0800
committerKees Cook <kees@kernel.org>2026-02-21 01:02:28 -0800
commit69050f8d6d075dc01af7a5f2f550a8067510366f (patch)
treebb265f94d9dfa7876c06a5d9f88673d496a15341 /drivers/net/can
parentd39a1d7486d98668dd34aaa6732aad7977c45f5a (diff)
treewide: Replace kmalloc with kmalloc_obj for non-scalar types
This is the result of running the Coccinelle script from scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to avoid scalar types (which need careful case-by-case checking), and instead replace kmalloc-family calls that allocate struct or union object instances: Single allocations: kmalloc(sizeof(TYPE), ...) are replaced with: kmalloc_obj(TYPE, ...) Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...) are replaced with: kmalloc_objs(TYPE, COUNT, ...) Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...) are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...) (where TYPE may also be *VAR) The resulting allocations no longer return "void *", instead returning "TYPE *". Signed-off-by: Kees Cook <kees@kernel.org>
Diffstat (limited to 'drivers/net/can')
-rw-r--r--drivers/net/can/ctucanfd/ctucanfd_pci.c2
-rw-r--r--drivers/net/can/grcan.c3
-rw-r--r--drivers/net/can/sja1000/ems_pci.c2
-rw-r--r--drivers/net/can/sja1000/ems_pcmcia.c2
-rw-r--r--drivers/net/can/sja1000/peak_pci.c2
-rw-r--r--drivers/net/can/sja1000/peak_pcmcia.c2
-rw-r--r--drivers/net/can/sja1000/plx_pci.c2
-rw-r--r--drivers/net/can/softing/softing_cs.c2
-rw-r--r--drivers/net/can/softing/softing_main.c2
-rw-r--r--drivers/net/can/spi/mcp251xfd/mcp251xfd-core.c4
-rw-r--r--drivers/net/can/usb/esd_usb.c12
-rw-r--r--drivers/net/can/usb/f81604.c6
-rw-r--r--drivers/net/can/usb/gs_usb.c2
-rw-r--r--drivers/net/can/usb/kvaser_usb/kvaser_usb_hydra.c24
-rw-r--r--drivers/net/can/usb/kvaser_usb/kvaser_usb_leaf.c16
-rw-r--r--drivers/net/can/usb/nct6694_canfd.c6
-rw-r--r--drivers/net/can/usb/peak_usb/pcan_usb_fd.c2
-rw-r--r--drivers/net/can/usb/peak_usb/pcan_usb_pro.c7
-rw-r--r--drivers/net/can/usb/ucan.c5
19 files changed, 50 insertions, 53 deletions
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");