lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 25 Nov 2018 19:30:24 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Chanho Min <chanho.min@....com>
Cc:     kbuild-all@...org, Jaroslav Kysela <perex@...ex.cz>,
        Takashi Iwai <tiwai@...e.com>,
        Vinod Koul <vinod.koul@...el.com>,
        Daniel Mentz <danielmentz@...gle.com>,
        linux-kernel@...r.kernel.org, alsa-devel@...a-project.org,
        Seungho Park <seungho1.park@....com>,
        Jongsung Kim <neidhard.kim@....com>,
        Wonmin Jung <wonmin.jung@....com>,
        Jaehyun Kim <jehn.kim@....com>,
        Hyonwoo Park <hyonwoo.park@....com>,
        Chanho Min <chanho.min@....com>
Subject: Re: [PATCH] ALSA: pcm: Fix starvation on down_write_nonblock()

Hi Chanho,

I love your patch! Yet something to improve:

[auto build test ERROR on sound/for-next]
[also build test ERROR on v4.20-rc3 next-20181123]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Chanho-Min/ALSA-pcm-Fix-starvation-on-down_write_nonblock/20181124-182630
base:   https://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git for-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   sound/core/pcm_native.c:590:51: warning: incorrect type in assignment (different base types)
   sound/core/pcm_native.c:590:51:    expected restricted snd_pcm_state_t [usertype] state
   sound/core/pcm_native.c:590:51:    got int [signed] state
   sound/core/pcm_native.c:755:38: warning: incorrect type in argument 2 (different base types)
   sound/core/pcm_native.c:755:38:    expected int [signed] state
   sound/core/pcm_native.c:755:38:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:767:38: warning: incorrect type in argument 2 (different base types)
   sound/core/pcm_native.c:767:38:    expected int [signed] state
   sound/core/pcm_native.c:767:38:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:816:38: warning: incorrect type in argument 2 (different base types)
   sound/core/pcm_native.c:816:38:    expected int [signed] state
   sound/core/pcm_native.c:816:38:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:1226:32: warning: incorrect type in assignment (different base types)
   sound/core/pcm_native.c:1226:32:    expected restricted snd_pcm_state_t [usertype] state
   sound/core/pcm_native.c:1226:32:    got int [signed] state
   sound/core/pcm_native.c:1250:31: warning: incorrect type in argument 3 (different base types)
   sound/core/pcm_native.c:1250:31:    expected int [signed] state
   sound/core/pcm_native.c:1250:31:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:1257:40: warning: incorrect type in argument 3 (different base types)
   sound/core/pcm_native.c:1257:40:    expected int [signed] state
   sound/core/pcm_native.c:1257:40:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:1283:28: warning: restricted snd_pcm_state_t degrades to integer
   sound/core/pcm_native.c:1285:40: warning: incorrect type in assignment (different base types)
   sound/core/pcm_native.c:1285:40:    expected restricted snd_pcm_state_t [usertype] state
   sound/core/pcm_native.c:1285:40:    got int [signed] state
   sound/core/pcm_native.c:1309:64: warning: incorrect type in argument 3 (different base types)
   sound/core/pcm_native.c:1309:64:    expected int [signed] state
   sound/core/pcm_native.c:1309:64:    got restricted snd_pcm_state_t [usertype] state
   sound/core/pcm_native.c:1325:38: warning: incorrect type in argument 3 (different base types)
   sound/core/pcm_native.c:1325:38:    expected int [signed] state
   sound/core/pcm_native.c:1325:38:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:1684:38: warning: incorrect type in argument 2 (different base types)
   sound/core/pcm_native.c:1684:38:    expected int [signed] state
   sound/core/pcm_native.c:1684:38:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:1750:61: warning: incorrect type in argument 2 (different base types)
   sound/core/pcm_native.c:1750:61:    expected int [signed] state
   sound/core/pcm_native.c:1750:61:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:1751:63: warning: incorrect type in argument 2 (different base types)
   sound/core/pcm_native.c:1751:63:    expected int [signed] state
   sound/core/pcm_native.c:1751:63:    got restricted snd_pcm_state_t [usertype] <noident>
   sound/core/pcm_native.c:1768:76: warning: incorrect type in initializer (different base types)
   sound/core/pcm_native.c:1768:76:    expected int [signed] new_state
   sound/core/pcm_native.c:1768:76:    got restricted snd_pcm_state_t
   include/linux/slab.h:332:43: warning: dubious: x & !y
