lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:   Sun, 10 Mar 2019 10:05:50 +0800
From:   kbuild test robot <lkp@...el.com>
To:     Andrea Righi <andrea.righi@...onical.com>
Cc:     kbuild-all@...org, Josef Bacik <josef@...icpanda.com>,
        Tejun Heo <tj@...nel.org>, Li Zefan <lizefan@...wei.com>,
        Paolo Valente <paolo.valente@...aro.org>,
        Johannes Weiner <hannes@...xchg.org>,
        Jens Axboe <axboe@...nel.dk>, Vivek Goyal <vgoyal@...hat.com>,
        Dennis Zhou <dennis@...nel.org>, cgroups@...r.kernel.org,
        linux-block@...r.kernel.org, linux-mm@...ck.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] blkcg: prevent priority inversion problem during
 sync()

Hi Andrea,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on linus/master]
[also build test ERROR on v5.0 next-20190306]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Andrea-Righi/blkcg-prevent-priority-inversion-problem-during-sync/20190310-020543
config: i386-randconfig-s1-201910 (attached as .config)
compiler: gcc-6 (Debian 6.5.0-2) 6.5.0 20181026
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   fs/fs-writeback.c: In function 'sync_inodes_sb':
>> fs/fs-writeback.c:2450:2: error: implicit declaration of function 'blkcg_start_wb_wait_on_bdi' [-Werror=implicit-function-declaration]
     blkcg_start_wb_wait_on_bdi(bdi);
     ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> fs/fs-writeback.c:2460:2: error: implicit declaration of function 'blkcg_stop_wb_wait_on_bdi' [-Werror=implicit-function-declaration]
     blkcg_stop_wb_wait_on_bdi(bdi);
     ^~~~~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/blkcg_start_wb_wait_on_bdi +2450 fs/fs-writeback.c

  2419	
  2420	/**
  2421	 * sync_inodes_sb	-	sync sb inode pages
  2422	 * @sb: the superblock
  2423	 *
  2424	 * This function writes and waits on any dirty inode belonging to this
  2425	 * super_block.
  2426	 */
  2427	void sync_inodes_sb(struct super_block *sb)
  2428	{
  2429		DEFINE_WB_COMPLETION_ONSTACK(done);
  2430		struct wb_writeback_work work = {
  2431			.sb		= sb,
  2432			.sync_mode	= WB_SYNC_ALL,
  2433			.nr_pages	= LONG_MAX,
  2434			.range_cyclic	= 0,
  2435			.done		= &done,
  2436			.reason		= WB_REASON_SYNC,
  2437			.for_sync	= 1,
  2438		};
  2439		struct backing_dev_info *bdi = sb->s_bdi;
  2440	
  2441		/*
  2442		 * Can't skip on !bdi_has_dirty() because we should wait for !dirty
  2443		 * inodes under writeback and I_DIRTY_TIME inodes ignored by
  2444		 * bdi_has_dirty() need to be written out too.
  2445		 */
  2446		if (bdi == &noop_backing_dev_info)
  2447			return;
  2448		WARN_ON(!rwsem_is_locked(&sb->s_umount));
  2449	
> 2450		blkcg_start_wb_wait_on_bdi(bdi);
  2451	
  2452		/* protect against inode wb switch, see inode_switch_wbs_work_fn() */
  2453		bdi_down_write_wb_switch_rwsem(bdi);
  2454		bdi_split_work_to_wbs(bdi, &work, false);
  2455		wb_wait_for_completion(bdi, &done);
  2456		bdi_up_write_wb_switch_rwsem(bdi);
  2457	
  2458		wait_sb_inodes(sb);
  2459	
> 2460		blkcg_stop_wb_wait_on_bdi(bdi);
  2461	}
  2462	EXPORT_SYMBOL(sync_inodes_sb);
  2463	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Download attachment ".config.gz" of type "application/gzip" (31630 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