Re: [PATCH] random: don't forget compat_ioctl on unrandom

From: Arnd Bergmann
Date: Tue Dec 17 2019 - 14:37:08 EST


On Tue, Dec 17, 2019 at 6:25 PM Jason A. Donenfeld <Jason@xxxxxxxxx> wrote:
>
> Recently, there's been some compat ioctl cleanup, in which large
> hardcoded lists were replaced with compat_ptr_ioctl. One of these
> changes involved removing the random.c hardcoded list entries and adding
> a compat ioctl function pointer to the random.c fops. In the process,
> urandom was forgotten about, so this commit fixes that oversight.
>
> Fixes: 507e4e2b430b ("compat_ioctl: remove /dev/random commands")
> Cc: Arnd Bergmann <arnd@xxxxxxxx>
> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx>

Thanks for debugging this. I had already sent the same
patch a few days ago after the first report:

https://lore.kernel.org/lkml/20191207185837.4030699-1-arnd@xxxxxxxx/

Greg, can you please apply one of these and send it to Linus for 5.5-rc3?

Arnd

> ---
> drivers/char/random.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/char/random.c b/drivers/char/random.c
> index 909e0c3d82ea..cda12933a17d 100644
> --- a/drivers/char/random.c
> +++ b/drivers/char/random.c
> @@ -2175,6 +2175,7 @@ const struct file_operations urandom_fops = {
> .read = urandom_read,
> .write = random_write,
> .unlocked_ioctl = random_ioctl,
> + .compat_ioctl = compat_ptr_ioctl,
> .fasync = random_fasync,
> .llseek = noop_llseek,
> };
> --
> 2.24.1
>