Linux USB
 help / color / mirror / Atom feed
* [PATCH] usb: gadget: f_ncm: Fix MAC assignment NCM ethernet
@ 2025-08-14 13:16 raub camaioni
  2025-08-14 13:31 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 5+ messages in thread
From: raub camaioni @ 2025-08-14 13:16 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-usb, Raub

From: Raub <raubcameo@gmail.com>

This fix is already present in f_ecm.c and was never propagated to f_ncm.c

When creating multiple NCM ethernet devices on a composite usb gadget device
each MAC address on the HOST side will be identical.
Having the same MAC on different network interfaces is bad.

This fix updates the MAC address inside the ncm_strings_defs global during the ncm_bind call.
This ensures each device has a unique MAC.
In f_ecm.c ecm_string_defs is updated in the same way.

The defunct MAC assignment in ncm_alloc has been removed.

Signed-off-by: raub camaioni <raubcameo@gmail.com>
---
 drivers/usb/gadget/function/f_ncm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
index 58b0dd575af3..3164e75caa3b 100644
--- a/drivers/usb/gadget/function/f_ncm.c
+++ b/drivers/usb/gadget/function/f_ncm.c
@@ -1463,6 +1463,8 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f)
 
 	ncm_opts->bound = true;
 
+	ncm_string_defs[1].s = ecm->ethaddr;
+	
 	us = usb_gstrings_attach(cdev, ncm_strings,
 				 ARRAY_SIZE(ncm_string_defs));
 	if (IS_ERR(us)) {
@@ -1771,7 +1773,6 @@ static struct usb_function *ncm_alloc(struct usb_function_instance *fi)
 		mutex_unlock(&opts->lock);
 		return ERR_PTR(-EINVAL);
 	}
-	ncm_string_defs[STRING_MAC_IDX].s = ncm->ethaddr;
 
 	spin_lock_init(&ncm->lock);
 	ncm_reset_values(ncm);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] usb: gadget: f_ncm: Fix MAC assignment NCM ethernet
  2025-08-14 13:16 [PATCH] usb: gadget: f_ncm: Fix MAC assignment NCM ethernet raub camaioni
@ 2025-08-14 13:31 ` Greg Kroah-Hartman
  0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2025-08-14 13:31 UTC (permalink / raw)
  To: raub camaioni; +Cc: linux-usb

On Thu, Aug 14, 2025 at 09:16:09AM -0400, raub camaioni wrote:
> From: Raub <raubcameo@gmail.com>

This line, does not match:

> Signed-off-by: raub camaioni <raubcameo@gmail.com>

That line :(

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH] usb: gadget: f_ncm: Fix MAC assignment NCM ethernet
@ 2025-08-14 13:46 raub camaioni
  2025-08-14 13:53 ` Greg Kroah-Hartman
  0 siblings, 1 reply; 5+ messages in thread
From: raub camaioni @ 2025-08-14 13:46 UTC (permalink / raw)
  To: Greg Kroah-Hartman; +Cc: linux-usb, raub camaioni

This fix is already present in f_ecm.c and was never propagated to f_ncm.c

When creating multiple NCM ethernet devices on a composite usb gadget device
each MAC address on the HOST side will be identical.
Having the same MAC on different network interfaces is bad.

This fix updates the MAC address inside the ncm_strings_defs global during the ncm_bind call.
This ensures each device has a unique MAC.
In f_ecm.c ecm_string_defs is updated in the same way.

The defunct MAC assignment in ncm_alloc has been removed.

Signed-off-by: raub camaioni <raubcameo@gmail.com>
---
 drivers/usb/gadget/function/f_ncm.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
index 58b0dd575af3..3164e75caa3b 100644
--- a/drivers/usb/gadget/function/f_ncm.c
+++ b/drivers/usb/gadget/function/f_ncm.c
@@ -1463,6 +1463,8 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f)
 
 	ncm_opts->bound = true;
 
