• Takashi Iwai's avatar
    ALSA: pcm: Add missing copy ops check before clearing buffer · ea4df337
    Takashi Iwai authored
    [ this is a fix specific to 4.4.y and 4.9.y stable trees;
      4.14.y and older already contain the right fix ]
    
    The stable 4.4.y and 4.9.y backports of the upstream commit
    add9d56d ("ALSA: pcm: Avoid possible info leaks from PCM stream
    buffers") dropped the check of substream->ops->copy_user as copy_user
    is a new member that isn't present in the older kernels.
    Although upstream drivers should work without this NULL check, it may
    cause a regression with a downstream driver that sets some
    inaccessible address to runtime->dma_area, leading to a crash at
    worst.
    
    Since such drivers must have ops->copy member on older kernels instead
    of ops->copy_user, this patch adds the missing check of ops->copy for
    fixing the regression.
    Reported-and-tested-by: default avatarAndreas Schneider <asn@cryptomilk.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ea4df337
pcm_native.c 101 KB