All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild@lists.01.org
Subject: kernel/trace/trace_osnoise.c:1471:2: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint]
Date: Mon, 10 Jan 2022 01:39:41 +0800	[thread overview]
Message-ID: <202201092254.wcC7LuOL-lkp@intel.com> (raw)

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

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Daniel Bristot de Oliveira <bristot@redhat.com>
CC: "Steven Rostedt (VMware)" <rostedt@goodmis.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   4634129ad9fdc89d10b597fc6f8f4336fb61e105
commit: 498627b4ac85780b9962ed9b5c5abbefd884ef8e trace/osnoise: Fix return value on osnoise_init_hotplug_support
date:   7 months ago
:::::: branch date: 17 hours ago
:::::: commit date: 7 months ago
compiler: arc-elf-gcc (GCC) 11.2.0

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


cppcheck possible warnings: (new ones prefixed by >>, may not real problems)

>> kernel/trace/trace_osnoise.c:1611:8: warning: snprintf format string requires 2 parameters but only 1 is given. [wrongPrintfScanfArgNum]
    len = snprintf(NULL, 0, "%*pbln", cpumask_pr_args(&osnoise_cpumask)) + 1;
          ^
   kernel/trace/trace_osnoise.c:1618:8: warning: snprintf format string requires 2 parameters but only 1 is given. [wrongPrintfScanfArgNum]
    len = snprintf(mask_str, len, "%*pbln", cpumask_pr_args(&osnoise_cpumask));
          ^

vim +1471 kernel/trace/trace_osnoise.c

