Re: Patch "x86, vm86: fix VM86 syscalls: use SYSCALL_DEFINEx(...)" has been added to the 3.9-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, May 17, 2013 at 12:04:08PM +0200, Alexander van Heukelum wrote:
> On Fri, May 17, 2013, at 0:05, Greg KH wrote:
> > On Fri, May 10, 2013 at 11:41:46PM +0200, Alexander van Heukelum wrote:
> > > Hi Greg, Al,
> > > 
> > > The patch that went into mainline and was cc'ed to stable assumes that
> > > 2cf09666 "make SYSCALL_DEFINE<n>-generated wrappers do
> > > asmlinkage_protect... and switch i386 to HAVE_SYSCALL_WRAPPERS,
> > > killing open-coded uses of asmlinkage_protect() in a bunch of
> > > syscalls." is also included. I think my original patch would be better
> > > suited for the stable tree? It's tiny, independent, and it fixes the
> > > issue. See attached patch... Al, what do you think?
> > > 
> > > Also: please note that the problem was introduced in v3.9, so this is
> > > the only stable tree that should get this patch.
> > 
> > I really don't understand, should I not have included this patch in the
> > 3.9-stable tree?  Should I use something else instead?  If so, what is
> > the git commit id?  Or should I add something on top of this one?
> > 
> > totally confused,
> 
> Sorry about that :-/.
> 
> So... yes, I think the version that Al cc'ed to stable should not be applied.
> 
> Instead, 3.9-stable should get the version that I originally sent to lkml (before v3.9 was released):
>    https://lkml.org/lkml/2013/3/27/534  It's the minimal fix for v3.9. Releases before v3.9 didn't have the bug.


Please wrap your lines properly.

Realize that I like to take the exact patch that is in Linus's tree for
a lot of good reasons.  Taking different versions can cause different
bugs, that we don't want to track down or deal with at all.

> The original version includes asmlinkage_protect directives. They are
> (at least theoretically) necessary, because i386 asmlinkage functions
> puts parameters of function calls on the stack and gcc could otherwise
> reuse this stack space. That would cause the vm86 syscall to return
> with changed registers. I did not check if this really happened, but
> the code generation was changed by adding the directives... I didn't
> cc that version to stable, because I hoped the fix would make it
> before the release of v3.9.
> 
> In the mean time, for v3.10, Al changed the i386 syscall handling: He
> enabled the syscall wrapper code for i386 and added the
> asmlinkage_protect directive to the wrappers. He then removed the (now
> obsoleted) asmlinkage_protect directives from the patch and did the
> follow-on code simplification. He cc'ed this rebased version to
> stable, but this version depends on his changes for v3.10. Applying
> this version means that the stack is not protected for the vm86
> syscall.

So does that mean I just need to apply a different patch to 3.9-stable
as well?  If so, what is that git commit id?

thanks,

greg k-h
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]