• Richard Fitzgerald's avatar
    ASoC: wm_adsp: For TLV controls only register TLV get/set · d7789f5b
    Richard Fitzgerald authored
    Normal 512-byte get/set of a TLV isn't supported but we were
    registering the normal get/set anyway and relying on omitting
    the SNDRV_CTL_ELEM_ACCESS_[READ|WRITE] flags to prevent them
    being called.
    
    Trouble is if this gets broken in the core ALSA code - as it has
    been since at least 4.14 - the standard get/set can be called
    unexpectedly and corrupt memory.
    
    There's no point providing functions that won't be called and
    it's a trivial change. The benefit is that if the ALSA core gets
    broken again we get a big fat immediate NULL dereference instead
    of a memory corruption timebomb.
    Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
    Signed-off-by: default avatarMark Brown <broonie@kernel.org>
    Cc: stable@vger.kernel.org
    d7789f5b
wm_adsp.c 90.8 KB