All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Julia Lawall <julia.lawall@inria.fr>
Subject: kernel/trace/trace_functions_graph.c:955:34-40: opportunity for str_true_false(retval)
Date: Mon, 02 Nov 2026 04:17:10 +0100	[thread overview]
Message-ID: <202611020428.L48GPs7r-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: pengdonglin <pengdonglin@xiaomi.com>
CC: Steven Rostedt <rostedt@goodmis.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   6628e7d4c6b25c8d18f1345e3a20d21829aae7e4
commit: 2557f93014d8d3dcab9dda20130412df591fd996 fgraph: Enhance funcgraph-retval with BTF-based type-aware output
date:   2 weeks ago
:::::: branch date: 6 hours ago
:::::: commit date: 2 weeks ago
config: mips-randconfig-r2106-20261101 (https://download.01.org/0day-ci/archive/20261102/202611020428.L48GPs7r-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 8f6b51ca8bab1d49006ddaa042bc7e4e7306975d)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Fixes: 2557f93014d8 ("fgraph: Enhance funcgraph-retval with BTF-based type-aware output")
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Julia Lawall <julia.lawall@inria.fr>
| Closes: https://lore.kernel.org/r/202611020428.L48GPs7r-lkp@intel.com/

cocci warnings: (new ones prefixed by >>)
>> kernel/trace/trace_functions_graph.c:955:34-40: opportunity for str_true_false(retval)

vim +955 kernel/trace/trace_functions_graph.c

a1be9ccc57f07d Donglin Peng   2023-04-08  893  
2557f93014d8d3 pengdonglin    2026-09-16  894  	if (print_retval) {
2557f93014d8d3 pengdonglin    2026-09-16  895  		int fmt = RETVAL_FMT_HEX;
2557f93014d8d3 pengdonglin    2026-09-16  896  
2557f93014d8d3 pengdonglin    2026-09-16  897  		hex_format = !!(opt_flags & TRACE_GRAPH_PRINT_RETVAL_HEX);
2557f93014d8d3 pengdonglin    2026-09-16  898  		btf_trim_retval((unsigned long)func, &retval, &print_retval, &fmt,
2557f93014d8d3 pengdonglin    2026-09-16  899  				hex_format);
2557f93014d8d3 pengdonglin    2026-09-16  900  		if (print_retval) {
2557f93014d8d3 pengdonglin    2026-09-16  901  			if (hex_format)
2557f93014d8d3 pengdonglin    2026-09-16  902  				retval_fmt = RETVAL_FMT_HEX;
2557f93014d8d3 pengdonglin    2026-09-16  903  
2557f93014d8d3 pengdonglin    2026-09-16  904  			if (retval && retval_fmt != RETVAL_FMT_HEX &&
2557f93014d8d3 pengdonglin    2026-09-16  905  			    !(fmt & RETVAL_FMT_BTF)) {
a1be9ccc57f07d Donglin Peng   2023-04-08  906  				/* Check if the return value matches the negative format */
a1be9ccc57f07d Donglin Peng   2023-04-08  907  				if (IS_ENABLED(CONFIG_64BIT) && (retval & BIT(31)) &&
a1be9ccc57f07d Donglin Peng   2023-04-08  908  					(((u64)retval) >> 32) == 0) {
21e92806d39c68 Donglin Peng   2024-09-14  909  					err_code = sign_extend64(retval, 31);
a1be9ccc57f07d Donglin Peng   2023-04-08  910  				} else {
a1be9ccc57f07d Donglin Peng   2023-04-08  911  					err_code = retval;
a1be9ccc57f07d Donglin Peng   2023-04-08  912  				}
a1be9ccc57f07d Donglin Peng   2023-04-08  913  
a1be9ccc57f07d Donglin Peng   2023-04-08  914  				if (!IS_ERR_VALUE(err_code))
a1be9ccc57f07d Donglin Peng   2023-04-08  915  					err_code = 0;
21e92806d39c68 Donglin Peng   2024-09-14  916  			}
a1be9ccc57f07d Donglin Peng   2023-04-08  917  
2557f93014d8d3 pengdonglin    2026-09-16  918  			if (retval_fmt == RETVAL_FMT_HEX) {
2557f93014d8d3 pengdonglin    2026-09-16  919  				retval_fmt |= (fmt & RETVAL_FMT_TRUNC);
2557f93014d8d3 pengdonglin    2026-09-16  920  			} else {
2557f93014d8d3 pengdonglin    2026-09-16  921  				if (err_code && fmt & RETVAL_FMT_HEX)
2557f93014d8d3 pengdonglin    2026-09-16  922  					fmt = (fmt & ~RETVAL_FMT_HEX) | RETVAL_FMT_DEC;
2557f93014d8d3 pengdonglin    2026-09-16  923  				retval_fmt = fmt;
2557f93014d8d3 pengdonglin    2026-09-16  924  			}
2557f93014d8d3 pengdonglin    2026-09-16  925  		}
2557f93014d8d3 pengdonglin    2026-09-16  926  	}
2557f93014d8d3 pengdonglin    2026-09-16  927  
21e92806d39c68 Donglin Peng   2024-09-14  928  	if (entry) {
21e92806d39c68 Donglin Peng   2024-09-14  929  		if (entry->ent.type != TRACE_GRAPH_RETADDR_ENT)
21e92806d39c68 Donglin Peng   2024-09-14  930  			print_retaddr = false;
21e92806d39c68 Donglin Peng   2024-09-14  931  
ff5c9c576e7545 Sven Schnelle  2025-02-27  932  		trace_seq_printf(s, "%ps", func);
ff5c9c576e7545 Sven Schnelle  2025-02-27  933  
ff5c9c576e7545 Sven Schnelle  2025-02-27  934  		if (args_size >= FTRACE_REGS_MAX_ARGS * sizeof(long)) {
c9703d17d2c86e Donglin Peng   2026-01-12  935  			print_function_args(s, FGRAPH_ENTRY_ARGS(entry), (unsigned long)func);
ff5c9c576e7545 Sven Schnelle  2025-02-27  936  			trace_seq_putc(s, ';');
ff5c9c576e7545 Sven Schnelle  2025-02-27  937  		} else
ff5c9c576e7545 Sven Schnelle  2025-02-27  938  			trace_seq_puts(s, "();");
ff5c9c576e7545 Sven Schnelle  2025-02-27  939  
21e92806d39c68 Donglin Peng   2024-09-14  940  		if (print_retval || print_retaddr)
21e92806d39c68 Donglin Peng   2024-09-14  941  			trace_seq_puts(s, " /*");
a1be9ccc57f07d Donglin Peng   2023-04-08  942  	} else {
21e92806d39c68 Donglin Peng   2024-09-14  943  		print_retaddr = false;
21e92806d39c68 Donglin Peng   2024-09-14  944  		trace_seq_printf(s, "} /* %ps", func);
21e92806d39c68 Donglin Peng   2024-09-14  945  	}
21e92806d39c68 Donglin Peng   2024-09-14  946  
21e92806d39c68 Donglin Peng   2024-09-14  947  	if (print_retaddr)
21e92806d39c68 Donglin Peng   2024-09-14  948  		print_graph_retaddr(s, (struct fgraph_retaddr_ent_entry *)entry,
21e92806d39c68 Donglin Peng   2024-09-14  949  				    trace_flags, false);
21e92806d39c68 Donglin Peng   2024-09-14  950  
21e92806d39c68 Donglin Peng   2024-09-14  951  	if (print_retval) {
2557f93014d8d3 pengdonglin    2026-09-16  952  		if (retval_fmt & RETVAL_FMT_HEX)
21e92806d39c68 Donglin Peng   2024-09-14  953  			trace_seq_printf(s, " ret=0x%lx", retval);
2557f93014d8d3 pengdonglin    2026-09-16  954  		else if (retval_fmt & RETVAL_FMT_BOOL)
2557f93014d8d3 pengdonglin    2026-09-16 @955  			trace_seq_printf(s, " ret=%s", retval ? "true" : "false");
2557f93014d8d3 pengdonglin    2026-09-16  956  		else if (retval_fmt & RETVAL_FMT_UNSIGNED)
2557f93014d8d3 pengdonglin    2026-09-16  957  			trace_seq_printf(s, " ret=%lu", retval);
a1be9ccc57f07d Donglin Peng   2023-04-08  958  		else
2557f93014d8d3 pengdonglin    2026-09-16  959  			trace_seq_printf(s, " ret=%ld", err_code ?: retval);
2557f93014d8d3 pengdonglin    2026-09-16  960  
2557f93014d8d3 pengdonglin    2026-09-16  961  		if (retval_fmt & RETVAL_FMT_TRUNC)
2557f93014d8d3 pengdonglin    2026-09-16  962  			trace_seq_printf(s, "(trunc)");
a1be9ccc57f07d Donglin Peng   2023-04-08  963  	}
21e92806d39c68 Donglin Peng   2024-09-14  964  
21e92806d39c68 Donglin Peng   2024-09-14  965  	if (!entry || print_retval || print_retaddr)
485acd207d7daf Steven Rostedt 2025-04-11  966  		trace_seq_puts(s, " */");
a1be9ccc57f07d Donglin Peng   2023-04-08  967  }
a1be9ccc57f07d Donglin Peng   2023-04-08  968  

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

                 reply	other threads:[~2026-11-02  3:17 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202611020428.L48GPs7r-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=julia.lawall@inria.fr \
    --cc=oe-kbuild@lists.linux.dev \
    /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.