From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: sound/core/oss/pcm_oss.c:2377:3: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
Date: Fri, 17 Dec 2021 07:08:07 +0800 [thread overview]
Message-ID: <202112170722.QJcRozeU-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 31411 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Mark Rutland <mark.rutland@arm.com>
CC: Peter Zijlstra <peterz@infradead.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: fa36bbe6d43f3bbce1f10a187e153587c7584d83
commit: fc63a6e08a8c97a3dc3a6f2e1946b949b9a6c2d3 locking/atomic: arm: move to ARCH_ATOMIC
date: 7 months ago
:::::: branch date: 4 hours ago
:::::: commit date: 7 months ago
config: arm-randconfig-c002-20211215 (https://download.01.org/0day-ci/archive/20211217/202112170722.QJcRozeU-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project dd245bab9fbb364faa1581e4f92ba3119a872fba)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=fc63a6e08a8c97a3dc3a6f2e1946b949b9a6c2d3
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout fc63a6e08a8c97a3dc3a6f2e1946b949b9a6c2d3
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:733:6: note: 'min_period_size' is 0
if (min_period_size) {
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:733:2: note: '?' condition is false
if (min_period_size) {
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
sound/core/oss/pcm_oss.c:733:2: note: Taking false branch
if (min_period_size) {
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
sound/core/oss/pcm_oss.c:742:2: note: Assuming 'max_period_size' is not equal to 0
if (max_period_size) {
^
include/linux/compiler.h:56:45: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
sound/core/oss/pcm_oss.c:742:2: note: '?' condition is false
if (max_period_size) {
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:742:6: note: 'max_period_size' is not equal to 0
if (max_period_size) {
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:742:2: note: '?' condition is true
if (max_period_size) {
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
sound/core/oss/pcm_oss.c:742:2: note: Taking true branch
if (max_period_size) {
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
sound/core/oss/pcm_oss.c:744:21: note: '?' condition is false
max_period_size = rounddown_pow_of_two(max_period_size);
^
include/linux/log2.h:193:2: note: expanded from macro 'rounddown_pow_of_two'
__builtin_constant_p(n) ? ( \
^
sound/core/oss/pcm_oss.c:744:21: note: Calling '__rounddown_pow_of_two'
max_period_size = rounddown_pow_of_two(max_period_size);
^
include/linux/log2.h:195:2: note: expanded from macro 'rounddown_pow_of_two'
__rounddown_pow_of_two(n) \
^~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/log2.h:67:13: note: The result of the left shift is undefined due to shifting by '4294967295', which is greater or equal to the width of type 'unsigned long'
return 1UL << (fls_long(n) - 1);
^ ~~~~~~~~~~~~~~~~~
>> sound/core/oss/pcm_oss.c:2377:3: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign]
struct snd_pcm_substream *substream = pcm_oss_file->streams[cidx];
^
sound/core/oss/pcm_oss.c:2396:2: note: Assuming 'rpcm_oss_file' is null
if (rpcm_oss_file)
^
include/linux/compiler.h:56:45: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
sound/core/oss/pcm_oss.c:2396:2: note: '?' condition is false
if (rpcm_oss_file)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:2396:6: note: 'rpcm_oss_file' is null
if (rpcm_oss_file)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:2396:2: note: '?' condition is false
if (rpcm_oss_file)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
sound/core/oss/pcm_oss.c:2396:2: note: Taking false branch
if (rpcm_oss_file)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
sound/core/oss/pcm_oss.c:2399:17: note: Calling 'kzalloc'
pcm_oss_file = kzalloc(sizeof(*pcm_oss_file), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:686:9: note: Storing uninitialized value
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/core/oss/pcm_oss.c:2399:17: note: Returning from 'kzalloc'
pcm_oss_file = kzalloc(sizeof(*pcm_oss_file), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/core/oss/pcm_oss.c:2400:6: note: Assuming 'pcm_oss_file' is not equal to null
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
sound/core/oss/pcm_oss.c:2400:2: note: '?' condition is false
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:2400:6: note: 'pcm_oss_file' is not equal to null
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:2400:2: note: '?' condition is false
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
--
^~~~
sound/core/oss/pcm_oss.c:2421:3: note: '?' condition is false
if (err < 0) {
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:2421:7: note: 'err' is < 0
if (err < 0) {
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:2421:3: note: '?' condition is true
if (err < 0) {
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
sound/core/oss/pcm_oss.c:2421:3: note: Taking true branch
if (err < 0) {
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
sound/core/oss/pcm_oss.c:2422:4: note: Calling 'snd_pcm_oss_release_file'
snd_pcm_oss_release_file(pcm_oss_file);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/core/oss/pcm_oss.c:2374:7: note: 'pcm_oss_file' is non-null
if (!pcm_oss_file)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
sound/core/oss/pcm_oss.c:2374:2: note: '?' condition is false
if (!pcm_oss_file)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:2374:7: note: 'pcm_oss_file' is non-null
if (!pcm_oss_file)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:2374:2: note: '?' condition is false
if (!pcm_oss_file)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
sound/core/oss/pcm_oss.c:2374:2: note: Taking false branch
if (!pcm_oss_file)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
sound/core/oss/pcm_oss.c:2376:7: note: The value 0 is assigned to 'cidx'
for (cidx = 0; cidx < 2; ++cidx) {
^~~~~~~~
sound/core/oss/pcm_oss.c:2376:2: note: Loop condition is true. Entering loop body
for (cidx = 0; cidx < 2; ++cidx) {
^
sound/core/oss/pcm_oss.c:2377:3: note: Assigned value is garbage or undefined
struct snd_pcm_substream *substream = pcm_oss_file->streams[cidx];
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> sound/core/oss/pcm_oss.c:2430:6: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
if (!pcm_oss_file->streams[0] && !pcm_oss_file->streams[1]) {
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
sound/core/oss/pcm_oss.c:2396:2: note: Assuming 'rpcm_oss_file' is null
if (rpcm_oss_file)
^
include/linux/compiler.h:56:45: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
sound/core/oss/pcm_oss.c:2396:2: note: '?' condition is false
if (rpcm_oss_file)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:2396:6: note: 'rpcm_oss_file' is null
if (rpcm_oss_file)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:2396:2: note: '?' condition is false
if (rpcm_oss_file)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:69: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
include/linux/compiler.h:69:2: note: expanded from macro '__trace_if_value'
(cond) ? \
^
sound/core/oss/pcm_oss.c:2396:2: note: Taking false branch
if (rpcm_oss_file)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
sound/core/oss/pcm_oss.c:2399:17: note: Calling 'kzalloc'
pcm_oss_file = kzalloc(sizeof(*pcm_oss_file), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/slab.h:686:9: note: Storing uninitialized value
return kmalloc(size, flags | __GFP_ZERO);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/core/oss/pcm_oss.c:2399:17: note: Returning from 'kzalloc'
pcm_oss_file = kzalloc(sizeof(*pcm_oss_file), GFP_KERNEL);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sound/core/oss/pcm_oss.c:2400:6: note: Assuming 'pcm_oss_file' is not equal to null
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
sound/core/oss/pcm_oss.c:2400:2: note: '?' condition is false
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
include/linux/compiler.h:58:31: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^
sound/core/oss/pcm_oss.c:2400:6: note: 'pcm_oss_file' is not equal to null
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value'
(cond) ? \
^~~~
sound/core/oss/pcm_oss.c:2400:2: note: '?' condition is false
if (pcm_oss_file == NULL)
^
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
vim +2377 sound/core/oss/pcm_oss.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 2370
6ac77bc180fbd9 Takashi Iwai 2005-11-17 2371 static int snd_pcm_oss_release_file(struct snd_pcm_oss_file *pcm_oss_file)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2372 {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2373 int cidx;
7eaa943c8ed8e9 Takashi Iwai 2008-08-08 2374 if (!pcm_oss_file)
7eaa943c8ed8e9 Takashi Iwai 2008-08-08 2375 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2376 for (cidx = 0; cidx < 2; ++cidx) {
6ac77bc180fbd9 Takashi Iwai 2005-11-17 @2377 struct snd_pcm_substream *substream = pcm_oss_file->streams[cidx];
3bf75f9b90c981 Takashi Iwai 2006-03-27 2378 if (substream)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2379 snd_pcm_release_substream(substream);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2380 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2381 kfree(pcm_oss_file);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2382 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2383 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2384
^1da177e4c3f41 Linus Torvalds 2005-04-16 2385 static int snd_pcm_oss_open_file(struct file *file,
6ac77bc180fbd9 Takashi Iwai 2005-11-17 2386 struct snd_pcm *pcm,
6ac77bc180fbd9 Takashi Iwai 2005-11-17 2387 struct snd_pcm_oss_file **rpcm_oss_file,
^1da177e4c3f41 Linus Torvalds 2005-04-16 2388 int minor,
060d77b9c04acd Takashi Iwai 2006-03-27 2389 struct snd_pcm_oss_setup *setup)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2390 {
3bf75f9b90c981 Takashi Iwai 2006-03-27 2391 int idx, err;
6ac77bc180fbd9 Takashi Iwai 2005-11-17 2392 struct snd_pcm_oss_file *pcm_oss_file;
3bf75f9b90c981 Takashi Iwai 2006-03-27 2393 struct snd_pcm_substream *substream;
aeb5d727062a02 Al Viro 2008-09-02 2394 fmode_t f_mode = file->f_mode;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2395
7eaa943c8ed8e9 Takashi Iwai 2008-08-08 2396 if (rpcm_oss_file)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2397 *rpcm_oss_file = NULL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2398
ca2c0966562cfb Takashi Iwai 2005-09-09 2399 pcm_oss_file = kzalloc(sizeof(*pcm_oss_file), GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2400 if (pcm_oss_file == NULL)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2401 return -ENOMEM;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2402
^1da177e4c3f41 Linus Torvalds 2005-04-16 2403 if ((f_mode & (FMODE_WRITE|FMODE_READ)) == (FMODE_WRITE|FMODE_READ) &&
^1da177e4c3f41 Linus Torvalds 2005-04-16 2404 (pcm->info_flags & SNDRV_PCM_INFO_HALF_DUPLEX))
^1da177e4c3f41 Linus Torvalds 2005-04-16 2405 f_mode = FMODE_WRITE;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2406
0df63e44c3e315 Takashi Iwai 2006-04-28 2407 file->f_flags &= ~O_APPEND;
3bf75f9b90c981 Takashi Iwai 2006-03-27 2408 for (idx = 0; idx < 2; idx++) {
060d77b9c04acd Takashi Iwai 2006-03-27 2409 if (setup[idx].disable)
3bf75f9b90c981 Takashi Iwai 2006-03-27 2410 continue;
6cb53e7ed77d42 Takashi Iwai 2006-08-02 2411 if (! pcm->streams[idx].substream_count)
6cb53e7ed77d42 Takashi Iwai 2006-08-02 2412 continue; /* no matching substream */
3bf75f9b90c981 Takashi Iwai 2006-03-27 2413 if (idx == SNDRV_PCM_STREAM_PLAYBACK) {
3bf75f9b90c981 Takashi Iwai 2006-03-27 2414 if (! (f_mode & FMODE_WRITE))
3bf75f9b90c981 Takashi Iwai 2006-03-27 2415 continue;
3bf75f9b90c981 Takashi Iwai 2006-03-27 2416 } else {
3bf75f9b90c981 Takashi Iwai 2006-03-27 2417 if (! (f_mode & FMODE_READ))
3bf75f9b90c981 Takashi Iwai 2006-03-27 2418 continue;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2419 }
3bf75f9b90c981 Takashi Iwai 2006-03-27 2420 err = snd_pcm_open_substream(pcm, idx, file, &substream);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2421 if (err < 0) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2422 snd_pcm_oss_release_file(pcm_oss_file);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2423 return err;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2424 }
3bf75f9b90c981 Takashi Iwai 2006-03-27 2425
3bf75f9b90c981 Takashi Iwai 2006-03-27 2426 pcm_oss_file->streams[idx] = substream;
060d77b9c04acd Takashi Iwai 2006-03-27 2427 snd_pcm_oss_init_substream(substream, &setup[idx], minor);
^1da177e4c3f41 Linus Torvalds 2005-04-16 2428 }
3bf75f9b90c981 Takashi Iwai 2006-03-27 2429
bbdc1b7dbe4157 OGAWA Hirofumi 2006-04-06 @2430 if (!pcm_oss_file->streams[0] && !pcm_oss_file->streams[1]) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 2431 snd_pcm_oss_release_file(pcm_oss_file);
3bf75f9b90c981 Takashi Iwai 2006-03-27 2432 return -EINVAL;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2433 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2434
^1da177e4c3f41 Linus Torvalds 2005-04-16 2435 file->private_data = pcm_oss_file;
7eaa943c8ed8e9 Takashi Iwai 2008-08-08 2436 if (rpcm_oss_file)
^1da177e4c3f41 Linus Torvalds 2005-04-16 2437 *rpcm_oss_file = pcm_oss_file;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2438 return 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 2439 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 2440
:::::: The code at line 2377 was first introduced by commit
:::::: 6ac77bc180fbd985988015020c2e2347e802959d [ALSA] Remove xxx_t typedefs: PCM OSS-emulation
:::::: TO: Takashi Iwai <tiwai@suse.de>
:::::: CC: Jaroslav Kysela <perex@suse.cz>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
next reply other threads:[~2021-12-16 23:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-12-16 23:08 kernel test robot [this message]
2021-12-17 8:51 sound/core/oss/pcm_oss.c:2377:3: warning: Assigned value is garbage or undefined [clang-analyzer-core.uninitialized.Assign] kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202112170722.QJcRozeU-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.