Hi,
this is a patch set for simplifying the reference to the current PCM state by having the local copy in runtime instead of relying on runtime->status indirection. This also hardens against the attack by modifying the mmapped status record.
The first patch does the basic job in the core PCM side, and the second patch flips the PCM status mmap to read-only for hardening, while the remaining patches are for drivers to follow the core change.
The conversions are straightforward. In most places, it's just replacing runtime->status->state with runtime->state.
Takashi
===
Takashi Iwai (11): ALSA: pcm: Avoid reference to status->state ALSA: pcm: Make mmap status read-only ALSA: aloop: Replace runtime->status->state reference to runtime->state ALSA: firewire: Replace runtime->status->state reference to runtime->state ALSA: hda: Replace runtime->status->state reference to runtime->state ALSA: asihpi: Replace runtime->status->state reference to runtime->state ALSA: usb-audio: Replace runtime->status->state reference to runtime->state ALSA: usx2y: Replace runtime->status->state reference to runtime->state ASoC: intel: Replace runtime->status->state reference to runtime->state ASoC: sh: Replace runtime->status->state reference to runtime->state usb: gadget: Replace runtime->status->state reference to runtime->state
drivers/usb/gadget/function/u_uac1_legacy.c | 4 +- include/sound/pcm.h | 20 ++- sound/core/oss/pcm_oss.c | 42 +++---- sound/core/pcm.c | 9 +- sound/core/pcm_compat.c | 4 +- sound/core/pcm_lib.c | 16 +-- sound/core/pcm_native.c | 128 ++++++++++---------- sound/drivers/aloop.c | 4 +- sound/firewire/bebob/bebob_pcm.c | 4 +- sound/firewire/dice/dice-pcm.c | 4 +- sound/firewire/digi00x/digi00x-pcm.c | 4 +- sound/firewire/fireface/ff-pcm.c | 4 +- sound/firewire/fireworks/fireworks_pcm.c | 4 +- sound/firewire/motu/motu-pcm.c | 4 +- sound/firewire/oxfw/oxfw-pcm.c | 8 +- sound/firewire/tascam/tascam-pcm.c | 4 +- sound/hda/hdmi_chmap.c | 2 +- sound/pci/asihpi/asihpi.c | 2 +- sound/soc/intel/skylake/skl-pcm.c | 4 +- sound/soc/sh/rz-ssi.c | 2 +- sound/usb/pcm.c | 4 +- sound/usb/usx2y/usbusx2yaudio.c | 3 +- sound/usb/usx2y/usx2yhwdeppcm.c | 3 +- 23 files changed, 150 insertions(+), 133 deletions(-)
===
Cc: Bard Liao yung-chuan.liao@linux.intel.com Cc: Cezary Rojewski cezary.rojewski@intel.com Cc: Felipe Balbi balbi@kernel.org Cc: Greg Kroah-Hartman gregkh@linuxfoundation.org Cc: Kai Vehmanen kai.vehmanen@linux.intel.com Cc: Liam Girdwood liam.r.girdwood@linux.intel.com Cc: Mark Brown broonie@kernel.org Cc: Peter Ujfalusi peter.ujfalusi@linux.intel.com Cc: Pierre-Louis Bossart pierre-louis.bossart@linux.intel.com Cc: Ranjani Sridharan ranjani.sridharan@linux.intel.com Cc: Takashi Sakamoto o-takashi@sakamocchi.jp