Hello Mikulas Patocka,
The patch 2105231db61b: "dm: add writecache target" from Mar 8, 2018,
leads to the following static checker warning:
drivers/md/dm-writecache.c:1868 writecache_ctr()
warn: 'wc->dm_io' is an error pointer or valid
drivers/md/dm-writecache.c
1854
1855 wc = kzalloc(sizeof(struct dm_writecache), GFP_KERNEL);
1856 if (!wc) {
1857 ti->error = "Cannot allocate writecache structure";
1858 r = -ENOMEM;
1859 goto bad;
1860 }
1861 ti->private = wc;
1862 wc->ti = ti;
1863
1864 mutex_init(&wc->lock);
1865 writecache_poison_lists(wc);
1866 init_swait_queue_head(&wc->freelist_wait);
1867 timer_setup(&wc->autocommit_timer, writecache_autocommit_timer,
0);
1868
1869 for (i = 0; i < 2; i++) {
1870 atomic_set(&wc->bio_in_progress[i], 0);
1871 init_swait_queue_head(&wc->bio_in_progress_wait[i]);
1872 }
1873
1874 wc->dm_io = dm_io_client_create();
1875 if (!wc->dm_io) {
^^^^^^^^^
dm_io_client_create() returns error pointers.
1876 r = -ENOMEM;
1877 ti->error = "Unable to allocate dm-io client";
1878 goto bad;
^^^^^^^^
I always tell people that one err style error handling is always buggy.
1879 }
1880
1881 wc->writeback_wq = alloc_workqueue("writecache-writeabck",
WQ_MEM_RECLAIM, 1);
1882 if (!wc->writeback_wq) {
1883 r = -ENOMEM;
1884 ti->error = "Could not allocate writeback workqueue";
1885 goto bad;
1886 }
regards,
dan carpenter
--
dm-devel mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/dm-devel