usb: gadget: f_midi: Avoid invalid pointer access

Currently f_midi function driver is marking the f_midi->card
NULL when the card is unregistered. There is a possibility that
alsa_show is called after the card is unregistered which can lead
to page fault since midi->card is assigned to rmidi->card. Avoid
this by adding midi->card pointer check in alsa_show.

Change-Id: I24fd35fb9cd35fcd5d8698b808459310b09675f9
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
This commit is contained in:
Pratham Pratap 2019-12-17 11:43:27 +05:30 • committed by Gerrit - the friendly Code Review server
commit 6767f19da8

View file

@ -1235,7 +1235,7 @@ static ssize_t alsa_show(struct device *dev,
if (fi_midi && fi_midi->f) {
midi = func_to_midi(fi_midi->f);
if (midi->rmidi && midi->rmidi->card)
if (midi->rmidi && midi->card && midi->rmidi->card)
return sprintf(buf, "%d %d\n",
midi->rmidi->card->number, midi->rmidi->device);
}