>> sound/core/pcm_native.c:99:17: error: undefined identifier 'msleep'
>> sound/core/pcm_native.c:99:23: error: not a function <noident>
   sound/core/pcm_native.c:2089:26: warning: restricted snd_pcm_format_t degrades to integer
   sound/core/pcm_native.c:2093:54: warning: incorrect type in argument 1 (different base types)
   sound/core/pcm_native.c:2093:54:    expected restricted snd_pcm_format_t [usertype] format
   sound/core/pcm_native.c:2093:54:    got unsigned int [unsigned] [assigned] k
   sound/core/pcm_native.c:2111:26: warning: restricted snd_pcm_format_t degrades to integer
   sound/core/pcm_native.c:2115:54: warning: incorrect type in argument 1 (different base types)
   sound/core/pcm_native.c:2115:54:    expected restricted snd_pcm_format_t [usertype] format
   sound/core/pcm_native.c:2115:54:    got unsigned int [unsigned] [assigned] k
   sound/core/pcm_native.c:2295:30: warning: restricted snd_pcm_access_t degrades to integer
   sound/core/pcm_native.c:2297:30: warning: restricted snd_pcm_access_t degrades to integer
   sound/core/pcm_native.c:2300:38: warning: restricted snd_pcm_access_t degrades to integer
   sound/core/pcm_native.c:2302:38: warning: restricted snd_pcm_access_t degrades to integer
   sound/core/pcm_native.c:2304:38: warning: restricted snd_pcm_access_t degrades to integer
   sound/core/pcm_native.c:2314:86: warning: restricted snd_pcm_subformat_t degrades to integer
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   sound/core/pcm_compat.c:226:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:226:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:226:13:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] state
   sound/core/pcm_compat.c:235:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:235:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:235:13:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] suspended_state
   sound/core/pcm_compat.c:290:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:290:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:290:13:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] state
   sound/core/pcm_compat.c:299:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:299:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:299:13:    got restricted snd_pcm_state_t [addressable] [assigned] [usertype] suspended_state
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   sound/core/pcm_compat.c:525:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:525:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:525:13:    got restricted snd_pcm_state_t [assigned] [usertype] state
   sound/core/pcm_compat.c:528:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:528:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:528:13:    got restricted snd_pcm_state_t [assigned] [usertype] suspended_state
   sound/core/pcm_compat.c:614:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:614:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:614:13:    got restricted snd_pcm_state_t [assigned] [usertype] state
   sound/core/pcm_compat.c:617:13: warning: incorrect type in assignment (different base types)
   sound/core/pcm_compat.c:617:13:    expected signed int [signed] [explicitly-signed] __pu_val
   sound/core/pcm_compat.c:617:13:    got restricted snd_pcm_state_t [assigned] [usertype] suspended_state
   sound/core/pcm_native.c:127:9: warning: context imbalance in '__snd_pcm_stream_lock_mode' - different lock contexts for basic block
   sound/core/pcm_native.c:137:28: warning: context imbalance in '__snd_pcm_stream_unlock_mode' - unexpected unlock
   sound/core/pcm_native.c:1097:52: warning: context imbalance in 'snd_pcm_action_group' - unexpected unlock
   sound/core/pcm_native.c: In function 'down_write_nonblock':
   sound/core/pcm_native.c:99:3: error: implicit declaration of function 'msleep' [-Werror=implicit-function-declaration]
      msleep(1);
      ^~~~~~
   cc1: some warnings being treated as errors

vim +/msleep +99 sound/core/pcm_native.c

    89	
    90	/* Writer in rwsem may block readers even during its waiting in queue,
    91	 * and this may lead to a deadlock when the code path takes read sem
    92	 * twice (e.g. one in snd_pcm_action_nonatomic() and another in
    93	 * snd_pcm_stream_lock()).  As a (suboptimal) workaround, let writer to
    94	 * spin until it gets the lock.
    95	 */
    96	static inline void down_write_nonblock(struct rw_semaphore *lock)
    97	{
    98		while (!down_write_trylock(lock))
  > 99			msleep(1);
   100	}
   101	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (66605 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