On 1/17/2022 3:29 PM, Hector Martin wrote: > This was missing a NULL check, and we can collapse the strlen/alloc/copy > into a devm_kstrdup(). Reviewed-by: Arend van Spriel > Signed-off-by: Hector Martin > --- > drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c | 8 ++++++-- > 1 file changed, 6 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c > index 513c7e6421b2..5dc1e942e9e7 100644 > --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c > +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c > @@ -79,8 +79,12 @@ 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) { > + brcmf_err("out of memory allocating board_type\n"); Drop the message. mm will blurb out with a stack trace providing all the info you need. > + of_node_put(root); > + return; > + } > for (i = 0; i < board_type[i]; i++) { > if (board_type[i] == '/') > board_type[i] = '-';