+	ncm_string_defs[1].s = ecm->ethaddr;
+	
 	us = usb_gstrings_attach(cdev, ncm_strings,
 				 ARRAY_SIZE(ncm_string_defs));
 	if (IS_ERR(us)) {
@@ -1771,7 +1773,6 @@ static struct usb_function *ncm_alloc(struct usb_function_instance *fi)
 		mutex_unlock(&opts->lock);
 		return ERR_PTR(-EINVAL);
 	}
-	ncm_string_defs[STRING_MAC_IDX].s = ncm->ethaddr;
 
 	spin_lock_init(&ncm->lock);
 	ncm_reset_values(ncm);
-- 
2.34.1


^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] usb: gadget: f_ncm: Fix MAC assignment NCM ethernet
  2025-08-14 13:46 raub camaioni
@ 2025-08-14 13:53 ` Greg Kroah-Hartman
       [not found]   ` <CAAGxeQdueNdCVt87tKZat74u8op2YKmy5VaqYpkQww0HYNNnvA@mail.gmail.com>
  0 siblings, 1 reply; 5+ messages in thread
From: Greg Kroah-Hartman @ 2025-08-14 13:53 UTC (permalink / raw)
  To: raub camaioni; +Cc: linux-usb

On Thu, Aug 14, 2025 at 09:46:09AM -0400, raub camaioni wrote:
> This fix is already present in f_ecm.c and was never propagated to f_ncm.c
> 
> When creating multiple NCM ethernet devices on a composite usb gadget device
> each MAC address on the HOST side will be identical.
> Having the same MAC on different network interfaces is bad.
> 
> This fix updates the MAC address inside the ncm_strings_defs global during the ncm_bind call.
> This ensures each device has a unique MAC.
> In f_ecm.c ecm_string_defs is updated in the same way.
> 
> The defunct MAC assignment in ncm_alloc has been removed.
> 
> Signed-off-by: raub camaioni <raubcameo@gmail.com>
> ---
>  drivers/usb/gadget/function/f_ncm.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Was this sent twice?  Which one is right?

> 
> diff --git a/drivers/usb/gadget/function/f_ncm.c b/drivers/usb/gadget/function/f_ncm.c
> index 58b0dd575af3..3164e75caa3b 100644
> --- a/drivers/usb/gadget/function/f_ncm.c
> +++ b/drivers/usb/gadget/function/f_ncm.c
> @@ -1463,6 +1463,8 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f)
>  
>  	ncm_opts->bound = true;
>  
> +	ncm_string_defs[1].s = ecm->ethaddr;
> +	

Did you run checkpatch on this?  It should have given you an error here
:(

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] usb: gadget: f_ncm: Fix MAC assignment NCM ethernet
       [not found]   ` <CAAGxeQdueNdCVt87tKZat74u8op2YKmy5VaqYpkQww0HYNNnvA@mail.gmail.com>
@ 2025-08-14 14:53     ` Greg Kroah-Hartman
  0 siblings, 0 replies; 5+ messages in thread
From: Greg Kroah-Hartman @ 2025-08-14 14:53 UTC (permalink / raw)
  To: Raub Camaioni; +Cc: linux-usb

On Thu, Aug 14, 2025 at 10:28:25AM -0400, Raub Camaioni wrote:
> Hello Greg,
> 
> Thanks for your patience.

Oops, you top-posted AND sent html email, which the mailing list
rejected :(

> I figured you wanted me to resubmit with the "from" and "sign off" to be
> identical.

Yes please, but then document that as a v2 patch like our documentation
asks to.

> Both the changes are identical (with the whitespace error contained)
> 
> I can resubmit with the white space correction if desired?

I can't take the change as-is, so yes :)

Please send a v3.

thanks,

greg k-h

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-08-14 14:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-14 13:16 [PATCH] usb: gadget: f_ncm: Fix MAC assignment NCM ethernet raub camaioni
2025-08-14 13:31 ` Greg Kroah-Hartman
  -- strict thread matches above, loose matches on Subject: below --
2025-08-14 13:46 raub camaioni
2025-08-14 13:53 ` Greg Kroah-Hartman
     [not found]   ` <CAAGxeQdueNdCVt87tKZat74u8op2YKmy5VaqYpkQww0HYNNnvA@mail.gmail.com>
2025-08-14 14:53     ` Greg Kroah-Hartman

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox