diff mbox series

usbip: Fix incorrect double assignment to udc->ud.tcp_rx

Message ID 20210412185902.27755-1-tseewald@gmail.com
State New
Headers show
Series usbip: Fix incorrect double assignment to udc->ud.tcp_rx | expand

Commit Message

Tom Seewald April 12, 2021, 6:59 p.m. UTC
commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

Currently udc->ud.tcp_rx is being assigned twice, the second assignment
is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")
Acked-by: Shuah Khan <skhan@linuxfoundation.org>
Signed-off-by: Colin Ian King <colin.king@canonical.com>
Cc: stable <stable@vger.kernel.org>
Addresses-Coverity: ("Unused value")
Link: https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Tom Seewald <tseewald@gmail.com>
---
 drivers/usb/usbip/vudc_sysfs.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Greg Kroah-Hartman April 13, 2021, 7:30 a.m. UTC | #1
On Mon, Apr 12, 2021 at 01:25:20PM -0600, Shuah Khan wrote:
> On 4/12/21 1:06 PM, Tom Seewald wrote:

> > On 4/12/21 1:59 PM, Tom Seewald wrote:

> > 

> > > commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

> > > 

> > > Currently udc->ud.tcp_rx is being assigned twice, the second assignment

> > > is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

> > > 

> > > Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

> > > Acked-by: Shuah Khan <skhan@linuxfoundation.org>

> > > Signed-off-by: Colin Ian King <colin.king@canonical.com>

> > > Cc: stable <stable@vger.kernel.org>

> > > Addresses-Coverity: ("Unused value")

> > > Link: https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com

> > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> > > Signed-off-by: Tom Seewald <tseewald@gmail.com>

> > > ---

> > >   drivers/usb/usbip/vudc_sysfs.c | 2 +-

> > >   1 file changed, 1 insertion(+), 1 deletion(-)

> > > 

> > > diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c

> > > index f44d98eeb36a..51cc5258b63e 100644

> > > --- a/drivers/usb/usbip/vudc_sysfs.c

> > > +++ b/drivers/usb/usbip/vudc_sysfs.c

