* [PATCH 1/3] usbip: only dump valid port status
@ 2011-06-13 21:29 Németh Márton
2011-06-13 21:42 ` Joe Perches
2011-07-07 19:28 ` Dan Carpenter
0 siblings, 2 replies; 6+ messages in thread
From: Németh Márton @ 2011-06-13 21:29 UTC (permalink / raw)
To: Greg Kroah-Hartman, Matt Mooney, Max Vozeler, Sarah Sharp,
usbip-devel, devel
Cc: LKML
From: Márton Németh <nm127@freemail.hu>
The wIndex parameter of vhci_hub_control() is always zero when the
request type is GetHubDescriptor, see drivers/usb/core/hub.c::get_hub_descriptor()
and Universal Serial Bus Specification revision 2.0 (April 27, 2000) Section
11.24.2.5 "Get Hub Descriptor". This means the variable rhport will not contain
any useful index. Only use valid rhport values.
Signed-off-by: Márton Németh <nm127@freemail.hu>
---
drivers/staging/usbip/vhci_hcd.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
index 359b464..512a97f 100644
--- a/drivers/staging/usbip/vhci_hcd.c
+++ b/drivers/staging/usbip/vhci_hcd.c
@@ -464,8 +464,11 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
if (usbip_dbg_flag_vhci_rh) {
pr_debug("port %d\n", rhport);
- dump_port_status(prev_port_status[rhport]);
- dump_port_status(dum->port_status[rhport]);
+ /* Only dump valid port status */
+ if (0 <= rhport) {
+ dump_port_status(prev_port_status[rhport]);
+ dump_port_status(dum->port_status[rhport]);
+ }
}
usbip_dbg_vhci_rh(" bye\n");
--
1.7.2.5
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 1/3] usbip: only dump valid port status
2011-06-13 21:29 [PATCH 1/3] usbip: only dump valid port status Németh Márton
@ 2011-06-13 21:42 ` Joe Perches
2011-06-13 21:47 ` Németh Márton
2011-07-07 19:28 ` Dan Carpenter
1 sibling, 1 reply; 6+ messages in thread
From: Joe Perches @ 2011-06-13 21:42 UTC (permalink / raw)
To: Németh Márton
Cc: Greg Kroah-Hartman, Matt Mooney, Max Vozeler, Sarah Sharp,
usbip-devel, devel, LKML
On Mon, 2011-06-13 at 23:29 +0200, Németh Márton wrote:
> From: Márton Németh <nm127@freemail.hu>
>
> The wIndex parameter of vhci_hub_control() is always zero when the
> request type is GetHubDescriptor,
> ---
> diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
> @@ -464,8 +464,11 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
>
> if (usbip_dbg_flag_vhci_rh) {
> pr_debug("port %d\n", rhport);
> - dump_port_status(prev_port_status[rhport]);
> - dump_port_status(dum->port_status[rhport]);
> + /* Only dump valid port status */
> + if (0 <= rhport) {
> + dump_port_status(prev_port_status[rhport]);
> + dump_port_status(dum->port_status[rhport]);
> + }
> }
> usbip_dbg_vhci_rh(" bye\n");
>
Linux relatively rarely uses constant before variable in a comparison.
ie: please use "if (rhport > 0)" instead
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/3] usbip: only dump valid port status
2011-06-13 21:42 ` Joe Perches
@ 2011-06-13 21:47 ` Németh Márton
2011-06-13 22:23 ` Joe Perches
0 siblings, 1 reply; 6+ messages in thread
From: Németh Márton @ 2011-06-13 21:47 UTC (permalink / raw)
To: Joe Perches
Cc: Greg Kroah-Hartman, Matt Mooney, Max Vozeler, Sarah Sharp,
usbip-devel, devel, LKML
From: Márton Németh <nm127@freemail.hu>
The wIndex parameter of vhci_hub_control() is always zero when the
request type is GetHubDescriptor, see drivers/usb/core/hub.c::get_hub_descriptor()
and Universal Serial Bus Specification revision 2.0 (April 27, 2000) Section
11.24.2.5 "Get Hub Descriptor". This means the variable rhport will not contain
any useful index. Only use valid rhport values.
Signed-off-by: Márton Németh <nm127@freemail.hu>
---
drivers/staging/usbip/vhci_hcd.c | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
index 359b464..512a97f 100644
--- a/drivers/staging/usbip/vhci_hcd.c
+++ b/drivers/staging/usbip/vhci_hcd.c
@@ -464,8 +464,11 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
if (usbip_dbg_flag_vhci_rh) {
pr_debug("port %d\n", rhport);
- dump_port_status(prev_port_status[rhport]);
- dump_port_status(dum->port_status[rhport]);
+ /* Only dump valid port status */
+ if (rhport >= 0) {
+ dump_port_status(prev_port_status[rhport]);
+ dump_port_status(dum->port_status[rhport]);
+ }
}
usbip_dbg_vhci_rh(" bye\n");
--
1.7.2.5
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 1/3] usbip: only dump valid port status
2011-06-13 21:47 ` Németh Márton
@ 2011-06-13 22:23 ` Joe Perches
2011-06-14 4:55 ` Németh Márton
0 siblings, 1 reply; 6+ messages in thread
From: Joe Perches @ 2011-06-13 22:23 UTC (permalink / raw)
To: Németh Márton
Cc: devel, usbip-devel, Matt Mooney, Greg Kroah-Hartman, LKML,
Sarah Sharp
On Mon, 2011-06-13 at 23:47 +0200, Németh Márton wrote:
> From: Márton Németh <nm127@freemail.hu>
>
> The wIndex parameter of vhci_hub_control() is always zero when the
> request type is GetHubDescriptor, see drivers/usb/core/hub.c::get_hub_descriptor()
> and Universal Serial Bus Specification revision 2.0 (April 27, 2000) Section
> 11.24.2.5 "Get Hub Descriptor". This means the variable rhport will not contain
> any useful index. Only use valid rhport values.
>
> Signed-off-by: Márton Németh <nm127@freemail.hu>
> ---
> drivers/staging/usbip/vhci_hcd.c | 7 +++++--
> 1 files changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
> index 359b464..512a97f 100644
> --- a/drivers/staging/usbip/vhci_hcd.c
> +++ b/drivers/staging/usbip/vhci_hcd.c
> @@ -464,8 +464,11 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
>
> if (usbip_dbg_flag_vhci_rh) {
> pr_debug("port %d\n", rhport);
> - dump_port_status(prev_port_status[rhport]);
> - dump_port_status(dum->port_status[rhport]);
> + /* Only dump valid port status */
> + if (rhport >= 0) {
> + dump_port_status(prev_port_status[rhport]);
> + dump_port_status(dum->port_status[rhport]);
> + }
Umm, you mean to use "rhport > 0" yes?
^ permalink raw reply [flat|nested] 6+ messages in thread* Re: [PATCH 1/3] usbip: only dump valid port status
2011-06-13 22:23 ` Joe Perches
@ 2011-06-14 4:55 ` Németh Márton
0 siblings, 0 replies; 6+ messages in thread
From: Németh Márton @ 2011-06-14 4:55 UTC (permalink / raw)
To: Joe Perches
Cc: devel, usbip-devel, Matt Mooney, Greg Kroah-Hartman, LKML,
Sarah Sharp
Joe Perches wrote:
> On Mon, 2011-06-13 at 23:47 +0200, Németh Márton wrote:
>> From: Márton Németh <nm127@freemail.hu>
>>
>> The wIndex parameter of vhci_hub_control() is always zero when the
>> request type is GetHubDescriptor, see drivers/usb/core/hub.c::get_hub_descriptor()
>> and Universal Serial Bus Specification revision 2.0 (April 27, 2000) Section
>> 11.24.2.5 "Get Hub Descriptor". This means the variable rhport will not contain
>> any useful index. Only use valid rhport values.
>>
>> Signed-off-by: Márton Németh <nm127@freemail.hu>
>> ---
>> drivers/staging/usbip/vhci_hcd.c | 7 +++++--
>> 1 files changed, 5 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/staging/usbip/vhci_hcd.c b/drivers/staging/usbip/vhci_hcd.c
>> index 359b464..512a97f 100644
>> --- a/drivers/staging/usbip/vhci_hcd.c
>> +++ b/drivers/staging/usbip/vhci_hcd.c
>> @@ -464,8 +464,11 @@ static int vhci_hub_control(struct usb_hcd *hcd, u16 typeReq, u16 wValue,
>>
>> if (usbip_dbg_flag_vhci_rh) {
>> pr_debug("port %d\n", rhport);
>> - dump_port_status(prev_port_status[rhport]);
>> - dump_port_status(dum->port_status[rhport]);
>> + /* Only dump valid port status */
>> + if (rhport >= 0) {
>> + dump_port_status(prev_port_status[rhport]);
>> + dump_port_status(dum->port_status[rhport]);
>> + }
>
> Umm, you mean to use "rhport > 0" yes?
No, it is really (rhport >= 0). The wIndex parameter is zero, the
rhport is wIndex - 1. So rhport zero is valid, rhport -1 is not valid.
Regards,
Márton Németh
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/3] usbip: only dump valid port status
2011-06-13 21:29 [PATCH 1/3] usbip: only dump valid port status Németh Márton
2011-06-13 21:42 ` Joe Perches
@ 2011-07-07 19:28 ` Dan Carpenter
1 sibling, 0 replies; 6+ messages in thread
From: Dan Carpenter @ 2011-07-07 19:28 UTC (permalink / raw)
To: Németh Márton
Cc: Greg Kroah-Hartman, Matt Mooney, Max Vozeler, Sarah Sharp,
usbip-devel, devel, LKML
On Mon, Jun 13, 2011 at 11:29:53PM +0200, Németh Márton wrote:
> From: Márton Németh <nm127@freemail.hu>
>
> The wIndex parameter of vhci_hub_control() is always zero when the
> request type is GetHubDescriptor, see drivers/usb/core/hub.c::get_hub_descriptor()
> and Universal Serial Bus Specification revision 2.0 (April 27, 2000) Section
> 11.24.2.5 "Get Hub Descriptor". This means the variable rhport will not contain
> any useful index. Only use valid rhport values.
>
Is it possible for wValue to be zero if the request type is is
SetPortFeature or ClearPortFeature? If so then we should probably
add some more checks to handle that.
regards,
dan carpenter
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2011-07-07 19:30 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-13 21:29 [PATCH 1/3] usbip: only dump valid port status Németh Márton
2011-06-13 21:42 ` Joe Perches
2011-06-13 21:47 ` Németh Márton
2011-06-13 22:23 ` Joe Perches
2011-06-14 4:55 ` Németh Márton
2011-07-07 19:28 ` Dan Carpenter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox