Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drivers: net: Remove remaining alloc/OOM messages

alloc failures already get standardized OOM
messages and a dump_stack.

For the affected mallocs around these OOM messages:

Converted kmallocs with multiplies to kmalloc_array.
Converted a kmalloc/memcpy to kmemdup.
Removed now unused stack variables.
Removed unnecessary parentheses.
Neatened alignment.

Signed-off-by: Joe Perches <joe@perches.com>
Acked-by: Arend van Spriel <arend@broadcom.com>
Acked-by: Marc Kleine-Budde <mkl@pengutronix.de>
Acked-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

authored by

Joe Perches and committed by
David S. Miller
14f8dc49 e9ba1039

+66 -150
+1 -3
drivers/net/can/usb/ems_usb.c
··· 1019 1019 1020 1020 dev->tx_msg_buffer = kzalloc(CPC_HEADER_SIZE + 1021 1021 sizeof(struct ems_cpc_msg), GFP_KERNEL); 1022 - if (!dev->tx_msg_buffer) { 1023 - dev_err(&intf->dev, "Couldn't alloc Tx buffer\n"); 1022 + if (!dev->tx_msg_buffer) 1024 1023 goto cleanup_intr_in_buffer; 1025 - } 1026 1024 1027 1025 usb_set_intfdata(intf, dev); 1028 1026
+15 -32
drivers/net/ethernet/amd/pcnet32.c
··· 494 494 } 495 495 memset(new_tx_ring, 0, sizeof(struct pcnet32_tx_head) * (1 << size)); 496 496 497 - new_dma_addr_list = kcalloc((1 << size), sizeof(dma_addr_t), 498 - GFP_ATOMIC); 499 - if (!new_dma_addr_list) { 500 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 497 + new_dma_addr_list = kcalloc(1 << size, sizeof(dma_addr_t), 498 + GFP_ATOMIC); 499 + if (!new_dma_addr_list) 501 500 goto free_new_tx_ring; 502 - } 503 501 504 - new_skb_list = kcalloc((1 << size), sizeof(struct sk_buff *), 505 - GFP_ATOMIC); 506 - if (!new_skb_list) { 507 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 502 + new_skb_list = kcalloc(1 << size, sizeof(struct sk_buff *), 503 + GFP_ATOMIC); 504 + if (!new_skb_list) 508 505 goto free_new_lists; 509 - } 510 506 511 507 kfree(lp->tx_skbuff); 512 508 kfree(lp->tx_dma_addr); ··· 560 564 } 561 565 memset(new_rx_ring, 0, sizeof(struct pcnet32_rx_head) * (1 << size)); 562 566 563 - new_dma_addr_list = kcalloc((1 << size), sizeof(dma_addr_t), 564 - GFP_ATOMIC); 565 - if (!new_dma_addr_list) { 566 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 567 + new_dma_addr_list = kcalloc(1 << size, sizeof(dma_addr_t), GFP_ATOMIC); 568 + if (!new_dma_addr_list) 567 569 goto free_new_rx_ring; 568 - } 569 570 570 - new_skb_list = kcalloc((1 << size), sizeof(struct sk_buff *), 571 - GFP_ATOMIC); 572 - if (!new_skb_list) { 573 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 571 + new_skb_list = kcalloc(1 << size, sizeof(struct sk_buff *), 572 + GFP_ATOMIC); 573 + if (!new_skb_list) 574 574 goto free_new_lists; 575 - } 576 575 577 576 /* first copy the current receive buffers */ 578 577 overlap = min(size, lp->rx_ring_size); ··· 1924 1933 1925 1934 lp->tx_dma_addr = kcalloc(lp->tx_ring_size, sizeof(dma_addr_t), 1926 1935 GFP_ATOMIC); 1927 - if (!lp->tx_dma_addr) { 1928 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 1936 + if (!lp->tx_dma_addr) 1929 1937 return -ENOMEM; 1930 - } 1931 1938 1932 1939 lp->rx_dma_addr = kcalloc(lp->rx_ring_size, sizeof(dma_addr_t), 1933 1940 GFP_ATOMIC); 1934 - if (!lp->rx_dma_addr) { 1935 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 1941 + if (!lp->rx_dma_addr) 1936 1942 return -ENOMEM; 1937 - } 1938 1943 1939 1944 lp->tx_skbuff = kcalloc(lp->tx_ring_size, sizeof(struct sk_buff *), 1940 1945 GFP_ATOMIC); 1941 - if (!lp->tx_skbuff) { 1942 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 1946 + if (!lp->tx_skbuff) 1943 1947 return -ENOMEM; 1944 - } 1945 1948 1946 1949 lp->rx_skbuff = kcalloc(lp->rx_ring_size, sizeof(struct sk_buff *), 1947 1950 GFP_ATOMIC); 1948 - if (!lp->rx_skbuff) { 1949 - netif_err(lp, drv, dev, "Memory allocation failed\n"); 1951 + if (!lp->rx_skbuff) 1950 1952 return -ENOMEM; 1951 - } 1952 1953 1953 1954 return 0; 1954 1955 }
+10 -15
drivers/net/ethernet/freescale/gianfar.c
··· 277 277 /* Setup the skbuff rings */ 278 278 for (i = 0; i < priv->num_tx_queues; i++) { 279 279 tx_queue = priv->tx_queue[i]; 280 - tx_queue->tx_skbuff = kmalloc(sizeof(*tx_queue->tx_skbuff) * 281 - tx_queue->tx_ring_size, 282 - GFP_KERNEL); 283 - if (!tx_queue->tx_skbuff) { 284 - netif_err(priv, ifup, ndev, 285 - "Could not allocate tx_skbuff\n"); 280 + tx_queue->tx_skbuff = 281 + kmalloc_array(tx_queue->tx_ring_size, 282 + sizeof(*tx_queue->tx_skbuff), 283 + GFP_KERNEL); 284 + if (!tx_queue->tx_skbuff) 286 285 goto cleanup; 287 - } 288 286 289 287 for (k = 0; k < tx_queue->tx_ring_size; k++) 290 288 tx_queue->tx_skbuff[k] = NULL; ··· 290 292 291 293 for (i = 0; i < priv->num_rx_queues; i++) { 292 294 rx_queue = priv->rx_queue[i]; 293 - rx_queue->rx_skbuff = kmalloc(sizeof(*rx_queue->rx_skbuff) * 294 - rx_queue->rx_ring_size, 295 - GFP_KERNEL); 296 - 297 - if (!rx_queue->rx_skbuff) { 298 - netif_err(priv, ifup, ndev, 299 - "Could not allocate rx_skbuff\n"); 295 + rx_queue->rx_skbuff = 296 + kmalloc_array(rx_queue->rx_ring_size, 297 + sizeof(*rx_queue->rx_skbuff), 298 + GFP_KERNEL); 299 + if (!rx_queue->rx_skbuff) 300 300 goto cleanup; 301 - } 302 301 303 302 for (j = 0; j < rx_queue->rx_ring_size; j++) 304 303 rx_queue->rx_skbuff[j] = NULL;
+3 -11
drivers/net/ethernet/intel/e1000/e1000_main.c
··· 1509 1509 1510 1510 size = sizeof(struct e1000_buffer) * txdr->count; 1511 1511 txdr->buffer_info = vzalloc(size); 1512 - if (!txdr->buffer_info) { 1513 - e_err(probe, "Unable to allocate memory for the Tx descriptor " 1514 - "ring\n"); 1512 + if (!txdr->buffer_info) 1515 1513 return -ENOMEM; 1516 - } 1517 1514 1518 1515 /* round up to nearest 4K */ 1519 1516 ··· 1701 1704 1702 1705 size = sizeof(struct e1000_buffer) * rxdr->count; 1703 1706 rxdr->buffer_info = vzalloc(size); 1704 - if (!rxdr->buffer_info) { 1705 - e_err(probe, "Unable to allocate memory for the Rx descriptor " 1706 - "ring\n"); 1707 + if (!rxdr->buffer_info) 1707 1708 return -ENOMEM; 1708 - } 1709 1709 1710 1710 desc_len = sizeof(struct e1000_rx_desc); 1711 1711 ··· 2246 2252 int mta_reg_count = E1000_NUM_MTA_REGISTERS; 2247 2253 u32 *mcarray = kcalloc(mta_reg_count, sizeof(u32), GFP_ATOMIC); 2248 2254 2249 - if (!mcarray) { 2250 - e_err(probe, "memory allocation failed\n"); 2255 + if (!mcarray) 2251 2256 return; 2252 - } 2253 2257 2254 2258 /* Check for Promiscuous and All Multicast modes */ 2255 2259
+2 -8
drivers/net/ethernet/intel/ixgb/ixgb_main.c
··· 708 708 709 709 size = sizeof(struct ixgb_buffer) * txdr->count; 710 710 txdr->buffer_info = vzalloc(size); 711 - if (!txdr->buffer_info) { 712 - netif_err(adapter, probe, adapter->netdev, 713 - "Unable to allocate transmit descriptor ring memory\n"); 711 + if (!txdr->buffer_info) 714 712 return -ENOMEM; 715 - } 716 713 717 714 /* round up to nearest 4K */ 718 715 ··· 794 797 795 798 size = sizeof(struct ixgb_buffer) * rxdr->count; 796 799 rxdr->buffer_info = vzalloc(size); 797 - if (!rxdr->buffer_info) { 798 - netif_err(adapter, probe, adapter->netdev, 799 - "Unable to allocate receive descriptor ring\n"); 800 + if (!rxdr->buffer_info) 800 801 return -ENOMEM; 801 - } 802 802 803 803 /* Round up to nearest 4K */ 804 804
+1 -3
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c
··· 716 716 717 717 /* Extra buffer to be shared by all DDPs for HW work around */ 718 718 buffer = kmalloc(IXGBE_FCBUFF_MIN, GFP_ATOMIC); 719 - if (!buffer) { 720 - e_err(drv, "failed to allocate extra DDP buffer\n"); 719 + if (!buffer) 721 720 return -ENOMEM; 722 - } 723 721 724 722 dma = dma_map_single(dev, buffer, IXGBE_FCBUFF_MIN, DMA_FROM_DEVICE); 725 723 if (dma_mapping_error(dev, dma)) {
-2
drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
··· 741 741 spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL); 742 742 spec_l2 = kzalloc(sizeof(*spec_l2), GFP_KERNEL); 743 743 if (!spec_l2 || !spec_l3) { 744 - en_err(priv, "Fail to alloc ethtool rule.\n"); 745 744 err = -ENOMEM; 746 745 goto free_spec; 747 746 } ··· 781 782 spec_l3 = kzalloc(sizeof(*spec_l3), GFP_KERNEL); 782 783 spec_l4 = kzalloc(sizeof(*spec_l4), GFP_KERNEL); 783 784 if (!spec_l2 || !spec_l3 || !spec_l4) { 784 - en_err(priv, "Fail to alloc ethtool rule.\n"); 785 785 err = -ENOMEM; 786 786 goto free_spec; 787 787 }
+4 -7
drivers/net/ethernet/mellanox/mlx4/en_netdev.c
··· 708 708 netdev_for_each_mc_addr(ha, dev) { 709 709 tmp = kzalloc(sizeof(struct mlx4_en_mc_list), GFP_ATOMIC); 710 710 if (!tmp) { 711 - en_err(priv, "failed to allocate multicast list\n"); 712 711 mlx4_en_clear_list(dev); 713 712 return; 714 713 } ··· 751 752 } 752 753 } 753 754 if (!found) { 754 - new_mc = kmalloc(sizeof(struct mlx4_en_mc_list), 755 + new_mc = kmemdup(src_tmp, 756 + sizeof(struct mlx4_en_mc_list), 755 757 GFP_KERNEL); 756 - if (!new_mc) { 757 - en_err(priv, "Failed to allocate current multicast list\n"); 758 + if (!new_mc) 758 759 return; 759 - } 760 - memcpy(new_mc, src_tmp, 761 - sizeof(struct mlx4_en_mc_list)); 760 + 762 761 new_mc->action = MCLIST_ADD; 763 762 list_add_tail(&new_mc->list, dst); 764 763 }
+2 -4
drivers/net/ethernet/mellanox/mlx4/en_rx.c
··· 852 852 struct mlx4_qp_context *context; 853 853 int err = 0; 854 854 855 - context = kmalloc(sizeof *context , GFP_KERNEL); 856 - if (!context) { 857 - en_err(priv, "Failed to allocate qp context\n"); 855 + context = kmalloc(sizeof(*context), GFP_KERNEL); 856 + if (!context) 858 857 return -ENOMEM; 859 - } 860 858 861 859 err = mlx4_qp_alloc(mdev->dev, qpn, qp); 862 860 if (err) {
+8 -14
drivers/net/ethernet/qlogic/qlge/qlge_main.c
··· 2920 2920 /* 2921 2921 * Allocate small buffer queue control blocks. 2922 2922 */ 2923 - rx_ring->sbq = 2924 - kmalloc(rx_ring->sbq_len * sizeof(struct bq_desc), 2925 - GFP_KERNEL); 2926 - if (rx_ring->sbq == NULL) { 2927 - netif_err(qdev, ifup, qdev->ndev, 2928 - "Small buffer queue control block allocation failed.\n"); 2923 + rx_ring->sbq = kmalloc_array(rx_ring->sbq_len, 2924 + sizeof(struct bq_desc), 2925 + GFP_KERNEL); 2926 + if (rx_ring->sbq == NULL) 2929 2927 goto err_mem; 2930 - } 2931 2928 2932 2929 ql_init_sbq_ring(qdev, rx_ring); 2933 2930 } ··· 2945 2948 /* 2946 2949 * Allocate large buffer queue control blocks. 2947 2950 */ 2948 - rx_ring->lbq = 2949 - kmalloc(rx_ring->lbq_len * sizeof(struct bq_desc), 2950 - GFP_KERNEL); 2951 - if (rx_ring->lbq == NULL) { 2952 - netif_err(qdev, ifup, qdev->ndev, 2953 - "Large buffer queue control block allocation failed.\n"); 2951 + rx_ring->lbq = kmalloc_array(rx_ring->lbq_len, 2952 + sizeof(struct bq_desc), 2953 + GFP_KERNEL); 2954 + if (rx_ring->lbq == NULL) 2954 2955 goto err_mem; 2955 - } 2956 2956 2957 2957 ql_init_lbq_ring(qdev, rx_ring); 2958 2958 }
+4 -5
drivers/net/ethernet/smsc/smsc9420.c
··· 1250 1250 1251 1251 BUG_ON(!pd->tx_ring); 1252 1252 1253 - pd->tx_buffers = kmalloc((sizeof(struct smsc9420_ring_info) * 1254 - TX_RING_SIZE), GFP_KERNEL); 1255 - if (!pd->tx_buffers) { 1256 - smsc_warn(IFUP, "Failed to allocated tx_buffers"); 1253 + pd->tx_buffers = kmalloc_array(TX_RING_SIZE, 1254 + sizeof(struct smsc9420_ring_info), 1255 + GFP_KERNEL); 1256 + if (!pd->tx_buffers) 1257 1257 return -ENOMEM; 1258 - } 1259 1258 1260 1259 /* Initialize the TX Ring */ 1261 1260 for (i = 0; i < TX_RING_SIZE; i++) {
+2 -4
drivers/net/usb/pegasus.c
··· 149 149 DECLARE_WAITQUEUE(wait, current); 150 150 151 151 buffer = kmalloc(size, GFP_KERNEL); 152 - if (!buffer) { 153 - netif_warn(pegasus, drv, pegasus->net, 154 - "out of memory in %s\n", __func__); 152 + if (!buffer) 155 153 return -ENOMEM; 156 - } 154 + 157 155 add_wait_queue(&pegasus->ctrl_wait, &wait); 158 156 set_current_state(TASK_UNINTERRUPTIBLE); 159 157 while (pegasus->flags & ETH_REGS_CHANGED)
+4 -7
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c
··· 1196 1196 1197 1197 int ath9k_rx_init(struct ath9k_htc_priv *priv) 1198 1198 { 1199 - struct ath_hw *ah = priv->ah; 1200 - struct ath_common *common = ath9k_hw_common(ah); 1201 - struct ath9k_htc_rxbuf *rxbuf; 1202 1199 int i = 0; 1203 1200 1204 1201 INIT_LIST_HEAD(&priv->rx.rxbuf); 1205 1202 spin_lock_init(&priv->rx.rxbuflock); 1206 1203 1207 1204 for (i = 0; i < ATH9K_HTC_RXBUF; i++) { 1208 - rxbuf = kzalloc(sizeof(struct ath9k_htc_rxbuf), GFP_KERNEL); 1209 - if (rxbuf == NULL) { 1210 - ath_err(common, "Unable to allocate RX buffers\n"); 1205 + struct ath9k_htc_rxbuf *rxbuf = 1206 + kzalloc(sizeof(struct ath9k_htc_rxbuf), GFP_KERNEL); 1207 + if (rxbuf == NULL) 1211 1208 goto err; 1212 - } 1209 + 1213 1210 list_add_tail(&rxbuf->list, &priv->rx.rxbuf); 1214 1211 } 1215 1212
+1 -6
drivers/net/wireless/ath/ath9k/hw.c
··· 2981 2981 struct ath_gen_timer *timer; 2982 2982 2983 2983 timer = kzalloc(sizeof(struct ath_gen_timer), GFP_KERNEL); 2984 - 2985 - if (timer == NULL) { 2986 - ath_err(ath9k_hw_common(ah), 2987 - "Failed to allocate memory for hw timer[%d]\n", 2988 - timer_index); 2984 + if (timer == NULL) 2989 2985 return NULL; 2990 - } 2991 2986 2992 2987 /* allocate a hardware generic timer slot */ 2993 2988 timer_table->timers[timer_index] = timer;
+1 -11
drivers/net/wireless/ath/ath9k/rc.c
··· 1452 1452 1453 1453 static void *ath_rate_alloc_sta(void *priv, struct ieee80211_sta *sta, gfp_t gfp) 1454 1454 { 1455 - struct ath_softc *sc = priv; 1456 - struct ath_rate_priv *rate_priv; 1457 - 1458 - rate_priv = kzalloc(sizeof(struct ath_rate_priv), gfp); 1459 - if (!rate_priv) { 1460 - ath_err(ath9k_hw_common(sc->sc_ah), 1461 - "Unable to allocate private rc structure\n"); 1462 - return NULL; 1463 - } 1464 - 1465 - return rate_priv; 1455 + return kzalloc(sizeof(struct ath_rate_priv), gfp); 1466 1456 } 1467 1457 1468 1458 static void ath_rate_free_sta(void *priv, struct ieee80211_sta *sta,
-2
drivers/net/wireless/ath/wil6210/txrx.c
··· 74 74 vring->swtail = 0; 75 75 vring->ctx = kzalloc(vring->size * sizeof(vring->ctx[0]), GFP_KERNEL); 76 76 if (!vring->ctx) { 77 - wil_err(wil, "vring_alloc [%d] failed to alloc ctx mem\n", 78 - vring->size); 79 77 vring->va = NULL; 80 78 return -ENOMEM; 81 79 }
+3 -7
drivers/net/wireless/ath/wil6210/wmi.c
··· 587 587 evt = kmalloc(ALIGN(offsetof(struct pending_wmi_event, 588 588 event.wmi) + len, 4), 589 589 GFP_KERNEL); 590 - if (!evt) { 591 - wil_err(wil, "kmalloc for WMI event (%d) failed\n", 592 - len); 590 + if (!evt) 593 591 return; 594 - } 592 + 595 593 evt->event.hdr = hdr; 596 594 cmd = (void *)&evt->event.wmi; 597 595 wil_memcpy_fromio_32(cmd, src, len); ··· 836 838 int rc; 837 839 u16 len = sizeof(struct wmi_set_appie_cmd) + ie_len; 838 840 struct wmi_set_appie_cmd *cmd = kzalloc(len, GFP_KERNEL); 839 - if (!cmd) { 840 - wil_err(wil, "kmalloc(%d) failed\n", len); 841 + if (!cmd) 841 842 return -ENOMEM; 842 - } 843 843 844 844 cmd->mgmt_frm_type = type; 845 845 /* BUG: FW API define ieLen as u8. Will fix FW */
+2 -3
drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
··· 1445 1445 1446 1446 if (bus->rxblen) 1447 1447 buf = vzalloc(bus->rxblen); 1448 - if (!buf) { 1449 - brcmf_err("no memory for control frame\n"); 1448 + if (!buf) 1450 1449 goto done; 1451 - } 1450 + 1452 1451 rbuf = bus->rxbuf; 1453 1452 pad = ((unsigned long)rbuf % BRCMF_SDALIGN); 1454 1453 if (pad)
+3 -4
drivers/net/wireless/brcm80211/brcmfmac/usb.c
··· 354 354 int i; 355 355 struct brcmf_usbreq *req, *reqs; 356 356 357 - reqs = kzalloc(sizeof(struct brcmf_usbreq) * qsize, GFP_ATOMIC); 358 - if (reqs == NULL) { 359 - brcmf_err("fail to allocate memory!\n"); 357 + reqs = kcalloc(qsize, sizeof(struct brcmf_usbreq), GFP_ATOMIC); 358 + if (reqs == NULL) 360 359 return NULL; 361 - } 360 + 362 361 req = reqs; 363 362 364 363 for (i = 0; i < qsize; i++) {
-2
drivers/net/wireless/mwl8k.c
··· 1149 1149 1150 1150 rxq->buf = kcalloc(MWL8K_RX_DESCS, sizeof(*rxq->buf), GFP_KERNEL); 1151 1151 if (rxq->buf == NULL) { 1152 - wiphy_err(hw->wiphy, "failed to alloc RX skbuff list\n"); 1153 1152 pci_free_consistent(priv->pdev, size, rxq->rxd, rxq->rxd_dma); 1154 1153 return -ENOMEM; 1155 1154 } ··· 1441 1442 1442 1443 txq->skb = kcalloc(MWL8K_TX_DESCS, sizeof(*txq->skb), GFP_KERNEL); 1443 1444 if (txq->skb == NULL) { 1444 - wiphy_err(hw->wiphy, "failed to alloc TX skbuff list\n"); 1445 1445 pci_free_consistent(priv->pdev, size, txq->txd, txq->txd_dma); 1446 1446 return -ENOMEM; 1447 1447 }