* crypto/tcrypt.c:696:2: warning: Potential leak of memory pointed to by 'req' [clang-analyzer-unix.Malloc]
@ 2022-01-10 20:52 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-01-10 20:52 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 77798 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Kees Cook <keescook@chromium.org>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: df0cc57e057f18e44dac8e6c18aba47ab53202f9
commit: a52f8a59aef46b59753e583bf4b28fccb069ce64 fortify: Explicitly disable Clang support
date: 4 months ago
:::::: branch date: 22 hours ago
:::::: commit date: 4 months ago
config: i386-randconfig-c001-20220108 (https://download.01.org/0day-ci/archive/20220111/202201110433.WA2PFWhg-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project f3a344d2125fa37e59bae1b0874442c650a19607)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a52f8a59aef46b59753e583bf4b28fccb069ce64
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout a52f8a59aef46b59753e583bf4b28fccb069ce64
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=i386 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: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) ? \
^
lib/kunit/executor.c:120:2: note: Taking false branch
if (filter_glob_param)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
lib/kunit/executor.c:125:2: note: Loop condition is false. Execution continues on line 128
for (suites = suite_set.start; suites < suite_set.end; suites++)
^
lib/kunit/executor.c:128:2: note: Assuming 'filter_glob_param' is non-null
if (filter_glob_param) { /* a copy was made of each array */
^
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))
^~~~
lib/kunit/executor.c:128:2: note: '?' condition is false
if (filter_glob_param) { /* a copy was made of each array */
^
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))
^
lib/kunit/executor.c:128:6: note: 'filter_glob_param' is non-null
if (filter_glob_param) { /* a copy was made of each array */
^
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) ? \
^~~~
lib/kunit/executor.c:128:2: note: '?' condition is true
if (filter_glob_param) { /* a copy was made of each array */
^
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) ? \
^
lib/kunit/executor.c:128:2: note: Taking true branch
if (filter_glob_param) { /* a copy was made of each array */
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
lib/kunit/executor.c:129:3: note: Loop condition is false. Execution continues on line 131
for (suites = suite_set.start; suites < suite_set.end; suites++)
^
lib/kunit/executor.c:131:3: note: Argument to kfree() is the address of the global variable '__kunit_suites_start', which is not memory allocated by malloc()
kfree(suite_set.start);
^ ~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
crypto/drbg.c:245:17: warning: Value stored to 'entropylen' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
unsigned short entropylen = drbg_sec_strength(drbg->core->flags);
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
crypto/drbg.c:245:17: note: Value stored to 'entropylen' during its initialization is never read
unsigned short entropylen = drbg_sec_strength(drbg->core->flags);
^~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
>> crypto/tcrypt.c:696:2: warning: Potential leak of memory pointed to by 'req' [clang-analyzer-unix.Malloc]
crypto_free_aead(tfm);
^
crypto/tcrypt.c:549:6: note: Assuming 'iv' is non-null
if (!iv)
^
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))
^~~~
crypto/tcrypt.c:549:2: note: '?' condition is false
if (!iv)
^
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))
^
crypto/tcrypt.c:549:7: note: 'iv' is non-null
if (!iv)
^
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) ? \
^~~~
crypto/tcrypt.c:549:2: note: '?' condition is false
if (!iv)
^
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) ? \
^
crypto/tcrypt.c:549:2: note: Taking false branch
if (!iv)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
crypto/tcrypt.c:552:6: note: Assuming the condition is false
if (aad_size >= PAGE_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:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
crypto/tcrypt.c:552:2: note: '?' condition is false
if (aad_size >= PAGE_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))
^
crypto/tcrypt.c:552:2: note: '?' condition is false
if (aad_size >= PAGE_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) ? \
^
crypto/tcrypt.c:552:2: note: Taking false branch
if (aad_size >= PAGE_SIZE) {
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
crypto/tcrypt.c:557:6: note: Assuming 'enc' is equal to 1
if (enc == ENCRYPT)
^
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))
^~~~
crypto/tcrypt.c:557:2: note: '?' condition is false
if (enc == ENCRYPT)
^
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: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) ? \
^~~~
kernel/time/ntp.c:335:2: note: '?' condition is false
if (unlikely(secs > 1 << (SHIFT_PLL + 1 + time_constant)))
^
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) ? \
^
kernel/time/ntp.c:335:2: note: Taking false branch
if (unlikely(secs > 1 << (SHIFT_PLL + 1 + time_constant)))
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
kernel/time/ntp.c:341:16: note: Assuming '__UNIQUE_ID___x223' is >= '__UNIQUE_ID___y224'
freq_adj = min(freq_adj + time_freq, MAXFREQ_SCALED);
^
include/linux/minmax.h:45:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
kernel/time/ntp.c:341:16: note: '?' condition is false
freq_adj = min(freq_adj + time_freq, MAXFREQ_SCALED);
^
include/linux/minmax.h:45:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^
include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
kernel/time/ntp.c:343:16: note: '__UNIQUE_ID___x225' is > '__UNIQUE_ID___y226'
time_freq = max(freq_adj, -MAXFREQ_SCALED);
^
include/linux/minmax.h:52:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~
kernel/time/ntp.c:343:16: note: '?' condition is true
time_freq = max(freq_adj, -MAXFREQ_SCALED);
^
include/linux/minmax.h:52:19: note: expanded from macro 'max'
#define max(x, y) __careful_cmp(x, y, >)
^
include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
kernel/time/ntp.c:345:33: note: The result of the left shift is undefined because the left operand is negative
time_offset = div_s64(offset64 << NTP_SCALE_SHIFT, NTP_INTERVAL_FREQ);
~~~~~~~~ ^
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
4 warnings generated.
>> fs/ecryptfs/crypto.c:346:2: warning: Potential leak of memory pointed to by 'req' [clang-analyzer-unix.Malloc]
return rc;
^
fs/ecryptfs/crypto.c:514:9: note: Assuming the condition is false
BUG_ON(!(crypt_stat->flags & ECRYPTFS_ENCRYPTED));
^
include/asm-generic/bug.h:65:45: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
~~~~~~~~~~~~~^~~~~~~~~~~
include/linux/compiler.h:48:41: note: expanded from macro 'unlikely'
# define unlikely(x) (__branch_check__(x, 0, __builtin_constant_p(x)))
^
include/linux/compiler.h:33:34: note: expanded from macro '__branch_check__'
______r = __builtin_expect(!!(x), expect); \
^
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))
^~~~
fs/ecryptfs/crypto.c:514:2: note: '?' condition is false
BUG_ON(!(crypt_stat->flags & ECRYPTFS_ENCRYPTED));
^
include/asm-generic/bug.h:65:32: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (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))
^
fs/ecryptfs/crypto.c:514:2: note: '?' condition is false
BUG_ON(!(crypt_stat->flags & ECRYPTFS_ENCRYPTED));
^
include/asm-generic/bug.h:65:32: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (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) ? \
^
fs/ecryptfs/crypto.c:514:2: note: Taking false branch
BUG_ON(!(crypt_stat->flags & ECRYPTFS_ENCRYPTED));
^
include/asm-generic/bug.h:65:32: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
fs/ecryptfs/crypto.c:514:2: note: Loop condition is false. Exiting loop
BUG_ON(!(crypt_stat->flags & ECRYPTFS_ENCRYPTED));
^
include/asm-generic/bug.h:65:27: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
fs/ecryptfs/crypto.c:521:6: note: Assuming 'rc' is >= 0
if (rc < 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:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
fs/ecryptfs/crypto.c:521:2: note: '?' condition is false
if (rc < 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))
^
fs/ecryptfs/crypto.c:521:6: note: 'rc' is >= 0
if (rc < 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) ? \
^~~~
fs/ecryptfs/crypto.c:521:2: note: '?' condition is false
if (rc < 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_types.h:305:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:295:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/char/ipmi/ipmi_msghandler.c:711:2: note: Memory is released
kfree(intf);
^~~~~~~~~~~
include/linux/kref.h:65:3: note: Returning; memory was released
release(kref);
^~~~~~~~~~~~~
drivers/char/ipmi/ipmi_msghandler.c:4682:4: note: Returning; memory was released
kref_put(&intf->refcount, intf_free);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/char/ipmi/ipmi_msghandler.c:4693:2: note: Calling 'spinlock_check'
spin_lock_irqsave(&intf->seq_lock, flags);
^
include/linux/spinlock.h:393:24: note: expanded from macro 'spin_lock_irqsave'
raw_spin_lock_irqsave(spinlock_check(lock), flags); \
~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:256:34: note: expanded from macro 'raw_spin_lock_irqsave'
flags = _raw_spin_lock_irqsave(lock); \
^~~~
include/linux/spinlock.h:338:2: note: Use of memory after it is freed
return &lock->rlock;
^ ~~~~~~~~~~~~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
lib/asn1_encoder.c:167:2: warning: Value stored to 'ret' is never read [clang-analyzer-deadcode.DeadStores]
ret = 0;
^ ~
lib/asn1_encoder.c:167:2: note: Value stored to 'ret' is never read
ret = 0;
^ ~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
lib/oid_registry.c:149:3: warning: Value stored to 'num' is never read [clang-analyzer-deadcode.DeadStores]
num = 0;
^ ~
lib/oid_registry.c:149:3: note: Value stored to 'num' is never read
num = 0;
^ ~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
>> drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:135:10: warning: Potential leak of memory pointed to by 'out' [clang-analyzer-unix.Malloc]
return false;
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:187:2: note: '?' condition is false
DO_TEST();
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:183:19: note: expanded from macro 'DO_TEST'
#define DO_TEST() FAIL_ON(!sideband_msg_req_encode_decode(&in))
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:17:20: note: expanded from macro 'FAIL_ON'
#define FAIL_ON(x) FAIL((x), "%s", "FAIL_ON(" __stringify(x) ")\n")
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:11:3: note: expanded from macro 'FAIL'
if (test) { \
^
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))
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:187:2: note: '?' condition is false
DO_TEST();
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:183:19: note: expanded from macro 'DO_TEST'
#define DO_TEST() FAIL_ON(!sideband_msg_req_encode_decode(&in))
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:17:20: note: expanded from macro 'FAIL_ON'
#define FAIL_ON(x) FAIL((x), "%s", "FAIL_ON(" __stringify(x) ")\n")
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:11:3: note: expanded from macro 'FAIL'
if (test) { \
^
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) ? \
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:187:2: note: Taking false branch
DO_TEST();
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:183:19: note: expanded from macro 'DO_TEST'
#define DO_TEST() FAIL_ON(!sideband_msg_req_encode_decode(&in))
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:17:20: note: expanded from macro 'FAIL_ON'
#define FAIL_ON(x) FAIL((x), "%s", "FAIL_ON(" __stringify(x) ")\n")
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:11:3: note: expanded from macro 'FAIL'
if (test) { \
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:187:2: note: Loop condition is false. Exiting loop
DO_TEST();
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:183:19: note: expanded from macro 'DO_TEST'
#define DO_TEST() FAIL_ON(!sideband_msg_req_encode_decode(&in))
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:17:20: note: expanded from macro 'FAIL_ON'
#define FAIL_ON(x) FAIL((x), "%s", "FAIL_ON(" __stringify(x) ")\n")
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:10:2: note: expanded from macro 'FAIL'
do { \
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:191:2: note: '?' condition is false
DO_TEST();
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:183:19: note: expanded from macro 'DO_TEST'
#define DO_TEST() FAIL_ON(!sideband_msg_req_encode_decode(&in))
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:17:20: note: expanded from macro 'FAIL_ON'
#define FAIL_ON(x) FAIL((x), "%s", "FAIL_ON(" __stringify(x) ")\n")
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:11:3: note: expanded from macro 'FAIL'
if (test) { \
^
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))
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:191:2: note: '?' condition is false
DO_TEST();
^
drivers/gpu/drm/selftests/test-drm_dp_mst_helper.c:183:19: note: expanded from macro 'DO_TEST'
#define DO_TEST() FAIL_ON(!sideband_msg_req_encode_decode(&in))
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:17:20: note: expanded from macro 'FAIL_ON'
#define FAIL_ON(x) FAIL((x), "%s", "FAIL_ON(" __stringify(x) ")\n")
^
drivers/gpu/drm/selftests/test-drm_modeset_common.h:11:3: note: expanded from macro 'FAIL'
if (test) { \
^
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))
^
drivers/dax/bus.c:523:15: note: Left side of '&&' is false
dax_region = container_of(kref, struct dax_region, kref);
^
include/linux/kernel.h:495:61: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
drivers/dax/bus.c:523:15: note: Taking false branch
dax_region = container_of(kref, struct dax_region, kref);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:317:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:305:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:297:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/dax/bus.c:523:15: note: Loop condition is false. Exiting loop
dax_region = container_of(kref, struct dax_region, kref);
^
include/linux/kernel.h:495:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
include/linux/build_bug.h:39:37: note: expanded from macro 'BUILD_BUG_ON_MSG'
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
^
include/linux/compiler_types.h:317:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:305:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:295:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/dax/bus.c:524:2: note: Memory is released
kfree(dax_region);
^~~~~~~~~~~~~~~~~
include/linux/kref.h:65:3: note: Returning; memory was released
release(kref);
^~~~~~~~~~~~~
drivers/dax/bus.c:529:2: note: Returning; memory was released
kref_put(&dax_region->kref, dax_region_free);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dax/bus.c:539:2: note: Returning; memory was released via 1st parameter
dax_region_put(dax_region);
^~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/device.h:255:3: note: Returning; memory was released via 1st parameter
action(data);
^~~~~~~~~~~~
drivers/dax/bus.c:585:6: note: Returning; memory was released via 3rd parameter
if (devm_add_action_or_reset(parent, dax_region_unregister, dax_region))
^
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))
^~~~
drivers/dax/bus.c:585:2: note: '?' condition is false
if (devm_add_action_or_reset(parent, dax_region_unregister, dax_region))
^
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))
^
drivers/dax/bus.c:585:6: note: Use of memory after it is freed
if (devm_add_action_or_reset(parent, dax_region_unregister, dax_region))
^
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) ? \
^~~~
drivers/dax/bus.c:818:7: warning: Value stored to 'is_shrink' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
bool is_shrink = resource_size(res) > size;
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dax/bus.c:818:7: note: Value stored to 'is_shrink' during its initialization is never read
bool is_shrink = resource_size(res) > size;
^~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/dax/bus.c:875:33: warning: Dereference of null pointer [clang-analyzer-core.NullDereference]
struct dax_mapping *mapping = dev_dax->ranges[i].mapping;
^~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dax/bus.c:873:34: note: Assuming 'i' is >= 0
for (i = dev_dax->nr_range - 1; i >= 0; i--) {
^~~~~~
drivers/dax/bus.c:873:2: note: Loop condition is true. Entering loop body
for (i = dev_dax->nr_range - 1; i >= 0; i--) {
^
drivers/dax/bus.c:879:12: note: Assuming '__UNIQUE_ID___x217' is >= '__UNIQUE_ID___y218'
shrink = min_t(u64, to_shrink, range_len(range));
^
include/linux/minmax.h:104:27: note: expanded from macro 'min_t'
#define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^~~~~~~~~~
drivers/dax/bus.c:879:12: note: '?' condition is false
shrink = min_t(u64, to_shrink, range_len(range));
^
include/linux/minmax.h:104:27: note: expanded from macro 'min_t'
#define min_t(type, x, y) __careful_cmp((type)(x), (type)(y), <)
^
include/linux/minmax.h:38:3: note: expanded from macro '__careful_cmp'
__cmp_once(x, y, __UNIQUE_ID(__x), __UNIQUE_ID(__y), op))
^
include/linux/minmax.h:33:3: note: expanded from macro '__cmp_once'
__cmp(unique_x, unique_y, op); })
^
include/linux/minmax.h:28:26: note: expanded from macro '__cmp'
#define __cmp(x, y, op) ((x) op (y) ? (x) : (y))
^
drivers/dax/bus.c:880:3: note: '?' condition is false
if (shrink >= range_len(range)) {
^
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))
^
drivers/dax/bus.c:880:3: note: '?' condition is true
if (shrink >= range_len(range)) {
^
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) ? \
^
drivers/dax/bus.c:880:3: note: Taking true branch
if (shrink >= range_len(range)) {
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/dax/bus.c:883:4: note: Calling 'trim_dev_dax_range'
trim_dev_dax_range(dev_dax);
^~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/dax/bus.c:376:2: note: '?' condition is true
dev_dbg(&dev_dax->dev, "delete range[%d]: %#llx:%#llx\n", i,
^
include/linux/dev_printk.h:162:2: note: expanded from macro 'dev_dbg'
if (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))
^
drivers/dax/bus.c:376:2: note: Taking false branch
dev_dbg(&dev_dax->dev, "delete range[%d]: %#llx:%#llx\n", i,
^
include/linux/dev_printk.h:162:2: note: expanded from macro 'dev_dbg'
if (0) \
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/dax/bus.c:381:6: note: Assuming the condition is false
if (--dev_dax->nr_range == 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:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
drivers/dax/bus.c:381:2: note: '?' condition is false
if (--dev_dax->nr_range == 0) {
--
^
drivers/hid/hid-core.c:1412:22: note: The result of the left shift is undefined due to shifting by '32', which is greater or equal to the width of type 'unsigned int'
u8 bit_mask = ((1U << n) - 1);
^ ~
drivers/hid/hid-core.c:1984:3: warning: Value stored to 'len' is never read [clang-analyzer-deadcode.DeadStores]
len += sprintf(buf + len, "%shidraw%d", len ? "," : "",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/hid/hid-core.c:1984:3: note: Value stored to 'len' is never read
len += sprintf(buf + len, "%shidraw%d", len ? "," : "",
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
drivers/leds/leds-pca9532.c:516:23: warning: Value stored to 'data' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct pca9532_data *data = i2c_get_clientdata(client);
^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/leds/leds-pca9532.c:516:23: note: Value stored to 'data' during its initialization is never read
struct pca9532_data *data = i2c_get_clientdata(client);
^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
1 warning generated.
Suppressed 1 warnings (1 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
drivers/mmc/core/regulator.c:181:17: warning: Value stored to 'dev' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct device *dev = mmc_dev(mmc);
^~~
drivers/mmc/core/regulator.c:181:17: note: Value stored to 'dev' during its initialization is never read
struct device *dev = mmc_dev(mmc);
^~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
3 warnings generated.
>> drivers/mmc/core/mmc_test.c:384:3: warning: Array subscript is undefined [clang-analyzer-core.uninitialized.ArraySubscript]
mem->arr[mem->cnt].page = page;
^ ~~~~~~~~
drivers/mmc/core/mmc_test.c:347:6: note: Assuming 'max_page_cnt' is <= 'limit'
if (max_page_cnt > limit)
^
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))
^~~~
drivers/mmc/core/mmc_test.c:347:2: note: '?' condition is false
if (max_page_cnt > limit)
^
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))
^
drivers/mmc/core/mmc_test.c:347:6: note: 'max_page_cnt' is <= 'limit'
if (max_page_cnt > limit)
^
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) ? \
^~~~
drivers/mmc/core/mmc_test.c:347:2: note: '?' condition is false
if (max_page_cnt > limit)
^
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) ? \
^
drivers/mmc/core/mmc_test.c:347:2: note: Taking false branch
if (max_page_cnt > limit)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/mmc/core/mmc_test.c:349:6: note: Assuming 'min_page_cnt' is <= 'max_page_cnt'
if (min_page_cnt > max_page_cnt)
^
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))
^~~~
drivers/mmc/core/mmc_test.c:349:2: note: '?' condition is false
if (min_page_cnt > max_page_cnt)
^
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))
^
drivers/mmc/core/mmc_test.c:349:6: note: 'min_page_cnt' is <= 'max_page_cnt'
if (min_page_cnt > max_page_cnt)
^
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) ? \
^~~~
drivers/mmc/core/mmc_test.c:349:2: note: '?' condition is false
if (min_page_cnt > max_page_cnt)
^
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) ? \
^
drivers/mmc/core/mmc_test.c:349:2: note: Taking false branch
if (min_page_cnt > max_page_cnt)
^
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
drivers/mmc/core/mmc_test.c:352:6: note: Assuming 'max_seg_page_cnt' is <= 'max_page_cnt'
if (max_seg_page_cnt > max_page_cnt)
vim +/req +696 crypto/tcrypt.c
53f52d7aecb4cb Tim Chen 2013-12-11 525
3e3dc25fe7d5e3 Mark Rustad 2014-07-25 526 static void test_aead_speed(const char *algo, int enc, unsigned int secs,
53f52d7aecb4cb Tim Chen 2013-12-11 527 struct aead_speed_template *template,
53f52d7aecb4cb Tim Chen 2013-12-11 528 unsigned int tcount, u8 authsize,
53f52d7aecb4cb Tim Chen 2013-12-11 529 unsigned int aad_size, u8 *keysize)
53f52d7aecb4cb Tim Chen 2013-12-11 530 {
53f52d7aecb4cb Tim Chen 2013-12-11 531 unsigned int i, j;
53f52d7aecb4cb Tim Chen 2013-12-11 532 struct crypto_aead *tfm;
53f52d7aecb4cb Tim Chen 2013-12-11 533 int ret = -ENOMEM;
53f52d7aecb4cb Tim Chen 2013-12-11 534 const char *key;
53f52d7aecb4cb Tim Chen 2013-12-11 535 struct aead_request *req;
53f52d7aecb4cb Tim Chen 2013-12-11 536 struct scatterlist *sg;
53f52d7aecb4cb Tim Chen 2013-12-11 537 struct scatterlist *sgout;
53f52d7aecb4cb Tim Chen 2013-12-11 538 const char *e;
53f52d7aecb4cb Tim Chen 2013-12-11 539 void *assoc;
96692a7305c498 Cristian Stoica 2015-01-28 540 char *iv;
53f52d7aecb4cb Tim Chen 2013-12-11 541 char *xbuf[XBUFSIZE];
53f52d7aecb4cb Tim Chen 2013-12-11 542 char *xoutbuf[XBUFSIZE];
53f52d7aecb4cb Tim Chen 2013-12-11 543 char *axbuf[XBUFSIZE];
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 544 const int *b_size;
53f52d7aecb4cb Tim Chen 2013-12-11 545 unsigned int iv_len;
646710419a978c Gilad Ben-Yossef 2017-10-18 546 struct crypto_wait wait;
53f52d7aecb4cb Tim Chen 2013-12-11 547
96692a7305c498 Cristian Stoica 2015-01-28 548 iv = kzalloc(MAX_IVLEN, GFP_KERNEL);
96692a7305c498 Cristian Stoica 2015-01-28 549 if (!iv)
96692a7305c498 Cristian Stoica 2015-01-28 550 return;
96692a7305c498 Cristian Stoica 2015-01-28 551
ac5f863f8c548a Christian Engelmayer 2014-04-21 552 if (aad_size >= PAGE_SIZE) {
ac5f863f8c548a Christian Engelmayer 2014-04-21 553 pr_err("associate data length (%u) too big\n", aad_size);
96692a7305c498 Cristian Stoica 2015-01-28 554 goto out_noxbuf;
ac5f863f8c548a Christian Engelmayer 2014-04-21 555 }
ac5f863f8c548a Christian Engelmayer 2014-04-21 556
53f52d7aecb4cb Tim Chen 2013-12-11 557 if (enc == ENCRYPT)
53f52d7aecb4cb Tim Chen 2013-12-11 558 e = "encryption";
53f52d7aecb4cb Tim Chen 2013-12-11 559 else
53f52d7aecb4cb Tim Chen 2013-12-11 560 e = "decryption";
53f52d7aecb4cb Tim Chen 2013-12-11 561
53f52d7aecb4cb Tim Chen 2013-12-11 562 if (testmgr_alloc_buf(xbuf))
53f52d7aecb4cb Tim Chen 2013-12-11 563 goto out_noxbuf;
53f52d7aecb4cb Tim Chen 2013-12-11 564 if (testmgr_alloc_buf(axbuf))
53f52d7aecb4cb Tim Chen 2013-12-11 565 goto out_noaxbuf;
53f52d7aecb4cb Tim Chen 2013-12-11 566 if (testmgr_alloc_buf(xoutbuf))
53f52d7aecb4cb Tim Chen 2013-12-11 567 goto out_nooutbuf;
53f52d7aecb4cb Tim Chen 2013-12-11 568
a3f2185a29df08 Herbert Xu 2015-05-27 569 sg = kmalloc(sizeof(*sg) * 9 * 2, GFP_KERNEL);
53f52d7aecb4cb Tim Chen 2013-12-11 570 if (!sg)
53f52d7aecb4cb Tim Chen 2013-12-11 571 goto out_nosg;
a3f2185a29df08 Herbert Xu 2015-05-27 572 sgout = &sg[9];
53f52d7aecb4cb Tim Chen 2013-12-11 573
5e4b8c1fcc7001 Herbert Xu 2015-08-13 574 tfm = crypto_alloc_aead(algo, 0, 0);
53f52d7aecb4cb Tim Chen 2013-12-11 575 if (IS_ERR(tfm)) {
53f52d7aecb4cb Tim Chen 2013-12-11 576 pr_err("alg: aead: Failed to load transform for %s: %ld\n", algo,
53f52d7aecb4cb Tim Chen 2013-12-11 577 PTR_ERR(tfm));
a2ea6ed6a631e2 Christian Engelmayer 2014-04-21 578 goto out_notfm;
53f52d7aecb4cb Tim Chen 2013-12-11 579 }
53f52d7aecb4cb Tim Chen 2013-12-11 580
7b3d52683b3a47 Tianjia Zhang 2021-08-13 581 ret = crypto_aead_setauthsize(tfm, authsize);
7b3d52683b3a47 Tianjia Zhang 2021-08-13 582 if (ret) {
7b3d52683b3a47 Tianjia Zhang 2021-08-13 583 pr_err("alg: aead: Failed to setauthsize for %s: %d\n", algo,
7b3d52683b3a47 Tianjia Zhang 2021-08-13 584 ret);
7b3d52683b3a47 Tianjia Zhang 2021-08-13 585 goto out_noreq;
7b3d52683b3a47 Tianjia Zhang 2021-08-13 586 }
7b3d52683b3a47 Tianjia Zhang 2021-08-13 587
646710419a978c Gilad Ben-Yossef 2017-10-18 588 crypto_init_wait(&wait);
263a8df0d32eca Luca Clementi 2014-06-25 589 printk(KERN_INFO "\ntesting speed of %s (%s) %s\n", algo,
263a8df0d32eca Luca Clementi 2014-06-25 590 get_driver_name(crypto_aead, tfm), e);
263a8df0d32eca Luca Clementi 2014-06-25 591
53f52d7aecb4cb Tim Chen 2013-12-11 592 req = aead_request_alloc(tfm, GFP_KERNEL);
53f52d7aecb4cb Tim Chen 2013-12-11 593 if (!req) {
53f52d7aecb4cb Tim Chen 2013-12-11 594 pr_err("alg: aead: Failed to allocate request for %s\n",
53f52d7aecb4cb Tim Chen 2013-12-11 595 algo);
6af1f93e2a0192 Christian Engelmayer 2014-04-21 596 goto out_noreq;
53f52d7aecb4cb Tim Chen 2013-12-11 597 }
53f52d7aecb4cb Tim Chen 2013-12-11 598
1425d2d17f7309 Vutla, Lokesh 2015-07-07 599 aead_request_set_callback(req, CRYPTO_TFM_REQ_MAY_BACKLOG,
646710419a978c Gilad Ben-Yossef 2017-10-18 600 crypto_req_done, &wait);
1425d2d17f7309 Vutla, Lokesh 2015-07-07 601
53f52d7aecb4cb Tim Chen 2013-12-11 602 i = 0;
53f52d7aecb4cb Tim Chen 2013-12-11 603 do {
53f52d7aecb4cb Tim Chen 2013-12-11 604 b_size = aead_sizes;
53f52d7aecb4cb Tim Chen 2013-12-11 605 do {
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 606 u32 bs = round_up(*b_size, crypto_aead_blocksize(tfm));
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 607
53f52d7aecb4cb Tim Chen 2013-12-11 608 assoc = axbuf[0];
53f52d7aecb4cb Tim Chen 2013-12-11 609 memset(assoc, 0xff, aad_size);
53f52d7aecb4cb Tim Chen 2013-12-11 610
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 611 if ((*keysize + bs) > TVMEMSIZE * PAGE_SIZE) {
53f52d7aecb4cb Tim Chen 2013-12-11 612 pr_err("template (%u) too big for tvmem (%lu)\n",
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 613 *keysize + bs,
53f52d7aecb4cb Tim Chen 2013-12-11 614 TVMEMSIZE * PAGE_SIZE);
53f52d7aecb4cb Tim Chen 2013-12-11 615 goto out;
53f52d7aecb4cb Tim Chen 2013-12-11 616 }
53f52d7aecb4cb Tim Chen 2013-12-11 617
53f52d7aecb4cb Tim Chen 2013-12-11 618 key = tvmem[0];
53f52d7aecb4cb Tim Chen 2013-12-11 619 for (j = 0; j < tcount; j++) {
53f52d7aecb4cb Tim Chen 2013-12-11 620 if (template[j].klen == *keysize) {
53f52d7aecb4cb Tim Chen 2013-12-11 621 key = template[j].key;
53f52d7aecb4cb Tim Chen 2013-12-11 622 break;
53f52d7aecb4cb Tim Chen 2013-12-11 623 }
53f52d7aecb4cb Tim Chen 2013-12-11 624 }
7b3d52683b3a47 Tianjia Zhang 2021-08-13 625
53f52d7aecb4cb Tim Chen 2013-12-11 626 ret = crypto_aead_setkey(tfm, key, *keysize);
7b3d52683b3a47 Tianjia Zhang 2021-08-13 627 if (ret) {
7b3d52683b3a47 Tianjia Zhang 2021-08-13 628 pr_err("setkey() failed flags=%x: %d\n",
7b3d52683b3a47 Tianjia Zhang 2021-08-13 629 crypto_aead_get_flags(tfm), ret);
7b3d52683b3a47 Tianjia Zhang 2021-08-13 630 goto out;
7b3d52683b3a47 Tianjia Zhang 2021-08-13 631 }
53f52d7aecb4cb Tim Chen 2013-12-11 632
53f52d7aecb4cb Tim Chen 2013-12-11 633 iv_len = crypto_aead_ivsize(tfm);
53f52d7aecb4cb Tim Chen 2013-12-11 634 if (iv_len)
96692a7305c498 Cristian Stoica 2015-01-28 635 memset(iv, 0xff, iv_len);
53f52d7aecb4cb Tim Chen 2013-12-11 636
53f52d7aecb4cb Tim Chen 2013-12-11 637 crypto_aead_clear_flags(tfm, ~0);
53f52d7aecb4cb Tim Chen 2013-12-11 638 printk(KERN_INFO "test %u (%d bit key, %d byte blocks): ",
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 639 i, *keysize * 8, bs);
53f52d7aecb4cb Tim Chen 2013-12-11 640
53f52d7aecb4cb Tim Chen 2013-12-11 641 memset(tvmem[0], 0xff, PAGE_SIZE);
53f52d7aecb4cb Tim Chen 2013-12-11 642
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 643 sg_init_aead(sg, xbuf, bs + (enc ? 0 : authsize),
5601e014fe7229 Tudor-Dan Ambarus 2017-11-14 644 assoc, aad_size);
53f52d7aecb4cb Tim Chen 2013-12-11 645
31267270a35594 Herbert Xu 2015-06-17 646 sg_init_aead(sgout, xoutbuf,
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 647 bs + (enc ? authsize : 0), assoc,
5601e014fe7229 Tudor-Dan Ambarus 2017-11-14 648 aad_size);
31267270a35594 Herbert Xu 2015-06-17 649
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 650 aead_request_set_ad(req, aad_size);
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 651
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 652 if (!enc) {
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 653
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 654 /*
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 655 * For decryption we need a proper auth so
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 656 * we do the encryption path once with buffers
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 657 * reversed (input <-> output) to calculate it
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 658 */
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 659 aead_request_set_crypt(req, sgout, sg,
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 660 bs, iv);
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 661 ret = do_one_aead_op(req,
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 662 crypto_aead_encrypt(req));
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 663
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 664 if (ret) {
129a4dba1b1ba9 Randy Dunlap 2020-07-30 665 pr_err("calculating auth failed (%d)\n",
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 666 ret);
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 667 break;
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 668 }
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 669 }
4431bd49530c73 Gilad Ben-Yossef 2017-12-17 670
7aacbfcb331cef Robert Baronescu 2017-10-10 671 aead_request_set_crypt(req, sg, sgout,
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 672 bs + (enc ? 0 : authsize),
7aacbfcb331cef Robert Baronescu 2017-10-10 673 iv);
53f52d7aecb4cb Tim Chen 2013-12-11 674
2af632996b8986 Horia Geantă 2018-07-23 675 if (secs) {
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 676 ret = test_aead_jiffies(req, enc, bs,
3e3dc25fe7d5e3 Mark Rustad 2014-07-25 677 secs);
2af632996b8986 Horia Geantă 2018-07-23 678 cond_resched();
2af632996b8986 Horia Geantă 2018-07-23 679 } else {
ad6d66bcac77e5 Ard Biesheuvel 2020-11-20 680 ret = test_aead_cycles(req, enc, bs);
2af632996b8986 Horia Geantă 2018-07-23 681 }
53f52d7aecb4cb Tim Chen 2013-12-11 682
53f52d7aecb4cb Tim Chen 2013-12-11 683 if (ret) {
53f52d7aecb4cb Tim Chen 2013-12-11 684 pr_err("%s() failed return code=%d\n", e, ret);
53f52d7aecb4cb Tim Chen 2013-12-11 685 break;
53f52d7aecb4cb Tim Chen 2013-12-11 686 }
53f52d7aecb4cb Tim Chen 2013-12-11 687 b_size++;
53f52d7aecb4cb Tim Chen 2013-12-11 688 i++;
53f52d7aecb4cb Tim Chen 2013-12-11 689 } while (*b_size);
53f52d7aecb4cb Tim Chen 2013-12-11 690 keysize++;
53f52d7aecb4cb Tim Chen 2013-12-11 691 } while (*keysize);
53f52d7aecb4cb Tim Chen 2013-12-11 692
53f52d7aecb4cb Tim Chen 2013-12-11 693 out:
6af1f93e2a0192 Christian Engelmayer 2014-04-21 694 aead_request_free(req);
6af1f93e2a0192 Christian Engelmayer 2014-04-21 695 out_noreq:
53f52d7aecb4cb Tim Chen 2013-12-11 @696 crypto_free_aead(tfm);
a2ea6ed6a631e2 Christian Engelmayer 2014-04-21 697 out_notfm:
53f52d7aecb4cb Tim Chen 2013-12-11 698 kfree(sg);
53f52d7aecb4cb Tim Chen 2013-12-11 699 out_nosg:
53f52d7aecb4cb Tim Chen 2013-12-11 700 testmgr_free_buf(xoutbuf);
53f52d7aecb4cb Tim Chen 2013-12-11 701 out_nooutbuf:
53f52d7aecb4cb Tim Chen 2013-12-11 702 testmgr_free_buf(axbuf);
53f52d7aecb4cb Tim Chen 2013-12-11 703 out_noaxbuf:
53f52d7aecb4cb Tim Chen 2013-12-11 704 testmgr_free_buf(xbuf);
53f52d7aecb4cb Tim Chen 2013-12-11 705 out_noxbuf:
96692a7305c498 Cristian Stoica 2015-01-28 706 kfree(iv);
53f52d7aecb4cb Tim Chen 2013-12-11 707 }
d5dc392742a981 Sebastian Siewior 2008-03-11 708
:::::: The code at line 696 was first introduced by commit
:::::: 53f52d7aecb4cb3772872c902b73e0c685a56901 crypto: tcrypt - Added speed tests for AEAD crypto alogrithms in tcrypt test suite
:::::: TO: Tim Chen <tim.c.chen@linux.intel.com>
:::::: CC: Herbert Xu <herbert@gondor.apana.org.au>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-01-10 20:52 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-10 20:52 crypto/tcrypt.c:696:2: warning: Potential leak of memory pointed to by 'req' [clang-analyzer-unix.Malloc] kernel test robot
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.