ASoC: msm-lsm-client: use kzalloc instead of kmalloc
In the ioctl function, driver allocates memory to store data internally before calling copy_to_user to copy data to user-space. It is possible that kernel internal information can be leaked to user space through this if the allocated memory is not completely overwritten with valid data. Use kzalloc to fix this. CRs-fixed: 2026045 Change-Id: I754ae2157034a135aaca4a15badf10d2567b7ed6 Signed-off-by: Bhalchandra Gajare <gajare@codeaurora.org>
This commit is contained in:
parent
1c450066c7
commit
5779144880
1 changed files with 6 additions and 6 deletions
|
@ -1312,7 +1312,7 @@ static int msm_lsm_ioctl_compat(struct snd_pcm_substream *substream,
|
|||
}
|
||||
|
||||
size = sizeof(*user) + userarg32.payload_size;
|
||||
user = kmalloc(size, GFP_KERNEL);
|
||||
user = kzalloc(size, GFP_KERNEL);
|
||||
if (!user) {
|
||||
dev_err(rtd->dev,
|
||||
"%s: Allocation failed event status size %d\n",
|
||||
|
@ -1333,7 +1333,7 @@ static int msm_lsm_ioctl_compat(struct snd_pcm_substream *substream,
|
|||
err = -EFAULT;
|
||||
}
|
||||
if (!err) {
|
||||
user32 = kmalloc(size, GFP_KERNEL);
|
||||
user32 = kzalloc(size, GFP_KERNEL);
|
||||
if (!user32) {
|
||||
dev_err(rtd->dev,
|
||||
"%s: Allocation event user status size %d\n",
|
||||
|
@ -1378,7 +1378,7 @@ static int msm_lsm_ioctl_compat(struct snd_pcm_substream *substream,
|
|||
}
|
||||
|
||||
size = sizeof(*user) + userarg32.payload_size;
|
||||
user = kmalloc(size, GFP_KERNEL);
|
||||
user = kzalloc(size, GFP_KERNEL);
|
||||
if (!user) {
|
||||
dev_err(rtd->dev,
|
||||
"%s: Allocation failed event status size %d\n",
|
||||
|
@ -1398,7 +1398,7 @@ static int msm_lsm_ioctl_compat(struct snd_pcm_substream *substream,
|
|||
err = -EFAULT;
|
||||
}
|
||||
if (!err) {
|
||||
user32 = kmalloc(size, GFP_KERNEL);
|
||||
user32 = kzalloc(size, GFP_KERNEL);
|
||||
if (!user32) {
|
||||
dev_err(rtd->dev,
|
||||
"%s: Allocation event user status size %d\n",
|
||||
|
@ -1813,7 +1813,7 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
|
|||
|
||||
size = sizeof(struct snd_lsm_event_status) +
|
||||
userarg.payload_size;
|
||||
user = kmalloc(size, GFP_KERNEL);
|
||||
user = kzalloc(size, GFP_KERNEL);
|
||||
if (!user) {
|
||||
dev_err(rtd->dev,
|
||||
"%s: Allocation failed event status size %d\n",
|
||||
|
@ -1874,7 +1874,7 @@ static int msm_lsm_ioctl(struct snd_pcm_substream *substream,
|
|||
|
||||
size = sizeof(struct snd_lsm_event_status_v3) +
|
||||
userarg.payload_size;
|
||||
user = kmalloc(size, GFP_KERNEL);
|
||||
user = kzalloc(size, GFP_KERNEL);
|
||||
if (!user) {
|
||||
dev_err(rtd->dev,
|
||||
"%s: Allocation failed event status size %d\n",
|
||||
|
|
Loading…
Add table
Reference in a new issue