|
@@ -433,7 +433,8 @@ static int emu8k_transfer_block(struct snd_emu8000 *emu, int offset, unsigned sh
|
|
|
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++;
|
|
|
count--;
|
|
@@ -525,12 +526,14 @@ 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) {
|
|
|
CHECK_SCHEDULER();
|
|
|
- get_user(sval, buf);
|
|
|
+ if (get_user(sval, buf))
|
|
|
+ return -EFAULT;
|
|
|
EMU8000_SMRD_WRITE(emu, sval);
|
|
|
buf++;
|
|
|
}
|