linux-uconsole/drivers
Sebastian Andrzej Siewior 8e1428c9b3 net: dp83640: expire old TX-skb
[ Upstream commit 53bc8d2af0 ]

During sendmsg() a cloned skb is saved via dp83640_txtstamp() in
->tx_queue. After the NIC sends this packet, the PHY will reply with a
timestamp for that TX packet. If the cable is pulled at the right time I
don't see that packet. It might gets flushed as part of queue shutdown
on NIC's side.
Once the link is up again then after the next sendmsg() we enqueue
another skb in dp83640_txtstamp() and have two on the list. Then the PHY
will send a reply and decode_txts() attaches it to the first skb on the
list.
No crash occurs since refcounting works but we are one packet behind.
linuxptp/ptp4l usually closes the socket and opens a new one (in such a
timeout case) so those "stale" replies never get there. However it does
not resume normal operation anymore.

Purge old skbs in decode_txts().

Fixes: cb646e2b02 ("ptp: Added a clock driver for the National Semiconductor PHYTER.")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
Acked-by: Richard Cochran <richardcochran@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2019-02-12 19:47:21 +01:00
..
accessibility
acpi ACPI/APEI: Clear GHES block_status before panic() 2019-02-12 19:47:15 +01:00
amba
android binder: fix race that allows malicious free of live buffer 2018-12-05 19:32:11 +01:00
ata sata_rcar: fix deferred probing 2019-02-12 19:47:08 +01:00
atm
auxdisplay auxdisplay: charlcd: fix x/y command parsing 2019-01-13 09:51:03 +01:00
base kobject: return error code if writing /sys/.../uevent fails 2019-02-12 19:47:06 +01:00
bcma
block block/swim3: Fix -EBUSY error when re-opening device after unmount 2019-02-12 19:47:18 +01:00
bluetooth Bluetooth: hci_bcm: Handle deferred probing for the clock supply 2019-02-12 19:47:13 +01:00
bus
cdrom gdrom: fix a memory leak bug 2019-02-12 19:47:18 +01:00
char char/mwave: fix potential Spectre v1 vulnerability 2019-01-31 08:14:36 +01:00
clk clk: imx6sl: ensure MMDC CH0 handshake is bypassed 2019-02-12 19:47:08 +01:00
clocksource clocksource/drivers/integrator-ap: Add missing of_node_put() 2019-01-26 09:32:42 +01:00
connector
cpufreq cpufreq: scmi: Fix frequency invariance in slow path 2019-01-16 22:04:29 +01:00
cpuidle cpuidle: big.LITTLE: fix refcount leak 2019-02-12 19:47:08 +01:00
crypto crypto: ux500 - Use proper enum in hash_set_dma_transfer 2019-02-12 19:47:17 +01:00
dax mm, devm_memremap_pages: fix shutdown handling 2019-01-13 09:51:04 +01:00
dca
devfreq
dio
dma dmaengine: xilinx_dma: Remove __aligned attribute on zynqmp_dma_desc_ll 2019-02-12 19:47:02 +01:00
dma-buf
edac EDAC, skx_edac: Fix logical channel intermediate decoding 2018-11-13 11:08:44 -08:00
eisa
extcon
firewire
firmware firmware/efi: Add NULL pointer checks in efivars API functions 2019-02-12 19:47:04 +01:00
fmc
fpga fpga: altera-cvp: fix 'bad IO access' on x86_64 2019-02-12 19:46:59 +01:00
fsi fsi: master-ast-cf: select GENERIC_ALLOCATOR 2018-12-17 09:24:35 +01:00
gnss gnss: sirf: fix activation retry handling 2018-12-13 09:16:22 +01:00
gpio gpio: mt7621: pass mediatek_gpio_bank_probe() failure up the stack 2019-02-12 19:47:06 +01:00
gpu drm/amd/display: validate extended dongle caps 2019-02-12 19:47:15 +01:00
hid HID: lenovo: Add checks to fix of_led_classdev_register 2019-02-12 19:47:19 +01:00
hsi
hv Drivers: hv: vmbus: Check for ring when getting debug info 2019-01-31 08:14:36 +01:00
hwmon hwmon: (lm80) fix a missing check of bus read in lm80 probe 2019-02-12 19:47:16 +01:00
hwspinlock
hwtracing intel_th: msu: Fix an off-by-one in attribute store 2019-01-13 09:51:10 +01:00
i2c i2c: sh_mobile: Add support for r8a774c0 (RZ/G2E) 2019-02-12 19:47:11 +01:00
ide ide: fix a typo in the settings proc file name 2019-01-31 08:14:42 +01:00
idle
iio iio: accel: kxcjk1013: Add KIOX010A ACPI Hardware-ID 2019-02-12 19:47:02 +01:00
infiniband IB/hfi1: Unreserve a reserved request when it is completed 2019-02-12 19:47:06 +01:00
input Input: uinput - fix undefined behavior in uinput_validate_absinfo() 2019-01-31 08:14:37 +01:00
iommu iommu/arm-smmu-v3: Use explicit mb() when moving cons pointer 2019-02-12 19:47:07 +01:00
ipack
irqchip irqchip/gic-v3-its: Align PCI Multi-MSI allocation on their size 2019-01-31 08:14:39 +01:00
isdn isdn: hisax: hfc_pci: Fix a possible concurrency use-after-free bug in HFCPCI_l1hw() 2019-02-12 19:47:18 +01:00
leds leds: pwm: silently error out on EPROBE_DEFER 2019-01-13 09:51:08 +01:00
lightnvm lightnvm: pblk: add lock protection to list operations 2019-02-12 19:47:08 +01:00
macintosh
mailbox mailbox: PCC: handle parse error 2018-11-13 11:08:18 -08:00
mcb
md md: fix raid10 hang issue caused by barrier 2019-02-12 19:47:15 +01:00
media media: coda: fix H.264 deblocking filter controls 2019-02-12 19:47:07 +01:00
memory memory: ti-aemif: fix a potential NULL-pointer dereference 2018-09-06 10:04:07 -07:00
memstick memstick: Prevent memstick host from getting runtime suspended during card detection 2019-02-12 19:47:10 +01:00
message
mfd mfd: tps6586x: Handle interrupts on suspend 2019-01-22 21:40:33 +01:00
misc misc: ibmvsm: Fix potential NULL pointer dereference 2019-01-31 08:14:35 +01:00
mmc mmc: jz4740: Get CD/WP GPIOs from descriptors 2019-02-12 19:47:10 +01:00
mtd mtd: rawnand: qcom: fix memory corruption that causes panic 2019-01-16 22:04:34 +01:00
mux mux: adgs1408: use the correct MODULE_LICENSE 2018-10-12 17:36:39 +02:00
net net: dp83640: expire old TX-skb 2019-02-12 19:47:21 +01:00
nfc NFC: nfcmrvl_uart: fix OF child-node lookup 2018-11-13 11:08:48 -08:00
ntb
nubus
nvdimm mm, devm_memremap_pages: fix shutdown handling 2019-01-13 09:51:04 +01:00
nvme nvmet-rdma: fix null dereference under heavy load 2019-01-31 08:14:41 +01:00
nvmem nvmem: check the return value of nvmem_add_cells() 2018-11-13 11:08:35 -08:00
of of: overlay: do not duplicate properties from overlay for new nodes 2019-02-06 17:30:16 +01:00
opp OPP: Use opp_table->regulators to verify no regulator case 2019-02-12 19:47:08 +01:00
oprofile
parisc
parport
pci PCI: imx: Enable MSI from downstream components 2019-02-12 19:47:19 +01:00
pcmcia pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges 2018-11-13 11:08:17 -08:00
perf perf: arm_spe: handle devm_kasprintf() failure 2019-02-12 19:47:03 +01:00
phy phy: sun4i-usb: add support for missing USB PHY index 2019-02-12 19:47:09 +01:00
pinctrl pinctrl: meson: meson8b: fix the GPIO function for the GPIOAO pins 2019-02-12 19:47:16 +01:00
platform platform/x86: mlx-platform: Fix tachometer registers 2019-02-12 19:47:08 +01:00
pnp
power power: supply: olpc_battery: correct the temperature units 2019-01-13 09:51:10 +01:00
powercap
pps
ps3
ptp ptp: Fix pass zero to ERR_PTR() in ptp_clock_register 2019-02-12 19:47:01 +01:00
pwm
rapidio
ras
regulator regulator: fix crash caused by null driver data 2018-09-20 09:04:51 -07:00
remoteproc remoteproc: qcom: q6v5: Propagate EPROBE_DEFER 2018-11-13 11:08:52 -08:00
reset
rpmsg rpmsg: smd: fix memory leak on channel create 2018-11-13 11:08:55 -08:00
rtc rtc: m41t80: Correct alarm month range with RTC reads 2019-01-09 17:38:48 +01:00
s390 s390/zcrypt: improve special ap message cmd handling 2019-02-12 19:47:04 +01:00
sbus drivers/sbus/char: add of_node_put() 2018-12-21 14:15:17 +01:00
scsi scsi: smartpqi: increase fw status register read timeout 2019-02-12 19:47:13 +01:00
sfi
sh
siox
slimbus slimbus: ngd: mark PM functions as __maybe_unused 2018-12-19 19:19:49 +01:00
sn
soc soc: bcm: brcmstb: Don't leak device tree node reference 2019-02-12 19:47:03 +01:00
soundwire
spi spi: bcm2835: Unbreak the build of esoteric configs 2019-01-09 17:38:49 +01:00
spmi
ssb
staging staging: pi433: fix potential null dereference 2019-02-12 19:47:02 +01:00
target scsi: target/core: Make sure that target_wait_for_sess_cmds() waits long enough 2019-01-26 09:32:38 +01:00
tc TC: Set DMA masks for devices 2018-11-13 11:08:51 -08:00
tee tee: optee: avoid possible double list_del() 2019-02-12 19:47:08 +01:00
thermal thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set 2019-02-12 19:47:21 +01:00
thunderbolt thunderbolt: Prevent root port runtime suspend during NVM upgrade 2018-12-17 09:24:36 +01:00
tty tty: serial: samsung: Properly set flags in autoCTS mode 2019-02-12 19:47:11 +01:00
uio uio: Fix an Oops on load 2018-11-27 16:13:09 +01:00
usb usb: musb: dsps: fix runtime pm for peripheral mode 2019-02-12 19:47:12 +01:00
uwb
vfio vfio/type1: Fix unmap overflow off-by-one 2019-01-16 22:04:34 +01:00
vhost vhost: fix OOB in get_rx_bufs() 2019-02-06 17:30:08 +01:00
video fbdev: fbcon: Fix unregister crash when more than one framebuffer 2019-02-12 19:47:15 +01:00
virt vbox: fix link error with 'gcc -Og' 2019-02-12 19:46:59 +01:00
virtio
visorbus
vlynq
vme
w1 w1: omap-hdq: fix missing bus unregister at removal 2018-11-13 11:08:48 -08:00
watchdog watchdog: renesas_wdt: don't set divider while watchdog is running 2019-02-12 19:47:07 +01:00
xen xen: Fix x86 sched_clock() interface for xen 2019-01-22 21:40:32 +01:00
zorro
Kconfig
Makefile