Re: [PATCH v5 3/5] fcntl: add F_{SET/GET}_RW_HINT_EX

Jens Axboe
2024-09-10T18:48:22Z

On 9/10/24 9:01 AM, Kanchan Joshi wrote:
> +static inline bool rw_placement_hint_valid(u64 val)
> +{
> + if (val <= MAX_PLACEMENT_HINT_VAL)
> + return true;
> +
> + return false;
> +}

Nit, why not just:

static inline bool rw_placement_hint_valid(u64 val)
{
return val <= MAX_PLACEMENT_HINT_VAL;
}

> +static long fcntl_set_rw_hint_ex(struct file *file, unsigned int cmd,
> + unsigned long arg)
> +{
> + struct rw_hint_ex __user *rw_hint_ex_p = (void __user *)arg;
> + struct rw_hint_ex rwh;
> + struct inode *inode = file_inode(file);
> + u64 hint;
> + int i;
> +
> + if (copy_from_user(&rwh, rw_hint_ex_p, sizeof(rwh)))
> + return -EFAULT;
> + for (i = 0; i < ARRAY_SIZE(rwh.pad); i++)
> + if (rwh.pad[i])
> + return -EINVAL;

if (memchr_inv(rwh.pad, 0, sizeof(rwh.pad)))
return -EINVAL;

--
Jens Axboe