2015-07-20 19:56:29

by Guenter Roeck

[permalink] [raw]
Subject: Build failures in -next due to commit "asm-generic: {get,put}_user ptr argument evaluate only 1 time"

Hi,

Commit 52b2512d507d ("asm-generic: {get,put}_user ptr argument evaluate only 1 time")
causes the following compile error with various architectures (arc, arcv2, c6x, hexagon,
um, unicore32) in -next.

block/scsi_ioctl.c: In function ‘sg_scsi_ioctl’:
block/scsi_ioctl.c:436:2: error: invalid initializer
if (get_user(opcode, sic->data))
^
make[1]: *** [block/scsi_ioctl.o] Error 1

A possible fix would be to use &sic->data[0] instead, but I am not sure if this change
in semantics of get_user would be acceptable.

Another failure due to the same commit is seen when building arc:axs103_defconfig.

fs/fat/dir.c: In function ‘fat_ioctl_filldir’:
fs/fat/dir.c:752:43: error: invalid initializer
FAT_IOCTL_FILLDIR_FUNC(fat_ioctl_filldir, __fat_dirent)

This error is related to the put_user changes. No idea how to fix that one.

Guenter


2015-07-21 05:57:49

by Yoshinori Sato

[permalink] [raw]
Subject: Re: Build failures in -next due to commit "asm-generic: {get,put}_user ptr argument evaluate only 1 time"

On Tue, 21 Jul 2015 04:56:21 +0900,
Guenter Roeck wrote:
>
> Hi,
>
> Commit 52b2512d507d ("asm-generic: {get,put}_user ptr argument evaluate only 1 time")
> causes the following compile error with various architectures (arc, arcv2, c6x, hexagon,
> um, unicore32) in -next.
>
> block/scsi_ioctl.c: In function ?sg_scsi_ioctl?:
> block/scsi_ioctl.c:436:2: error: invalid initializer
> if (get_user(opcode, sic->data))
> ^
> make[1]: *** [block/scsi_ioctl.o] Error 1
>
> A possible fix would be to use &sic->data[0] instead, but I am not sure if this change
> in semantics of get_user would be acceptable.
>
> Another failure due to the same commit is seen when building arc:axs103_defconfig.
>
> fs/fat/dir.c: In function ?fat_ioctl_filldir?:
> fs/fat/dir.c:752:43: error: invalid initializer
> FAT_IOCTL_FILLDIR_FUNC(fat_ioctl_filldir, __fat_dirent)
>
> This error is related to the put_user changes. No idea how to fix that one.
>
> Guenter

Sorry. I misunderstand specification of get_user.
I'll send fixed patch.

--
Yoshinori Sato
<[email protected]>