From: Hector Martin Date: Mon, 31 Jan 2022 16:07:11 +0000 (+0900) Subject: brcmfmac: of: Use devm_kstrdup for board_type & check for errors X-Git-Tag: v6.6.17~7931^2~372^2~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9cf6d7f2c5549b47e0dbf09fd64557a4a69cbd28;p=platform%2Fkernel%2Flinux-rpi.git brcmfmac: of: Use devm_kstrdup for board_type & check for errors This was missing a NULL check, and we can collapse the strlen/alloc/copy into a devm_kstrdup(). Reviewed-by: Arend van Spriel Reviewed-by: Andy Shevchenko Signed-off-by: Hector Martin Signed-off-by: Kalle Valo Link: https://lore.kernel.org/r/20220131160713.245637-8-marcan@marcan.st --- diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c index 513c7e6..5708de1 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c @@ -79,8 +79,11 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type, /* get rid of '/' in the compatible string to be able to find the FW */ len = strlen(tmp) + 1; - board_type = devm_kzalloc(dev, len, GFP_KERNEL); - strscpy(board_type, tmp, len); + board_type = devm_kstrdup(dev, tmp, GFP_KERNEL); + if (!board_type) { + of_node_put(root); + return; + } for (i = 0; i < board_type[i]; i++) { if (board_type[i] == '/') board_type[i] = '-';