• Alan Young's avatar
    ALSA: ctl: Fix copy of updated id with element read/write · b6409dd6
    Alan Young authored
    When control_compat.c:copy_ctl_value_to_user() is used, by
    ctl_elem_read_user() & ctl_elem_write_user(), it must also copy back the
    snd_ctl_elem_id value that may have been updated (filled in) by the call
    to snd_ctl_elem_read/snd_ctl_elem_write().
    
    This matches the functionality provided by snd_ctl_elem_read_user() and
    snd_ctl_elem_write_user(), via snd_ctl_build_ioff().
    
    Without this, and without making additional calls to snd_ctl_info()
    which are unnecessary when using the non-compat calls, a userspace
    application will not know the numid value for the element and
    consequently will not be able to use the poll/read interface on the
    control file to determine which elements have updates.
    Signed-off-by: default avatarAlan Young <consult.awy@gmail.com>
    Cc: <stable@vger.kernel.org>
    Link: https://lore.kernel.org/r/20211202150607.543389-1-consult.awy@gmail.comSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    b6409dd6
control_compat.c 12.2 KB