diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2018-09-21 09:14:56 -0700 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-09-21 09:14:56 -0700 |
commit | eb3869c6ea51f807e4bf7692a896b6deb3d0c17e (patch) | |
tree | 19190c4d606df73958c402e8bda893d0637f534e /drivers/net | |
parent | b874c55ee2559afbb29c8499eff623b647456218 (diff) | |
parent | 708d96ef1bc028e36cb6cfc51dad1b1384629637 (diff) |
Merge "wcnss: Fix buffer overflow in wcnss_prealloc_get"
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wireless/cnss_prealloc/cnss_prealloc.c | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/net/wireless/cnss_prealloc/cnss_prealloc.c b/drivers/net/wireless/cnss_prealloc/cnss_prealloc.c index af64b3dc4da8..9eaa694570ac 100644 --- a/drivers/net/wireless/cnss_prealloc/cnss_prealloc.c +++ b/drivers/net/wireless/cnss_prealloc/cnss_prealloc.c @@ -17,6 +17,7 @@ #include <linux/wcnss_wlan.h> #include <linux/spinlock.h> #include <linux/debugfs.h> +#include <net/cnss_prealloc.h> #ifdef CONFIG_WCNSS_SKB_PRE_ALLOC #include <linux/skbuff.h> #endif @@ -34,7 +35,7 @@ static struct dentry *debug_base; struct wcnss_prealloc { int occupied; - unsigned int size; + size_t size; void *ptr; #ifdef CONFIG_SLUB_DEBUG unsigned long stack_trace[WCNSS_MAX_STACK_TRACE]; @@ -159,7 +160,7 @@ static inline void wcnss_prealloc_save_stack_trace(struct wcnss_prealloc *entry) } #endif -void *wcnss_prealloc_get(unsigned int size) +void *wcnss_prealloc_get(size_t size) { int i = 0; unsigned long flags; @@ -179,8 +180,8 @@ void *wcnss_prealloc_get(unsigned int size) } spin_unlock_irqrestore(&alloc_lock, flags); - pr_err("wcnss: %s: prealloc not available for size: %d\n", - __func__, size); + pr_err("wcnss: %s: prealloc not available for size: %zu\n", + __func__, size); return NULL; } @@ -219,8 +220,8 @@ void wcnss_prealloc_check_memory_leak(void) j++; } - pr_err("Size: %u, addr: %pK, backtrace:\n", - wcnss_allocs[i].size, wcnss_allocs[i].ptr); + pr_err("Size: %zu, addr: %pK, backtrace:\n", + wcnss_allocs[i].size, wcnss_allocs[i].ptr); print_stack_trace(&wcnss_allocs[i].trace, 1); } |