ANDROID: 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.

Fixes: 14948a5ac3 ("ANDROID: usb: gadget: f_midi: create F_midi device")
Change-Id: I24fd35fb9cd35fcd5d8698b808459310b09675f9
Signed-off-by: Pratham Pratap <prathampratap@codeaurora.org>
Signed-off-by: Jack Pham <jackp@codeaurora.org>
This commit is contained in:
Pratham Pratap 2019-12-17 11:43:27 +05:30 committed by Greg Kroah-Hartman
parent 62e32cf8f3
commit 95c4712823

View File

@ -1234,7 +1234,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);
}