llc: properly handle dev_queue_xmit() return value
Cong Wang authored
[ Upstream commit b85ab56c

 ]

llc_conn_send_pdu() pushes the skb into write queue and
calls llc_conn_send_pdus() to flush them out. However, the
status of dev_queue_xmit() is not returned to caller,
in this case, llc_conn_state_process().

llc_conn_state_process() needs hold the skb no matter
success or failure, because it still uses it after that,
therefore we should hold skb before dev_queue_xmit() when
that skb is the one being processed by llc_conn_state_process().

For other callers, they can just pass NULL and ignore
the return value as they are.
Reported-by: default avatarNoam Rathaus <noamr@beyondsecurity.com>
Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
Signed-off-by: default avatarSasha Levin <alexander.levin@microsoft.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
65bdc344
Name Last commit Last update
..
acpi ACPICA: Tables: Fix an issue that FACS initialization is performed twice
asm-generic asm-generic: provide generic_pmdp_establish()
clocksource ARM: pxa: Add non device-tree timer link to clocksource
crypto crypto: hash - introduce crypto_hash_alg_has_setkey()
drm drm/ttm, drm/vmwgfx: Relax permission checking when opening surfaces
dt-bindings ARM: dts: Fix omap3 off mode pull defines
keys KEYS: Restore partial ID matching functionality for asymmetric keys
kvm arm/arm64: KVM: Keep elrsr/aisr in sync with software model
linux x86/power: Fix swsusp_arch_resume prototype
math-emu math-emu: fix floating-point to integer overflow detection
media Merge branch 'patchwork' into v4l_for_linus
memory ddr: add LPDDR2 data from JESD209-2
misc cxl: Add new header for call backs and structs
net llc: properly handle dev_queue_xmit() return value
pcmcia pcmcia/ds.h: introduce helper for pcmcia_driver module boilerplate
ras PCI/AER: Rename PCI_ERR_UNC_TRAIN to PCI_ERR_UNC_UND
rdma IB/cma: Fix a race condition in iboe_addr_get_sgid()
rxrpc include/rxrpc/types.h: Remove unused header
scsi scsi: sg: disable SET_FORCE_LOW_DMA
soc/tegra ARM: tegra: Convert PMC to a driver
sound ALSA: pcm: Return -EBUSY for OSS ioctls changing busy streams
target target: Avoid early CMD_T_PRE_EXECUTE failures during ABORT_TASK
trace tracing/hrtimer: Fix tracing bugs by taking all clock bases and modes into account
uapi net: Fix vlan untag for bridge and vlan_dev with reorder_hdr off
video Merge tag 'fbdev-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux
xen fix xen_swiotlb_dma_mmap prototype
Kbuild UAPI: remove empty Kbuild files