No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Brian King e8fe98f6ec scsi: ibmvfc: Fix invalid state machine BUG_ON()
[ Upstream commit 15cfef8623a449d40d16541687afd58e78033be3 ]

This fixes an issue hitting the BUG_ON() in ibmvfc_do_work(). When going
through a host action of IBMVFC_HOST_ACTION_RESET, we change the action to
IBMVFC_HOST_ACTION_TGT_DEL, then drop the host lock, and reset the CRQ,
which changes the host state to IBMVFC_NO_CRQ. If, prior to setting the
host state to IBMVFC_NO_CRQ, ibmvfc_init_host() is called, it can then end
up changing the host action to IBMVFC_HOST_ACTION_INIT.  If we then change
the host state to IBMVFC_NO_CRQ, we will then hit the BUG_ON().

Make a couple of changes to avoid this. Leave the host action to be
IBMVFC_HOST_ACTION_RESET or IBMVFC_HOST_ACTION_REENABLE until after we drop
the host lock and reset or reenable the CRQ. Also harden the host state
machine to ensure we cannot leave the reset / reenable state until we've
finished processing the reset or reenable.

Link: https://lore.kernel.org/r/20210413001009.902400-1-tyreld@linux.ibm.com
Fixes: 73ee5d8672 ("[SCSI] ibmvfc: Fix soft lockup on resume")
Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
[tyreld: added fixes tag]
Signed-off-by: Tyrel Datwyler <tyreld@linux.ibm.com>
[mkp: fix comment checkpatch warnings]
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-05-14 09:44:25 +02:00
arch x86/kprobes: Fix to check non boostable prefixes correctly 2021-05-14 09:44:23 +02:00
block block: only update parent bi_status when bio fail 2021-04-16 11:46:38 +02:00
certs
crypto crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS 2021-05-11 14:04:15 +02:00
Documentation dt-bindings: net: ethernet-controller: fix typo in NVMEM 2021-04-14 08:24:18 +02:00
drivers scsi: ibmvfc: Fix invalid state machine BUG_ON() 2021-05-14 09:44:25 +02:00
fs ovl: fix missing revert_creds() on error path 2021-05-14 09:44:16 +02:00
include tty: fix return value for unsupported ioctls 2021-05-14 09:44:22 +02:00
init
ipc
kernel tracing: Restructure trace_clock_global() to never block 2021-05-11 14:04:18 +02:00
lib avoid __memcat_p link failure 2021-05-07 10:51:37 +02:00
LICENSES
mm
net cfg80211: scan: drop entry from hidden_list on overflow 2021-05-14 09:44:13 +02:00
samples
scripts
security security: commoncap: fix -Wstringop-overread warning 2021-05-11 14:04:16 +02:00
sound ALSA: hda/realtek: ALC285 Thinkpad jack pin quirk is unreachable 2021-05-14 09:44:15 +02:00
tools perf ftrace: Fix access to pid in array when setting a pid filter 2021-05-07 10:51:37 +02:00
usr
virt KVM: Stop looking for coalesced MMIO zones if the bus is destroyed 2021-05-14 09:44:15 +02:00
.clang-format
.cocciconfig
.get_maintainer.ignore
.gitattributes
.gitignore
.mailmap
COPYING
CREDITS
Kbuild
Kconfig
MAINTAINERS
Makefile Linux 5.4.118 2021-05-11 14:04:18 +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.