From: Michal Nazarewicz <mina86@mina86.com>
To: kernel-janitors@vger.kernel.org
Subject: Re: [patch] usb: gadget: f_fs: signedness bug in __ffs_func_bind_do_descs()
Date: Tue, 09 Sep 2014 13:57:26 +0000 [thread overview]
Message-ID: <xa1tmwa828xl.fsf@mina86.com> (raw)
In-Reply-To: <20140909120609.GB19760@mwanda>
On Tue, Sep 09 2014, Dan Carpenter <dan.carpenter@oracle.com> wrote:
> We need "idx" to be signed for the error handling to work.
>
> Fixes: 6d5c1c77bbf9 ('usb: gadget: f_fs: fix the redundant ep files problem')
> Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
> ---
> Btw, there is a sparse warning:
>
> drivers/usb/gadget/function/f_fs.c:401:44: warning: Variable length array is used.
>
> The risk here is that the array would be too large. I don't know the
> code well enough to say if it can be triggered, but from an outsider
> perspective it looks scary (security implications). There should be a
> comment explaining why it can't be used to overflow the 8k stack.
n in that function can be at most 4 and usb_functionfs_event is 20 bytes
long so this takes at most 80 bytes. Having said that, I can prepare
a patch that converts the array to one with compile-time size if
desired.
>
> diff --git a/drivers/usb/gadget/function/f_fs.c b/drivers/usb/gadget/function/f_fs.c
> index 0dc3552..7ad7137 100644
> --- a/drivers/usb/gadget/function/f_fs.c
> +++ b/drivers/usb/gadget/function/f_fs.c
> @@ -2393,7 +2393,8 @@ static int __ffs_func_bind_do_descs(enum ffs_entity_type type, u8 *valuep,
> struct usb_endpoint_descriptor *ds = (void *)desc;
> struct ffs_function *func = priv;
> struct ffs_ep *ffs_ep;
> - unsigned ep_desc_id, idx;
> + unsigned ep_desc_id;
> + int idx;
> static const char *speed_names[] = { "full", "high", "super" };
>
> if (type != FFS_DESCRIPTOR)
--
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of o' \,=./ `o
..o | Computer Science, Michał “mina86” Nazarewicz (o o)
ooo +--<mpn@google.com>--<xmpp:mina86@jabber.org>--ooO--(_)--Ooo--
next prev parent reply other threads:[~2014-09-09 13:57 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-09 12:06 [patch] usb: gadget: f_fs: signedness bug in __ffs_func_bind_do_descs() Dan Carpenter
2014-09-09 13:57 ` Michal Nazarewicz [this message]
2014-09-09 14:25 ` Dan Carpenter
2014-09-09 16:37 ` Michal Nazarewicz
2014-09-09 16:40 ` Felipe Balbi
2014-09-10 11:05 ` Dan Carpenter
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=xa1tmwa828xl.fsf@mina86.com \
--to=mina86@mina86.com \
--cc=kernel-janitors@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.