usb: chipidea: debug: check before accessing ci_role
authorMichael Thalmeier <michael.thalmeier@hale.at>
Thu, 18 May 2017 14:14:14 +0000 (16:14 +0200)
committerWilly Tarreau <w@1wt.eu>
Wed, 1 Nov 2017 21:12:43 +0000 (22:12 +0100)
commit 0340ff83cd4475261e7474033a381bc125b45244 upstream.

ci_role BUGs when the role is >= CI_ROLE_END.

Cc: stable@vger.kernel.org #v3.10+
Signed-off-by: Michael Thalmeier <michael.thalmeier@hale.at>
Signed-off-by: Peter Chen <peter.chen@nxp.com>
Signed-off-by: Willy Tarreau <w@1wt.eu>
drivers/usb/chipidea/debug.c

index 36a7063a6cba04f55e1b25ea062f2896f9524dda..5a38ca87f4060926bfaa0bd313b9e5ecd58fd18d 100644 (file)
@@ -203,7 +203,8 @@ static int ci_role_show(struct seq_file *s, void *data)
 {
        struct ci13xxx *ci = s->private;
 
-       seq_printf(s, "%s\n", ci_role(ci)->name);
+       if (ci->role != CI_ROLE_END)
+               seq_printf(s, "%s\n", ci_role(ci)->name);
 
        return 0;
 }