No description
Find a file
Andy Shevchenko e8a10089ed serial: max3100: Update uart_driver_registered on driver removal
[ Upstream commit 712a1fcb38 ]

The removal of the last MAX3100 device triggers the removal of
the driver. However, code doesn't update the respective global
variable and after insmod — rmmod — insmod cycle the kernel
oopses:

  max3100 spi-PRP0001:01: max3100_probe: adding port 0
  BUG: kernel NULL pointer dereference, address: 0000000000000408
  ...
  RIP: 0010:serial_core_register_port+0xa0/0x840
  ...
   max3100_probe+0x1b6/0x280 [max3100]
   spi_probe+0x8d/0xb0

Update the actual state so next time UART driver will be registered
again.

Hugo also noticed, that the error path in the probe also affected
by having the variable set, and not cleared. Instead of clearing it
move the assignment after the successfull uart_register_driver() call.

Fixes: 7831d56b0a ("tty: MAX3100")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Link: https://lore.kernel.org/r/20240402195306.269276-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-06-12 11:12:17 +02:00
arch x86/insn: Add VEX versions of VPDPBUSD, VPDPBUSDS, VPDPWSSD and VPDPWSSDS 2024-06-12 11:12:09 +02:00
block block: support to account io_ticks precisely 2024-06-12 11:11:35 +02:00
certs certs: Reference revocation list for all keyrings 2023-08-17 20:12:41 +00:00
crypto KEYS: asymmetric: Add missing dependencies of FIPS_SIGNATURE_SELFTEST 2024-06-12 11:11:22 +02:00
Documentation fpga: bridge: add owner module and take its refcount 2024-06-12 11:12:14 +02:00
drivers serial: max3100: Update uart_driver_registered on driver removal 2024-06-12 11:12:17 +02:00
fs f2fs: fix to wait on page writeback in __clone_blkaddrs() 2024-06-12 11:12:14 +02:00
include counter: linux/counter.h: fix Excess kernel-doc description warning 2024-06-12 11:12:14 +02:00
init rust: make mutually exclusive with CFI_CLANG 2024-05-02 16:32:42 +02:00
io_uring io-wq: write next_work before dropping acct_lock 2024-06-12 11:11:33 +02:00
ipc Add x86 shadow stack support 2023-08-31 12:20:12 -07:00
kernel sched/core: Fix incorrect initialization of the 'burst' parameter in cpu_max_write() 2024-06-12 11:12:13 +02:00
lib lib/test_hmm.c: handle src_pfns and dst_pfns allocation failure 2024-06-12 11:12:08 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm mm/userfaultfd: Do not place zeropages when zeropages are disallowed 2024-06-12 11:11:33 +02:00
net af_packet: do not call packet_read_pending() from tpacket_destruct_skb() 2024-06-12 11:12:12 +02:00
rust rust: kernel: require Send for Module implementations 2024-05-17 12:01:56 +02:00
samples work around gcc bugs with 'asm goto' with outputs 2024-02-23 09:24:47 +01:00
scripts modules: Drop the .export_symbol section from the final modules 2024-06-12 11:12:12 +02:00
security KEYS: trusted: Do not use WARN when encode fails 2024-05-25 16:22:55 +02:00
sound ASoC: Intel: avs: Test result of avs_get_module_entry() 2024-06-12 11:12:00 +02:00
tools perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline() 2024-06-12 11:12:16 +02:00
usr initramfs: Encode dependency on KBUILD_BUILD_TIMESTAMP 2023-06-06 17:54:49 +09:00
virt KVM: Always flush async #PF workqueue when vCPU is being destroyed 2024-04-03 15:28:18 +02:00
.clang-format iommu: Add for_each_group_device() 2023-05-23 08:15:51 +02:00
.cocciconfig
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore kbuild: rpm-pkg: rename binkernel.spec to kernel.spec 2023-07-25 00:59:33 +09:00
.mailmap 20 hotfixes. 12 are cc:stable and the remainder address post-6.5 issues 2023-10-24 09:52:16 -10:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING COPYING: state that all contributions really are covered by this file 2020-02-10 13:32:20 -08:00
CREDITS USB: Remove Wireless USB and UWB documentation 2023-08-09 14:17:32 +02:00
Kbuild Kbuild updates for v6.1 2022-10-10 12:00:45 -07:00
Kconfig kbuild: ensure full rebuild when the compiler is updated 2020-05-12 13:28:33 +09:00
MAINTAINERS ALSA: scarlett2: Rename scarlett_gen2 to scarlett2 2024-04-27 17:11:36 +02:00
Makefile Linux 6.6.32 2024-05-25 16:22:56 +02:00
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.