brcmfmac: validate user provided data for memdump before copying
authorFranky Lin <franky.lin@broadcom.com>
Wed, 16 May 2018 12:12:01 +0000 (14:12 +0200)
committerKalle Valo <kvalo@codeaurora.org>
Wed, 23 May 2018 15:51:56 +0000 (18:51 +0300)
In patch "brcmfmac: add support for sysfs initiated coredump", a new
scenario of brcmf_debug_create_memdump was added in which the user of
the function might not necessarily provide prefix data. Hence the
function should not assume the data is always valid and should perform a
check before copying.

Reviewed-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Franky Lin <franky.lin@broadcom.com>
Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/broadcom/brcm80211/brcmfmac/debug.c

index 5048320..489b5df 100644 (file)
@@ -40,7 +40,8 @@ int brcmf_debug_create_memdump(struct brcmf_bus *bus, const void *data,
        if (!dump)
                return -ENOMEM;
 
-       memcpy(dump, data, len);
+       if (data && len > 0)
+               memcpy(dump, data, len);
        err = brcmf_bus_get_memdump(bus, dump + len, ramsize);
        if (err) {
                vfree(dump);