All of lore.kernel.org
 help / color / mirror / Atom feed
* [jimc:dyndbg-next 16/16] lib/dynamic_debug.c:203:8: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
@ 2022-06-01  1:47 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-06-01  1:47 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 25897 bytes --]

:::::: 
:::::: Manual check reason: "low confidence static check warning: lib/dynamic_debug.c:203:8: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]"
:::::: 

CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
TO: Jim Cromie <jim.cromie@gmail.com>

tree:   https://github.com/jimc/linux.git dyndbg-next
head:   519000e6161f69c599038a4be3de19489a8caef6
commit: 519000e6161f69c599038a4be3de19489a8caef6 [16/16] dyndbg: nouveau's got like levels man
:::::: branch date: 4 days ago
:::::: commit date: 4 days ago
config: x86_64-randconfig-c007-20220530 (https://download.01.org/0day-ci/archive/20220601/202206010948.qN4YYduL-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0776c48f9b7e69fa447bee57c7c0985caa856be9)
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://github.com/jimc/linux/commit/519000e6161f69c599038a4be3de19489a8caef6
        git remote add jimc https://github.com/jimc/linux.git
        git fetch --no-tags jimc dyndbg-next
        git checkout 519000e6161f69c599038a4be3de19489a8caef6
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64 clang-analyzer 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
                    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/io_uring.c:10075:2: note: Loop condition is false.  Exiting loop
           do {
           ^
   fs/io_uring.c:10107:2: note: Loop condition is false. Execution continues on line 10122
           while (!list_empty(&ctx->tctx_list)) {
           ^
   fs/io_uring.c:10126:2: note: Calling 'io_ring_ctx_free'
           io_ring_ctx_free(ctx);
           ^~~~~~~~~~~~~~~~~~~~~
   fs/io_uring.c:9929:6: note: Assuming field 'mm_account' is null
           if (ctx->mm_account) {
               ^~~~~~~~~~~~~~~
   fs/io_uring.c:9929:2: note: Taking false branch
           if (ctx->mm_account) {
           ^
   fs/io_uring.c:9940:6: note: Assuming field 'buf_data' is null
           if (ctx->buf_data)
               ^~~~~~~~~~~~~
   fs/io_uring.c:9940:2: note: Taking false branch
           if (ctx->buf_data)
           ^
   fs/io_uring.c:9942:6: note: Assuming field 'file_data' is null
           if (ctx->file_data)
               ^~~~~~~~~~~~~~
   fs/io_uring.c:9942:2: note: Taking false branch
           if (ctx->file_data)
           ^
   fs/io_uring.c:9944:6: note: Assuming field 'rings' is null
           if (ctx->rings)
               ^~~~~~~~~~
   fs/io_uring.c:9944:2: note: Taking false branch
           if (ctx->rings)
           ^
   fs/io_uring.c:9947:2: note: Calling 'io_flush_apoll_cache'
           io_flush_apoll_cache(ctx);
           ^~~~~~~~~~~~~~~~~~~~~~~~~
   fs/io_uring.c:9917:2: note: Loop condition is true.  Entering loop body
           while (!list_empty(&ctx->apoll_cache)) {
           ^
   fs/io_uring.c:9921:3: note: Memory is released
                   kfree(apoll);
                   ^~~~~~~~~~~~
   fs/io_uring.c:9917:2: note: Loop condition is true.  Entering loop body
           while (!list_empty(&ctx->apoll_cache)) {
           ^
   fs/io_uring.c:9920:3: note: Calling 'list_del'
                   list_del(&apoll->poll.wait.entry);
                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/list.h:148:2: note: Calling '__list_del_entry'
           __list_del_entry(entry);
           ^~~~~~~~~~~~~~~~~~~~~~~
   include/linux/list.h:134:2: note: Taking false branch
           if (!__list_del_entry_valid(entry))
           ^
   include/linux/list.h:137:13: note: Use of memory after it is freed
           __list_del(entry->prev, entry->next);
                      ^~~~~~~~~~~
   Suppressed 16 warnings (16 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   7 warnings generated.
   Suppressed 7 warnings (7 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.
   5 warnings generated.
   Suppressed 5 warnings (5 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.
   5 warnings generated.
   Suppressed 5 warnings (5 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.
   22 warnings generated.
>> lib/dynamic_debug.c:203:8: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch]
                           if (!map) {
                               ^~~~
   lib/dynamic_debug.c:182:2: note: 'map' declared without an initial value
           struct ddebug_known_classes_map *map;
           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/dynamic_debug.c:187:2: note: Loop condition is true.  Entering loop body
           list_for_each_entry(dt, &ddebug_tables, link) {
           ^
   include/linux/list.h:638:2: note: expanded from macro 'list_for_each_entry'
           for (pos = list_first_entry(head, typeof(*pos), member);        \
           ^
   lib/dynamic_debug.c:190:7: note: Assuming field 'module' is null
                   if (query->module &&
                       ^~~~~~~~~~~~~
   lib/dynamic_debug.c:190:21: note: Left side of '&&' is false
                   if (query->module &&
                                     ^
   lib/dynamic_debug.c:195:17: note: Calling 'ddebug_validate_classname'
                   query_class = ddebug_validate_classname(dt, query->class_string, &map);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/dynamic_debug.c:154:6: note: Assuming 'class_string' is null
           if (!class_string)
               ^~~~~~~~~~~~~
   lib/dynamic_debug.c:154:2: note: Taking true branch
           if (!class_string)
           ^
   lib/dynamic_debug.c:155:3: note: Returning without writing to '*mapout'
                   return _DPRINTK_CLASS_DFLT;
                   ^
   lib/dynamic_debug.c:195:17: note: Returning from 'ddebug_validate_classname'
                   query_class = ddebug_validate_classname(dt, query->class_string, &map);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   lib/dynamic_debug.c:196:7: note: 'query_class' is >= 0
                   if (query_class < 0)
                       ^~~~~~~~~~~
   lib/dynamic_debug.c:196:3: note: Taking false branch
                   if (query_class < 0)
                   ^
   lib/dynamic_debug.c:199:15: note: Assuming 'i' is < field 'num_ddebugs'
                   for (i = 0; i < dt->num_ddebugs; i++) {
                               ^~~~~~~~~~~~~~~~~~~
   lib/dynamic_debug.c:199:3: note: Loop condition is true.  Entering loop body
                   for (i = 0; i < dt->num_ddebugs; i++) {
                   ^
   lib/dynamic_debug.c:203:8: note: Branch condition evaluates to a garbage value
                           if (!map) {
                               ^~~~
   lib/dynamic_debug.c:624:2: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           snprintf(query, QUERY_SIZE, "class %s %c%s", dcp->map->classes[bitpos],
           ^~~~~~~~
   lib/dynamic_debug.c:624:2: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
           snprintf(query, QUERY_SIZE, "class %s %c%s", dcp->map->classes[bitpos],
           ^~~~~~~~
   lib/dynamic_debug.c:769:11: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                           pos += snprintf(buf + pos, remaining(pos), "<intr> ");
                                  ^~~~~~~~
   lib/dynamic_debug.c:769:11: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
                           pos += snprintf(buf + pos, remaining(pos), "<intr> ");
                                  ^~~~~~~~
   lib/dynamic_debug.c:771:11: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                           pos += snprintf(buf + pos, remaining(pos), "[%d] ",
                                  ^~~~~~~~
   lib/dynamic_debug.c:771:11: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
                           pos += snprintf(buf + pos, remaining(pos), "[%d] ",
                                  ^~~~~~~~
   lib/dynamic_debug.c:776:10: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   pos += snprintf(buf + pos, remaining(pos), "%s:",
                          ^~~~~~~~
   lib/dynamic_debug.c:776:10: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
                   pos += snprintf(buf + pos, remaining(pos), "%s:",
                          ^~~~~~~~
   lib/dynamic_debug.c:779:10: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   pos += snprintf(buf + pos, remaining(pos), "%s:",
                          ^~~~~~~~
   lib/dynamic_debug.c:779:10: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
                   pos += snprintf(buf + pos, remaining(pos), "%s:",
                          ^~~~~~~~
   lib/dynamic_debug.c:782:10: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   pos += snprintf(buf + pos, remaining(pos), "%d:",
                          ^~~~~~~~
   lib/dynamic_debug.c:782:10: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
                   pos += snprintf(buf + pos, remaining(pos), "%d:",
                          ^~~~~~~~
   lib/dynamic_debug.c:785:10: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   pos += snprintf(buf + pos, remaining(pos), " ");
                          ^~~~~~~~
   lib/dynamic_debug.c:785:10: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
                   pos += snprintf(buf + pos, remaining(pos), " ");
                          ^~~~~~~~
   Suppressed 14 warnings (14 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.
   8 warnings generated.
   fs/ntfs3/xattr.c:966:3: warning: 2nd function call argument is an uninitialized value [clang-analyzer-core.CallAndMessage]
                   i_uid_write(inode, (uid_t)le32_to_cpu(value[0]));
                   ^                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ntfs3/xattr.c:960:6: note: Calling 'ntfs_get_ea'
           if (ntfs_get_ea(inode, "$LXUID", sizeof("$LXUID") - 1, &value[0],
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ntfs3/xattr.c:209:6: note: Assuming the condition is false
           if (!(ni->ni_flags & NI_FLAG_EA))

vim +203 lib/dynamic_debug.c

f657fd21e16e3a Joe Perches     2012-12-05  167  
e9d376f0fa66bd Jason Baron     2009-02-05  168  /*
85f7f6c0edb841 Jim Cromie      2011-12-19  169   * Search the tables for _ddebug's which match the given `query' and
85f7f6c0edb841 Jim Cromie      2011-12-19  170   * apply the `flags' and `mask' to them.  Returns number of matching
85f7f6c0edb841 Jim Cromie      2011-12-19  171   * callsites, normally the same as number of changes.  If verbose,
85f7f6c0edb841 Jim Cromie      2011-12-19  172   * logs the changes.  Takes ddebug_lock.
e9d376f0fa66bd Jason Baron     2009-02-05  173   */
85f7f6c0edb841 Jim Cromie      2011-12-19  174  static int ddebug_change(const struct ddebug_query *query,
84da83a6ffc0b7 Jim Cromie      2020-07-19  175  			 struct flag_settings *modifiers)
e9d376f0fa66bd Jason Baron     2009-02-05  176  {
e9d376f0fa66bd Jason Baron     2009-02-05  177  	int i;
e9d376f0fa66bd Jason Baron     2009-02-05  178  	struct ddebug_table *dt;
e9d376f0fa66bd Jason Baron     2009-02-05  179  	unsigned int newflags;
e9d376f0fa66bd Jason Baron     2009-02-05  180  	unsigned int nfound = 0;
d9df95baf80420 Jim Cromie      2022-01-31  181  	struct flagsbuf fbuf, nbuf;
519000e6161f69 Jim Cromie      2022-05-27  182  	struct ddebug_known_classes_map *map;
0389d9432ddc3b Jim Cromie      2022-04-01  183  	int query_class;
e9d376f0fa66bd Jason Baron     2009-02-05  184  
e9d376f0fa66bd Jason Baron     2009-02-05  185  	/* search for matching ddebugs */
e9d376f0fa66bd Jason Baron     2009-02-05  186  	mutex_lock(&ddebug_lock);
e9d376f0fa66bd Jason Baron     2009-02-05  187  	list_for_each_entry(dt, &ddebug_tables, link) {
e9d376f0fa66bd Jason Baron     2009-02-05  188  
e9d376f0fa66bd Jason Baron     2009-02-05  189  		/* match against the module name */
578b1e0701af34 Changbin Du     2014-01-23  190  		if (query->module &&
578b1e0701af34 Changbin Du     2014-01-23  191  		    !match_wildcard(query->module, dt->mod_name))
e9d376f0fa66bd Jason Baron     2009-02-05  192  			continue;
e9d376f0fa66bd Jason Baron     2009-02-05  193  
0389d9432ddc3b Jim Cromie      2022-04-01  194  		/* validate class-string against module's known classes */
519000e6161f69 Jim Cromie      2022-05-27  195  		query_class = ddebug_validate_classname(dt, query->class_string, &map);
0389d9432ddc3b Jim Cromie      2022-04-01  196  		if (query_class < 0)
0389d9432ddc3b Jim Cromie      2022-04-01  197  			continue;
0389d9432ddc3b Jim Cromie      2022-04-01  198  
e9d376f0fa66bd Jason Baron     2009-02-05  199  		for (i = 0; i < dt->num_ddebugs; i++) {
e9d376f0fa66bd Jason Baron     2009-02-05  200  			struct _ddebug *dp = &dt->ddebugs[i];
e9d376f0fa66bd Jason Baron     2009-02-05  201  
0389d9432ddc3b Jim Cromie      2022-04-01  202  			/* match against query-class, either valid input or default */
519000e6161f69 Jim Cromie      2022-05-27 @203  			if (!map) {
519000e6161f69 Jim Cromie      2022-05-27  204  				if (query_class != dp->class_id)
519000e6161f69 Jim Cromie      2022-05-27  205  					continue;
519000e6161f69 Jim Cromie      2022-05-27  206  			} else {
519000e6161f69 Jim Cromie      2022-05-27  207  				switch (map->map_type) {
519000e6161f69 Jim Cromie      2022-05-27  208  				case DD_CLS_DISJOINT:
0389d9432ddc3b Jim Cromie      2022-04-01  209  					if (query_class != dp->class_id)
0389d9432ddc3b Jim Cromie      2022-04-01  210  						continue;
519000e6161f69 Jim Cromie      2022-05-27  211  					break;
519000e6161f69 Jim Cromie      2022-05-27  212  				case DD_CLS_VERBOSE:
519000e6161f69 Jim Cromie      2022-05-27  213  					if (query_class < dp->class_id &&
519000e6161f69 Jim Cromie      2022-05-27  214  					    query_class >= map->base)
519000e6161f69 Jim Cromie      2022-05-27  215  						continue;
519000e6161f69 Jim Cromie      2022-05-27  216  					break;
519000e6161f69 Jim Cromie      2022-05-27  217  				case DD_CLS_PRIORITY:
519000e6161f69 Jim Cromie      2022-05-27  218  					if (query_class > dp->class_id &&
519000e6161f69 Jim Cromie      2022-05-27  219  					    query_class < map->base + map->length)
519000e6161f69 Jim Cromie      2022-05-27  220  						continue;
519000e6161f69 Jim Cromie      2022-05-27  221  					break;
519000e6161f69 Jim Cromie      2022-05-27  222  				default:
519000e6161f69 Jim Cromie      2022-05-27  223  					BUG_ON("illegal enum value\n");
519000e6161f69 Jim Cromie      2022-05-27  224  				}
519000e6161f69 Jim Cromie      2022-05-27  225  			}
0389d9432ddc3b Jim Cromie      2022-04-01  226  
e9d376f0fa66bd Jason Baron     2009-02-05  227  			/* match against the source filename */
d6a238d25014d0 Jim Cromie      2011-12-19  228  			if (query->filename &&
578b1e0701af34 Changbin Du     2014-01-23  229  			    !match_wildcard(query->filename, dp->filename) &&
578b1e0701af34 Changbin Du     2014-01-23  230  			    !match_wildcard(query->filename,
578b1e0701af34 Changbin Du     2014-01-23  231  					   kbasename(dp->filename)) &&
578b1e0701af34 Changbin Du     2014-01-23  232  			    !match_wildcard(query->filename,
578b1e0701af34 Changbin Du     2014-01-23  233  					   trim_prefix(dp->filename)))
e9d376f0fa66bd Jason Baron     2009-02-05  234  				continue;
e9d376f0fa66bd Jason Baron     2009-02-05  235  
e9d376f0fa66bd Jason Baron     2009-02-05  236  			/* match against the function */
d6a238d25014d0 Jim Cromie      2011-12-19  237  			if (query->function &&
578b1e0701af34 Changbin Du     2014-01-23  238  			    !match_wildcard(query->function, dp->function))
e9d376f0fa66bd Jason Baron     2009-02-05  239  				continue;
e9d376f0fa66bd Jason Baron     2009-02-05  240  
e9d376f0fa66bd Jason Baron     2009-02-05  241  			/* match against the format */
4b334484fa7f44 Jim Cromie      2020-07-19  242  			if (query->format) {
4b334484fa7f44 Jim Cromie      2020-07-19  243  				if (*query->format == '^') {
4b334484fa7f44 Jim Cromie      2020-07-19  244  					char *p;
4b334484fa7f44 Jim Cromie      2020-07-19  245  					/* anchored search. match must be at beginning */
4b334484fa7f44 Jim Cromie      2020-07-19  246  					p = strstr(dp->format, query->format+1);
4b334484fa7f44 Jim Cromie      2020-07-19  247  					if (p != dp->format)
4b334484fa7f44 Jim Cromie      2020-07-19  248  						continue;
4b334484fa7f44 Jim Cromie      2020-07-19  249  				} else if (!strstr(dp->format, query->format))
e9d376f0fa66bd Jason Baron     2009-02-05  250  					continue;
4b334484fa7f44 Jim Cromie      2020-07-19  251  			}
e9d376f0fa66bd Jason Baron     2009-02-05  252  
e9d376f0fa66bd Jason Baron     2009-02-05  253  			/* match against the line number range */
e9d376f0fa66bd Jason Baron     2009-02-05  254  			if (query->first_lineno &&
e9d376f0fa66bd Jason Baron     2009-02-05  255  			    dp->lineno < query->first_lineno)
e9d376f0fa66bd Jason Baron     2009-02-05  256  				continue;
e9d376f0fa66bd Jason Baron     2009-02-05  257  			if (query->last_lineno &&
e9d376f0fa66bd Jason Baron     2009-02-05  258  			    dp->lineno > query->last_lineno)
e9d376f0fa66bd Jason Baron     2009-02-05  259  				continue;
e9d376f0fa66bd Jason Baron     2009-02-05  260  
e9d376f0fa66bd Jason Baron     2009-02-05  261  			nfound++;
e9d376f0fa66bd Jason Baron     2009-02-05  262  
84da83a6ffc0b7 Jim Cromie      2020-07-19  263  			newflags = (dp->flags & modifiers->mask) | modifiers->flags;
e9d376f0fa66bd Jason Baron     2009-02-05  264  			if (newflags == dp->flags)
e9d376f0fa66bd Jason Baron     2009-02-05  265  				continue;
e9666d10a5677a Masahiro Yamada 2018-12-31  266  #ifdef CONFIG_JUMP_LABEL
9049fc745300c5 Jason Baron     2016-08-03  267  			if (dp->flags & _DPRINTK_FLAGS_PRINT) {
4e833e8f218649 Jim Cromie      2022-01-31  268  				if (!(newflags & _DPRINTK_FLAGS_PRINT))
9049fc745300c5 Jason Baron     2016-08-03  269  					static_branch_disable(&dp->key.dd_key_true);
4e833e8f218649 Jim Cromie      2022-01-31  270  			} else if (newflags & _DPRINTK_FLAGS_PRINT) {
9049fc745300c5 Jason Baron     2016-08-03  271  				static_branch_enable(&dp->key.dd_key_true);
4e833e8f218649 Jim Cromie      2022-01-31  272  			}
9049fc745300c5 Jason Baron     2016-08-03  273  #endif
d9df95baf80420 Jim Cromie      2022-01-31  274  			v4pr_info("changed %s:%d [%s]%s %s -> %s\n",
2b6783191da721 Jim Cromie      2011-12-19  275  				  trim_prefix(dp->filename), dp->lineno,
e9d376f0fa66bd Jason Baron     2009-02-05  276  				  dt->mod_name, dp->function,
d9df95baf80420 Jim Cromie      2022-01-31  277  				  ddebug_describe_flags(dp->flags, &fbuf),
d9df95baf80420 Jim Cromie      2022-01-31  278  				  ddebug_describe_flags(newflags, &nbuf));
d9df95baf80420 Jim Cromie      2022-01-31  279  			dp->flags = newflags;
e9d376f0fa66bd Jason Baron     2009-02-05  280  		}
e9d376f0fa66bd Jason Baron     2009-02-05  281  	}
e9d376f0fa66bd Jason Baron     2009-02-05  282  	mutex_unlock(&ddebug_lock);
e9d376f0fa66bd Jason Baron     2009-02-05  283  
e9d376f0fa66bd Jason Baron     2009-02-05  284  	if (!nfound && verbose)
4ad275e5cb576f Joe Perches     2011-08-11  285  		pr_info("no matches for query\n");
85f7f6c0edb841 Jim Cromie      2011-12-19  286  
85f7f6c0edb841 Jim Cromie      2011-12-19  287  	return nfound;
e9d376f0fa66bd Jason Baron     2009-02-05  288  }
e9d376f0fa66bd Jason Baron     2009-02-05  289  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-01  1:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-01  1:47 [jimc:dyndbg-next 16/16] lib/dynamic_debug.c:203:8: warning: Branch condition evaluates to a garbage value [clang-analyzer-core.uninitialized.Branch] 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.