Loading drivers/misc/qcom/qdsp6v2/audio_hwacc_effects.c +5 −3 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ static int audio_effects_shared_ioctl(struct file *file, unsigned cmd, pr_debug("%s: dec buf size: %d, num_buf: %d, enc buf size: %d, num_buf: %d\n", __func__, effects->config.output.buf_size, effects->config.output.buf_size, effects->config.output.num_buf, effects->config.input.buf_size, effects->config.input.num_buf); rc = q6asm_audio_client_buf_alloc_contiguous(IN, effects->ac, Loading Loading @@ -251,7 +251,8 @@ static int audio_effects_shared_ioctl(struct file *file, unsigned cmd, bufptr = q6asm_is_cpu_buf_avail(IN, effects->ac, &size, &idx); if (bufptr) { if (copy_from_user(bufptr, (void *)arg, if ((effects->config.buf_cfg.output_len > size) || copy_from_user(bufptr, (void *)arg, effects->config.buf_cfg.output_len)) { rc = -EFAULT; goto ioctl_fail; Loading Loading @@ -307,7 +308,8 @@ static int audio_effects_shared_ioctl(struct file *file, unsigned cmd, rc = -EFAULT; goto ioctl_fail; } if (copy_to_user((void *)arg, bufptr, if ((effects->config.buf_cfg.input_len > size) || copy_to_user((void *)arg, bufptr, effects->config.buf_cfg.input_len)) { rc = -EFAULT; goto ioctl_fail; Loading sound/soc/msm/qdsp6v2/q6asm.c +6 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,12 @@ int q6asm_audio_client_buf_alloc_contiguous(unsigned int dir, ac->port[dir].buf = buf; /* check for integer overflow */ if ((bufcnt > 0) && ((INT_MAX / bufcnt) < bufsz)) { pr_err("%s: integer overflow\n", __func__); mutex_unlock(&ac->cmd_lock); goto fail; } bytes_to_alloc = bufsz * bufcnt; /* The size to allocate should be multiple of 4K bytes */ Loading Loading
drivers/misc/qcom/qdsp6v2/audio_hwacc_effects.c +5 −3 Original line number Diff line number Diff line Loading @@ -163,7 +163,7 @@ static int audio_effects_shared_ioctl(struct file *file, unsigned cmd, pr_debug("%s: dec buf size: %d, num_buf: %d, enc buf size: %d, num_buf: %d\n", __func__, effects->config.output.buf_size, effects->config.output.buf_size, effects->config.output.num_buf, effects->config.input.buf_size, effects->config.input.num_buf); rc = q6asm_audio_client_buf_alloc_contiguous(IN, effects->ac, Loading Loading @@ -251,7 +251,8 @@ static int audio_effects_shared_ioctl(struct file *file, unsigned cmd, bufptr = q6asm_is_cpu_buf_avail(IN, effects->ac, &size, &idx); if (bufptr) { if (copy_from_user(bufptr, (void *)arg, if ((effects->config.buf_cfg.output_len > size) || copy_from_user(bufptr, (void *)arg, effects->config.buf_cfg.output_len)) { rc = -EFAULT; goto ioctl_fail; Loading Loading @@ -307,7 +308,8 @@ static int audio_effects_shared_ioctl(struct file *file, unsigned cmd, rc = -EFAULT; goto ioctl_fail; } if (copy_to_user((void *)arg, bufptr, if ((effects->config.buf_cfg.input_len > size) || copy_to_user((void *)arg, bufptr, effects->config.buf_cfg.input_len)) { rc = -EFAULT; goto ioctl_fail; Loading
sound/soc/msm/qdsp6v2/q6asm.c +6 −0 Original line number Diff line number Diff line Loading @@ -1300,6 +1300,12 @@ int q6asm_audio_client_buf_alloc_contiguous(unsigned int dir, ac->port[dir].buf = buf; /* check for integer overflow */ if ((bufcnt > 0) && ((INT_MAX / bufcnt) < bufsz)) { pr_err("%s: integer overflow\n", __func__); mutex_unlock(&ac->cmd_lock); goto fail; } bytes_to_alloc = bufsz * bufcnt; /* The size to allocate should be multiple of 4K bytes */ Loading