All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [PATCH v13 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile
Date: Sat, 21 Nov 2020 03:42:31 +0800	[thread overview]
Message-ID: <202011210303.GSSFlYcw-lkp@intel.com> (raw)
In-Reply-To: <20201120160944.1629091-10-almaz.alexandrovich@paragon-software.com>

[-- Attachment #1: Type: text/plain, Size: 16388 bytes --]

Hi Konstantin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc4 next-20201120]
[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]

url:    https://github.com/0day-ci/linux/commits/Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201121-001320
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 4d02da974ea85a62074efedf354e82778f910d82
config: arm64-randconfig-s031-20201120 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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.3-134-gb59dbdaf-dirty
        # https://github.com/0day-ci/linux/commit/af7bf0c625d20c0ebe8b4c180b4422b2a37a9dd5
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201121-001320
        git checkout af7bf0c625d20c0ebe8b4c180b4422b2a37a9dd5
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64 

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


"sparse warnings: (new ones prefixed by >>)"
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16

vim +1251 fs/ntfs3/super.c

c7374db749d575f Konstantin Komarov 2020-11-20  1132  
c7374db749d575f Konstantin Komarov 2020-11-20  1133  	/* Check bitmap boundary */
c7374db749d575f Konstantin Komarov 2020-11-20  1134  	tt = sbi->used.bitmap.nbits;
c7374db749d575f Konstantin Komarov 2020-11-20  1135  	if (inode->i_size < bitmap_size(tt)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1136  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1137  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1138  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1139  
c7374db749d575f Konstantin Komarov 2020-11-20  1140  	/* Not necessary */
c7374db749d575f Konstantin Komarov 2020-11-20  1141  	sbi->used.bitmap.set_tail = true;
c7374db749d575f Konstantin Komarov 2020-11-20  1142  	err = wnd_init(&sbi->used.bitmap, sbi->sb, tt);
c7374db749d575f Konstantin Komarov 2020-11-20  1143  	if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1144  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1145  
c7374db749d575f Konstantin Komarov 2020-11-20  1146  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1147  
c7374db749d575f Konstantin Komarov 2020-11-20  1148  	/* Compute the mft zone */
c7374db749d575f Konstantin Komarov 2020-11-20  1149  	err = ntfs_refresh_zone(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1150  	if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1151  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1152  
c7374db749d575f Konstantin Komarov 2020-11-20  1153  	/* Load $AttrDef */
c7374db749d575f Konstantin Komarov 2020-11-20  1154  	ref.low = cpu_to_le32(MFT_REC_ATTR);
c7374db749d575f Konstantin Komarov 2020-11-20  1155  	ref.seq = cpu_to_le16(MFT_REC_ATTR);
c7374db749d575f Konstantin Komarov 2020-11-20  1156  	inode = ntfs_iget5(sbi->sb, &ref, &NAME_ATTRDEF);
c7374db749d575f Konstantin Komarov 2020-11-20  1157  	if (IS_ERR(inode)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1158  		err = PTR_ERR(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1159  		ntfs_err(sb, "Failed to load $AttrDef -> %d", err);
c7374db749d575f Konstantin Komarov 2020-11-20  1160  		inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1161  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1162  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1163  
c7374db749d575f Konstantin Komarov 2020-11-20  1164  	if (inode->i_size < sizeof(struct ATTR_DEF_ENTRY)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1165  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1166  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1167  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1168  	bytes = inode->i_size;
c7374db749d575f Konstantin Komarov 2020-11-20  1169  	sbi->def_table = t = ntfs_alloc(bytes, 0);
c7374db749d575f Konstantin Komarov 2020-11-20  1170  	if (!t) {
c7374db749d575f Konstantin Komarov 2020-11-20  1171  		err = -ENOMEM;
c7374db749d575f Konstantin Komarov 2020-11-20  1172  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1173  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1174  
c7374db749d575f Konstantin Komarov 2020-11-20  1175  	for (done = idx = 0; done < bytes; done += PAGE_SIZE, idx++) {
c7374db749d575f Konstantin Komarov 2020-11-20  1176  		unsigned long tail = bytes - done;
c7374db749d575f Konstantin Komarov 2020-11-20  1177  		struct page *page = ntfs_map_page(inode->i_mapping, idx);
c7374db749d575f Konstantin Komarov 2020-11-20  1178  
c7374db749d575f Konstantin Komarov 2020-11-20  1179  		if (IS_ERR(page)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1180  			err = PTR_ERR(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1181  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1182  		}
c7374db749d575f Konstantin Komarov 2020-11-20  1183  		memcpy(Add2Ptr(t, done), page_address(page),
c7374db749d575f Konstantin Komarov 2020-11-20  1184  		       min(PAGE_SIZE, tail));
c7374db749d575f Konstantin Komarov 2020-11-20  1185  		ntfs_unmap_page(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1186  
c7374db749d575f Konstantin Komarov 2020-11-20  1187  		if (!idx && ATTR_STD != t->type) {
c7374db749d575f Konstantin Komarov 2020-11-20  1188  			err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1189  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1190  		}
c7374db749d575f Konstantin Komarov 2020-11-20  1191  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1192  
c7374db749d575f Konstantin Komarov 2020-11-20  1193  	t += 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1194  	sbi->def_entries = 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1195  	done = sizeof(struct ATTR_DEF_ENTRY);
c7374db749d575f Konstantin Komarov 2020-11-20  1196  	sbi->reparse.max_size = MAXIMUM_REPARSE_DATA_BUFFER_SIZE;
c7374db749d575f Konstantin Komarov 2020-11-20  1197  
c7374db749d575f Konstantin Komarov 2020-11-20  1198  	while (done + sizeof(struct ATTR_DEF_ENTRY) <= bytes) {
c7374db749d575f Konstantin Komarov 2020-11-20  1199  		u32 t32 = le32_to_cpu(t->type);
c7374db749d575f Konstantin Komarov 2020-11-20  1200  
c7374db749d575f Konstantin Komarov 2020-11-20  1201  		if ((t32 & 0xF) || le32_to_cpu(t[-1].type) >= t32)
c7374db749d575f Konstantin Komarov 2020-11-20  1202  			break;
c7374db749d575f Konstantin Komarov 2020-11-20  1203  
c7374db749d575f Konstantin Komarov 2020-11-20  1204  		if (t->type == ATTR_REPARSE)
c7374db749d575f Konstantin Komarov 2020-11-20  1205  			sbi->reparse.max_size = le64_to_cpu(t->max_sz);
c7374db749d575f Konstantin Komarov 2020-11-20  1206  
c7374db749d575f Konstantin Komarov 2020-11-20  1207  		done += sizeof(struct ATTR_DEF_ENTRY);
c7374db749d575f Konstantin Komarov 2020-11-20  1208  		t += 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1209  		sbi->def_entries += 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1210  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1211  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1212  
c7374db749d575f Konstantin Komarov 2020-11-20  1213  	/* Load $UpCase */
c7374db749d575f Konstantin Komarov 2020-11-20  1214  	ref.low = cpu_to_le32(MFT_REC_UPCASE);
c7374db749d575f Konstantin Komarov 2020-11-20  1215  	ref.seq = cpu_to_le16(MFT_REC_UPCASE);
c7374db749d575f Konstantin Komarov 2020-11-20  1216  	inode = ntfs_iget5(sb, &ref, &NAME_UPCASE);
c7374db749d575f Konstantin Komarov 2020-11-20  1217  	if (IS_ERR(inode)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1218  		err = PTR_ERR(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1219  		ntfs_err(sb, "Failed to load $LogFile.");
c7374db749d575f Konstantin Komarov 2020-11-20  1220  		inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1221  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1222  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1223  
c7374db749d575f Konstantin Komarov 2020-11-20  1224  	ni = ntfs_i(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1225  
c7374db749d575f Konstantin Komarov 2020-11-20  1226  	if (inode->i_size != 0x10000 * sizeof(short)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1227  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1228  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1229  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1230  
c7374db749d575f Konstantin Komarov 2020-11-20  1231  	sbi->upcase = upcase = ntfs_alloc(0x10000 * sizeof(short), 0);
c7374db749d575f Konstantin Komarov 2020-11-20  1232  	if (!upcase) {
c7374db749d575f Konstantin Komarov 2020-11-20  1233  		err = -ENOMEM;
c7374db749d575f Konstantin Komarov 2020-11-20  1234  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1235  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1236  
c7374db749d575f Konstantin Komarov 2020-11-20  1237  	for (idx = 0; idx < (0x10000 * sizeof(short) >> PAGE_SHIFT); idx++) {
c7374db749d575f Konstantin Komarov 2020-11-20  1238  		const u16 *src;
c7374db749d575f Konstantin Komarov 2020-11-20  1239  		u16 *dst = Add2Ptr(upcase, idx << PAGE_SHIFT);
c7374db749d575f Konstantin Komarov 2020-11-20  1240  		struct page *page = ntfs_map_page(inode->i_mapping, idx);
c7374db749d575f Konstantin Komarov 2020-11-20  1241  
c7374db749d575f Konstantin Komarov 2020-11-20  1242  		if (IS_ERR(page)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1243  			err = PTR_ERR(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1244  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1245  		}
c7374db749d575f Konstantin Komarov 2020-11-20  1246  
c7374db749d575f Konstantin Komarov 2020-11-20  1247  		src = page_address(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1248  
c7374db749d575f Konstantin Komarov 2020-11-20  1249  #ifdef __BIG_ENDIAN
c7374db749d575f Konstantin Komarov 2020-11-20  1250  		for (i = 0; i < PAGE_SIZE / sizeof(u16); i++)
c7374db749d575f Konstantin Komarov 2020-11-20 @1251  			*dst++ = le16_to_cpu(*src++);
c7374db749d575f Konstantin Komarov 2020-11-20  1252  #else
c7374db749d575f Konstantin Komarov 2020-11-20  1253  		memcpy(dst, src, PAGE_SIZE);
c7374db749d575f Konstantin Komarov 2020-11-20  1254  #endif
c7374db749d575f Konstantin Komarov 2020-11-20  1255  		ntfs_unmap_page(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1256  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1257  
c7374db749d575f Konstantin Komarov 2020-11-20  1258  	shared = ntfs_set_shared(upcase, 0x10000 * sizeof(short));
c7374db749d575f Konstantin Komarov 2020-11-20  1259  	if (shared && upcase != shared) {
c7374db749d575f Konstantin Komarov 2020-11-20  1260  		sbi->upcase = shared;
c7374db749d575f Konstantin Komarov 2020-11-20  1261  		ntfs_free(upcase);
c7374db749d575f Konstantin Komarov 2020-11-20  1262  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1263  
c7374db749d575f Konstantin Komarov 2020-11-20  1264  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1265  	inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1266  
c7374db749d575f Konstantin Komarov 2020-11-20  1267  	if (is_ntfs3(sbi)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1268  		/* Load $Secure */
c7374db749d575f Konstantin Komarov 2020-11-20  1269  		err = ntfs_security_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1270  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1271  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1272  
c7374db749d575f Konstantin Komarov 2020-11-20  1273  		/* Load $Extend */
c7374db749d575f Konstantin Komarov 2020-11-20  1274  		err = ntfs_extend_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1275  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1276  			goto load_root;
c7374db749d575f Konstantin Komarov 2020-11-20  1277  
c7374db749d575f Konstantin Komarov 2020-11-20  1278  		/* Load $Extend\$Reparse */
c7374db749d575f Konstantin Komarov 2020-11-20  1279  		err = ntfs_reparse_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1280  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1281  			goto load_root;
c7374db749d575f Konstantin Komarov 2020-11-20  1282  
c7374db749d575f Konstantin Komarov 2020-11-20  1283  		/* Load $Extend\$ObjId */
c7374db749d575f Konstantin Komarov 2020-11-20  1284  		err = ntfs_objid_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1285  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1286  			goto load_root;
c7374db749d575f Konstantin Komarov 2020-11-20  1287  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1288  
c7374db749d575f Konstantin Komarov 2020-11-20  1289  load_root:
c7374db749d575f Konstantin Komarov 2020-11-20  1290  
c7374db749d575f Konstantin Komarov 2020-11-20  1291  	/* Load root */
c7374db749d575f Konstantin Komarov 2020-11-20  1292  	ref.low = cpu_to_le32(MFT_REC_ROOT);
c7374db749d575f Konstantin Komarov 2020-11-20  1293  	ref.seq = cpu_to_le16(MFT_REC_ROOT);
c7374db749d575f Konstantin Komarov 2020-11-20  1294  	inode = ntfs_iget5(sb, &ref, &NAME_ROOT);
c7374db749d575f Konstantin Komarov 2020-11-20  1295  	if (IS_ERR(inode)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1296  		err = PTR_ERR(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1297  		ntfs_err(sb, "Failed to load root.");
c7374db749d575f Konstantin Komarov 2020-11-20  1298  		inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1299  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1300  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1301  
c7374db749d575f Konstantin Komarov 2020-11-20  1302  	ni = ntfs_i(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1303  
c7374db749d575f Konstantin Komarov 2020-11-20  1304  	sb->s_root = d_make_root(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1305  
c7374db749d575f Konstantin Komarov 2020-11-20  1306  	if (!sb->s_root) {
c7374db749d575f Konstantin Komarov 2020-11-20  1307  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1308  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1309  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1310  
c7374db749d575f Konstantin Komarov 2020-11-20  1311  	return 0;
c7374db749d575f Konstantin Komarov 2020-11-20  1312  
c7374db749d575f Konstantin Komarov 2020-11-20  1313  out:
c7374db749d575f Konstantin Komarov 2020-11-20  1314  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1315  
c7374db749d575f Konstantin Komarov 2020-11-20  1316  	if (sb->s_root) {
c7374db749d575f Konstantin Komarov 2020-11-20  1317  		d_drop(sb->s_root);
c7374db749d575f Konstantin Komarov 2020-11-20  1318  		sb->s_root = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1319  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1320  
c7374db749d575f Konstantin Komarov 2020-11-20  1321  	put_ntfs(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1322  
c7374db749d575f Konstantin Komarov 2020-11-20  1323  	sb->s_fs_info = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1324  	return err;
c7374db749d575f Konstantin Komarov 2020-11-20  1325  }
c7374db749d575f Konstantin Komarov 2020-11-20  1326  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 40872 bytes --]

WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>,
	linux-fsdevel@vger.kernel.org
Cc: kbuild-all@lists.01.org, viro@zeniv.linux.org.uk,
	linux-kernel@vger.kernel.org, pali@kernel.org, dsterba@suse.cz,
	aaptel@suse.com, willy@infradead.org, rdunlap@infradead.org,
	joe@perches.com, mark@harmstone.com
Subject: Re: [PATCH v13 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile
Date: Sat, 21 Nov 2020 03:42:31 +0800	[thread overview]
Message-ID: <202011210303.GSSFlYcw-lkp@intel.com> (raw)
In-Reply-To: <20201120160944.1629091-10-almaz.alexandrovich@paragon-software.com>

[-- Attachment #1: Type: text/plain, Size: 16149 bytes --]

Hi Konstantin,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on linus/master]
[also build test WARNING on v5.10-rc4 next-20201120]
[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]

url:    https://github.com/0day-ci/linux/commits/Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201121-001320
base:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 4d02da974ea85a62074efedf354e82778f910d82
config: arm64-randconfig-s031-20201120 (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.3.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.3-134-gb59dbdaf-dirty
        # https://github.com/0day-ci/linux/commit/af7bf0c625d20c0ebe8b4c180b4422b2a37a9dd5
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Konstantin-Komarov/NTFS-read-write-driver-GPL-implementation-by-Paragon-Software/20201121-001320
        git checkout af7bf0c625d20c0ebe8b4c180b4422b2a37a9dd5
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=arm64 

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


"sparse warnings: (new ones prefixed by >>)"
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16
>> fs/ntfs3/super.c:1251:34: sparse: sparse: cast to restricted __le16

vim +1251 fs/ntfs3/super.c

c7374db749d575f Konstantin Komarov 2020-11-20  1132  
c7374db749d575f Konstantin Komarov 2020-11-20  1133  	/* Check bitmap boundary */
c7374db749d575f Konstantin Komarov 2020-11-20  1134  	tt = sbi->used.bitmap.nbits;
c7374db749d575f Konstantin Komarov 2020-11-20  1135  	if (inode->i_size < bitmap_size(tt)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1136  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1137  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1138  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1139  
c7374db749d575f Konstantin Komarov 2020-11-20  1140  	/* Not necessary */
c7374db749d575f Konstantin Komarov 2020-11-20  1141  	sbi->used.bitmap.set_tail = true;
c7374db749d575f Konstantin Komarov 2020-11-20  1142  	err = wnd_init(&sbi->used.bitmap, sbi->sb, tt);
c7374db749d575f Konstantin Komarov 2020-11-20  1143  	if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1144  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1145  
c7374db749d575f Konstantin Komarov 2020-11-20  1146  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1147  
c7374db749d575f Konstantin Komarov 2020-11-20  1148  	/* Compute the mft zone */
c7374db749d575f Konstantin Komarov 2020-11-20  1149  	err = ntfs_refresh_zone(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1150  	if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1151  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1152  
c7374db749d575f Konstantin Komarov 2020-11-20  1153  	/* Load $AttrDef */
c7374db749d575f Konstantin Komarov 2020-11-20  1154  	ref.low = cpu_to_le32(MFT_REC_ATTR);
c7374db749d575f Konstantin Komarov 2020-11-20  1155  	ref.seq = cpu_to_le16(MFT_REC_ATTR);
c7374db749d575f Konstantin Komarov 2020-11-20  1156  	inode = ntfs_iget5(sbi->sb, &ref, &NAME_ATTRDEF);
c7374db749d575f Konstantin Komarov 2020-11-20  1157  	if (IS_ERR(inode)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1158  		err = PTR_ERR(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1159  		ntfs_err(sb, "Failed to load $AttrDef -> %d", err);
c7374db749d575f Konstantin Komarov 2020-11-20  1160  		inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1161  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1162  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1163  
c7374db749d575f Konstantin Komarov 2020-11-20  1164  	if (inode->i_size < sizeof(struct ATTR_DEF_ENTRY)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1165  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1166  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1167  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1168  	bytes = inode->i_size;
c7374db749d575f Konstantin Komarov 2020-11-20  1169  	sbi->def_table = t = ntfs_alloc(bytes, 0);
c7374db749d575f Konstantin Komarov 2020-11-20  1170  	if (!t) {
c7374db749d575f Konstantin Komarov 2020-11-20  1171  		err = -ENOMEM;
c7374db749d575f Konstantin Komarov 2020-11-20  1172  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1173  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1174  
c7374db749d575f Konstantin Komarov 2020-11-20  1175  	for (done = idx = 0; done < bytes; done += PAGE_SIZE, idx++) {
c7374db749d575f Konstantin Komarov 2020-11-20  1176  		unsigned long tail = bytes - done;
c7374db749d575f Konstantin Komarov 2020-11-20  1177  		struct page *page = ntfs_map_page(inode->i_mapping, idx);
c7374db749d575f Konstantin Komarov 2020-11-20  1178  
c7374db749d575f Konstantin Komarov 2020-11-20  1179  		if (IS_ERR(page)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1180  			err = PTR_ERR(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1181  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1182  		}
c7374db749d575f Konstantin Komarov 2020-11-20  1183  		memcpy(Add2Ptr(t, done), page_address(page),
c7374db749d575f Konstantin Komarov 2020-11-20  1184  		       min(PAGE_SIZE, tail));
c7374db749d575f Konstantin Komarov 2020-11-20  1185  		ntfs_unmap_page(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1186  
c7374db749d575f Konstantin Komarov 2020-11-20  1187  		if (!idx && ATTR_STD != t->type) {
c7374db749d575f Konstantin Komarov 2020-11-20  1188  			err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1189  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1190  		}
c7374db749d575f Konstantin Komarov 2020-11-20  1191  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1192  
c7374db749d575f Konstantin Komarov 2020-11-20  1193  	t += 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1194  	sbi->def_entries = 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1195  	done = sizeof(struct ATTR_DEF_ENTRY);
c7374db749d575f Konstantin Komarov 2020-11-20  1196  	sbi->reparse.max_size = MAXIMUM_REPARSE_DATA_BUFFER_SIZE;
c7374db749d575f Konstantin Komarov 2020-11-20  1197  
c7374db749d575f Konstantin Komarov 2020-11-20  1198  	while (done + sizeof(struct ATTR_DEF_ENTRY) <= bytes) {
c7374db749d575f Konstantin Komarov 2020-11-20  1199  		u32 t32 = le32_to_cpu(t->type);
c7374db749d575f Konstantin Komarov 2020-11-20  1200  
c7374db749d575f Konstantin Komarov 2020-11-20  1201  		if ((t32 & 0xF) || le32_to_cpu(t[-1].type) >= t32)
c7374db749d575f Konstantin Komarov 2020-11-20  1202  			break;
c7374db749d575f Konstantin Komarov 2020-11-20  1203  
c7374db749d575f Konstantin Komarov 2020-11-20  1204  		if (t->type == ATTR_REPARSE)
c7374db749d575f Konstantin Komarov 2020-11-20  1205  			sbi->reparse.max_size = le64_to_cpu(t->max_sz);
c7374db749d575f Konstantin Komarov 2020-11-20  1206  
c7374db749d575f Konstantin Komarov 2020-11-20  1207  		done += sizeof(struct ATTR_DEF_ENTRY);
c7374db749d575f Konstantin Komarov 2020-11-20  1208  		t += 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1209  		sbi->def_entries += 1;
c7374db749d575f Konstantin Komarov 2020-11-20  1210  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1211  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1212  
c7374db749d575f Konstantin Komarov 2020-11-20  1213  	/* Load $UpCase */
c7374db749d575f Konstantin Komarov 2020-11-20  1214  	ref.low = cpu_to_le32(MFT_REC_UPCASE);
c7374db749d575f Konstantin Komarov 2020-11-20  1215  	ref.seq = cpu_to_le16(MFT_REC_UPCASE);
c7374db749d575f Konstantin Komarov 2020-11-20  1216  	inode = ntfs_iget5(sb, &ref, &NAME_UPCASE);
c7374db749d575f Konstantin Komarov 2020-11-20  1217  	if (IS_ERR(inode)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1218  		err = PTR_ERR(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1219  		ntfs_err(sb, "Failed to load $LogFile.");
c7374db749d575f Konstantin Komarov 2020-11-20  1220  		inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1221  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1222  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1223  
c7374db749d575f Konstantin Komarov 2020-11-20  1224  	ni = ntfs_i(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1225  
c7374db749d575f Konstantin Komarov 2020-11-20  1226  	if (inode->i_size != 0x10000 * sizeof(short)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1227  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1228  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1229  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1230  
c7374db749d575f Konstantin Komarov 2020-11-20  1231  	sbi->upcase = upcase = ntfs_alloc(0x10000 * sizeof(short), 0);
c7374db749d575f Konstantin Komarov 2020-11-20  1232  	if (!upcase) {
c7374db749d575f Konstantin Komarov 2020-11-20  1233  		err = -ENOMEM;
c7374db749d575f Konstantin Komarov 2020-11-20  1234  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1235  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1236  
c7374db749d575f Konstantin Komarov 2020-11-20  1237  	for (idx = 0; idx < (0x10000 * sizeof(short) >> PAGE_SHIFT); idx++) {
c7374db749d575f Konstantin Komarov 2020-11-20  1238  		const u16 *src;
c7374db749d575f Konstantin Komarov 2020-11-20  1239  		u16 *dst = Add2Ptr(upcase, idx << PAGE_SHIFT);
c7374db749d575f Konstantin Komarov 2020-11-20  1240  		struct page *page = ntfs_map_page(inode->i_mapping, idx);
c7374db749d575f Konstantin Komarov 2020-11-20  1241  
c7374db749d575f Konstantin Komarov 2020-11-20  1242  		if (IS_ERR(page)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1243  			err = PTR_ERR(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1244  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1245  		}
c7374db749d575f Konstantin Komarov 2020-11-20  1246  
c7374db749d575f Konstantin Komarov 2020-11-20  1247  		src = page_address(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1248  
c7374db749d575f Konstantin Komarov 2020-11-20  1249  #ifdef __BIG_ENDIAN
c7374db749d575f Konstantin Komarov 2020-11-20  1250  		for (i = 0; i < PAGE_SIZE / sizeof(u16); i++)
c7374db749d575f Konstantin Komarov 2020-11-20 @1251  			*dst++ = le16_to_cpu(*src++);
c7374db749d575f Konstantin Komarov 2020-11-20  1252  #else
c7374db749d575f Konstantin Komarov 2020-11-20  1253  		memcpy(dst, src, PAGE_SIZE);
c7374db749d575f Konstantin Komarov 2020-11-20  1254  #endif
c7374db749d575f Konstantin Komarov 2020-11-20  1255  		ntfs_unmap_page(page);
c7374db749d575f Konstantin Komarov 2020-11-20  1256  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1257  
c7374db749d575f Konstantin Komarov 2020-11-20  1258  	shared = ntfs_set_shared(upcase, 0x10000 * sizeof(short));
c7374db749d575f Konstantin Komarov 2020-11-20  1259  	if (shared && upcase != shared) {
c7374db749d575f Konstantin Komarov 2020-11-20  1260  		sbi->upcase = shared;
c7374db749d575f Konstantin Komarov 2020-11-20  1261  		ntfs_free(upcase);
c7374db749d575f Konstantin Komarov 2020-11-20  1262  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1263  
c7374db749d575f Konstantin Komarov 2020-11-20  1264  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1265  	inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1266  
c7374db749d575f Konstantin Komarov 2020-11-20  1267  	if (is_ntfs3(sbi)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1268  		/* Load $Secure */
c7374db749d575f Konstantin Komarov 2020-11-20  1269  		err = ntfs_security_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1270  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1271  			goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1272  
c7374db749d575f Konstantin Komarov 2020-11-20  1273  		/* Load $Extend */
c7374db749d575f Konstantin Komarov 2020-11-20  1274  		err = ntfs_extend_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1275  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1276  			goto load_root;
c7374db749d575f Konstantin Komarov 2020-11-20  1277  
c7374db749d575f Konstantin Komarov 2020-11-20  1278  		/* Load $Extend\$Reparse */
c7374db749d575f Konstantin Komarov 2020-11-20  1279  		err = ntfs_reparse_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1280  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1281  			goto load_root;
c7374db749d575f Konstantin Komarov 2020-11-20  1282  
c7374db749d575f Konstantin Komarov 2020-11-20  1283  		/* Load $Extend\$ObjId */
c7374db749d575f Konstantin Komarov 2020-11-20  1284  		err = ntfs_objid_init(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1285  		if (err)
c7374db749d575f Konstantin Komarov 2020-11-20  1286  			goto load_root;
c7374db749d575f Konstantin Komarov 2020-11-20  1287  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1288  
c7374db749d575f Konstantin Komarov 2020-11-20  1289  load_root:
c7374db749d575f Konstantin Komarov 2020-11-20  1290  
c7374db749d575f Konstantin Komarov 2020-11-20  1291  	/* Load root */
c7374db749d575f Konstantin Komarov 2020-11-20  1292  	ref.low = cpu_to_le32(MFT_REC_ROOT);
c7374db749d575f Konstantin Komarov 2020-11-20  1293  	ref.seq = cpu_to_le16(MFT_REC_ROOT);
c7374db749d575f Konstantin Komarov 2020-11-20  1294  	inode = ntfs_iget5(sb, &ref, &NAME_ROOT);
c7374db749d575f Konstantin Komarov 2020-11-20  1295  	if (IS_ERR(inode)) {
c7374db749d575f Konstantin Komarov 2020-11-20  1296  		err = PTR_ERR(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1297  		ntfs_err(sb, "Failed to load root.");
c7374db749d575f Konstantin Komarov 2020-11-20  1298  		inode = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1299  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1300  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1301  
c7374db749d575f Konstantin Komarov 2020-11-20  1302  	ni = ntfs_i(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1303  
c7374db749d575f Konstantin Komarov 2020-11-20  1304  	sb->s_root = d_make_root(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1305  
c7374db749d575f Konstantin Komarov 2020-11-20  1306  	if (!sb->s_root) {
c7374db749d575f Konstantin Komarov 2020-11-20  1307  		err = -EINVAL;
c7374db749d575f Konstantin Komarov 2020-11-20  1308  		goto out;
c7374db749d575f Konstantin Komarov 2020-11-20  1309  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1310  
c7374db749d575f Konstantin Komarov 2020-11-20  1311  	return 0;
c7374db749d575f Konstantin Komarov 2020-11-20  1312  
c7374db749d575f Konstantin Komarov 2020-11-20  1313  out:
c7374db749d575f Konstantin Komarov 2020-11-20  1314  	iput(inode);
c7374db749d575f Konstantin Komarov 2020-11-20  1315  
c7374db749d575f Konstantin Komarov 2020-11-20  1316  	if (sb->s_root) {
c7374db749d575f Konstantin Komarov 2020-11-20  1317  		d_drop(sb->s_root);
c7374db749d575f Konstantin Komarov 2020-11-20  1318  		sb->s_root = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1319  	}
c7374db749d575f Konstantin Komarov 2020-11-20  1320  
c7374db749d575f Konstantin Komarov 2020-11-20  1321  	put_ntfs(sbi);
c7374db749d575f Konstantin Komarov 2020-11-20  1322  
c7374db749d575f Konstantin Komarov 2020-11-20  1323  	sb->s_fs_info = NULL;
c7374db749d575f Konstantin Komarov 2020-11-20  1324  	return err;
c7374db749d575f Konstantin Komarov 2020-11-20  1325  }
c7374db749d575f Konstantin Komarov 2020-11-20  1326  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 40872 bytes --]

  reply	other threads:[~2020-11-20 19:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-20 16:09 [PATCH v13 00/10] NTFS read-write driver GPL implementation by Paragon Software Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 01/10] fs/ntfs3: Add headers and misc files Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 02/10] fs/ntfs3: Add initialization of super block Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 03/10] fs/ntfs3: Add bitmap Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 04/10] fs/ntfs3: Add file operations and implementation Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 05/10] fs/ntfs3: Add attrib operations Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 06/10] fs/ntfs3: Add compression Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 07/10] fs/ntfs3: Add NTFS journal Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 08/10] fs/ntfs3: Add Kconfig, Makefile and doc Konstantin Komarov
2020-11-20 16:09 ` [PATCH v13 09/10] fs/ntfs3: Add NTFS3 in fs/Kconfig and fs/Makefile Konstantin Komarov
2020-11-20 19:42   ` kernel test robot [this message]
2020-11-20 19:42     ` kernel test robot
2020-11-20 16:09 ` [PATCH v13 10/10] fs/ntfs3: Add MAINTAINERS Konstantin Komarov

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=202011210303.GSSFlYcw-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.