From 250b2bac78102f707dc105450f25d91e5fab481e Mon Sep 17 00:00:00 2001 From: Brooks Davis Date: Thu, 27 Oct 2022 23:20:05 +0100 Subject: [PATCH] zfs_onexit_add_cb: make action_handle point to a uintptr_t Avoid assuming than a uint64_t can hold a pointer and reduce the number of casts in the process. Reviewed-by: Matthew Ahrens Reviewed-by: Richard Yao Signed-off-by: Brooks Davis Closes #14131 --- include/sys/zfs_onexit.h | 2 +- lib/libzpool/kernel.c | 2 +- module/zfs/zfs_onexit.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/sys/zfs_onexit.h b/include/sys/zfs_onexit.h index 18930fe01c..91f49d4cc5 100644 --- a/include/sys/zfs_onexit.h +++ b/include/sys/zfs_onexit.h @@ -54,7 +54,7 @@ extern void zfs_onexit_destroy(zfs_onexit_t *zo); extern zfs_file_t *zfs_onexit_fd_hold(int fd, minor_t *minorp); extern void zfs_onexit_fd_rele(zfs_file_t *); extern int zfs_onexit_add_cb(minor_t minor, void (*func)(void *), void *data, - uint64_t *action_handle); + uintptr_t *action_handle); #ifdef __cplusplus } diff --git a/lib/libzpool/kernel.c b/lib/libzpool/kernel.c index 1d46470947..77264470ba 100644 --- a/lib/libzpool/kernel.c +++ b/lib/libzpool/kernel.c @@ -1001,7 +1001,7 @@ zfs_onexit_fd_rele(zfs_file_t *fp) int zfs_onexit_add_cb(minor_t minor, void (*func)(void *), void *data, - uint64_t *action_handle) + uintptr_t *action_handle) { (void) minor, (void) func, (void) data, (void) action_handle; return (0); diff --git a/module/zfs/zfs_onexit.c b/module/zfs/zfs_onexit.c index dfcdeeb5b4..63acf7ab2e 100644 --- a/module/zfs/zfs_onexit.c +++ b/module/zfs/zfs_onexit.c @@ -151,7 +151,7 @@ zfs_onexit_minor_to_state(minor_t minor, zfs_onexit_t **zo) */ int zfs_onexit_add_cb(minor_t minor, void (*func)(void *), void *data, - uint64_t *action_handle) + uintptr_t *action_handle) { zfs_onexit_t *zo; zfs_onexit_action_node_t *ap; @@ -170,7 +170,7 @@ zfs_onexit_add_cb(minor_t minor, void (*func)(void *), void *data, list_insert_tail(&zo->zo_actions, ap); mutex_exit(&zo->zo_lock); if (action_handle) - *action_handle = (uint64_t)(uintptr_t)ap; + *action_handle = (uintptr_t)ap; return (0); }