usb: gadget: u_serial: Add null pointer check in gserial_suspend
authorPrashanth K <quic_prashk@quicinc.com>
Fri, 5 May 2023 09:18:37 +0000 (14:48 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 29 May 2023 14:22:43 +0000 (15:22 +0100)
commit2f6ecb89fe8feb2b60a53325b0eeb9866d88909a
treebadb0c3ca10281bfc40a9477ea56584cd279aa71
parent24520e51fffb56f3931084b1426cb2404bda095a
usb: gadget: u_serial: Add null pointer check in gserial_suspend

Consider a case where gserial_disconnect has already cleared
gser->ioport. And if gserial_suspend gets called afterwards,
it will lead to accessing of gser->ioport and thus causing
null pointer dereference.

Avoid this by adding a null pointer check. Added a static
spinlock to prevent gser->ioport from becoming null after
the newly added null pointer check.

Fixes: aba3a8d01d62 ("usb: gadget: u_serial: add suspend resume callbacks")
Signed-off-by: Prashanth K <quic_prashk@quicinc.com>
Link: https://lore.kernel.org/r/1683278317-11774-1-git-send-email-quic_prashk@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/gadget/function/u_serial.c