summaryrefslogtreecommitdiff
path: root/sound/pci
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2021-09-30 14:41:14 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2021-10-20 12:44:57 +0300
commit7680631ac7ab14b5061b475605f469d87952e1b1 (patch)
treecf975c5dd0c08eac7b9e20127b781593b7e7da84 /sound/pci
parent4aab156d302c92b68c2b7e254a398c32ec33238c (diff)
downloadlinux-7680631ac7ab14b5061b475605f469d87952e1b1.tar.xz
ALSA: seq: Fix a potential UAF by wrong private_free call order
commit 1f8763c59c4ec6254d629fe77c0a52220bd907aa upstream. John Keeping reported and posted a patch for a potential UAF in rawmidi sequencer destruction: the snd_rawmidi_dev_seq_free() may be called after the associated rawmidi object got already freed. After a deeper look, it turned out that the bug is rather the incorrect private_free call order for a snd_seq_device. The snd_seq_device private_free gets called at the release callback of the sequencer device object, while this was rather expected to be executed at the snd_device call chains that runs at the beginning of the whole card-free procedure. It's been broken since the rewrite of sequencer-device binding (although it hasn't surfaced because the sequencer device release happens usually right along with the card device release). This patch corrects the private_free call to be done in the right place, at snd_seq_device_dev_free(). Fixes: 7c37ae5c625a ("ALSA: seq: Rewrite sequencer device binding with standard bus") Reported-and-tested-by: John Keeping <john@metanate.com> Cc: <stable@vger.kernel.org> Link: https://lore.kernel.org/r/20210930114114.8645-1-tiwai@suse.de Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound/pci')
0 files changed, 0 insertions, 0 deletions