2024-06-06 10:34:51

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH v2] hpet: Support 32-bit userspace

On Thu, Jun 6, 2024, at 11:46, He Zhe wrote:
> v2:
> - Use in_compat_syscall to determine if we're handling 32-bit or 64-bit
> - Drop unnecessary compat_ptr for hpet_ioctl_common
> - Add comment for COMPAT_HPET_INFO and COMPAT_HPET_IRQFREQ

Thanks, this version looks correct to me,

Reviewed-by: Arnd Bergmann <[email protected]>

I would suggest one simplification though:

> +#ifdef CONFIG_COMPAT
> + if (in_compat_syscall()) {
> + if (count < sizeof(compat_ulong_t))
> + return -EINVAL;
> + } else {
> + if (count < sizeof(unsigned long))
> + return -EINVAL;
> + }
> +#else
> if (count < sizeof(unsigned long))
> return -EINVAL;
> +#endif

The #ifdef/#else is not really required here, since
in_compat_syscall() is defined to return false when
this is unset. For both cases, it should be sufficient
to keep the part inside of the #ifdef block.

Arnd