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>] [day] [month] [year] [list]
Message-ID: <202204142115.5hNAAWHG-lkp@intel.com>
Date:   Thu, 14 Apr 2022 22:04:00 +0800
From:   kernel test robot <lkp@...el.com>
To:     "Darrick J. Wong" <djwong@...nel.org>
Cc:     llvm@...ts.linux.dev, kbuild-all@...ts.01.org,
        "Darrick J. Wong" <darrick.wong@...cle.com>,
        linux-kernel@...r.kernel.org
Subject: [djwong-xfs:vectorized-scrub 38/396]
 fs/xfs/scrub/agheader_repair.c:585:2: error: implicit declaration of
 function 'xbitmap_walk'

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git vectorized-scrub
head:   bd756ef7af68274b79308166ee64949d288be861
commit: d8273f3634d00732c204ba1c112bf1b9efcc6e4d [38/396] xfs: make AGFL repair function avoid crosslinked blocks
config: hexagon-buildonly-randconfig-r002-20220413 (https://download.01.org/0day-ci/archive/20220414/202204142115.5hNAAWHG-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project fe2478d44e4f7f191c43fef629ac7a23d0251e72)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git/commit/?id=d8273f3634d00732c204ba1c112bf1b9efcc6e4d
        git remote add djwong-xfs https://git.kernel.org/pub/scm/linux/kernel/git/djwong/xfs-linux.git
        git fetch --no-tags djwong-xfs vectorized-scrub
        git checkout d8273f3634d00732c204ba1c112bf1b9efcc6e4d
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash

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

Note: the djwong-xfs/vectorized-scrub HEAD bd756ef7af68274b79308166ee64949d288be861 builds fine.
      It only hurts bisectability.

All errors (new ones prefixed by >>):

>> fs/xfs/scrub/agheader_repair.c:585:2: error: implicit declaration of function 'xbitmap_walk' [-Werror,-Wimplicit-function-declaration]
           xbitmap_walk(agfl_extents, xrep_agfl_check_extent, &ra);
           ^
   1 error generated.


vim +/xbitmap_walk +585 fs/xfs/scrub/agheader_repair.c

   525	
   526	/*
   527	 * Map out all the non-AGFL OWN_AG space in this AG so that we can deduce
   528	 * which blocks belong to the AGFL.
   529	 *
   530	 * Compute the set of old AGFL blocks by subtracting from the list of OWN_AG
   531	 * blocks the list of blocks owned by all other OWN_AG metadata (bnobt, cntbt,
   532	 * rmapbt).  These are the old AGFL blocks, so return that list and the number
   533	 * of blocks we're actually going to put back on the AGFL.
   534	 */
   535	STATIC int
   536	xrep_agfl_collect_blocks(
   537		struct xfs_scrub	*sc,
   538		struct xfs_buf		*agf_bp,
   539		struct xbitmap		*agfl_extents,
   540		xfs_agblock_t		*flcount)
   541	{
   542		struct xrep_agfl	ra;
   543		struct xfs_mount	*mp = sc->mp;
   544		struct xfs_btree_cur	*cur;
   545		int			error;
   546	
   547		ra.sc = sc;
   548		ra.freesp = agfl_extents;
   549		xbitmap_init(&ra.agmetablocks);
   550		xbitmap_init(&ra.crossed);
   551	
   552		/* Find all space used by the free space btrees & rmapbt. */
   553		cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
   554		error = xfs_rmap_query_all(cur, xrep_agfl_walk_rmap, &ra);
   555		xfs_btree_del_cursor(cur, error);
   556		if (error)
   557			goto out_bmp;
   558	
   559		/* Find all blocks currently being used by the bnobt. */
   560		cur = xfs_allocbt_init_cursor(mp, sc->tp, agf_bp,
   561				sc->sa.pag, XFS_BTNUM_BNO);
   562		error = xbitmap_set_btblocks(&ra.agmetablocks, cur);
   563		xfs_btree_del_cursor(cur, error);
   564		if (error)
   565			goto out_bmp;
   566	
   567		/* Find all blocks currently being used by the cntbt. */
   568		cur = xfs_allocbt_init_cursor(mp, sc->tp, agf_bp,
   569				sc->sa.pag, XFS_BTNUM_CNT);
   570		error = xbitmap_set_btblocks(&ra.agmetablocks, cur);
   571		xfs_btree_del_cursor(cur, error);
   572		if (error)
   573			goto out_bmp;
   574	
   575		/*
   576		 * Drop the freesp meta blocks that are in use by btrees.
   577		 * The remaining blocks /should/ be AGFL blocks.
   578		 */
   579		error = xbitmap_disunion(agfl_extents, &ra.agmetablocks);
   580		if (error)
   581			goto out_bmp;
   582	
   583		/* Strike out the blocks that are cross-linked. */
   584		ra.rmap_cur = xfs_rmapbt_init_cursor(mp, sc->tp, agf_bp, sc->sa.pag);
 > 585		xbitmap_walk(agfl_extents, xrep_agfl_check_extent, &ra);
   586		xfs_btree_del_cursor(ra.rmap_cur, 0);
   587		error = xbitmap_disunion(agfl_extents, &ra.crossed);
   588		if (error)
   589			goto out_bmp;
   590	
   591		/*
   592		 * Calculate the new AGFL size.  If we found more blocks than fit in
   593		 * the AGFL we'll free them later.
   594		 */
   595		*flcount = min_t(uint64_t, xbitmap_hweight(agfl_extents),
   596				 xfs_agfl_size(mp));
   597	
   598	out_bmp:
   599		xbitmap_destroy(&ra.crossed);
   600		xbitmap_destroy(&ra.agmetablocks);
   601		return error;
   602	}
   603	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