The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the v6k and v7 ARM platforms do not validate certain addresses, which allows attackers to read or modify the contents of arbitrary kernel memory locations via a crafted application, as exploited in the wild against Android devices in October and November 2013.
https://github.com/torvalds/linux/commit/8404663f81d212918ff85f493649a7991209fa04
https://www.exploit-db.com/exploits/40975/
http://www.kernel.org/pub/linux/kernel/v3.x/ChangeLog-3.5.5