Revision 7ff57e98fb78ad94edafbdc7435f2d745e9e6bb5 authored by Fabio M. De Francesco on 23 February 2022, 10:02:52 UTC, committed by Jakub Kicinski on 24 February 2022, 17:09:33 UTC
smc_pnetid_by_table_ib() uses read_lock() and then it calls smc_pnet_apply_ib()
which, in turn, calls mutex_lock(&smc_ib_devices.mutex).

read_lock() disables preemption. Therefore, the code acquires a mutex while in
atomic context and it leads to a SAC bug.

Fix this bug by replacing the rwlock with a mutex.

Reported-and-tested-by: syzbot+4f322a6d84e991c38775@syzkaller.appspotmail.com
Fixes: 64e28b52c7a6 ("net/smc: add pnet table namespace support")
Confirmed-by: Tony Lu <tonylu@linux.alibaba.com>
Signed-off-by: Fabio M. De Francesco <fmdefrancesco@gmail.com>
Acked-by: Karsten Graul <kgraul@linux.ibm.com>
Link: https://lore.kernel.org/r/20220223100252.22562-1-fmdefrancesco@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
1 parent e13ad14
Raw File
adm1031.rst
Kernel driver adm1031
=====================

Supported chips:
  * Analog Devices ADM1030

    Prefix: 'adm1030'

    Addresses scanned: I2C 0x2c to 0x2e

    Datasheet: Publicly available at the Analog Devices website

	       https://www.analog.com/en/prod/0%2C2877%2CADM1030%2C00.html

  * Analog Devices ADM1031

    Prefix: 'adm1031'

    Addresses scanned: I2C 0x2c to 0x2e

    Datasheet: Publicly available at the Analog Devices website

	       https://www.analog.com/en/prod/0%2C2877%2CADM1031%2C00.html

Authors:
	- Alexandre d'Alton <alex@alexdalton.org>
	- Jean Delvare <jdelvare@suse.de>

Description
-----------

The ADM1030 and ADM1031 are digital temperature sensors and fan controllers.
They sense their own temperature as well as the temperature of up to one
(ADM1030) or two (ADM1031) external diodes.

All temperature values are given in degrees Celsius. Resolution is 0.5
degree for the local temperature, 0.125 degree for the remote temperatures.

Each temperature channel has its own high and low limits, plus a critical
limit.

The ADM1030 monitors a single fan speed, while the ADM1031 monitors up to
two. Each fan channel has its own low speed limit.
back to top