Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 18 Jun 2017 11:47:24 +0800
From:      Jia-Ju Bai <baijiaju1990@163.com>
To:        freebsd-drivers@freebsd.org
Subject:   [Bug 220096] [acpi] sys/dev/acpica/acpi_thermal.c: a sleep-under-mutex bug in acpi_tz_thread
Message-ID:  <c0ba0523-6158-166f-db71-91443f458e68@163.com>

next in thread | raw e-mail | index | archive | help
The driver may sleep under a mutex, and the code path in file 
"sys/dev/acpica/acpi_thermal.c" in FreeBSD 11.0 release is:
acpi_tz_thread [line 992: acquire the mutex]
acpi_tz_thread [line 993]
acpi_tz_thread [line 1003]
acpi_tz_thread [line 1004] (msleep is excuted)
acpi_tz_thread [line 1008]
acpi_tz_thread [line 970]
acpi_tz_thread [line 971]
acpi_tz_thread [line 975]
   malloc(M_WAITOK) [line 976]

The possible fix of this bug is to replace "M_WAITOK" in malloc with 
"M_NOWAIT".

This bug is found by a static analysis tool written by myself, and it is 
checked by my review of the FreeBSD code.

Thanks,
Jia-Ju Bai




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?c0ba0523-6158-166f-db71-91443f458e68>