linux/drivers
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
..
accel accel/qaic: Add AIC080 support 2024-12-14 20:03:46 +01:00
accessibility treewide: remove unnecessary <linux/version.h> inclusion 2024-08-12 18:36:44 +09:00
acpi ACPI: resource: Fix memory resource type union access 2024-12-19 18:13:15 +01:00
amba ARM: 9416/1: amba: make amba_bustype constant 2024-09-04 15:01:17 +01:00
android binder: add delivered_freeze to debugfs output 2024-12-09 10:41:11 +01:00
ata ata: sata_highbank: fix OF node reference leak in highbank_initialize_phys() 2024-12-19 18:13:03 +01:00
atm atm: idt77252: prevent use after free in dequeue_rx() 2024-08-12 10:41:44 +01:00
auxdisplay move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
base regmap: maple: Provide lockdep (sub)class for maple tree's internal lock 2024-12-14 20:03:40 +01:00
bcma PCI: Rename CRS Completion Status to RRS 2024-09-10 19:52:30 -05:00
block zram: clear IDLE flag in mark_idle() 2024-12-14 20:03:11 +01:00
bluetooth Bluetooth: btusb: Add 3 HWIDs for MT7925 2024-12-14 20:03:57 +01:00
bus bus: mhi: host: Switch trace_mhi_gen_tre fields to native endian 2024-12-05 14:02:38 +01:00
cache cache: StarFive: Require a 64-bit system 2024-08-01 07:15:02 -07:00
cdrom cdrom: Avoid barrier_nospec() in cdrom_ioctl_media_changed() 2024-10-17 19:47:15 -06:00
cdx cdx: remove unused struct 'cdx_mcdi_copy_buffer' 2024-07-31 13:56:50 +02:00
char tpm: Disable TPM on tpm2_create_primary() failure 2024-11-13 21:10:45 +02:00
clk clk: en7523: Fix wrong BUS clock for EN7581 2024-12-19 18:12:58 +01:00
clocksource clocksource/drivers/timer-ti-dm: Fix child node refcount handling 2024-12-05 14:01:23 +01:00
comedi comedi: Flush partial mappings in error case 2024-12-05 14:02:46 +01:00
connector connector/cn_proc: revert "connector: Fix proc_event_num_listeners count not cleared" 2024-02-13 11:15:44 +01:00
counter counter: stm32-timer-cnt: fix device_node handling in probe_encoder() 2024-12-05 14:03:01 +01:00
cpufreq cpufreq: scmi: Fix cleanup path when boost enablement fails 2024-12-09 10:41:02 +01:00
cpuidle pmdomain core: 2024-09-18 10:49:45 +02:00
crypto crypto: hisilicon/debugfs - fix the struct pointer incorrectly offset problem 2024-12-19 18:13:02 +01:00
cxl cxl/port: Prevent out-of-order decoder allocation 2024-10-25 16:07:03 -05:00
dax dax: delete a stale directory pmem 2024-12-05 14:02:13 +01:00
dca Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
devfreq PM / devfreq: imx-bus: Use of_property_present() 2024-09-05 01:23:56 +09:00
dio dio: Have dio_bus_match() callback take a const * 2024-07-10 15:38:14 +02:00
dma dmaengine fixes for v6.12 2024-11-03 10:15:50 -10:00
dma-buf dma-fence: Use kernel's sort for merging fences 2024-12-14 20:03:30 +01:00
dpll dpll: add Embedded SYNC feature for a pin 2024-08-26 19:21:14 -07:00
edac EDAC/igen6: Avoid segmentation fault on module unload 2024-12-05 14:01:18 +01:00
eisa driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
extcon Char/Misc and other driver changes for 6.12-rc1 2024-09-26 10:13:08 -07:00
firewire firewire: core: fix invalid port index for parent device 2024-10-27 11:14:35 +09:00
firmware firmware: qcom: scm: Allow QSEECOM on Dell XPS 13 9345 2024-12-14 20:03:40 +01:00
fpga move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
fsi move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
gnss [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
gpio gpio: graniterapids: Check if GPIO line can be used for IRQs 2024-12-19 18:13:03 +01:00
gpu amdgpu/uvd: get ring reference from rq scheduler 2024-12-19 18:13:11 +01:00
greybus move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
hid HID: magicmouse: Apple Magic Trackpad 2 USB-C driver support 2024-12-14 20:03:41 +01:00
hsi HSI: omap-ssi: Remove unnecessary debugfs_create_dir() error check 2024-08-27 15:28:56 +02:00
hte hte: tegra-194: add missing MODULE_DESCRIPTION() macro 2024-06-19 12:24:03 -07:00
hv drm next for 6.12-rc1 2024-09-19 10:18:15 +02:00
hwmon hwmon: (nct6775) Add 665-ACE/600M-CL to ASUS WMI monitoring list 2024-12-14 20:03:37 +01:00
hwspinlock hwspinlock: qcom: implement bust operation 2024-05-29 12:52:26 -07:00
hwtracing [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
i2c i2c: i801: Add support for Intel Panther Lake 2024-12-14 20:03:55 +01:00
i3c i3c: Use i3cdev->desc->info instead of calling i3c_device_get_info() to avoid deadlock 2024-12-14 20:04:05 +01:00
idle intel_idle: fix ACPI _CST matching for newer Xeon platforms 2024-09-25 22:30:33 +02:00
iio iio: light: ltr501: Add LTER0303 to the supported devices 2024-12-14 20:04:08 +01:00
infiniband RDMA/bnxt_re: Correct the sequence of device suspend 2024-12-05 14:02:16 +01:00
input Input: cs40l50 - fix wrong usage of INIT_WORK() 2024-12-05 14:03:02 +01:00
interconnect interconnect: qcom: icc-rpmh: probe defer incase of missing QoS clock dependency 2024-12-05 14:02:37 +01:00
iommu iommu/vt-d: Fix qi_batch NULL pointer with nested parent domain 2024-12-19 18:13:06 +01:00
ipack driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
irqchip irqchip/gicv3-its: Add workaround for hip09 ITS erratum 162100801 2024-12-14 20:04:09 +01:00
isdn move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
leds leds: class: Protect brightness_show() with led_cdev->led_access mutex 2024-12-14 20:04:01 +01:00
macintosh move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
mailbox mailbox: pcc: Check before sending MCTP PCC response ACK 2024-12-14 20:04:03 +01:00
mcb Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
md dm: Fix dm-zoned-reclaim zone write pointer alignment 2024-12-19 18:13:00 +01:00
media media: ipu6: use the IPU6 DMA mapping APIs to do mapping 2024-12-14 20:04:14 +01:00
memory memory: pl353-smc: simplify with scoped for each OF child loop 2024-08-31 07:44:24 +02:00
memstick move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
message scsi: fusion: Remove unused variable 'rc' 2024-12-05 14:02:10 +01:00
mfd mfd: rt5033: Fix missing regmap_del_irq_chip() 2024-12-05 14:02:10 +01:00
misc misc: eeprom: eeprom_93cx6: Add quirk for extra read clock cycle 2024-12-14 20:04:09 +01:00
mmc mmc: sdhci-esdhc-imx: enable quirks SDHCI_QUIRK_NO_LED 2024-12-14 20:03:40 +01:00
most Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
mtd mtd: spinand: winbond: Fix 512GW, 01GW, 01JW and 02JW ECC information 2024-12-09 10:41:05 +01:00
mux mux: remove usage of the deprecated ida_simple_xx() API 2024-04-29 08:20:07 -07:00
net net: renesas: rswitch: fix possible early skb release 2024-12-19 18:13:16 +01:00
nfc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
ntb ntb: Force physically contiguous allocation of rx ring buffers 2024-09-20 10:51:25 -04:00
nubus nubus: Make nubus_bus_type static and constant 2024-01-03 13:33:59 +01:00
nvdimm nvdimm: rectify the illogical code within nd_dax_probe() 2024-12-14 20:04:02 +01:00
nvme Revert "nvme: make keep-alive synchronous operation" 2024-12-14 20:04:09 +01:00
nvmem nvmem: core: Check read_only flag for force_ro in bin_attr_nvmem_write() 2024-12-09 10:41:03 +01:00
of of/fdt: add dt_phys arg to early_init_dt_scan and early_init_dt_verify 2024-12-05 14:01:32 +01:00
opp OPP: fix error code in dev_pm_opp_set_config() 2024-10-02 01:27:50 +02:00
parisc parisc: pdc_stable: Constify struct kobj_type 2024-09-09 08:53:17 +02:00
parport parport: Proper fix for array out-of-bounds access 2024-10-13 18:17:35 +02:00
pci PCI: Add ACS quirk for Wangxun FF5xxx NICs 2024-12-14 20:04:05 +01:00
pcmcia move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
peci move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
perf perf/arm-cmn: Ensure port and device id bits are set properly 2024-12-05 14:03:06 +01:00
phy phy: realtek: usb: fix NULL deref in rtk_usb3phy_probe 2024-12-05 14:02:38 +01:00
pinctrl pinctrl: qcom: spmi-mpp: Add PM8937 compatible 2024-12-14 20:04:02 +01:00
platform platform/x86: asus-wmi: Ignore return value when writing thermal policy 2024-12-14 20:03:04 +01:00
pmdomain pmdomain: imx: gpcv2: Adjust delay after power up handshake 2024-12-14 20:03:26 +01:00
pnp driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
power power: reset: ep93xx: add AUXILIARY_BUS dependency 2024-12-05 14:02:30 +01:00
powercap powercap: dtpm_devfreq: Fix error check against dev_pm_qos_add_request() 2024-10-21 13:23:06 +02:00
pps [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
ps3 driver/ps3: Include <video/cmdline.h> for mode parsing 2023-02-20 14:56:51 +01:00
ptp ptp: kvm: x86: Return EOPNOTSUPP instead of ENODEV from kvm_arch_ptp_init() 2024-12-19 18:13:13 +01:00
pwm pwm: Assume a disabled PWM to emit a constant inactive output 2024-12-05 14:01:34 +01:00
rapidio driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
ras RAS/AMD/ATL: Translate normalized to system physical addresses using PRM 2024-08-01 14:36:29 +02:00
regulator regulator: axp20x: AXP717: set ramp_delay 2024-12-19 18:13:14 +01:00
remoteproc remoteproc: qcom: pas: enable SAR2130P audio DSP support 2024-12-14 20:04:05 +01:00
reset reset: starfive: jh71x0: Fix accessing the empty member on JH7110 SoC 2024-09-30 14:24:37 +02:00
rpmsg rpmsg: glink: use only lower 16-bits of param2 for CMD_OPEN name length 2024-12-05 14:02:25 +01:00
rtc rtc: cmos: avoid taking rtc_lock for extended period of time 2024-12-14 20:04:09 +01:00
s390 s390/cio: Do not unregister the subchannel based on DNV 2024-12-05 14:01:11 +01:00
sbus [tree-wide] finally take no_llseek out 2024-09-27 08:18:43 -07:00
scsi scsi: st: Add MTIOCGET and MTLOAD to ioctls allowed after device reset 2024-12-14 20:04:02 +01:00
sh sh: intc: Fix use-after-free bug in register_intc_controller() 2024-12-05 14:03:10 +01:00
siox Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
slimbus slimbus: qcom-ngd-ctrl: use 'time_left' variable with wait_for_completion_timeout() 2024-09-03 12:10:38 +02:00
soc soc: imx8m: Probe the SoC driver as platform driver 2024-12-14 20:03:40 +01:00
soundwire soundwire: intel_ace2x: Send PDI stream number during prepare 2024-10-17 12:11:19 +01:00
spi spi: aspeed: Fix an error handling path in aspeed_spi_[read|write]_user() 2024-12-19 18:13:14 +01:00
spmi spmi: pmic-arb: fix return path in for_each_available_child_of_node() 2024-12-09 10:41:03 +01:00
ssb driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
staging staging: vchiq_arm: Fix missing refcount decrement in error path for fw_node 2024-12-05 14:03:01 +01:00
target scsi: target: Fix incorrect function name in pscsi_create_type_disk() 2024-12-05 14:02:10 +01:00
tc driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
tee optee: Fix a NULL vs IS_ERR() check 2024-09-09 12:22:06 +02:00
thermal thermal/drivers/qcom/tsens-v1: Add support for MSM8937 tsens 2024-12-14 20:04:02 +01:00
thunderbolt thunderbolt: Fixes for v6.12-rc7 2024-11-07 16:11:57 +01:00
tty serial: sh-sci: Check if TX data was written to device in .tx_empty() 2024-12-19 18:12:58 +01:00
ufs scsi: ufs: core: Update compl_time_stamp_local_clock after completing a cqe 2024-12-19 18:13:04 +01:00
uio uio: Constify struct kobj_type 2024-09-11 16:02:54 +02:00
usb usb: dwc3: xilinx: make sure pipe clock is deselected in usb2 only mode 2024-12-19 18:13:05 +01:00
vdpa vdpa/mlx5: Fix suboptimal range on iotlb iteration 2024-12-05 14:02:28 +01:00
vfio vfio/mlx5: Align the page tracking max message size with the device capability 2024-12-14 20:04:14 +01:00
vhost virtio: bugfixes 2024-10-07 11:33:26 -07:00
video fbdev: sh7760fb: Fix a possible memory leak in sh7760fb_alloc_mem() 2024-12-05 14:02:14 +01:00
virt drivers/virt: pkvm: Don't fail ioremap() call if MMIO_GUARD fails 2024-12-14 20:03:17 +01:00
virtio virtio_ring: add a func argument 'recycle_done' to virtqueue_resize() 2024-12-19 18:12:59 +01:00
w1 w1: ds2482: Drop explicit initialization of struct i2c_device_id::driver_data to 0 2024-09-06 19:18:32 +02:00
watchdog watchdog: rti: of: honor timeout-sec property 2024-12-14 20:03:21 +01:00
xen xen: Fix the issue of resource not being properly released in xenbus_dev_probe() 2024-12-05 14:02:40 +01:00
zorro Driver core changes for 6.11-rc1 2024-07-25 10:42:22 -07:00
Kconfig - removed AR7 platform support 2023-11-10 09:19:46 -08:00
Makefile leds: Init leds class earlier 2024-09-04 17:24:58 -05:00