Re: linux-next: manual merge of the y2038 tree with the vhost tree

From: Arnd Bergmann
Date: Mon Jan 06 2020 - 03:31:35 EST


On Mon, Jan 6, 2020 at 5:24 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> Today's linux-next merge of the y2038 tree got a conflict in:
>
> drivers/block/virtio_blk.c
>
> between commit:
>
> d1281e3a562e ("virtio-blk: remove VIRTIO_BLK_F_SCSI support")
>
> from the vhost tree and commit:
>
> d320a9551e39 ("compat_ioctl: scsi: move ioctl handling into drivers")
>
> from the y2038 tree.
>
> I wonder if this driver needs a compat_ioctl entry at all any more?

It doesn't. The rules used to be fairly complicated, but not
(after my patches) basically any driver that has an .ioctl
function must have a .compat_ioctl function and vice versa.

> index 54158766334b,fbbf18ac1d5d..000000000000
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@@ -310,6 -404,10 +310,9 @@@ static int virtblk_getgeo(struct block_
> }
>
> static const struct block_device_operations virtblk_fops = {
> - .ioctl = virtblk_ioctl,
> + #ifdef CONFIG_COMPAT
> + .compat_ioctl = blkdev_compat_ptr_ioctl,
> + #endif
> .owner = THIS_MODULE,
> .getgeo = virtblk_getgeo,
> };

Removing it would be better, but this version is not wrong.

Arnd