The compat_alloc_user_space functions in include/asm/compat.h files in the Linux kernel before 2.6.36-rc4-git2 on 64-bit platforms do not properly allocate the userspace memory required for the 32-bit compatibility layer, which allows local users to gain privileges by leveraging the ability of the compat_mc_getsockopt function (aka the MCAST_MSFILTER getsockopt support) to control a certain length value, related to a "stack pointer underflow" issue, as exploited in the wild in September 2010.
https://bugzilla.redhat.com/show_bug.cgi?id=634457
http://www.vmware.com/security/advisories/VMSA-2011-0003.html
http://www.vmware.com/security/advisories/VMSA-2010-0017.html
http://www.securityfocus.com/archive/1/516397/100/0/threaded
http://www.securityfocus.com/archive/1/514938/30/30/threaded
http://marc.info/?l=oss-security&m=128461522230211&w=2
http://lists.opensuse.org/opensuse-security-announce/2011-02/msg00000.html
http://lists.opensuse.org/opensuse-security-announce/2010-10/msg00003.html
http://lists.opensuse.org/opensuse-security-announce/2010-09/msg00006.html