All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Anup Sharma <anupnewsmail@gmail.com>,
	shaggy@kernel.org, r33s3n6@gmail.com, mudongliangabcd@gmail.com,
	liushixin2@huawei.com, wuhoipok@gmail.com
Cc: jfs-discussion@lists.sourceforge.net,
	linux-kernel-mentees@lists.linuxfoundation.org,
	linux-kernel@vger.kernel.org, oe-kbuild-all@lists.linux.dev,
	shuah@kernel.org,
	syzbot+d2cd27dcf8e04b232eb2@syzkaller.appspotmail.com
Subject: Re: [PATCH] fs: jfs: fixed UBSAN: shift-out-of-bounds in dbFree
Date: Sat, 8 Apr 2023 04:47:29 +0800	[thread overview]
Message-ID: <202304080405.7pWwoha3-lkp@intel.com> (raw)
In-Reply-To: <ZDAhrYVHTVEYIGUM@yoga>

Hi Anup,

kernel test robot noticed the following build warnings:

[auto build test WARNING on kleikamp-shaggy/jfs-next]
[also build test WARNING on linus/master v6.3-rc5 next-20230406]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Anup-Sharma/fs-jfs-fixed-UBSAN-shift-out-of-bounds-in-dbFree/20230407-220115
base:   https://github.com/kleikamp/linux-shaggy jfs-next
patch link:    https://lore.kernel.org/r/ZDAhrYVHTVEYIGUM%40yoga
patch subject: [PATCH] fs: jfs: fixed UBSAN: shift-out-of-bounds in dbFree
config: alpha-randconfig-s042-20230403 (https://download.01.org/0day-ci/archive/20230408/202304080405.7pWwoha3-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://github.com/intel-lab-lkp/linux/commit/b9353aee08c4a798b40d76fd540d524ea1147dfc
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Anup-Sharma/fs-jfs-fixed-UBSAN-shift-out-of-bounds-in-dbFree/20230407-220115
        git checkout b9353aee08c4a798b40d76fd540d524ea1147dfc
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash fs/jfs/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304080405.7pWwoha3-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> fs/jfs/jfs_dmap.c:181:31: sparse: sparse: cast to restricted __le32
>> fs/jfs/jfs_dmap.c:181:31: sparse: sparse: cast from restricted __le64
>> fs/jfs/jfs_dmap.c:295:33: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le64 [usertype] dn_l2nbperpage @@     got restricted __le32 [usertype] @@
   fs/jfs/jfs_dmap.c:295:33: sparse:     expected restricted __le64 [usertype] dn_l2nbperpage
   fs/jfs/jfs_dmap.c:295:33: sparse:     got restricted __le32 [usertype]

vim +181 fs/jfs/jfs_dmap.c

^1da177e4c3f41 Linus Torvalds                2005-04-16  135  
^1da177e4c3f41 Linus Torvalds                2005-04-16  136  /*
^1da177e4c3f41 Linus Torvalds                2005-04-16  137   * NAME:	dbMount()
^1da177e4c3f41 Linus Torvalds                2005-04-16  138   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  139   * FUNCTION:	initializate the block allocation map.
^1da177e4c3f41 Linus Torvalds                2005-04-16  140   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  141   *		memory is allocated for the in-core bmap descriptor and
^1da177e4c3f41 Linus Torvalds                2005-04-16  142   *		the in-core descriptor is initialized from disk.
^1da177e4c3f41 Linus Torvalds                2005-04-16  143   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  144   * PARAMETERS:
^1da177e4c3f41 Linus Torvalds                2005-04-16  145   *	ipbmap	- pointer to in-core inode for the block map.
^1da177e4c3f41 Linus Torvalds                2005-04-16  146   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  147   * RETURN VALUES:
^1da177e4c3f41 Linus Torvalds                2005-04-16  148   *	0	- success
^1da177e4c3f41 Linus Torvalds                2005-04-16  149   *	-ENOMEM	- insufficient memory
^1da177e4c3f41 Linus Torvalds                2005-04-16  150   *	-EIO	- i/o error
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  151   *	-EINVAL - wrong bmap data
^1da177e4c3f41 Linus Torvalds                2005-04-16  152   */
^1da177e4c3f41 Linus Torvalds                2005-04-16  153  int dbMount(struct inode *ipbmap)
^1da177e4c3f41 Linus Torvalds                2005-04-16  154  {
^1da177e4c3f41 Linus Torvalds                2005-04-16  155  	struct bmap *bmp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  156  	struct dbmap_disk *dbmp_le;
^1da177e4c3f41 Linus Torvalds                2005-04-16  157  	struct metapage *mp;
898f706695682b Dongliang Mu                  2022-10-18  158  	int i, err;
^1da177e4c3f41 Linus Torvalds                2005-04-16  159  
^1da177e4c3f41 Linus Torvalds                2005-04-16  160  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  161  	 * allocate/initialize the in-memory bmap descriptor
^1da177e4c3f41 Linus Torvalds                2005-04-16  162  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  163  	/* allocate memory for the in-memory bmap descriptor */
^1da177e4c3f41 Linus Torvalds                2005-04-16  164  	bmp = kmalloc(sizeof(struct bmap), GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds                2005-04-16  165  	if (bmp == NULL)
^1da177e4c3f41 Linus Torvalds                2005-04-16  166  		return -ENOMEM;
^1da177e4c3f41 Linus Torvalds                2005-04-16  167  
^1da177e4c3f41 Linus Torvalds                2005-04-16  168  	/* read the on-disk bmap descriptor. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  169  	mp = read_metapage(ipbmap,
^1da177e4c3f41 Linus Torvalds                2005-04-16  170  			   BMAPBLKNO << JFS_SBI(ipbmap->i_sb)->l2nbperpage,
^1da177e4c3f41 Linus Torvalds                2005-04-16  171  			   PSIZE, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  172  	if (mp == NULL) {
898f706695682b Dongliang Mu                  2022-10-18  173  		err = -EIO;
898f706695682b Dongliang Mu                  2022-10-18  174  		goto err_kfree_bmp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  175  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  176  
^1da177e4c3f41 Linus Torvalds                2005-04-16  177  	/* copy the on-disk bmap descriptor to its in-memory version. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  178  	dbmp_le = (struct dbmap_disk *) mp->data;
^1da177e4c3f41 Linus Torvalds                2005-04-16  179  	bmp->db_mapsize = le64_to_cpu(dbmp_le->dn_mapsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  180  	bmp->db_nfree = le64_to_cpu(dbmp_le->dn_nfree);
^1da177e4c3f41 Linus Torvalds                2005-04-16 @181  	bmp->db_l2nbperpage = le32_to_cpu(dbmp_le->dn_l2nbperpage);
^1da177e4c3f41 Linus Torvalds                2005-04-16  182  	bmp->db_numag = le32_to_cpu(dbmp_le->dn_numag);
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  183  	if (!bmp->db_numag) {
898f706695682b Dongliang Mu                  2022-10-18  184  		err = -EINVAL;
898f706695682b Dongliang Mu                  2022-10-18  185  		goto err_release_metapage;
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  186  	}
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  187  
^1da177e4c3f41 Linus Torvalds                2005-04-16  188  	bmp->db_maxlevel = le32_to_cpu(dbmp_le->dn_maxlevel);
^1da177e4c3f41 Linus Torvalds                2005-04-16  189  	bmp->db_maxag = le32_to_cpu(dbmp_le->dn_maxag);
^1da177e4c3f41 Linus Torvalds                2005-04-16  190  	bmp->db_agpref = le32_to_cpu(dbmp_le->dn_agpref);
^1da177e4c3f41 Linus Torvalds                2005-04-16  191  	bmp->db_aglevel = le32_to_cpu(dbmp_le->dn_aglevel);
d7eecb483cc29e Daniel Mack                   2010-01-28  192  	bmp->db_agheight = le32_to_cpu(dbmp_le->dn_agheight);
^1da177e4c3f41 Linus Torvalds                2005-04-16  193  	bmp->db_agwidth = le32_to_cpu(dbmp_le->dn_agwidth);
^1da177e4c3f41 Linus Torvalds                2005-04-16  194  	bmp->db_agstart = le32_to_cpu(dbmp_le->dn_agstart);
^1da177e4c3f41 Linus Torvalds                2005-04-16  195  	bmp->db_agl2size = le32_to_cpu(dbmp_le->dn_agl2size);
fad376fce0af58 Liu Shixin via Jfs-discussion 2022-11-03  196  	if (bmp->db_agl2size > L2MAXL2SIZE - L2MAXAG ||
fad376fce0af58 Liu Shixin via Jfs-discussion 2022-11-03  197  	    bmp->db_agl2size < 0) {
898f706695682b Dongliang Mu                  2022-10-18  198  		err = -EINVAL;
898f706695682b Dongliang Mu                  2022-10-18  199  		goto err_release_metapage;
898f706695682b Dongliang Mu                  2022-10-18  200  	}
898f706695682b Dongliang Mu                  2022-10-18  201  
25e70c6162f207 Hoi Pok Wu                    2022-10-25  202  	if (((bmp->db_mapsize - 1) >> bmp->db_agl2size) > MAXAG) {
25e70c6162f207 Hoi Pok Wu                    2022-10-25  203  		err = -EINVAL;
25e70c6162f207 Hoi Pok Wu                    2022-10-25  204  		goto err_release_metapage;
25e70c6162f207 Hoi Pok Wu                    2022-10-25  205  	}
25e70c6162f207 Hoi Pok Wu                    2022-10-25  206  
^1da177e4c3f41 Linus Torvalds                2005-04-16  207  	for (i = 0; i < MAXAG; i++)
^1da177e4c3f41 Linus Torvalds                2005-04-16  208  		bmp->db_agfree[i] = le64_to_cpu(dbmp_le->dn_agfree[i]);
^1da177e4c3f41 Linus Torvalds                2005-04-16  209  	bmp->db_agsize = le64_to_cpu(dbmp_le->dn_agsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  210  	bmp->db_maxfreebud = dbmp_le->dn_maxfreebud;
^1da177e4c3f41 Linus Torvalds                2005-04-16  211  
^1da177e4c3f41 Linus Torvalds                2005-04-16  212  	/* release the buffer. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  213  	release_metapage(mp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  214  
^1da177e4c3f41 Linus Torvalds                2005-04-16  215  	/* bind the bmap inode and the bmap descriptor to each other. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  216  	bmp->db_ipbmap = ipbmap;
^1da177e4c3f41 Linus Torvalds                2005-04-16  217  	JFS_SBI(ipbmap->i_sb)->bmap = bmp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  218  
^1da177e4c3f41 Linus Torvalds                2005-04-16  219  	memset(bmp->db_active, 0, sizeof(bmp->db_active));
^1da177e4c3f41 Linus Torvalds                2005-04-16  220  
^1da177e4c3f41 Linus Torvalds                2005-04-16  221  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  222  	 * allocate/initialize the bmap lock
^1da177e4c3f41 Linus Torvalds                2005-04-16  223  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  224  	BMAP_LOCK_INIT(bmp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  225  
^1da177e4c3f41 Linus Torvalds                2005-04-16  226  	return (0);
898f706695682b Dongliang Mu                  2022-10-18  227  
898f706695682b Dongliang Mu                  2022-10-18  228  err_release_metapage:
898f706695682b Dongliang Mu                  2022-10-18  229  	release_metapage(mp);
898f706695682b Dongliang Mu                  2022-10-18  230  err_kfree_bmp:
898f706695682b Dongliang Mu                  2022-10-18  231  	kfree(bmp);
898f706695682b Dongliang Mu                  2022-10-18  232  	return err;
^1da177e4c3f41 Linus Torvalds                2005-04-16  233  }
^1da177e4c3f41 Linus Torvalds                2005-04-16  234  
^1da177e4c3f41 Linus Torvalds                2005-04-16  235  
^1da177e4c3f41 Linus Torvalds                2005-04-16  236  /*
^1da177e4c3f41 Linus Torvalds                2005-04-16  237   * NAME:	dbUnmount()
^1da177e4c3f41 Linus Torvalds                2005-04-16  238   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  239   * FUNCTION:	terminate the block allocation map in preparation for
^1da177e4c3f41 Linus Torvalds                2005-04-16  240   *		file system unmount.
^1da177e4c3f41 Linus Torvalds                2005-04-16  241   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  242   *		the in-core bmap descriptor is written to disk and
^1da177e4c3f41 Linus Torvalds                2005-04-16  243   *		the memory for this descriptor is freed.
^1da177e4c3f41 Linus Torvalds                2005-04-16  244   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  245   * PARAMETERS:
^1da177e4c3f41 Linus Torvalds                2005-04-16  246   *	ipbmap	- pointer to in-core inode for the block map.
^1da177e4c3f41 Linus Torvalds                2005-04-16  247   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  248   * RETURN VALUES:
^1da177e4c3f41 Linus Torvalds                2005-04-16  249   *	0	- success
^1da177e4c3f41 Linus Torvalds                2005-04-16  250   *	-EIO	- i/o error
^1da177e4c3f41 Linus Torvalds                2005-04-16  251   */
^1da177e4c3f41 Linus Torvalds                2005-04-16  252  int dbUnmount(struct inode *ipbmap, int mounterror)
^1da177e4c3f41 Linus Torvalds                2005-04-16  253  {
^1da177e4c3f41 Linus Torvalds                2005-04-16  254  	struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap;
^1da177e4c3f41 Linus Torvalds                2005-04-16  255  
^1da177e4c3f41 Linus Torvalds                2005-04-16  256  	if (!(mounterror || isReadOnly(ipbmap)))
^1da177e4c3f41 Linus Torvalds                2005-04-16  257  		dbSync(ipbmap);
^1da177e4c3f41 Linus Torvalds                2005-04-16  258  
^1da177e4c3f41 Linus Torvalds                2005-04-16  259  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  260  	 * Invalidate the page cache buffers
^1da177e4c3f41 Linus Torvalds                2005-04-16  261  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  262  	truncate_inode_pages(ipbmap->i_mapping, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  263  
^1da177e4c3f41 Linus Torvalds                2005-04-16  264  	/* free the memory for the in-memory bmap. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  265  	kfree(bmp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  266  
^1da177e4c3f41 Linus Torvalds                2005-04-16  267  	return (0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  268  }
^1da177e4c3f41 Linus Torvalds                2005-04-16  269  
^1da177e4c3f41 Linus Torvalds                2005-04-16  270  /*
^1da177e4c3f41 Linus Torvalds                2005-04-16  271   *	dbSync()
^1da177e4c3f41 Linus Torvalds                2005-04-16  272   */
^1da177e4c3f41 Linus Torvalds                2005-04-16  273  int dbSync(struct inode *ipbmap)
^1da177e4c3f41 Linus Torvalds                2005-04-16  274  {
^1da177e4c3f41 Linus Torvalds                2005-04-16  275  	struct dbmap_disk *dbmp_le;
^1da177e4c3f41 Linus Torvalds                2005-04-16  276  	struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap;
^1da177e4c3f41 Linus Torvalds                2005-04-16  277  	struct metapage *mp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  278  	int i;
^1da177e4c3f41 Linus Torvalds                2005-04-16  279  
^1da177e4c3f41 Linus Torvalds                2005-04-16  280  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  281  	 * write bmap global control page
^1da177e4c3f41 Linus Torvalds                2005-04-16  282  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  283  	/* get the buffer for the on-disk bmap descriptor. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  284  	mp = read_metapage(ipbmap,
^1da177e4c3f41 Linus Torvalds                2005-04-16  285  			   BMAPBLKNO << JFS_SBI(ipbmap->i_sb)->l2nbperpage,
^1da177e4c3f41 Linus Torvalds                2005-04-16  286  			   PSIZE, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  287  	if (mp == NULL) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  288  		jfs_err("dbSync: read_metapage failed!");
^1da177e4c3f41 Linus Torvalds                2005-04-16  289  		return -EIO;
^1da177e4c3f41 Linus Torvalds                2005-04-16  290  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  291  	/* copy the in-memory version of the bmap to the on-disk version */
^1da177e4c3f41 Linus Torvalds                2005-04-16  292  	dbmp_le = (struct dbmap_disk *) mp->data;
^1da177e4c3f41 Linus Torvalds                2005-04-16  293  	dbmp_le->dn_mapsize = cpu_to_le64(bmp->db_mapsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  294  	dbmp_le->dn_nfree = cpu_to_le64(bmp->db_nfree);
^1da177e4c3f41 Linus Torvalds                2005-04-16 @295  	dbmp_le->dn_l2nbperpage = cpu_to_le32(bmp->db_l2nbperpage);
^1da177e4c3f41 Linus Torvalds                2005-04-16  296  	dbmp_le->dn_numag = cpu_to_le32(bmp->db_numag);
^1da177e4c3f41 Linus Torvalds                2005-04-16  297  	dbmp_le->dn_maxlevel = cpu_to_le32(bmp->db_maxlevel);
^1da177e4c3f41 Linus Torvalds                2005-04-16  298  	dbmp_le->dn_maxag = cpu_to_le32(bmp->db_maxag);
^1da177e4c3f41 Linus Torvalds                2005-04-16  299  	dbmp_le->dn_agpref = cpu_to_le32(bmp->db_agpref);
^1da177e4c3f41 Linus Torvalds                2005-04-16  300  	dbmp_le->dn_aglevel = cpu_to_le32(bmp->db_aglevel);
d7eecb483cc29e Daniel Mack                   2010-01-28  301  	dbmp_le->dn_agheight = cpu_to_le32(bmp->db_agheight);
^1da177e4c3f41 Linus Torvalds                2005-04-16  302  	dbmp_le->dn_agwidth = cpu_to_le32(bmp->db_agwidth);
^1da177e4c3f41 Linus Torvalds                2005-04-16  303  	dbmp_le->dn_agstart = cpu_to_le32(bmp->db_agstart);
^1da177e4c3f41 Linus Torvalds                2005-04-16  304  	dbmp_le->dn_agl2size = cpu_to_le32(bmp->db_agl2size);
^1da177e4c3f41 Linus Torvalds                2005-04-16  305  	for (i = 0; i < MAXAG; i++)
^1da177e4c3f41 Linus Torvalds                2005-04-16  306  		dbmp_le->dn_agfree[i] = cpu_to_le64(bmp->db_agfree[i]);
^1da177e4c3f41 Linus Torvalds                2005-04-16  307  	dbmp_le->dn_agsize = cpu_to_le64(bmp->db_agsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  308  	dbmp_le->dn_maxfreebud = bmp->db_maxfreebud;
^1da177e4c3f41 Linus Torvalds                2005-04-16  309  
^1da177e4c3f41 Linus Torvalds                2005-04-16  310  	/* write the buffer */
^1da177e4c3f41 Linus Torvalds                2005-04-16  311  	write_metapage(mp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  312  
^1da177e4c3f41 Linus Torvalds                2005-04-16  313  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  314  	 * write out dirty pages of bmap
^1da177e4c3f41 Linus Torvalds                2005-04-16  315  	 */
28fd129827b00e OGAWA Hirofumi                2006-01-08  316  	filemap_write_and_wait(ipbmap->i_mapping);
^1da177e4c3f41 Linus Torvalds                2005-04-16  317  
^1da177e4c3f41 Linus Torvalds                2005-04-16  318  	diWriteSpecial(ipbmap, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  319  
^1da177e4c3f41 Linus Torvalds                2005-04-16  320  	return (0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  321  }
^1da177e4c3f41 Linus Torvalds                2005-04-16  322  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests
_______________________________________________
Linux-kernel-mentees mailing list
Linux-kernel-mentees@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/linux-kernel-mentees

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Anup Sharma <anupnewsmail@gmail.com>,
	shaggy@kernel.org, r33s3n6@gmail.com, mudongliangabcd@gmail.com,
	liushixin2@huawei.com, wuhoipok@gmail.com
Cc: oe-kbuild-all@lists.linux.dev,
	jfs-discussion@lists.sourceforge.net,
	linux-kernel@vger.kernel.org,
	linux-kernel-mentees@lists.linuxfoundation.org, shuah@kernel.org,
	syzbot+d2cd27dcf8e04b232eb2@syzkaller.appspotmail.com,
	anupnewsmail@gmail.com
Subject: Re: [PATCH] fs: jfs: fixed UBSAN: shift-out-of-bounds in dbFree
Date: Sat, 8 Apr 2023 04:47:29 +0800	[thread overview]
Message-ID: <202304080405.7pWwoha3-lkp@intel.com> (raw)
In-Reply-To: <ZDAhrYVHTVEYIGUM@yoga>

Hi Anup,

kernel test robot noticed the following build warnings:

[auto build test WARNING on kleikamp-shaggy/jfs-next]
[also build test WARNING on linus/master v6.3-rc5 next-20230406]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Anup-Sharma/fs-jfs-fixed-UBSAN-shift-out-of-bounds-in-dbFree/20230407-220115
base:   https://github.com/kleikamp/linux-shaggy jfs-next
patch link:    https://lore.kernel.org/r/ZDAhrYVHTVEYIGUM%40yoga
patch subject: [PATCH] fs: jfs: fixed UBSAN: shift-out-of-bounds in dbFree
config: alpha-randconfig-s042-20230403 (https://download.01.org/0day-ci/archive/20230408/202304080405.7pWwoha3-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.1.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.4-39-gce1a6720-dirty
        # https://github.com/intel-lab-lkp/linux/commit/b9353aee08c4a798b40d76fd540d524ea1147dfc
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Anup-Sharma/fs-jfs-fixed-UBSAN-shift-out-of-bounds-in-dbFree/20230407-220115
        git checkout b9353aee08c4a798b40d76fd540d524ea1147dfc
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha olddefconfig
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash fs/jfs/

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
| Link: https://lore.kernel.org/oe-kbuild-all/202304080405.7pWwoha3-lkp@intel.com/

sparse warnings: (new ones prefixed by >>)
>> fs/jfs/jfs_dmap.c:181:31: sparse: sparse: cast to restricted __le32
>> fs/jfs/jfs_dmap.c:181:31: sparse: sparse: cast from restricted __le64
>> fs/jfs/jfs_dmap.c:295:33: sparse: sparse: incorrect type in assignment (different base types) @@     expected restricted __le64 [usertype] dn_l2nbperpage @@     got restricted __le32 [usertype] @@
   fs/jfs/jfs_dmap.c:295:33: sparse:     expected restricted __le64 [usertype] dn_l2nbperpage
   fs/jfs/jfs_dmap.c:295:33: sparse:     got restricted __le32 [usertype]

vim +181 fs/jfs/jfs_dmap.c

^1da177e4c3f41 Linus Torvalds                2005-04-16  135  
^1da177e4c3f41 Linus Torvalds                2005-04-16  136  /*
^1da177e4c3f41 Linus Torvalds                2005-04-16  137   * NAME:	dbMount()
^1da177e4c3f41 Linus Torvalds                2005-04-16  138   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  139   * FUNCTION:	initializate the block allocation map.
^1da177e4c3f41 Linus Torvalds                2005-04-16  140   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  141   *		memory is allocated for the in-core bmap descriptor and
^1da177e4c3f41 Linus Torvalds                2005-04-16  142   *		the in-core descriptor is initialized from disk.
^1da177e4c3f41 Linus Torvalds                2005-04-16  143   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  144   * PARAMETERS:
^1da177e4c3f41 Linus Torvalds                2005-04-16  145   *	ipbmap	- pointer to in-core inode for the block map.
^1da177e4c3f41 Linus Torvalds                2005-04-16  146   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  147   * RETURN VALUES:
^1da177e4c3f41 Linus Torvalds                2005-04-16  148   *	0	- success
^1da177e4c3f41 Linus Torvalds                2005-04-16  149   *	-ENOMEM	- insufficient memory
^1da177e4c3f41 Linus Torvalds                2005-04-16  150   *	-EIO	- i/o error
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  151   *	-EINVAL - wrong bmap data
^1da177e4c3f41 Linus Torvalds                2005-04-16  152   */
^1da177e4c3f41 Linus Torvalds                2005-04-16  153  int dbMount(struct inode *ipbmap)
^1da177e4c3f41 Linus Torvalds                2005-04-16  154  {
^1da177e4c3f41 Linus Torvalds                2005-04-16  155  	struct bmap *bmp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  156  	struct dbmap_disk *dbmp_le;
^1da177e4c3f41 Linus Torvalds                2005-04-16  157  	struct metapage *mp;
898f706695682b Dongliang Mu                  2022-10-18  158  	int i, err;
^1da177e4c3f41 Linus Torvalds                2005-04-16  159  
^1da177e4c3f41 Linus Torvalds                2005-04-16  160  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  161  	 * allocate/initialize the in-memory bmap descriptor
^1da177e4c3f41 Linus Torvalds                2005-04-16  162  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  163  	/* allocate memory for the in-memory bmap descriptor */
^1da177e4c3f41 Linus Torvalds                2005-04-16  164  	bmp = kmalloc(sizeof(struct bmap), GFP_KERNEL);
^1da177e4c3f41 Linus Torvalds                2005-04-16  165  	if (bmp == NULL)
^1da177e4c3f41 Linus Torvalds                2005-04-16  166  		return -ENOMEM;
^1da177e4c3f41 Linus Torvalds                2005-04-16  167  
^1da177e4c3f41 Linus Torvalds                2005-04-16  168  	/* read the on-disk bmap descriptor. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  169  	mp = read_metapage(ipbmap,
^1da177e4c3f41 Linus Torvalds                2005-04-16  170  			   BMAPBLKNO << JFS_SBI(ipbmap->i_sb)->l2nbperpage,
^1da177e4c3f41 Linus Torvalds                2005-04-16  171  			   PSIZE, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  172  	if (mp == NULL) {
898f706695682b Dongliang Mu                  2022-10-18  173  		err = -EIO;
898f706695682b Dongliang Mu                  2022-10-18  174  		goto err_kfree_bmp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  175  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  176  
^1da177e4c3f41 Linus Torvalds                2005-04-16  177  	/* copy the on-disk bmap descriptor to its in-memory version. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  178  	dbmp_le = (struct dbmap_disk *) mp->data;
^1da177e4c3f41 Linus Torvalds                2005-04-16  179  	bmp->db_mapsize = le64_to_cpu(dbmp_le->dn_mapsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  180  	bmp->db_nfree = le64_to_cpu(dbmp_le->dn_nfree);
^1da177e4c3f41 Linus Torvalds                2005-04-16 @181  	bmp->db_l2nbperpage = le32_to_cpu(dbmp_le->dn_l2nbperpage);
^1da177e4c3f41 Linus Torvalds                2005-04-16  182  	bmp->db_numag = le32_to_cpu(dbmp_le->dn_numag);
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  183  	if (!bmp->db_numag) {
898f706695682b Dongliang Mu                  2022-10-18  184  		err = -EINVAL;
898f706695682b Dongliang Mu                  2022-10-18  185  		goto err_release_metapage;
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  186  	}
2cc7cc01c15f57 Pavel Skripkin                2022-03-19  187  
^1da177e4c3f41 Linus Torvalds                2005-04-16  188  	bmp->db_maxlevel = le32_to_cpu(dbmp_le->dn_maxlevel);
^1da177e4c3f41 Linus Torvalds                2005-04-16  189  	bmp->db_maxag = le32_to_cpu(dbmp_le->dn_maxag);
^1da177e4c3f41 Linus Torvalds                2005-04-16  190  	bmp->db_agpref = le32_to_cpu(dbmp_le->dn_agpref);
^1da177e4c3f41 Linus Torvalds                2005-04-16  191  	bmp->db_aglevel = le32_to_cpu(dbmp_le->dn_aglevel);
d7eecb483cc29e Daniel Mack                   2010-01-28  192  	bmp->db_agheight = le32_to_cpu(dbmp_le->dn_agheight);
^1da177e4c3f41 Linus Torvalds                2005-04-16  193  	bmp->db_agwidth = le32_to_cpu(dbmp_le->dn_agwidth);
^1da177e4c3f41 Linus Torvalds                2005-04-16  194  	bmp->db_agstart = le32_to_cpu(dbmp_le->dn_agstart);
^1da177e4c3f41 Linus Torvalds                2005-04-16  195  	bmp->db_agl2size = le32_to_cpu(dbmp_le->dn_agl2size);
fad376fce0af58 Liu Shixin via Jfs-discussion 2022-11-03  196  	if (bmp->db_agl2size > L2MAXL2SIZE - L2MAXAG ||
fad376fce0af58 Liu Shixin via Jfs-discussion 2022-11-03  197  	    bmp->db_agl2size < 0) {
898f706695682b Dongliang Mu                  2022-10-18  198  		err = -EINVAL;
898f706695682b Dongliang Mu                  2022-10-18  199  		goto err_release_metapage;
898f706695682b Dongliang Mu                  2022-10-18  200  	}
898f706695682b Dongliang Mu                  2022-10-18  201  
25e70c6162f207 Hoi Pok Wu                    2022-10-25  202  	if (((bmp->db_mapsize - 1) >> bmp->db_agl2size) > MAXAG) {
25e70c6162f207 Hoi Pok Wu                    2022-10-25  203  		err = -EINVAL;
25e70c6162f207 Hoi Pok Wu                    2022-10-25  204  		goto err_release_metapage;
25e70c6162f207 Hoi Pok Wu                    2022-10-25  205  	}
25e70c6162f207 Hoi Pok Wu                    2022-10-25  206  
^1da177e4c3f41 Linus Torvalds                2005-04-16  207  	for (i = 0; i < MAXAG; i++)
^1da177e4c3f41 Linus Torvalds                2005-04-16  208  		bmp->db_agfree[i] = le64_to_cpu(dbmp_le->dn_agfree[i]);
^1da177e4c3f41 Linus Torvalds                2005-04-16  209  	bmp->db_agsize = le64_to_cpu(dbmp_le->dn_agsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  210  	bmp->db_maxfreebud = dbmp_le->dn_maxfreebud;
^1da177e4c3f41 Linus Torvalds                2005-04-16  211  
^1da177e4c3f41 Linus Torvalds                2005-04-16  212  	/* release the buffer. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  213  	release_metapage(mp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  214  
^1da177e4c3f41 Linus Torvalds                2005-04-16  215  	/* bind the bmap inode and the bmap descriptor to each other. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  216  	bmp->db_ipbmap = ipbmap;
^1da177e4c3f41 Linus Torvalds                2005-04-16  217  	JFS_SBI(ipbmap->i_sb)->bmap = bmp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  218  
^1da177e4c3f41 Linus Torvalds                2005-04-16  219  	memset(bmp->db_active, 0, sizeof(bmp->db_active));
^1da177e4c3f41 Linus Torvalds                2005-04-16  220  
^1da177e4c3f41 Linus Torvalds                2005-04-16  221  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  222  	 * allocate/initialize the bmap lock
^1da177e4c3f41 Linus Torvalds                2005-04-16  223  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  224  	BMAP_LOCK_INIT(bmp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  225  
^1da177e4c3f41 Linus Torvalds                2005-04-16  226  	return (0);
898f706695682b Dongliang Mu                  2022-10-18  227  
898f706695682b Dongliang Mu                  2022-10-18  228  err_release_metapage:
898f706695682b Dongliang Mu                  2022-10-18  229  	release_metapage(mp);
898f706695682b Dongliang Mu                  2022-10-18  230  err_kfree_bmp:
898f706695682b Dongliang Mu                  2022-10-18  231  	kfree(bmp);
898f706695682b Dongliang Mu                  2022-10-18  232  	return err;
^1da177e4c3f41 Linus Torvalds                2005-04-16  233  }
^1da177e4c3f41 Linus Torvalds                2005-04-16  234  
^1da177e4c3f41 Linus Torvalds                2005-04-16  235  
^1da177e4c3f41 Linus Torvalds                2005-04-16  236  /*
^1da177e4c3f41 Linus Torvalds                2005-04-16  237   * NAME:	dbUnmount()
^1da177e4c3f41 Linus Torvalds                2005-04-16  238   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  239   * FUNCTION:	terminate the block allocation map in preparation for
^1da177e4c3f41 Linus Torvalds                2005-04-16  240   *		file system unmount.
^1da177e4c3f41 Linus Torvalds                2005-04-16  241   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  242   *		the in-core bmap descriptor is written to disk and
^1da177e4c3f41 Linus Torvalds                2005-04-16  243   *		the memory for this descriptor is freed.
^1da177e4c3f41 Linus Torvalds                2005-04-16  244   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  245   * PARAMETERS:
^1da177e4c3f41 Linus Torvalds                2005-04-16  246   *	ipbmap	- pointer to in-core inode for the block map.
^1da177e4c3f41 Linus Torvalds                2005-04-16  247   *
^1da177e4c3f41 Linus Torvalds                2005-04-16  248   * RETURN VALUES:
^1da177e4c3f41 Linus Torvalds                2005-04-16  249   *	0	- success
^1da177e4c3f41 Linus Torvalds                2005-04-16  250   *	-EIO	- i/o error
^1da177e4c3f41 Linus Torvalds                2005-04-16  251   */
^1da177e4c3f41 Linus Torvalds                2005-04-16  252  int dbUnmount(struct inode *ipbmap, int mounterror)
^1da177e4c3f41 Linus Torvalds                2005-04-16  253  {
^1da177e4c3f41 Linus Torvalds                2005-04-16  254  	struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap;
^1da177e4c3f41 Linus Torvalds                2005-04-16  255  
^1da177e4c3f41 Linus Torvalds                2005-04-16  256  	if (!(mounterror || isReadOnly(ipbmap)))
^1da177e4c3f41 Linus Torvalds                2005-04-16  257  		dbSync(ipbmap);
^1da177e4c3f41 Linus Torvalds                2005-04-16  258  
^1da177e4c3f41 Linus Torvalds                2005-04-16  259  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  260  	 * Invalidate the page cache buffers
^1da177e4c3f41 Linus Torvalds                2005-04-16  261  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  262  	truncate_inode_pages(ipbmap->i_mapping, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  263  
^1da177e4c3f41 Linus Torvalds                2005-04-16  264  	/* free the memory for the in-memory bmap. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  265  	kfree(bmp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  266  
^1da177e4c3f41 Linus Torvalds                2005-04-16  267  	return (0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  268  }
^1da177e4c3f41 Linus Torvalds                2005-04-16  269  
^1da177e4c3f41 Linus Torvalds                2005-04-16  270  /*
^1da177e4c3f41 Linus Torvalds                2005-04-16  271   *	dbSync()
^1da177e4c3f41 Linus Torvalds                2005-04-16  272   */
^1da177e4c3f41 Linus Torvalds                2005-04-16  273  int dbSync(struct inode *ipbmap)
^1da177e4c3f41 Linus Torvalds                2005-04-16  274  {
^1da177e4c3f41 Linus Torvalds                2005-04-16  275  	struct dbmap_disk *dbmp_le;
^1da177e4c3f41 Linus Torvalds                2005-04-16  276  	struct bmap *bmp = JFS_SBI(ipbmap->i_sb)->bmap;
^1da177e4c3f41 Linus Torvalds                2005-04-16  277  	struct metapage *mp;
^1da177e4c3f41 Linus Torvalds                2005-04-16  278  	int i;
^1da177e4c3f41 Linus Torvalds                2005-04-16  279  
^1da177e4c3f41 Linus Torvalds                2005-04-16  280  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  281  	 * write bmap global control page
^1da177e4c3f41 Linus Torvalds                2005-04-16  282  	 */
^1da177e4c3f41 Linus Torvalds                2005-04-16  283  	/* get the buffer for the on-disk bmap descriptor. */
^1da177e4c3f41 Linus Torvalds                2005-04-16  284  	mp = read_metapage(ipbmap,
^1da177e4c3f41 Linus Torvalds                2005-04-16  285  			   BMAPBLKNO << JFS_SBI(ipbmap->i_sb)->l2nbperpage,
^1da177e4c3f41 Linus Torvalds                2005-04-16  286  			   PSIZE, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  287  	if (mp == NULL) {
^1da177e4c3f41 Linus Torvalds                2005-04-16  288  		jfs_err("dbSync: read_metapage failed!");
^1da177e4c3f41 Linus Torvalds                2005-04-16  289  		return -EIO;
^1da177e4c3f41 Linus Torvalds                2005-04-16  290  	}
^1da177e4c3f41 Linus Torvalds                2005-04-16  291  	/* copy the in-memory version of the bmap to the on-disk version */
^1da177e4c3f41 Linus Torvalds                2005-04-16  292  	dbmp_le = (struct dbmap_disk *) mp->data;
^1da177e4c3f41 Linus Torvalds                2005-04-16  293  	dbmp_le->dn_mapsize = cpu_to_le64(bmp->db_mapsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  294  	dbmp_le->dn_nfree = cpu_to_le64(bmp->db_nfree);
^1da177e4c3f41 Linus Torvalds                2005-04-16 @295  	dbmp_le->dn_l2nbperpage = cpu_to_le32(bmp->db_l2nbperpage);
^1da177e4c3f41 Linus Torvalds                2005-04-16  296  	dbmp_le->dn_numag = cpu_to_le32(bmp->db_numag);
^1da177e4c3f41 Linus Torvalds                2005-04-16  297  	dbmp_le->dn_maxlevel = cpu_to_le32(bmp->db_maxlevel);
^1da177e4c3f41 Linus Torvalds                2005-04-16  298  	dbmp_le->dn_maxag = cpu_to_le32(bmp->db_maxag);
^1da177e4c3f41 Linus Torvalds                2005-04-16  299  	dbmp_le->dn_agpref = cpu_to_le32(bmp->db_agpref);
^1da177e4c3f41 Linus Torvalds                2005-04-16  300  	dbmp_le->dn_aglevel = cpu_to_le32(bmp->db_aglevel);
d7eecb483cc29e Daniel Mack                   2010-01-28  301  	dbmp_le->dn_agheight = cpu_to_le32(bmp->db_agheight);
^1da177e4c3f41 Linus Torvalds                2005-04-16  302  	dbmp_le->dn_agwidth = cpu_to_le32(bmp->db_agwidth);
^1da177e4c3f41 Linus Torvalds                2005-04-16  303  	dbmp_le->dn_agstart = cpu_to_le32(bmp->db_agstart);
^1da177e4c3f41 Linus Torvalds                2005-04-16  304  	dbmp_le->dn_agl2size = cpu_to_le32(bmp->db_agl2size);
^1da177e4c3f41 Linus Torvalds                2005-04-16  305  	for (i = 0; i < MAXAG; i++)
^1da177e4c3f41 Linus Torvalds                2005-04-16  306  		dbmp_le->dn_agfree[i] = cpu_to_le64(bmp->db_agfree[i]);
^1da177e4c3f41 Linus Torvalds                2005-04-16  307  	dbmp_le->dn_agsize = cpu_to_le64(bmp->db_agsize);
^1da177e4c3f41 Linus Torvalds                2005-04-16  308  	dbmp_le->dn_maxfreebud = bmp->db_maxfreebud;
^1da177e4c3f41 Linus Torvalds                2005-04-16  309  
^1da177e4c3f41 Linus Torvalds                2005-04-16  310  	/* write the buffer */
^1da177e4c3f41 Linus Torvalds                2005-04-16  311  	write_metapage(mp);
^1da177e4c3f41 Linus Torvalds                2005-04-16  312  
^1da177e4c3f41 Linus Torvalds                2005-04-16  313  	/*
^1da177e4c3f41 Linus Torvalds                2005-04-16  314  	 * write out dirty pages of bmap
^1da177e4c3f41 Linus Torvalds                2005-04-16  315  	 */
28fd129827b00e OGAWA Hirofumi                2006-01-08  316  	filemap_write_and_wait(ipbmap->i_mapping);
^1da177e4c3f41 Linus Torvalds                2005-04-16  317  
^1da177e4c3f41 Linus Torvalds                2005-04-16  318  	diWriteSpecial(ipbmap, 0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  319  
^1da177e4c3f41 Linus Torvalds                2005-04-16  320  	return (0);
^1da177e4c3f41 Linus Torvalds                2005-04-16  321  }
^1da177e4c3f41 Linus Torvalds                2005-04-16  322  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests

  reply	other threads:[~2023-04-07 20:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-07 13:59 [PATCH] fs: jfs: fixed UBSAN: shift-out-of-bounds in dbFree Anup Sharma
2023-04-07 13:59 ` Anup Sharma
2023-04-07 20:47 ` kernel test robot [this message]
2023-04-07 20:47   ` kernel test robot
  -- strict thread matches above, loose matches on Subject: below --
2023-04-14 13:53 anupsharma
2023-04-14 13:53 ` anupsharma
2023-05-07  5:28 ` Anup Sharma
2023-06-20 20:24 ` Dave Kleikamp
2023-06-20 20:24   ` Dave Kleikamp

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202304080405.7pWwoha3-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=anupnewsmail@gmail.com \
    --cc=jfs-discussion@lists.sourceforge.net \
    --cc=linux-kernel-mentees@lists.linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=liushixin2@huawei.com \
    --cc=mudongliangabcd@gmail.com \
    --cc=oe-kbuild-all@lists.linux.dev \
    --cc=r33s3n6@gmail.com \
    --cc=shaggy@kernel.org \
    --cc=shuah@kernel.org \
    --cc=syzbot+d2cd27dcf8e04b232eb2@syzkaller.appspotmail.com \
    --cc=wuhoipok@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.