summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2018-09-21 09:14:56 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2018-09-21 09:14:56 -0700
commiteb3869c6ea51f807e4bf7692a896b6deb3d0c17e (patch)
tree19190c4d606df73958c402e8bda893d0637f534e /drivers/net
parentb874c55ee2559afbb29c8499eff623b647456218 (diff)
parent708d96ef1bc028e36cb6cfc51dad1b1384629637 (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.c13
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);
}