提交 08a82c68 编写于 作者: P Phil Carmody 提交者: Linus Torvalds

hvsi: fix messed up error checking getting state name

Handle out-of-range indices before reading what they refer to.  And don't
access the one-past-the-end element of the array either.
Signed-off-by: NPhil Carmody <ext-phil.2.carmody@nokia.com>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Roel Kluin <roel.kluin@gmail.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 4be929be
......@@ -194,10 +194,8 @@ static inline void print_state(struct hvsi_struct *hp)
"HVSI_WAIT_FOR_MCTRL_RESPONSE",
"HVSI_FSP_DIED",
};
const char *name = state_names[hp->state];
if (hp->state > ARRAY_SIZE(state_names))
name = "UNKNOWN";
const char *name = (hp->state < ARRAY_SIZE(state_names))
? state_names[hp->state] : "UNKNOWN";
pr_debug("hvsi%i: state = %s\n", hp->index, name);
#endif /* DEBUG */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册