From: Sergei Shtylyov <sshtylyov@mvista.com>
To: Michal Nazarewicz <m.nazarewicz@samsung.com>
Cc: linux-usb@vger.kernel.org,
David Brownell <dbrownell@users.sourceforge.net>,
Kyungmin Park <kyungmin.park@samsung.com>,
Marek Szyprowski <m.szyprowski@samsung.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH] USB: gadget: g_fs: possible invalid pointer reference bug fixed
Date: Tue, 15 Jun 2010 14:10:36 +0400 [thread overview]
Message-ID: <4C17519C.5080209@ru.mvista.com> (raw)
In-Reply-To: <f8fbee30a711b740b5875514715c3c58b4eb196c.1276170819.git.m.nazarewicz@samsung.com>
Hello.
Michal Nazarewicz wrote:
> During __gfs_do_config() some invalid pointers may be left
> in usb_configuration::interfaces array from previous calls
> to the __gfs_do_config() for the same configuration. This
> will always happen if an user space function which has
> a fewer then the last user space function registers itself.
> Composite's set_config() function that a pointer after the
> last interface in usb_configuration::interface is NULL
> unless the array is full.
> This patch makes the __gfs_do_config() make sure that if the
> usb_configuration::interface is not full then a pointer
> after the last interface is NULL.
> Signed-off-by: Michal Nazarewicz <m.nazarewicz@samsung.com>
> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
> ---
> drivers/usb/gadget/g_ffs.c | 11 +++++++++++
> 1 files changed, 11 insertions(+), 0 deletions(-)
> diff --git a/drivers/usb/gadget/g_ffs.c b/drivers/usb/gadget/g_ffs.c
> index 2f26470..da3a9e4 100644
> --- a/drivers/usb/gadget/g_ffs.c
> +++ b/drivers/usb/gadget/g_ffs.c
> @@ -392,6 +392,17 @@ static int __gfs_do_config(struct usb_configuration *c,
> if (unlikely(ret < 0))
> return ret;
>
> + /* After previous do_configs there may be some invalid
> + * pointers in c->interface array. This happens every time
> + * a user space function with fewer interfaces than a user
> + * space function that was run before the new one is run. The
> + * compasit's set_config() assumes that if there is no more
> + * then MAX_CONFIG_INTERFACES interfaces in a configuration
> + * then there is a NULL pointer after the last interface in
> + * c->interface array. We need to make sure this is true. */
According to CodingStyle, the preferred style of the multi-line comments
is this:
/*
* bla
* bla
*/
> + if (c->next_interface_id < ARRAY_SIZE(c->interface))
> + c->interface[c->next_interface_id] = NULL;
> +
> return 0;
> }
WBR, Sergei
next prev parent reply other threads:[~2010-06-15 10:17 UTC|newest]
Thread overview: 72+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-14 8:43 [PATCH] USB: gadget: g_fs: possible invalid pointer reference bug fixed Michal Nazarewicz
2010-06-15 10:10 ` Sergei Shtylyov [this message]
2010-06-16 9:30 ` Michał Nazarewicz
-- strict thread matches above, loose matches on Subject: below --
2010-06-07 12:39 [PATCHv4 00/13] USB improvements and cleanpus, g_multi install mode Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 01/13] USB: gadget: g_mass_storage: static data instead of dynamic allocation Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 02/13] USB: gadget: f_mass_storage: fsg_add() renamed to fsg_bind_config() Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 03/13] USB: gadget: f_fs: functionfs_add() renamed to functionfs_bind_config() Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 04/13] USB: gadget: composite: usb_string_ids_*() functions added Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 05/13] USB: gadget: f_fs: use usb_string_ids_n() Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 06/13] USB: gadget: g_multi: code clean up and refactoring Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 07/13] USB: gadget: g_ether: updated INF file Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 08/13] USB: gadget: g_serial: INF file updated Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 09/13] USB: gadget: g_multi: added documentation and INF files Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 10/13] USB: gadget: g_multi: more configurable Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 11/13] USB: gadget: composite: addad disconnect callback Michal Nazarewicz
2010-06-07 12:39 ` [PATCHv4 12/13] USB: gadget: f_mass_storage: added eject callback Michal Nazarewicz
2010-06-07 12:40 ` [PATCHv4 13/13] USB: gadget: g_multi: Install Mode added Michal Nazarewicz
2010-06-14 8:43 ` [PATCHv4.1 12/13] USB: gadget: f_mass_storage: added eject callback Michal Nazarewicz
2010-06-08 14:02 ` [PATCHv4 11/13] USB: gadget: composite: addad disconnect callback David Brownell
2010-06-08 13:37 ` [PATCHv4 10/13] USB: gadget: g_multi: more configurable David Brownell
2010-06-09 10:15 ` Michał Nazarewicz
2010-06-08 13:13 ` [PATCHv4 08/13] USB: gadget: g_serial: INF file updated David Brownell
2010-06-08 13:20 ` Xiaofan Chen
2010-06-09 8:55 ` Michał Nazarewicz
2010-06-09 9:29 ` Xiaofan Chen
2010-06-09 10:01 ` Michał Nazarewicz
2010-06-09 14:59 ` Greg KH
2010-06-09 15:22 ` Michał Nazarewicz
2010-06-09 15:33 ` Greg KH
2010-06-09 15:53 ` Michał Nazarewicz
2010-06-08 12:57 ` [PATCHv4 07/13] USB: gadget: g_ether: updated INF file David Brownell
2010-06-08 13:17 ` Xiaofan Chen
2010-06-14 8:43 ` [PATCHv4.1 " Michal Nazarewicz
2010-06-14 11:32 ` Xiaofan Chen
2010-06-14 19:42 ` David Brownell
2010-06-14 20:04 ` Michał Nazarewicz
2010-06-14 8:43 ` [PATCH] USB: gadget: g_fs: code cleanup and bug fixes Michal Nazarewicz
2010-06-14 8:43 ` [PATCHv4.1 01/13] USB: gadget: g_mass_storage: static data instead of dynamic allocation Michal Nazarewicz
2010-06-15 18:55 ` [PATCHv4 00/13] USB improvements and cleanpus, g_multi install mode Greg KH
2010-06-16 10:07 ` [PATCHv5 00/11] g_multi & other improvements and cleanpus Michal Nazarewicz
2010-06-16 10:07 ` [PATCHv5 01/11] USB: gadget: g_mass_storage: static data instead of dynamic allocation Michal Nazarewicz
2010-06-16 10:07 ` [PATCHv5 02/11] USB: gadget: f_mass_storage: fsg_add() renamed to fsg_bind_config() Michal Nazarewicz
2010-06-16 10:07 ` [PATCHv5 03/11] USB: gadget: f_fs: functionfs_add() renamed to functionfs_bind_config() Michal Nazarewicz
2010-06-16 10:07 ` [PATCHv5 04/11] USB: gadget: composite: usb_string_ids_*() functions added Michal Nazarewicz
2010-06-16 10:08 ` [PATCHv5 05/11] USB: gadget: f_fs: use usb_string_ids_n() Michal Nazarewicz
2010-06-16 10:08 ` [PATCHv5 06/11] USB: gadget: g_multi: code clean up and refactoring Michal Nazarewicz
2010-06-16 10:08 ` [PATCHv5 07/11] USB: gadget: g_ether: updated INF file Michal Nazarewicz
2010-06-16 10:08 ` [PATCHv5 08/11] USB: gadget: g_serial: INF file updated Michal Nazarewicz
2010-06-16 10:08 ` [PATCHv5 09/11] USB: gadget: g_multi: added documentation and INF files Michal Nazarewicz
2010-06-16 10:08 ` [PATCHv5 10/11] USB: gadget: composite: addad disconnect callback Michal Nazarewicz
2010-06-16 10:08 ` [PATCHv5 11/11] USB: gadget: f_mass_storage: added eject callback Michal Nazarewicz
2010-06-17 11:04 ` [PATCHv5 10/11] USB: gadget: composite: addad disconnect callback Sergei Shtylyov
2010-06-18 14:19 ` Sergei Shtylyov
2010-06-16 13:56 ` [PATCHv5 08/11] USB: gadget: g_serial: INF file updated David Brownell
2010-06-16 14:12 ` [PATCHv5 07/11] USB: gadget: g_ether: updated INF file David Brownell
2010-06-16 14:41 ` [PATCHv5.1 " Michal Nazarewicz
2010-06-17 17:51 ` [PATCHv5 06/11] USB: gadget: g_multi: code clean up and refactoring Greg KH
2010-06-18 10:31 ` Michał Nazarewicz
2010-06-18 14:39 ` Greg KH
2010-06-17 17:52 ` [PATCHv5 00/11] g_multi & other improvements and cleanpus Greg KH
2010-06-18 10:31 ` Michał Nazarewicz
[not found] ` <2809a031d19ac6ef793d7fe343e225b8d80099c3.1276864406.git.m.nazarewicz@samsung.com>
2010-06-18 12:48 ` [PATCHv6 07/11] USB: gadget: g_ether: updated INF file Michal Nazarewicz
2010-06-18 12:48 ` [PATCHv6 08/11] USB: gadget: g_serial: INF file updated Michal Nazarewicz
2010-06-18 12:48 ` [PATCHv6 09/11] USB: gadget: g_multi: added documentation and INF files Michal Nazarewicz
2010-06-18 12:48 ` [PATCHv6 10/11] USB: gadget: composite: added disconnect callback Michal Nazarewicz
2010-06-18 12:48 ` [PATCHv6 11/11] USB: gadget: f_mass_storage: added eject callback Michal Nazarewicz
2010-06-18 13:07 ` [PATCHv6.1 09/11] USB: gadget: g_multi: added documentation and INF files Michal Nazarewicz
2010-06-18 15:52 ` Greg KH
2010-06-18 16:14 ` Michał Nazarewicz
2010-06-18 15:04 ` [PATCHv6.1 06/11] USB: gadget: g_multi: code clean up and refactoring Michal Nazarewicz
2010-06-18 21:25 ` Sergei Shtylyov
2010-06-21 8:43 ` Michał Nazarewicz
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=4C17519C.5080209@ru.mvista.com \
--to=sshtylyov@mvista.com \
--cc=dbrownell@users.sourceforge.net \
--cc=kyungmin.park@samsung.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=m.nazarewicz@samsung.com \
--cc=m.szyprowski@samsung.com \
/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