c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1453  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1454  /*
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1455   * start_kthread - Start a workload tread
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1456   */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1457  static int start_kthread(unsigned int cpu)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1458  {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1459  	struct task_struct *kthread;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1460  	void *main = osnoise_main;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1461  	char comm[24];
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1462  
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1463  #ifdef CONFIG_TIMERLAT_TRACER
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1464  	if (osnoise_data.timerlat_tracer) {
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1465  		snprintf(comm, 24, "timerlat/%d", cpu);
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1466  		main = timerlat_main;
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1467  	} else {
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1468  		snprintf(comm, 24, "osnoise/%d", cpu);
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1469  	}
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1470  #else
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22 @1471  	snprintf(comm, 24, "osnoise/%d", cpu);
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1472  #endif
a955d7eac1779b Daniel Bristot de Oliveira 2021-06-22  1473  	kthread = kthread_create_on_cpu(main, NULL, cpu, comm);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1474  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1475  	if (IS_ERR(kthread)) {
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1476  		pr_err(BANNER "could not start sampling thread\n");
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1477  		stop_per_cpu_kthreads();
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1478  		return -ENOMEM;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1479  	}
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1480  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1481  	per_cpu(per_cpu_osnoise_var, cpu).kthread = kthread;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1482  	wake_up_process(kthread);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1483  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1484  	return 0;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1485  }
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1486  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1487  /*
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1488   * start_per_cpu_kthread - Kick off per-cpu osnoise sampling kthreads
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1489   *
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1490   * This starts the kernel thread that will look for osnoise on many
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1491   * cpus.
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1492   */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1493  static int start_per_cpu_kthreads(struct trace_array *tr)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1494  {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1495  	struct cpumask *current_mask = &save_cpumask;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1496  	int retval;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1497  	int cpu;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1498  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1499  	get_online_cpus();
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1500  	/*
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1501  	 * Run only on CPUs in which trace and osnoise are allowed to run.
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1502  	 */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1503  	cpumask_and(current_mask, tr->tracing_cpumask, &osnoise_cpumask);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1504  	/*
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1505  	 * And the CPU is online.
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1506  	 */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1507  	cpumask_and(current_mask, cpu_online_mask, current_mask);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1508  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1509  	for_each_possible_cpu(cpu)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1510  		per_cpu(per_cpu_osnoise_var, cpu).kthread = NULL;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1511  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1512  	for_each_cpu(cpu, current_mask) {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1513  		retval = start_kthread(cpu);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1514  		if (retval) {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1515  			stop_per_cpu_kthreads();
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1516  			return retval;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1517  		}
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1518  	}
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1519  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1520  	put_online_cpus();
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1521  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1522  	return 0;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1523  }
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1524  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1525  #ifdef CONFIG_HOTPLUG_CPU
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1526  static void osnoise_hotplug_workfn(struct work_struct *dummy)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1527  {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1528  	struct trace_array *tr = osnoise_trace;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1529  	unsigned int cpu = smp_processor_id();
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1530  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1531  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1532  	mutex_lock(&trace_types_lock);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1533  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1534  	if (!osnoise_busy)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1535  		goto out_unlock_trace;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1536  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1537  	mutex_lock(&interface_lock);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1538  	get_online_cpus();
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1539  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1540  	if (!cpumask_test_cpu(cpu, &osnoise_cpumask))
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1541  		goto out_unlock;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1542  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1543  	if (!cpumask_test_cpu(cpu, tr->tracing_cpumask))
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1544  		goto out_unlock;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1545  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1546  	start_kthread(cpu);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1547  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1548  out_unlock:
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1549  	put_online_cpus();
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1550  	mutex_unlock(&interface_lock);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1551  out_unlock_trace:
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1552  	mutex_unlock(&trace_types_lock);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1553  }
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1554  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1555  static DECLARE_WORK(osnoise_hotplug_work, osnoise_hotplug_workfn);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1556  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1557  /*
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1558   * osnoise_cpu_init - CPU hotplug online callback function
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1559   */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1560  static int osnoise_cpu_init(unsigned int cpu)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1561  {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1562  	schedule_work_on(cpu, &osnoise_hotplug_work);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1563  	return 0;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1564  }
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1565  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1566  /*
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1567   * osnoise_cpu_die - CPU hotplug offline callback function
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1568   */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1569  static int osnoise_cpu_die(unsigned int cpu)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1570  {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1571  	stop_kthread(cpu);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1572  	return 0;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1573  }
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1574  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1575  static void osnoise_init_hotplug_support(void)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1576  {
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1577  	int ret;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1578  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1579  	ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "trace/osnoise:online",
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1580  				osnoise_cpu_init, osnoise_cpu_die);
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1581  	if (ret < 0)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1582  		pr_warn(BANNER "Error to init cpu hotplug support\n");
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1583  
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1584  	return;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1585  }
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1586  #else /* CONFIG_HOTPLUG_CPU */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1587  static void osnoise_init_hotplug_support(void)
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1588  {
498627b4ac8578 Daniel Bristot de Oliveira 2021-06-28  1589  	return;
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1590  }
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1591  #endif /* CONFIG_HOTPLUG_CPU */
c8895e271f7994 Daniel Bristot de Oliveira 2021-06-22  1592  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1593  /*
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1594   * osnoise_cpus_read - Read function for reading the "cpus" file
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1595   * @filp: The active open file structure
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1596   * @ubuf: The userspace provided buffer to read value into
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1597   * @cnt: The maximum number of bytes to read
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1598   * @ppos: The current "file" position
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1599   *
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1600   * Prints the "cpus" output into the user-provided buffer.
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1601   */
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1602  static ssize_t
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1603  osnoise_cpus_read(struct file *filp, char __user *ubuf, size_t count,
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1604  		  loff_t *ppos)
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1605  {
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1606  	char *mask_str;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1607  	int len;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1608  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1609  	mutex_lock(&interface_lock);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1610  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22 @1611  	len = snprintf(NULL, 0, "%*pbl\n", cpumask_pr_args(&osnoise_cpumask)) + 1;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1612  	mask_str = kmalloc(len, GFP_KERNEL);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1613  	if (!mask_str) {
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1614  		count = -ENOMEM;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1615  		goto out_unlock;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1616  	}
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1617  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1618  	len = snprintf(mask_str, len, "%*pbl\n", cpumask_pr_args(&osnoise_cpumask));
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1619  	if (len >= count) {
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1620  		count = -EINVAL;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1621  		goto out_free;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1622  	}
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1623  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1624  	count = simple_read_from_buffer(ubuf, count, ppos, mask_str, len);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1625  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1626  out_free:
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1627  	kfree(mask_str);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1628  out_unlock:
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1629  	mutex_unlock(&interface_lock);
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1630  
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1631  	return count;
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1632  }
bce29ac9ce0bb0 Daniel Bristot de Oliveira 2021-06-22  1633  

:::::: The code at line 1471 was first introduced by commit
:::::: a955d7eac1779b437ceb24fc352026a2cbcec140 trace: Add timerlat tracer

:::::: TO: Daniel Bristot de Oliveira <bristot@redhat.com>
:::::: CC: Steven Rostedt (VMware) <rostedt@goodmis.org>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

             reply	other threads:[~2022-01-09 17:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-09 17:39 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2021-08-20 17:11 kernel/trace/trace_osnoise.c:1471:2: warning: %d in format string (no. 1) requires 'int' but the argument type is 'unsigned int'. [invalidPrintfArgType_sint] kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202201092254.wcC7LuOL-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.