> > > @@ -187,7 +187,7 @@ static ssize_t store_sockfd(struct device *dev,

> > >   		udc->ud.tcp_socket = socket;

> > >   		udc->ud.tcp_rx = tcp_rx;

> > > -		udc->ud.tcp_rx = tcp_tx;

> > > +		udc->ud.tcp_tx = tcp_tx;

> > >   		udc->ud.status = SDEV_ST_USED;

> > >   		spin_unlock_irq(&udc->ud.lock);

> > I sent this because I believe this patch needs to be backported to the

> > 4.9.y and 4.14.y stable trees.

> > 

> 

> Tom,

> 

> Correct. This needs proting to 4.14 and 4.9. However, you have to also

> backport the patch it fixes to 4.14 and 4.9

> 

> 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

> 

> You can combine the two patches when you backport to 4.14 and 4.9 and

> add both upstream commits in the change log.


Please do not ever combine patches for stable submissions, we want to
keep things as close as to what happened in Linus's tree as possible as
we track commit ids and putting 2 together is pretty impossible to
manage over time.

thanks,

greg k-h
Shuah Khan April 13, 2021, 3:13 p.m. UTC | #2
On 4/13/21 1:30 AM, Greg Kroah-Hartman wrote:
> On Mon, Apr 12, 2021 at 01:25:20PM -0600, Shuah Khan wrote:

>> On 4/12/21 1:06 PM, Tom Seewald wrote:

>>> On 4/12/21 1:59 PM, Tom Seewald wrote:

>>>

>>>> commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

>>>>

>>>> Currently udc->ud.tcp_rx is being assigned twice, the second assignment

>>>> is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

>>>>

>>>> Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

>>>> Acked-by: Shuah Khan <skhan@linuxfoundation.org>

>>>> Signed-off-by: Colin Ian King <colin.king@canonical.com>

>>>> Cc: stable <stable@vger.kernel.org>

>>>> Addresses-Coverity: ("Unused value")

>>>> Link: https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com

>>>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

>>>> Signed-off-by: Tom Seewald <tseewald@gmail.com>

>>>> ---

>>>>    drivers/usb/usbip/vudc_sysfs.c | 2 +-

>>>>    1 file changed, 1 insertion(+), 1 deletion(-)

>>>>

>>>> diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c

>>>> index f44d98eeb36a..51cc5258b63e 100644

>>>> --- a/drivers/usb/usbip/vudc_sysfs.c

>>>> +++ b/drivers/usb/usbip/vudc_sysfs.c

>>>> @@ -187,7 +187,7 @@ static ssize_t store_sockfd(struct device *dev,

>>>>    		udc->ud.tcp_socket = socket;

>>>>    		udc->ud.tcp_rx = tcp_rx;

>>>> -		udc->ud.tcp_rx = tcp_tx;

>>>> +		udc->ud.tcp_tx = tcp_tx;

>>>>    		udc->ud.status = SDEV_ST_USED;

>>>>    		spin_unlock_irq(&udc->ud.lock);

>>> I sent this because I believe this patch needs to be backported to the

>>> 4.9.y and 4.14.y stable trees.

>>>

>>

>> Tom,

>>

>> Correct. This needs proting to 4.14 and 4.9. However, you have to also

>> backport the patch it fixes to 4.14 and 4.9

>>

>> 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

>>

>> You can combine the two patches when you backport to 4.14 and 4.9 and

>> add both upstream commits in the change log.

> 

> Please do not ever combine patches for stable submissions, we want to

> keep things as close as to what happened in Linus's tree as possible as

> we track commit ids and putting 2 together is pretty impossible to

> manage over time.

> 


Good point. Thank you.

thanks,
-- Shuah
Shuah Khan April 16, 2021, 3:32 p.m. UTC | #3
On 4/12/21 12:59 PM, Tom Seewald wrote:
> commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

> 

> Currently udc->ud.tcp_rx is being assigned twice, the second assignment

> is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

> 

> Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

> Acked-by: Shuah Khan <skhan@linuxfoundation.org>

> Signed-off-by: Colin Ian King <colin.king@canonical.com>

> Cc: stable <stable@vger.kernel.org>

> Addresses-Coverity: ("Unused value")

> Link: https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com

> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> Signed-off-by: Tom Seewald <tseewald@gmail.com>

> ---

>   drivers/usb/usbip/vudc_sysfs.c | 2 +-

>   1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c

> index f44d98eeb36a..51cc5258b63e 100644

> --- a/drivers/usb/usbip/vudc_sysfs.c

> +++ b/drivers/usb/usbip/vudc_sysfs.c

> @@ -187,7 +187,7 @@ static ssize_t store_sockfd(struct device *dev,

>   

>   		udc->ud.tcp_socket = socket;

>   		udc->ud.tcp_rx = tcp_rx;

> -		udc->ud.tcp_rx = tcp_tx;

> +		udc->ud.tcp_tx = tcp_tx;

>   		udc->ud.status = SDEV_ST_USED;

>   

>   		spin_unlock_irq(&udc->ud.lock);

> 


Greg,

Please pick this up for 4.9 and 4.14

thanks,
-- Shuah
Shuah Khan April 16, 2021, 3:34 p.m. UTC | #4
On 4/16/21 9:32 AM, Shuah Khan wrote:
> On 4/12/21 12:59 PM, Tom Seewald wrote:

>> commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

>>

>> Currently udc->ud.tcp_rx is being assigned twice, the second assignment

>> is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

>>

>> Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading 

>> to gpf")

>> Acked-by: Shuah Khan <skhan@linuxfoundation.org>

>> Signed-off-by: Colin Ian King <colin.king@canonical.com>

>> Cc: stable <stable@vger.kernel.org>

>> Addresses-Coverity: ("Unused value")

>> Link: 

>> https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com

>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

>> Signed-off-by: Tom Seewald <tseewald@gmail.com>

>> ---

>>   drivers/usb/usbip/vudc_sysfs.c | 2 +-

>>   1 file changed, 1 insertion(+), 1 deletion(-)

>>

>> diff --git a/drivers/usb/usbip/vudc_sysfs.c 

>> b/drivers/usb/usbip/vudc_sysfs.c

>> index f44d98eeb36a..51cc5258b63e 100644

>> --- a/drivers/usb/usbip/vudc_sysfs.c

>> +++ b/drivers/usb/usbip/vudc_sysfs.c

>> @@ -187,7 +187,7 @@ static ssize_t store_sockfd(struct device *dev,

>>           udc->ud.tcp_socket = socket;

>>           udc->ud.tcp_rx = tcp_rx;

>> -        udc->ud.tcp_rx = tcp_tx;

>> +        udc->ud.tcp_tx = tcp_tx;

>>           udc->ud.status = SDEV_ST_USED;

>>           spin_unlock_irq(&udc->ud.lock);

>>

> 

> Greg,

> 

> Please pick this up for 4.9 and 4.14

>


Forgot Acked-by :(

Acked-by: Shuah Khan <skhan@linuxfoundation.org>


thanks,
-- Shuah
Greg Kroah-Hartman April 19, 2021, 12:25 p.m. UTC | #5
On Fri, Apr 16, 2021 at 09:32:35AM -0600, Shuah Khan wrote:
> On 4/12/21 12:59 PM, Tom Seewald wrote:

> > commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

> > 

> > Currently udc->ud.tcp_rx is being assigned twice, the second assignment

> > is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

> > 

> > Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

> > Acked-by: Shuah Khan <skhan@linuxfoundation.org>

> > Signed-off-by: Colin Ian King <colin.king@canonical.com>

> > Cc: stable <stable@vger.kernel.org>

> > Addresses-Coverity: ("Unused value")

> > Link: https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com

> > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> > Signed-off-by: Tom Seewald <tseewald@gmail.com>

> > ---

> >   drivers/usb/usbip/vudc_sysfs.c | 2 +-

> >   1 file changed, 1 insertion(+), 1 deletion(-)

> > 

> > diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c

> > index f44d98eeb36a..51cc5258b63e 100644

> > --- a/drivers/usb/usbip/vudc_sysfs.c

> > +++ b/drivers/usb/usbip/vudc_sysfs.c

> > @@ -187,7 +187,7 @@ static ssize_t store_sockfd(struct device *dev,

> >   		udc->ud.tcp_socket = socket;

> >   		udc->ud.tcp_rx = tcp_rx;

> > -		udc->ud.tcp_rx = tcp_tx;

> > +		udc->ud.tcp_tx = tcp_tx;

> >   		udc->ud.status = SDEV_ST_USED;

> >   		spin_unlock_irq(&udc->ud.lock);

> > 

> 

> Greg,

> 

> Please pick this up for 4.9 and 4.14


Why?  The commit it says it fixes, 46613c9dfa96 ("usbip: fix vudc
usbip_sockfd_store races leading to gpf"), is not in any kernel older
than 4.19.y at the moment.

Should that commit also be backported?

confused,

greg k-h
Shuah Khan April 19, 2021, 10:06 p.m. UTC | #6
On 4/19/21 6:25 AM, Greg Kroah-Hartman wrote:
> On Fri, Apr 16, 2021 at 09:32:35AM -0600, Shuah Khan wrote:

>> On 4/12/21 12:59 PM, Tom Seewald wrote:

>>> commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

>>>

>>> Currently udc->ud.tcp_rx is being assigned twice, the second assignment

>>> is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

>>>

>>> Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

>>> Acked-by: Shuah Khan <skhan@linuxfoundation.org>

>>> Signed-off-by: Colin Ian King <colin.king@canonical.com>

>>> Cc: stable <stable@vger.kernel.org>

>>> Addresses-Coverity: ("Unused value")

>>> Link: https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com

>>> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

>>> Signed-off-by: Tom Seewald <tseewald@gmail.com>

>>> ---

>>>    drivers/usb/usbip/vudc_sysfs.c | 2 +-

>>>    1 file changed, 1 insertion(+), 1 deletion(-)

>>>

>>> diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c

>>> index f44d98eeb36a..51cc5258b63e 100644

>>> --- a/drivers/usb/usbip/vudc_sysfs.c

>>> +++ b/drivers/usb/usbip/vudc_sysfs.c

>>> @@ -187,7 +187,7 @@ static ssize_t store_sockfd(struct device *dev,

>>>    		udc->ud.tcp_socket = socket;

>>>    		udc->ud.tcp_rx = tcp_rx;

>>> -		udc->ud.tcp_rx = tcp_tx;

>>> +		udc->ud.tcp_tx = tcp_tx;

>>>    		udc->ud.status = SDEV_ST_USED;

>>>    		spin_unlock_irq(&udc->ud.lock);

>>>

>>

>> Greg,

>>

>> Please pick this up for 4.9 and 4.14

> 

> Why?  The commit it says it fixes, 46613c9dfa96 ("usbip: fix vudc

> usbip_sockfd_store races leading to gpf"), is not in any kernel older

> than 4.19.y at the moment.

> 


Tom back ported this one a couple of weeks ago to 4.14.y and 4.9.y

I see this commit in 4.14 (checked on 4.14.231)
e9c1341b4c948c20f030b6b146fa82575e2fc37b


I see this commit in 4.9.267 as well.

fe9e15a30be666ec8071f325a39fe13e2251b51d

This fix can go on top of these commits.

thanks,
-- Shuah
Greg Kroah-Hartman April 20, 2021, 11:50 a.m. UTC | #7
On Mon, Apr 19, 2021 at 04:06:49PM -0600, Shuah Khan wrote:
> On 4/19/21 6:25 AM, Greg Kroah-Hartman wrote:

> > On Fri, Apr 16, 2021 at 09:32:35AM -0600, Shuah Khan wrote:

> > > On 4/12/21 12:59 PM, Tom Seewald wrote:

> > > > commit 9858af27e69247c5d04c3b093190a93ca365f33d upstream.

> > > > 

> > > > Currently udc->ud.tcp_rx is being assigned twice, the second assignment

> > > > is incorrect, it should be to udc->ud.tcp_tx instead of rx. Fix this.

> > > > 

> > > > Fixes: 46613c9dfa96 ("usbip: fix vudc usbip_sockfd_store races leading to gpf")

> > > > Acked-by: Shuah Khan <skhan@linuxfoundation.org>

> > > > Signed-off-by: Colin Ian King <colin.king@canonical.com>

> > > > Cc: stable <stable@vger.kernel.org>

> > > > Addresses-Coverity: ("Unused value")

> > > > Link: https://lore.kernel.org/r/20210311104445.7811-1-colin.king@canonical.com

> > > > Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

> > > > Signed-off-by: Tom Seewald <tseewald@gmail.com>

> > > > ---

> > > >    drivers/usb/usbip/vudc_sysfs.c | 2 +-

> > > >    1 file changed, 1 insertion(+), 1 deletion(-)

> > > > 

> > > > diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c

> > > > index f44d98eeb36a..51cc5258b63e 100644

> > > > --- a/drivers/usb/usbip/vudc_sysfs.c

> > > > +++ b/drivers/usb/usbip/vudc_sysfs.c

> > > > @@ -187,7 +187,7 @@ static ssize_t store_sockfd(struct device *dev,

> > > >    		udc->ud.tcp_socket = socket;

> > > >    		udc->ud.tcp_rx = tcp_rx;

> > > > -		udc->ud.tcp_rx = tcp_tx;

> > > > +		udc->ud.tcp_tx = tcp_tx;

> > > >    		udc->ud.status = SDEV_ST_USED;

> > > >    		spin_unlock_irq(&udc->ud.lock);

> > > > 

> > > 

> > > Greg,

> > > 

> > > Please pick this up for 4.9 and 4.14

> > 

> > Why?  The commit it says it fixes, 46613c9dfa96 ("usbip: fix vudc

> > usbip_sockfd_store races leading to gpf"), is not in any kernel older

> > than 4.19.y at the moment.

> > 

> 

> Tom back ported this one a couple of weeks ago to 4.14.y and 4.9.y

> 

> I see this commit in 4.14 (checked on 4.14.231)

> e9c1341b4c948c20f030b6b146fa82575e2fc37b

> 

> 

> I see this commit in 4.9.267 as well.

> 

> fe9e15a30be666ec8071f325a39fe13e2251b51d

> 

> This fix can go on top of these commits.


Now queued up, thanks.

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/usbip/vudc_sysfs.c b/drivers/usb/usbip/vudc_sysfs.c
index f44d98eeb36a..51cc5258b63e 100644
--- a/drivers/usb/usbip/vudc_sysfs.c
+++ b/drivers/usb/usbip/vudc_sysfs.c
@@ -187,7 +187,7 @@  static ssize_t store_sockfd(struct device *dev,
 
 		udc->ud.tcp_socket = socket;
 		udc->ud.tcp_rx = tcp_rx;
-		udc->ud.tcp_rx = tcp_tx;
+		udc->ud.tcp_tx = tcp_tx;
 		udc->ud.status = SDEV_ST_USED;
 
 		spin_unlock_irq(&udc->ud.lock);