Messages in this thread |  | | Subject | Re: [PATCH] mmc: block: Add new ioctl to send multi commands | From | Jon Hunter <> | Date | Thu, 10 Sep 2015 19:20:54 +0100 |
| |
On 10/09/15 18:10, Grant Grundler wrote: > On Thu, Sep 10, 2015 at 1:24 AM, Jon Hunter <jonathanh@nvidia.com> wrote: > ... >>> - you have some implicit padding after the structure and should replace that >>> with explictit pad bytes to extend the structure to a multiple of its >>> alignment (8 bytes). >> >> Would padding with __u32 at the end be sufficient here? I assume the >> __u32 would be 32-bit aligned. However, was not sure if this would >> always be the case. > > Is there something wrong with implicit padding? > Only one copy of the structure is passed to the kernel for any given call. > >>>>> struct mmc_ioc_multi_cmd { >>>>> __u64 num_of_cmds; >>>>> struct mmc_ioc_cmd cmds[0]; >>>>> }; > > I think this would work just as well. But doesn't "pointer to an > array" require 32-bit ioctl compat handling? > We were trying to avoid a 32-bit user space compatibility handler.
I think that this is fine as it is a zero length array [0] and not a pointer.
Cheers Jon
[0] https://gcc.gnu.org/onlinedocs/gcc/Zero-Length.html
|  |