drivers/hid/hid-cp2112.c in the Linux kernel 4.9.x before 4.9.9 uses a spinlock without considering that sleeping is possible in a USB HID request callback, which allows local users to cause a denial of service (deadlock) via unspecified vectors.
www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.9.9
www.openwall.com/lists/oss-security/2017/04/16/4
www.securityfocus.com/bid/97991
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7a7b5df84b6b4e5d599c7289526eed96541a0654
github.com/torvalds/linux/commit/7a7b5df84b6b4e5d599c7289526eed96541a0654