2018-04-27 16:03:42

by Michael S. Tsirkin

[permalink] [raw]
Subject: [PATCH] vhost: make msg padding explicit

There's a 32 bit hole just after type. It's best to
give it a name, this way compiler is forced to initialize
it with rest of the structure.

Reported-by: Kevin Easton <[email protected]>
Signed-off-by: Michael S. Tsirkin <[email protected]>
---
include/uapi/linux/vhost.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/include/uapi/linux/vhost.h b/include/uapi/linux/vhost.h
index c51f8e5..5a8ad06 100644
--- a/include/uapi/linux/vhost.h
+++ b/include/uapi/linux/vhost.h
@@ -68,6 +68,7 @@ struct vhost_iotlb_msg {

struct vhost_msg {
int type;
+ int padding0;
union {
struct vhost_iotlb_msg iotlb;
__u8 padding[64];
--
MST


2018-04-30 01:36:07

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

From: "Michael S. Tsirkin" <[email protected]>
Date: Fri, 27 Apr 2018 19:02:05 +0300

> There's a 32 bit hole just after type. It's best to
> give it a name, this way compiler is forced to initialize
> it with rest of the structure.
>
> Reported-by: Kevin Easton <[email protected]>
> Signed-off-by: Michael S. Tsirkin <[email protected]>

Who applied this, me? :-)

2018-05-01 15:30:27

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

From: "Michael S. Tsirkin" <[email protected]>
Date: Fri, 27 Apr 2018 19:02:05 +0300

> There's a 32 bit hole just after type. It's best to
> give it a name, this way compiler is forced to initialize
> it with rest of the structure.
>
> Reported-by: Kevin Easton <[email protected]>
> Signed-off-by: Michael S. Tsirkin <[email protected]>

Michael, will you be sending this directly to Linus or would you like
me to apply it to net or net-next?

Thanks.

2018-05-01 17:21:18

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

On Tue, May 01, 2018 at 11:28:22AM -0400, David Miller wrote:
> From: "Michael S. Tsirkin" <[email protected]>
> Date: Fri, 27 Apr 2018 19:02:05 +0300
>
> > There's a 32 bit hole just after type. It's best to
> > give it a name, this way compiler is forced to initialize
> > it with rest of the structure.
> >
> > Reported-by: Kevin Easton <[email protected]>
> > Signed-off-by: Michael S. Tsirkin <[email protected]>
>
> Michael, will you be sending this directly to Linus or would you like
> me to apply it to net or net-next?
>
> Thanks.

I'd prefer you to apply it for net and cc stable if possible.
Thanks!

--
MST

2018-05-01 18:06:24

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

From: "Michael S. Tsirkin" <[email protected]>
Date: Tue, 1 May 2018 20:19:19 +0300

> On Tue, May 01, 2018 at 11:28:22AM -0400, David Miller wrote:
>> From: "Michael S. Tsirkin" <[email protected]>
>> Date: Fri, 27 Apr 2018 19:02:05 +0300
>>
>> > There's a 32 bit hole just after type. It's best to
>> > give it a name, this way compiler is forced to initialize
>> > it with rest of the structure.
>> >
>> > Reported-by: Kevin Easton <[email protected]>
>> > Signed-off-by: Michael S. Tsirkin <[email protected]>
>>
>> Michael, will you be sending this directly to Linus or would you like
>> me to apply it to net or net-next?
>>
>> Thanks.
>
> I'd prefer you to apply it for net and cc stable if possible.

Ok, applied, and added to my -stable submission queue.

2018-05-02 06:28:49

by Kevin Easton

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

On Tue, May 01, 2018 at 02:05:51PM -0400, David Miller wrote:
> From: "Michael S. Tsirkin" <[email protected]>
> Date: Tue, 1 May 2018 20:19:19 +0300
>
> > On Tue, May 01, 2018 at 11:28:22AM -0400, David Miller wrote:
> >> From: "Michael S. Tsirkin" <[email protected]>
> >> Date: Fri, 27 Apr 2018 19:02:05 +0300
> >>
> >> > There's a 32 bit hole just after type. It's best to
> >> > give it a name, this way compiler is forced to initialize
> >> > it with rest of the structure.
> >> >
> >> > Reported-by: Kevin Easton <[email protected]>
> >> > Signed-off-by: Michael S. Tsirkin <[email protected]>
> >>
> >> Michael, will you be sending this directly to Linus or would you like
> >> me to apply it to net or net-next?
> >>
> >> Thanks.
> >
> > I'd prefer you to apply it for net and cc stable if possible.
>
> Ok, applied, and added to my -stable submission queue.

Hold on, this patch changes the layout for i386 (where there is
no padding at all). And it's part of UAPI.

- Kevin

>

2018-05-02 13:39:08

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

On Wed, May 02, 2018 at 02:28:09AM -0400, Kevin Easton wrote:
> On Tue, May 01, 2018 at 02:05:51PM -0400, David Miller wrote:
> > From: "Michael S. Tsirkin" <[email protected]>
> > Date: Tue, 1 May 2018 20:19:19 +0300
> >
> > > On Tue, May 01, 2018 at 11:28:22AM -0400, David Miller wrote:
> > >> From: "Michael S. Tsirkin" <[email protected]>
> > >> Date: Fri, 27 Apr 2018 19:02:05 +0300
> > >>
> > >> > There's a 32 bit hole just after type. It's best to
> > >> > give it a name, this way compiler is forced to initialize
> > >> > it with rest of the structure.
> > >> >
> > >> > Reported-by: Kevin Easton <[email protected]>
> > >> > Signed-off-by: Michael S. Tsirkin <[email protected]>
> > >>
> > >> Michael, will you be sending this directly to Linus or would you like
> > >> me to apply it to net or net-next?
> > >>
> > >> Thanks.
> > >
> > > I'd prefer you to apply it for net and cc stable if possible.
> >
> > Ok, applied, and added to my -stable submission queue.
>
> Hold on, this patch changes the layout for i386 (where there is
> no padding at all). And it's part of UAPI.
>
> - Kevin
>
> >

Ouch. True - and in particular the 32 bit ABI on 64 bit kernels doesn't
work at all. Hmm. It's relatively new and maybe there aren't any 32 bit
users yet. Thoughts?

--
MST

2018-05-02 14:06:31

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

From: "Michael S. Tsirkin" <[email protected]>
Date: Wed, 2 May 2018 16:36:37 +0300

> Ouch. True - and in particular the 32 bit ABI on 64 bit kernels doesn't
> work at all. Hmm. It's relatively new and maybe there aren't any 32 bit
> users yet. Thoughts?

If it's been in a released kernel version, we really aren't at liberty
to play "maybe nobody uses this" UAPI changing games.

Please send me a revert.

2018-05-02 14:21:28

by Michael S. Tsirkin

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

On Wed, May 02, 2018 at 10:04:46AM -0400, David Miller wrote:
> From: "Michael S. Tsirkin" <[email protected]>
> Date: Wed, 2 May 2018 16:36:37 +0300
>
> > Ouch. True - and in particular the 32 bit ABI on 64 bit kernels doesn't
> > work at all. Hmm. It's relatively new and maybe there aren't any 32 bit
> > users yet. Thoughts?
>
> If it's been in a released kernel version, we really aren't at liberty
> to play "maybe nobody uses this" UAPI changing games.
>
> Please send me a revert.

Sent. Looking at compat mess now.

--
MST

2018-05-02 14:41:54

by Kevin Easton

[permalink] [raw]
Subject: Re: [PATCH] vhost: make msg padding explicit

On Wed, May 02, 2018 at 05:19:27PM +0300, Michael S. Tsirkin wrote:
> On Wed, May 02, 2018 at 10:04:46AM -0400, David Miller wrote:
> > From: "Michael S. Tsirkin" <[email protected]>
> > Date: Wed, 2 May 2018 16:36:37 +0300
> >
> > > Ouch. True - and in particular the 32 bit ABI on 64 bit kernels doesn't
> > > work at all. Hmm. It's relatively new and maybe there aren't any 32 bit
> > > users yet. Thoughts?
> >
> > If it's been in a released kernel version, we really aren't at liberty
> > to play "maybe nobody uses this" UAPI changing games.
> >
> > Please send me a revert.
>
> Sent. Looking at compat mess now.

Just naming the padding field isn't sufficient anyway, there also needs to
be code in vhost_new_msg() to initialise it using the name.

- Kevin