The function pointer file_operations.unlocked_ioctl requires the use of user_uintptr_t type as argument to pass CHERI capabilities so change the argument type from unsigned long to user_uintptr_t.
Signed-off-by: Pawel Zalewski pzalewski@thegoodpenguin.co.uk --- net/sunrpc/cache.c | 4 ++-- net/sunrpc/rpc_pipe.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index f075a9fb5ccc..c4aaef5430f1 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -991,7 +991,7 @@ static __poll_t cache_poll(struct file *filp, poll_table *wait, }
static int cache_ioctl(struct inode *ino, struct file *filp, - unsigned int cmd, unsigned long arg, + unsigned int cmd, user_uintptr_t arg, struct cache_detail *cd) { int len = 0; @@ -1791,7 +1791,7 @@ static __poll_t cache_poll_pipefs(struct file *filp, poll_table *wait) }
static long cache_ioctl_pipefs(struct file *filp, - unsigned int cmd, unsigned long arg) + unsigned int cmd, user_uintptr_t arg) { struct inode *inode = file_inode(filp); struct cache_detail *cd = RPC_I(inode)->private; diff --git a/net/sunrpc/rpc_pipe.c b/net/sunrpc/rpc_pipe.c index 0b6034fab9ab..1259e1e863f1 100644 --- a/net/sunrpc/rpc_pipe.c +++ b/net/sunrpc/rpc_pipe.c @@ -354,7 +354,7 @@ rpc_pipe_poll(struct file *filp, struct poll_table_struct *wait) }
static long -rpc_pipe_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) +rpc_pipe_ioctl(struct file *filp, unsigned int cmd, user_uintptr_t arg) { struct inode *inode = file_inode(filp); struct rpc_pipe *pipe;