diff options
author | Takashi Iwai <tiwai@suse.de> | 2012-06-01 10:06:23 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-06-22 11:36:57 -0700 |
commit | b063a624f08cfa64c2d9162d1525da95519e6156 (patch) | |
tree | 8132a59deb1d636a81d32194b7f2b6a4d858f24f /firmware/whiteheat_loader_debug.HEX | |
parent | d6bc383209efd8a57b3c73ef2524a98df32c7bcc (diff) |
xhci: Fix invalid loop check in xhci_free_tt_info()
commit 46ed8f00d8982e49f8fe2c1a9cea192f640cb3ba upstream.
xhci_free_tt_info() may access the invalid memory when it removes the
last entry but the list is not empty. Then tt_next reaches to the
list head but it still tries to check the tt_info of that entry.
This patch fixes the bug and cleans up the messy code by rewriting
with a simple list_for_each_entry_safe().
This patch should be backported to kernels as old as 3.2, that contain
the commit 839c817ce67178ca3c7c7ad534c571bba1e69ebe "xhci: Store
information about roothubs and TTs."
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Reviewed-by: Oliver Neukum <oneukum@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'firmware/whiteheat_loader_debug.HEX')
0 files changed, 0 insertions, 0 deletions