Commit dfa9a5ef authored by Takashi Iwai's avatar Takashi Iwai

ALSA: rawmidi: Avoid bit fields for state flags

The rawmidi state flags (opened, append, active_sensing) are stored in
bit fields that can be potentially racy when concurrently accessed
without any locks.  Although the current code should be fine, there is
also no any real benefit by keeping the bitfields for this kind of
short number of members.

This patch changes those bit fields flags to the simple bool fields.
There should be no size increase of the snd_rawmidi_substream by this
change.

Reported-by: syzbot+576cc007eb9f2c968200@syzkaller.appspotmail.com
Link: https://lore.kernel.org/r/20200214111316.26939-4-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent dc749779
...@@ -77,9 +77,9 @@ struct snd_rawmidi_substream { ...@@ -77,9 +77,9 @@ struct snd_rawmidi_substream {
struct list_head list; /* list of all substream for given stream */ struct list_head list; /* list of all substream for given stream */
int stream; /* direction */ int stream; /* direction */
int number; /* substream number */ int number; /* substream number */
unsigned int opened: 1, /* open flag */ bool opened; /* open flag */
append: 1, /* append flag (merge more streams) */ bool append; /* append flag (merge more streams) */
active_sensing: 1; /* send active sensing when close */ bool active_sensing; /* send active sensing when close */
int use_count; /* use counter (for output) */ int use_count; /* use counter (for output) */
size_t bytes; size_t bytes;
struct snd_rawmidi *rmidi; struct snd_rawmidi *rmidi;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment