No description
  • C 96.8%
  • Assembly 0.9%
  • Rust 0.7%
  • Shell 0.6%
  • Python 0.5%
  • Other 0.3%
Find a file
Nikita Yushchenko f36e30822f net: renesas: rswitch: fix possible early skb release
[ Upstream commit 5cb099902b ]

When sending frame split into multiple descriptors, hardware processes
descriptors one by one, including writing back DT values. The first
descriptor could be already marked as completed when processing of
next descriptors for the same frame is still in progress.

Although only the last descriptor is configured to generate interrupt,
completion of the first descriptor could be noticed by the driver when
handling interrupt for the previous frame.

Currently, driver stores skb in the entry that corresponds to the first
descriptor. This results into skb could be unmapped and freed when
hardware did not complete the send yet. This opens a window for
corrupting the data being sent.

Fix this by saving skb in the entry that corresponds to the last
descriptor used to send the frame.

Fixes: d2c96b9d5f ("net: rswitch: Add jumbo frames handling for TX")
Signed-off-by: Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Reviewed-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
Link: https://patch.msgid.link/20241208095004.69468-2-nikita.yoush@cogentembedded.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2024-12-19 18:13:16 +01:00
arch riscv: Fix IPIs usage in kfence_protect_page() 2024-12-19 18:13:01 +01:00
block block: get wp_offset by bdev_offset_from_zone_start 2024-12-19 18:13:16 +01:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto crypto: ecdsa - Avoid signed integer overflow on signature decoding 2024-12-14 20:03:36 +01:00
Documentation Documentation: networking: Add a caveat to nexthop_compat_mode sysctl 2024-12-19 18:13:16 +01:00
drivers net: renesas: rswitch: fix possible early skb release 2024-12-19 18:13:16 +01:00
fs cifs: Fix rmdir failure due to ongoing I/O on deleted file 2024-12-19 18:13:16 +01:00
include net: mscc: ocelot: be resilient to loss of PTP packets during transmission 2024-12-19 18:13:14 +01:00
init Compiler Attributes: disable __counted_by for clang < 19.1.3 2024-12-05 14:02:45 +01:00
io_uring io_uring/tctx: work around xa_store() allocation error issue 2024-12-14 20:04:10 +01:00
ipc ipc: fix memleak if msg_init_ns failed in create_ipc_ns 2024-12-05 14:03:02 +01:00
kernel bpf: Augment raw_tp arguments with PTR_MAYBE_NULL 2024-12-19 18:13:10 +01:00
lib timekeeping: Remove CONFIG_DEBUG_TIMEKEEPING 2024-12-14 20:04:16 +01:00
LICENSES LICENSES: add 0BSD license text 2024-09-01 20:43:24 -07:00
mm memcg: slub: fix SUnreclaim for post charged objects 2024-12-19 18:13:01 +01:00
net net: defer final 'struct net' free in netns dismantle 2024-12-19 18:13:13 +01:00
rust rust: enable arbitrary_self_types and remove Receiver 2024-12-14 20:03:34 +01:00
samples samples/bpf: Fix a resource leak 2024-12-14 20:03:46 +01:00
scripts setlocalversion: work around "git describe" performance 2024-12-14 20:04:10 +01:00
security apparmor: test: Fix memory leak for aa_unpack_strdup() 2024-12-05 14:02:46 +01:00
sound ASoC: amd: yc: Fix the wrong return value 2024-12-19 18:13:15 +01:00
tools selftests: mlxsw: sharedbuffer: Ensure no extra packets are counted 2024-12-19 18:13:12 +01:00
usr initramfs: shorten cmd_initfs in usr/Makefile 2024-07-16 01:07:52 +09:00
virt KVM: x86: switch hugepage recovery thread to vhost_task 2024-12-05 14:02:43 +01:00
.clang-format clang-format: Update with v6.11-rc1's for_each macro list 2024-08-02 13:20:31 +02:00
.cocciconfig scripts: add Linux .cocciconfig for coccinelle 2016-07-22 12:13:39 +02:00
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore Add Jeff Kirsher to .get_maintainer.ignore 2024-03-08 11:36:54 +00:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore Kbuild updates for v6.12 2024-09-24 13:02:06 -07:00
.mailmap mailmap: add entry for Thorsten Blum 2024-11-07 14:14:59 -08: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: Remove self from DSA entry 2024-11-03 12:52:38 -08: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 MAINTAINERS: update location of media main tree 2024-12-05 14:02:42 +01:00
Makefile Linux 6.12.5 2024-12-14 20:04:17 +01:00
README README: Fix spelling 2024-03-18 03:36:32 -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 reStructuredText 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.