Linux kernel source tree
Go to file
Guenter Roeck 79da533d3c hwmon: (nct6775) Fix crash in clear_caseopen
Paweł Marciniak reports the following crash, observed when clearing
the chassis intrusion alarm.

BUG: kernel NULL pointer dereference, address: 0000000000000028
PGD 0 P4D 0
Oops: 0000 [#1] PREEMPT SMP PTI
CPU: 3 PID: 4815 Comm: bash Tainted: G S                5.16.2-200.fc35.x86_64 #1
Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./Z97 Extreme4, BIOS P2.60A 05/03/2018
RIP: 0010:clear_caseopen+0x5a/0x120 [nct6775]
Code: 68 70 e8 e9 32 b1 e3 85 c0 0f 85 d2 00 00 00 48 83 7c 24 ...
RSP: 0018:ffffabcb02803dd8 EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000000000002 RCX: 0000000000000000
RDX: ffff8e8808192880 RSI: 0000000000000000 RDI: ffff8e87c7509a68
RBP: 0000000000000000 R08: 0000000000000001 R09: 000000000000000a
R10: 000000000000000a R11: f000000000000000 R12: 000000000000001f
R13: ffff8e87c7509828 R14: ffff8e87c7509a68 R15: ffff8e88494527a0
FS:  00007f4db9151740(0000) GS:ffff8e8ebfec0000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000028 CR3: 0000000166b66001 CR4: 00000000001706e0
Call Trace:
 <TASK>
 kernfs_fop_write_iter+0x11c/0x1b0
 new_sync_write+0x10b/0x180
 vfs_write+0x209/0x2a0
 ksys_write+0x4f/0xc0
 do_syscall_64+0x3b/0x90
 entry_SYSCALL_64_after_hwframe+0x44/0xae

The problem is that the device passed to clear_caseopen() is the hwmon
device, not the platform device, and the platform data is not set in the
hwmon device. Store the pointer to sio_data in struct nct6775_data and
get if from there if needed.

Fixes: 2e7b988696 ("hwmon: (nct6775) Use superio_*() function pointers in sio_data.")
Cc: Denis Pauk <pauk.denis@gmail.com>
Cc: Bernhard Seibold <mail@bernhard-seibold.de>
Reported-by: Paweł Marciniak <pmarciniak@lodz.home.pl>
Tested-by: Denis Pauk <pauk.denis@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2022-01-24 14:32:47 -08:00
Documentation Merge branch 'akpm' (patches from Andrew) 2022-01-22 11:28:23 +02:00
LICENSES
arch bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
block bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
certs certs: Fix build error when CONFIG_MODULE_SIG_KEY is empty 2022-01-23 00:08:44 +09:00
crypto
drivers hwmon: (nct6775) Fix crash in clear_caseopen 2022-01-24 14:32:47 -08:00
fs bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
include bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
init lib/stackdepot: allow optional init and stack_table allocation by kvmalloc() 2022-01-22 08:33:37 +02:00
ipc proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
kernel ftrace: Fix s390 breakage from sorting mcount tables 2022-01-23 08:07:02 +02:00
lib bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
mm bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
net bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
samples Merge branch 'akpm' (patches from Andrew) 2022-01-20 10:41:01 +02:00
scripts Devicetree fixes for v5.17, take 1: 2022-01-22 09:52:17 +02:00
security
sound proc: remove PDE_DATA() completely 2022-01-22 08:33:37 +02:00
tools perf tools changes for v5.17: 2nd batch 2022-01-23 08:14:21 +02:00
usr usr/include/Makefile: add linux/nfc.h to the compile-test coverage 2022-01-22 21:48:45 +09:00
virt Generic: 2022-01-22 09:40:01 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS bitmap patches for 5.17-rc1 2022-01-23 06:20:44 +02:00
Makefile Linux 5.17-rc1 2022-01-23 10:12:53 +02:00
README

README

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.