Linux USB
 help / color / mirror / Atom feed
* [PATCH v2 0/2] usb: gadget: Fix g_ncm regression and atomic sleep in f_ncm
@ 2026-02-21 14:48 Kuen-Han Tsai
  2026-02-21 14:48 ` [PATCH v2 1/2] usb: legacy: ncm: Fix NPE in gncm_bind Kuen-Han Tsai
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Kuen-Han Tsai @ 2026-02-21 14:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: linux-usb, linux-kernel, Kuen-Han Tsai, stable, kernel test robot

Commit 56a512a9b410 ("usb: gadget: f_ncm: align net_device lifecycle
with bind/unbind") addressed a lifetime mismatch where the network
interface outlived the parent gadget. However, this introduced two
regressions:

1. A NULL pointer dereference in the legacy g_ncm driver. The legacy
   driver attempts to access the net_device during its binding process
   before the NCM function driver is fully initialized.

2. A "sleeping function called from atomic context" error in f_ncm.
   The current implementation holds a mutex which might sleep within
   an atomic context.

To resolve these, store the configuration parameters (qmult, host_addr,
dev_addr) in opts_net until the network device is ready for g_ncm.
Additionally, remove the net_device pointer from the f_ncm_opts
structure. This eliminates the race condition with configfs and allows
dropping the mutex, preventing the atomic sleep issue.

Signed-off-by: Kuen-Han Tsai <khtsai@google.com>
---
Changes in v2:
- Remove the RFC tag.
- Fix NPE in gncm reported by the kernel test bot.
- Fix a "sleeping function called from atomic context" error.
- Link to v1: https://lore.kernel.org/r/20260214-legacy-ncm-v1-1-139c5bcc6636@google.com

---
Kuen-Han Tsai (2):
      usb: legacy: ncm: Fix NPE in gncm_bind
      usb: gadget: f_ncm: Fix atomic context locking issue

 drivers/usb/gadget/function/f_ncm.c            | 29 +++++++++++---------------
 drivers/usb/gadget/function/u_ether_configfs.h | 11 +---------
 drivers/usb/gadget/function/u_ncm.h            |  1 -
 drivers/usb/gadget/legacy/ncm.c                | 13 +++++++++---
 4 files changed, 23 insertions(+), 31 deletions(-)
---
base-commit: da87d45b195148d670ab995367d52aa9e8a9a1fa
change-id: 20260214-legacy-ncm-8c001295b343

Best regards,
-- 
Kuen-Han Tsai <khtsai@google.com>


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

end of thread, other threads:[~2026-03-03 10:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-02-21 14:48 [PATCH v2 0/2] usb: gadget: Fix g_ncm regression and atomic sleep in f_ncm Kuen-Han Tsai
2026-02-21 14:48 ` [PATCH v2 1/2] usb: legacy: ncm: Fix NPE in gncm_bind Kuen-Han Tsai
2026-02-21 14:48 ` [PATCH v2 2/2] usb: gadget: f_ncm: Fix atomic context locking issue Kuen-Han Tsai
2026-02-28 21:03 ` [PATCH v2 0/2] usb: gadget: Fix g_ncm regression and atomic sleep in f_ncm David Heidelberg
2026-03-02 10:15   ` Kuen-Han Tsai
2026-03-02 13:05     ` Greg Kroah-Hartman
2026-03-02 15:41     ` David Heidelberg
2026-03-02 17:22       ` David Heidelberg
2026-03-03 10:24         ` Kuen-Han Tsai

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