]> git.baikalelectronics.ru Git - kernel.git/commit
xhci-mem: init list heads at the beginning of init
authorSergio Aguirre <sergio.a.aguirre.rodriguez@intel.com>
Thu, 4 Apr 2013 17:32:13 +0000 (10:32 -0700)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Fri, 24 May 2013 16:14:47 +0000 (09:14 -0700)
commitd7fb346a206acfb48c4703c2d6aa42545ce1a099
tree7ccf97556fec4986651e1a816b8801294908c2b9
parentecf1c6dd155e916ba54b769bb738549c64172b16
xhci-mem: init list heads at the beginning of init

It is possible that we fail on xhci_mem_init, just before doing
the INIT_LIST_HEAD, and calling xhci_mem_cleanup.

Problem is that, the list_for_each_entry_safe macro, assumes
list heads are initialized (not NULL), and dereferences their 'next'
pointer, causing a kernel panic if this is not yet initialized.

Let's protect from that by moving inits to the beginning.

This patch should be backported to kernels as old as 3.2, that
contain the commit f81ef5b30aa2170fef9e99e7ee28e86784d28a88 "xHCI: test
USB2 software LPM".

Signed-off-by: Sergio Aguirre <sergio.a.aguirre.rodriguez@intel.com>
Acked-by: David Cohen <david.a.cohen@intel.com>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Cc: stable@vger.kernel.org
drivers/usb/host/xhci-mem.c