ALSA: sb: check get_user() return value
Subsystems (2)
PATCH 7/10 ALSA: sb: check get_user() return value
get_user() may fail, if so return -EFAULT.
Signed-off-by Kulikov Vasiliy <[email protected]>
--- sound/isa/sb/emu8000_pcm.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
sound/isa/sb/emu8000_pcm.c +4 -2
@@ -433,7 +433,8 @@ static int emu8k_transfer_block(struct snd_emu8000 *emu, int offset, unsigned shwhile (count >0 ) {unsigned short sval;CHECK_SCHEDULER (); -get_user (sval, buf); +if (get_user (sval, buf)) +return -EFAULT ;EMU8000_SMLD_WRITE (emu, sval); buf++; count--;
@@ -525,7 +526,8 @@ static int emu8k_pcm_copy(struct snd_pcm_substream *subs,while (count-- >0 ) {unsigned short sval;CHECK_SCHEDULER (); -get_user (sval, buf); +if (get_user (sval, buf)) +return -EFAULT ;EMU8000_SMLD_WRITE (emu, sval); buf++;if (rec->voices >1 ) {
Signature · 1 line
1.7.0.4
Takashi Iwai
AppliedAt Wed, 28 Jul 2010 20:40:51 +0400,
Quoted 4 lines · Kulikov Vasiliy
get_user()may fail, if so return-EFAULT.Signed-off-by Kulikov Vasiliy <[email protected]>
Thanks, applied this one (with one additional fix for get_user() there).
Takashi
Quoted 31 lines
--- sound/isa/sb/emu8000_pcm.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)sound/isa/sb/emu8000_pcm.c +4
-2@@ -433,7 +433,8 @@ static int emu8k_transfer_block(struct snd_emu8000 *emu, int offset, unsigned shwhile (count >0 ) {unsigned short sval;CHECK_SCHEDULER (); -get_user (sval, buf); +if (get_user (sval, buf)) +return -EFAULT ;EMU8000_SMLD_WRITE (emu, sval); buf++; count--;@@ -525,7 +526,8 @@ static int emu8k_pcm_copy(struct snd_pcm_substream *subs,while (count-- >0 ) {unsigned short sval;CHECK_SCHEDULER (); -get_user (sval, buf); +if (get_user (sval, buf)) +return -EFAULT ;EMU8000_SMLD_WRITE (emu, sval); buf++;if (rec->voices >1 ) {Signature · 1 line
1.7.0.4