]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error.
authorXiubo Li <Li.Xiubo@freescale.com>
Sun, 28 Sep 2014 09:09:54 +0000 (17:09 +0800)
committerZefan Li <lizefan@huawei.com>
Mon, 2 Feb 2015 09:04:44 +0000 (17:04 +0800)
commit65b412cc6708ed1c5ce325a790a31f12f80ef6ba
tree729be8c8948a1910f194064787e052d1ce97a09a
parenta3f3ff3879234e3dc92f4a5b3e08500b0e483b2e
regmap: fix possible ZERO_SIZE_PTR pointer dereferencing error.

commit d6b41cb06044a7d895db82bdd54f6e4219970510 upstream.

Since we cannot make sure the 'val_count' will always be none zero
here, and then if it equals to zero, the kmemdup() will return
ZERO_SIZE_PTR, which equals to ((void *)16).

So this patch fix this with just doing the zero check before calling
kmemdup().

Signed-off-by: Xiubo Li <Li.Xiubo@freescale.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
[lizf: Backported to 3.4: release mutex before returning EINVAL]
Signed-off-by: Zefan Li <lizefan@huawei.com>
drivers/base/regmap/regmap.c