[bug report] EXP rcuscale: Add crude tests for mem_dump_obj()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Paul E. McKenney,

The patch b3a539cc4d37: "EXP rcuscale: Add crude tests for
mem_dump_obj()" from Dec 7, 2020, leads to the following static
checker warning:

	kernel/rcu/rcutorture.c:1888 rcu_torture_stats()
	warn: did you mean to pass the address of 'rhp'

kernel/rcu/rcutorture.c
  1865          {
  1866                  struct rcu_head *rhp;
  1867                  struct kmem_cache *kcp;
  1868                  static int z;
  1869  
  1870                  kcp = kmem_cache_create("rcuscale", 136, 8, SLAB_STORE_USER, NULL);
  1871                  rhp = kmem_cache_alloc(kcp, GFP_KERNEL);
  1872                  pr_alert("mem_dump_obj() slab test: rcu_torture_stats = %px, &rhp = %px, rhp = %px, &z = %px\n", stats_task, &rhp, rhp, &z);
                                                                                                                                     ^^^^
Hopefully the address of rhp doesn't change at all in this function 0_0!

  1873                  pr_alert("mem_dump_obj(ZERO_SIZE_PTR):");
  1874                  mem_dump_obj(ZERO_SIZE_PTR);
  1875                  pr_alert("mem_dump_obj(NULL):");
  1876                  mem_dump_obj(NULL);
  1877                  pr_alert("mem_dump_obj(%px):", &rhp);
  1878                  mem_dump_obj(&rhp);
  1879                  pr_alert("mem_dump_obj(%px):", rhp);
  1880                  mem_dump_obj(rhp);
  1881                  pr_alert("mem_dump_obj(%px):", &rhp->func);
  1882                  mem_dump_obj(&rhp->func);
  1883                  pr_alert("mem_dump_obj(%px):", &z);
  1884                  mem_dump_obj(&z);
  1885                  kmem_cache_free(kcp, rhp);
  1886                  kmem_cache_destroy(kcp);
  1887                  rhp = kmalloc(sizeof(*rhp), GFP_KERNEL);
  1888                  pr_alert("mem_dump_obj() kmalloc test: rcu_torture_stats = %px, &rhp = %px, rhp = %px\n", stats_task, &rhp, rhp);
  1889                  pr_alert("mem_dump_obj(kmalloc %px):", rhp);
  1890                  mem_dump_obj(rhp);
  1891                  pr_alert("mem_dump_obj(kmalloc %px):", &rhp->func);
  1892                  mem_dump_obj(&rhp->func);
  1893                  kfree(rhp);
  1894                  rhp = vmalloc(4096);
  1895                  pr_alert("mem_dump_obj() vmalloc test: rcu_torture_stats = %px, &rhp = %px, rhp = %px\n", stats_task, &rhp, rhp);
  1896                  pr_alert("mem_dump_obj(vmalloc %px):", rhp);
  1897                  mem_dump_obj(rhp);
  1898                  pr_alert("mem_dump_obj(vmalloc %px):", &rhp->func);
  1899                  mem_dump_obj(&rhp->func);
  1900                  vfree(rhp);
  1901          }

regards,
dan carpenter



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux