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

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

 



On Tue, Jan 12, 2021 at 05:41:46PM +0300, Dan Carpenter wrote:
> 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!

One would hope!

The duplication makes it easier to check the output.  Without it,
it is necessary to get some information from the immediately preceding
pr_alert() and others of it from the first pr_alert().

							Thanx, Paul

>   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