Currently, the nr_pages attribute store does not check if kstrndup() succeeded. Fix this.
Reported-by: Alan Cox <alan....@intel.com> Signed-off-by: Alexander Shishkin <alexander.shish...@linux.intel.com> Reviewed-by: Laurent Fert <laurent.f...@intel.com> --- drivers/hwtracing/intel_th/msu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/hwtracing/intel_th/msu.c b/drivers/hwtracing/intel_th/msu.c index d9d6022c5a..747ccf84bd 100644 --- a/drivers/hwtracing/intel_th/msu.c +++ b/drivers/hwtracing/intel_th/msu.c @@ -1393,6 +1393,11 @@ nr_pages_store(struct device *dev, struct device_attribute *attr, do { end = memchr(p, ',', len); s = kstrndup(p, end ? end - p : len, GFP_KERNEL); + if (!s) { + ret = -ENOMEM; + goto free_win; + } + ret = kstrtoul(s, 10, &val); kfree(s); -- 2.8.0.rc3