mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-12-27 03:19:35 +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