Skip to content

Commit

Permalink
recvd_props_mode: use a uintptr_t to stash nvlists
Browse files Browse the repository at this point in the history
Avoid assuming than a uint64_t can hold a pointer.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Richard Yao <richard.yao@alumni.stonybrook.edu>
Signed-off-by: Brooks Davis <brooks.davis@sri.com>
Closes #14131
  • Loading branch information
brooksdavis authored and behlendorf committed Nov 3, 2022
1 parent 250b2ba commit 8777900
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions lib/libzfs/libzfs_dataset.c
Original file line number Diff line number Diff line change
Expand Up @@ -2087,16 +2087,16 @@ zfs_is_recvd_props_mode(zfs_handle_t *zhp)
}

static void
zfs_set_recvd_props_mode(zfs_handle_t *zhp, uint64_t *cookie)
zfs_set_recvd_props_mode(zfs_handle_t *zhp, uintptr_t *cookie)
{
*cookie = (uint64_t)(uintptr_t)zhp->zfs_props;
*cookie = (uintptr_t)zhp->zfs_props;
zhp->zfs_props = zhp->zfs_recvd_props;
}

static void
zfs_unset_recvd_props_mode(zfs_handle_t *zhp, uint64_t *cookie)
zfs_unset_recvd_props_mode(zfs_handle_t *zhp, uintptr_t *cookie)
{
zhp->zfs_props = (nvlist_t *)(uintptr_t)*cookie;
zhp->zfs_props = (nvlist_t *)*cookie;
*cookie = 0;
}

Expand Down Expand Up @@ -2373,7 +2373,7 @@ zfs_prop_get_recvd(zfs_handle_t *zhp, const char *propname, char *propbuf,
prop = zfs_name_to_prop(propname);

if (prop != ZPROP_USERPROP) {
uint64_t cookie;
uintptr_t cookie;
if (!nvlist_exists(zhp->zfs_recvd_props, propname))
return (-1);
zfs_set_recvd_props_mode(zhp, &cookie);
Expand Down

0 comments on commit 8777900

Please sign in to comment.