ntfs_readdir(): log errors
							parent
							
								
									8ac865667c
								
							
						
					
					
						commit
						03b1f670f1
					
				|  | @ -752,8 +752,8 @@ int ntfs_readdir(ntfs_inode *dir_ni, s64 *pos, | |||
| 	/* Find the index root attribute in the mft record. */ | ||||
| 	if (ntfs_attr_lookup(AT_INDEX_ROOT, NTFS_INDEX_I30, 4, CASE_SENSITIVE, 0, NULL, | ||||
| 			0, ctx)) { | ||||
| 		ntfs_log_debug("Index root attribute missing in directory inode " | ||||
| 				"0x%llx.\n", (unsigned long long)dir_ni->mft_no); | ||||
| 		ntfs_log_perror("Index root attribute missing in directory inode " | ||||
| 				"0x%llx", (unsigned long long)dir_ni->mft_no); | ||||
| 		goto dir_err_out; | ||||
| 	} | ||||
| 	/* Get to the index root value. */ | ||||
|  | @ -764,7 +764,7 @@ int ntfs_readdir(ntfs_inode *dir_ni, s64 *pos, | |||
| 	index_block_size = le32_to_cpu(ir->index_block_size); | ||||
| 	if (index_block_size < NTFS_BLOCK_SIZE || | ||||
| 			index_block_size & (index_block_size - 1)) { | ||||
| 		ntfs_log_debug("Index block size %u is invalid.\n", | ||||
| 		ntfs_log_error("Index block size %u is invalid.\n", | ||||
| 				(unsigned)index_block_size); | ||||
| 		goto dir_err_out; | ||||
| 	} | ||||
|  | @ -850,7 +850,7 @@ skip_index_root: | |||
| 
 | ||||
| 	bmp_pos = ia_pos >> index_block_size_bits; | ||||
| 	if (bmp_pos >> 3 >= bmp_na->data_size) { | ||||
| 		ntfs_log_debug("Current index position exceeds index bitmap " | ||||
| 		ntfs_log_error("Current index position exceeds index bitmap " | ||||
| 				"size.\n"); | ||||
| 		goto dir_err_out; | ||||
| 	} | ||||
|  | @ -907,7 +907,7 @@ find_next_index_buffer: | |||
| 	ia_start = ia_pos & ~(s64)(index_block_size - 1); | ||||
| 	if (sle64_to_cpu(ia->index_block_vcn) != ia_start >> | ||||
| 			index_vcn_size_bits) { | ||||
| 		ntfs_log_debug("Actual VCN (0x%llx) of index buffer is different " | ||||
| 		ntfs_log_error("Actual VCN (0x%llx) of index buffer is different " | ||||
| 				"from expected VCN (0x%llx) in inode 0x%llx.\n", | ||||
| 				(long long)sle64_to_cpu(ia->index_block_vcn), | ||||
| 				(long long)ia_start >> index_vcn_size_bits, | ||||
|  | @ -915,7 +915,7 @@ find_next_index_buffer: | |||
| 		goto dir_err_out; | ||||
| 	} | ||||
| 	if (le32_to_cpu(ia->index.allocated_size) + 0x18 != index_block_size) { | ||||
| 		ntfs_log_debug("Index buffer (VCN 0x%llx) of directory inode 0x%llx " | ||||
| 		ntfs_log_error("Index buffer (VCN 0x%llx) of directory inode 0x%llx " | ||||
| 				"has a size (%u) differing from the directory " | ||||
| 				"specified size (%u).\n", (long long)ia_start >> | ||||
| 				index_vcn_size_bits, | ||||
|  | @ -926,7 +926,7 @@ find_next_index_buffer: | |||
| 	} | ||||
| 	index_end = (u8*)&ia->index + le32_to_cpu(ia->index.index_length); | ||||
| 	if (index_end > (u8*)ia + index_block_size) { | ||||
| 		ntfs_log_debug("Size of index buffer (VCN 0x%llx) of directory inode " | ||||
| 		ntfs_log_error("Size of index buffer (VCN 0x%llx) of directory inode " | ||||
| 				"0x%llx exceeds maximum size.\n", | ||||
| 				(long long)ia_start >> index_vcn_size_bits, | ||||
| 				(unsigned long long)dir_ni->mft_no); | ||||
|  | @ -948,7 +948,7 @@ find_next_index_buffer: | |||
| 				sizeof(INDEX_ENTRY_HEADER) > index_end || | ||||
| 				(u8*)ie + le16_to_cpu(ie->key_length) > | ||||
| 				index_end) { | ||||
| 			ntfs_log_debug("Index entry out of bounds in directory inode " | ||||
| 			ntfs_log_error("Index entry out of bounds in directory inode " | ||||
| 				"0x%llx.\n", (unsigned long long)dir_ni->mft_no); | ||||
| 			goto dir_err_out; | ||||
| 		} | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue