From: Hans Verkuil <hverkuil@xs4all.nl>
To: Takashi Iwai <tiwai@suse.de>, Mauro Carvalho Chehab <mchehab@kernel.org>
Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] media: cpia2: Fix integer overflow in mmap handling
Date: Fri, 10 Jan 2020 15:02:32 +0100 [thread overview]
Message-ID: <7d972b26-fea6-db75-ff07-c5bfaf98e5d2@xs4all.nl> (raw)
In-Reply-To: <20200108161619.7999-1-tiwai@suse.de>
Hi Takashi,
On 1/8/20 5:16 PM, Takashi Iwai wrote:
> The offset and size checks in cpia2_regmap_buffer() may ignore the
> integer overflow and allow local users to obtain the access to the
> kernel physical pages.
>
> Fix it by modifying the check more carefully; the size value is
> already checked beforehand and guaranteed to be smaller than
> cam->frame_size*num_frames, so it's safe to subtract in the right
> hand side.
>
> This covers CVE-2019-18675.
>
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Takashi Iwai <tiwai@suse.de>
> ---
>
> I'm submitting this since there hasn't been any action seen for this
> bug over a month. Let me know if there is already a fix. Thanks.
Read the full mail thread for the original patches:
https://patchwork.linuxtv.org/patch/60602/
https://patchwork.linuxtv.org/patch/59978/
The second has the reference to the kernel core mmap commit that prevents this
from being exploited.
Rejecting this patch for that reason.
Since this is the third time this patch pops up, I am wondering if I shouldn't
accept it anyway just to stop this. But then I want a better commit log that
points to the core commit as the *real* fix.
There is nothing wrong as such with this patch, so if someone cares to post
a new version that refers to the core commit, I'll likely accept it.
Regards,
Hans
>
>
> drivers/media/usb/cpia2/cpia2_core.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/media/usb/cpia2/cpia2_core.c b/drivers/media/usb/cpia2/cpia2_core.c
> index 20c50c2d042e..26ae7a5e3783 100644
> --- a/drivers/media/usb/cpia2/cpia2_core.c
> +++ b/drivers/media/usb/cpia2/cpia2_core.c
> @@ -2401,7 +2401,7 @@ int cpia2_remap_buffer(struct camera_data *cam, struct vm_area_struct *vma)
>
> if (size > cam->frame_size*cam->num_frames ||
> (start_offset % cam->frame_size) != 0 ||
> - (start_offset+size > cam->frame_size*cam->num_frames))
> + (start_offset > cam->frame_size*cam->num_frames - size))
> return -EINVAL;
>
> pos = ((unsigned long) (cam->frame_buffer)) + start_offset;
>
next prev parent reply other threads:[~2020-01-10 14:02 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-01-08 16:16 Takashi Iwai
2020-01-10 14:02 ` Hans Verkuil [this message]
2020-01-10 14:07 ` Takashi Iwai
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=7d972b26-fea6-db75-ff07-c5bfaf98e5d2@xs4all.nl \
--to=hverkuil@xs4all.nl \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=tiwai@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®