blob: 9c83833b0b35e0b8abf00074f64f5f84e2775527 [file] [log] [blame]
# kernel message checker module
#
# Copyright (c) 2013, Intel Corporation
#
# Author: Johannes Berg <johannes@sipsolutions.net>
#
# This software may be distributed under the terms of the BSD license.
# See README for more details.
#
"""
Tests for kernel messages to find if there were any issues in them.
"""
import re
lockdep_messages = [
'possible circular locking dependency',
'.*-safe -> .*unsafe lock order detected',
'possible recursive locking detected',
'inconsistent lock state',
'possible irq lock inversion dependency',
'suspicious RCU usage',
]
lockdep = r'(\[\s*)?INFO: (%s)' % ('|'.join(lockdep_messages), )
issue = re.compile('(\[[0-9 .]*\] )?(WARNING:|BUG:|%s).*' % lockdep)
def check_kernel(logfile):
for line in open(logfile, 'r'):
if issue.match(line):
return False
return True