mirror of
				https://git.proxmox.com/git/mirror_zfs.git
				synced 2025-10-26 18:05:04 +03:00 
			
		
		
		
	Check for NULL in dmu_free_long_range_impl()
A NULL should never be passed as the dnode_t pointer to the function dmu_free_long_range_impl(). Regardless, because we have a reported occurrence of this let's add some error handling to catch this. Better to report a reasonable error to caller than panic the system. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Issue #3445
This commit is contained in:
		
							parent
							
								
									21d41d6806
								
							
						
					
					
						commit
						c97d30691c
					
				| @ -644,9 +644,13 @@ static int | |||||||
| dmu_free_long_range_impl(objset_t *os, dnode_t *dn, uint64_t offset, | dmu_free_long_range_impl(objset_t *os, dnode_t *dn, uint64_t offset, | ||||||
|     uint64_t length) |     uint64_t length) | ||||||
| { | { | ||||||
| 	uint64_t object_size = (dn->dn_maxblkid + 1) * dn->dn_datablksz; | 	uint64_t object_size; | ||||||
| 	int err; | 	int err; | ||||||
| 
 | 
 | ||||||
|  | 	if (dn == NULL) | ||||||
|  | 		return (SET_ERROR(EINVAL)); | ||||||
|  | 
 | ||||||
|  | 	object_size = (dn->dn_maxblkid + 1) * dn->dn_datablksz; | ||||||
| 	if (offset >= object_size) | 	if (offset >= object_size) | ||||||
| 		return (0); | 		return (0); | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Brian Behlendorf
						Brian Behlendorf