CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Takashi Iwai <[email protected]>
CC: Jaroslav Kysela <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
pending-fixes
head:   9344874edebc5f4360a045cdef5e4ab3cf42e5bd
commit: 411cef6adfb38a5bb6bd9af3941b28198e7fb680 [241/297] ALSA: mixer: oss: 
Fix racy access to slots
:::::: branch date: 3 days ago
:::::: commit date: 3 days ago
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
Reported-by: Julia Lawall <[email protected]>


cocci warnings: (new ones prefixed by >>)
>> sound/core/oss/mixer_oss.c:300:1-11: second lock on line 316

vim +300 sound/core/oss/mixer_oss.c

^1da177e4c3f41 Linus Torvalds 2005-04-16  290  
f956b4a3ae790e Takashi Iwai   2005-11-17  291  static int 
snd_mixer_oss_set_volume(struct snd_mixer_oss_file *fmixer,
^1da177e4c3f41 Linus Torvalds 2005-04-16  292                               int 
slot, int volume)
^1da177e4c3f41 Linus Torvalds 2005-04-16  293  {
f956b4a3ae790e Takashi Iwai   2005-11-17  294   struct snd_mixer_oss *mixer = 
fmixer->mixer;
f956b4a3ae790e Takashi Iwai   2005-11-17  295   struct snd_mixer_oss_slot 
*pslot;
^1da177e4c3f41 Linus Torvalds 2005-04-16  296   int result = 0, left = volume & 
0xff, right = (volume >> 8) & 0xff;
^1da177e4c3f41 Linus Torvalds 2005-04-16  297  
^1da177e4c3f41 Linus Torvalds 2005-04-16  298   if (mixer == NULL || slot > 30)
^1da177e4c3f41 Linus Torvalds 2005-04-16  299           return -EIO;
411cef6adfb38a Takashi Iwai   2021-10-20 @300   mutex_lock(&mixer->reg_mutex);
^1da177e4c3f41 Linus Torvalds 2005-04-16  301   pslot = &mixer->slots[slot];
^1da177e4c3f41 Linus Torvalds 2005-04-16  302   if (left > 100)
^1da177e4c3f41 Linus Torvalds 2005-04-16  303           left = 100;
^1da177e4c3f41 Linus Torvalds 2005-04-16  304   if (right > 100)
^1da177e4c3f41 Linus Torvalds 2005-04-16  305           right = 100;
^1da177e4c3f41 Linus Torvalds 2005-04-16  306   if (!pslot->stereo)
^1da177e4c3f41 Linus Torvalds 2005-04-16  307           right = left;
^1da177e4c3f41 Linus Torvalds 2005-04-16  308   if (pslot->put_volume)
^1da177e4c3f41 Linus Torvalds 2005-04-16  309           result = 
pslot->put_volume(fmixer, pslot, left, right);
^1da177e4c3f41 Linus Torvalds 2005-04-16  310   if (result < 0)
411cef6adfb38a Takashi Iwai   2021-10-20  311           goto unlock;
^1da177e4c3f41 Linus Torvalds 2005-04-16  312   pslot->volume[0] = left;
^1da177e4c3f41 Linus Torvalds 2005-04-16  313   pslot->volume[1] = right;
411cef6adfb38a Takashi Iwai   2021-10-20  314   result = (left & 0xff) | 
((right & 0xff) << 8);
411cef6adfb38a Takashi Iwai   2021-10-20  315   unlock:
411cef6adfb38a Takashi Iwai   2021-10-20 @316   mutex_lock(&mixer->reg_mutex);
411cef6adfb38a Takashi Iwai   2021-10-20  317   return result;
^1da177e4c3f41 Linus Torvalds 2005-04-16  318  }
^1da177e4c3f41 Linus Torvalds 2005-04-16  319  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to