No description
  • C 96.8%
  • Assembly 0.9%
  • Rust 0.7%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Sven Peter b1b0ddd5bf PCI: apple: Initialize pcie->nvecs before use
[ Upstream commit d8650c0c2a ]

The apple_pcie_setup_port() function computes ilog2(pcie->nvecs) to set
up the number of MSIs available for each port. However, it's called
before apple_msi_init(), which initializes pcie->nvecs.

Luckily, pcie->nvecs is part of kzalloc()-ed structure and, as such,
initialized as zero. ilog2(0) happens to be 0xffffffff which then simply
configures more MSIs in hardware than we have. This doesn't break
anything because we never hand out those vectors.

Thus, swap the order of the two calls so that the correctly initialized
value is then used.

[kwilczynski: commit log]
Link: https://lore.kernel.org/linux-pci/20230311133453.63246-1-sven@svenpeter.dev
Fixes: 476c41ed45 ("PCI: apple: Implement MSI support")
Signed-off-by: Sven Peter <sven@svenpeter.dev>
Signed-off-by: Krzysztof Wilczyński <kwilczynski@kernel.org>
Reviewed-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>
Reviewed-by: Eric Curtin <ecurtin@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2023-09-13 09:48:20 +02:00
arch arm64: dts: qcom: sc8280xp-x13s: Unreserve NC pins 2023-09-13 09:48:18 +02:00
block blk-cgroup: Fix NULL deref caused by blkg_policy_data being installed before init 2023-09-13 09:48:19 +02:00
certs KEYS: Add missing function documentation 2023-04-24 16:15:52 +03:00
crypto crypto: api - Use work queue in crypto_destroy_instance 2023-09-13 09:48:03 +02:00
Documentation dt-bindings: sc16is7xx: Add property to change GPIO function 2023-09-06 21:25:32 +01:00
drivers PCI: apple: Initialize pcie->nvecs before use 2023-09-13 09:48:20 +02:00
fs quota: fix dqput() to follow the guarantees dquot_srcu should provide 2023-09-13 09:48:09 +02:00
include dt-bindings: clock: qcom,gcc-sc8280xp: Add missing GDSCs 2023-09-13 09:48:20 +02:00
init sched/psi: Select KERNFS as needed 2023-09-13 09:47:58 +02:00
io_uring io_uring: fix drain stalls by invalid SQE 2023-09-13 09:48:17 +02:00
ipc Merge branch 'work.namespace' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2023-02-24 19:20:07 -08:00
kernel audit: fix possible soft lockup in __audit_inode_child() 2023-09-13 09:48:17 +02:00
lib sbitmap: fix batching wakeup 2023-09-13 09:47:55 +02:00
LICENSES LICENSES: Add the copyleft-next-0.3.1 license 2022-11-08 15:44:01 +01:00
mm net-memcg: Fix scope of sockmem pressure indicators 2023-09-13 09:48:05 +02:00
net netrom: Deny concurrent connect(). 2023-09-13 09:48:09 +02:00
rust rust: macros: vtable: fix HAS_* redefinition (gen_const_name) 2023-08-23 17:32:36 +02:00
samples samples/bpf: fix broken map lookup probe 2023-09-13 09:48:06 +02:00
scripts scripts/gdb: fix 'lx-lsmod' show the wrong size 2023-09-13 09:48:05 +02:00
security smackfs: Prevent underflow in smk_set_cipso() 2023-09-13 09:48:16 +02:00
sound ALSA: ac97: Fix possible error value of *rac97 2023-09-13 09:48:19 +02:00
tools selftests: memfd: error out test process when child test fails 2023-09-13 09:48:06 +02:00
usr initramfs: Check negative timestamp to prevent broken cpio archive 2023-04-16 17:37:01 +09:00
virt KVM: Grab a reference to KVM for VM and vCPU stats file descriptors 2023-08-03 10:26:01 +02:00
.clang-format cxl for v6.4 2023-04-30 11:51:51 -07:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.get_maintainer.ignore get_maintainer: add Alan to .get_maintainer.ignore 2022-08-20 15:17:44 -07:00
.gitattributes .gitattributes: use 'dts' diff driver for *.dtso files 2023-02-26 15:28:23 +09:00
.gitignore linux-kselftest-kunit-6.4-rc1 2023-04-24 12:31:32 -07:00
.mailmap mailmap: add entries for Ben Dooks 2023-06-19 13:19:35 -07: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 MAINTAINERS: sctp: move Neil to CREDITS 2023-05-12 08:51:32 +01: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 Networking fixes for 6.4-rc8, including fixes from ipsec, bpf, 2023-06-22 17:59:51 -07:00
Makefile kbuild: rust_is_available: remove -v option 2023-09-13 09:48:03 +02:00
README Drop all 00-INDEX files from Documentation/ 2018-09-09 15:08:58 -06:00

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.