Linux 5.4.302
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.4.302 kernel.
This is the LAST 5.4.y release. It is now end-of-life and should not be used by anyone, anymore. As of this point in time, there are 1539 documented unfixed CVEs for this kernel branch, and that number will only increase over time as more CVEs get assigned for kernel bugs.
All users of the 5.4 kernel series must upgrade to a newer branch as this point in time.
The updated 5.4.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.4.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 arch/arc/include/asm/bitops.h | 2 arch/mips/boot/dts/lantiq/danube.dtsi | 6 arch/mips/lantiq/xway/sysctrl.c | 2 arch/mips/mti-malta/malta-init.c | 20 - arch/powerpc/kernel/eeh_driver.c | 2 arch/sparc/include/asm/elf_64.h | 1 arch/sparc/kernel/module.c | 1 arch/x86/entry/vsyscall/vsyscall_64.c | 17 + arch/x86/kernel/cpu/bugs.c | 5 arch/x86/kernel/cpu/resctrl/monitor.c | 10 drivers/acpi/acpi_video.c | 4 drivers/acpi/acpica/dsmethod.c | 10 drivers/acpi/property.c | 24 + drivers/acpi/video_detect.c | 8 drivers/ata/libata-scsi.c | 8 drivers/base/devcoredump.c | 138 ++++++---- drivers/base/regmap/regmap-slimbus.c | 6 drivers/bluetooth/btusb.c | 13 drivers/bluetooth/hci_bcsp.c | 3 drivers/char/misc.c | 8 drivers/clocksource/timer-vf-pit.c | 22 - drivers/cpufreq/longhaul.c | 3 drivers/dma/dw-edma/dw-edma-core.c | 22 + drivers/dma/mv_xor.c | 4 drivers/dma/sh/shdma-base.c | 25 + drivers/dma/sh/shdmac.c | 17 - drivers/edac/altera_edac.c | 22 + drivers/extcon/extcon-adc-jack.c | 2 drivers/firmware/arm_scmi/scmi_pm_domain.c | 13 drivers/gpu/drm/amd/amdkfd/kfd_chardev.c | 8 drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 9 drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 2 drivers/gpu/drm/nouveau/nvkm/core/enum.c | 2 drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c | 5 drivers/hid/hid-ids.h | 7 drivers/hid/hid-quirks.c | 14 - drivers/hwmon/dell-smm-hwmon.c | 7 drivers/iio/adc/spear_adc.c | 9 drivers/input/keyboard/cros_ec_keyb.c | 6 drivers/input/misc/ati_remote2.c | 2 drivers/input/misc/cm109.c | 2 drivers/input/misc/powermate.c | 2 drivers/input/misc/yealink.c | 2 drivers/input/tablet/acecad.c | 2 drivers/input/tablet/pegasus_notetaker.c | 11 drivers/irqchip/irq-gic-v2m.c | 13 drivers/isdn/hardware/mISDN/hfcsusb.c | 18 - drivers/media/i2c/ir-kbd-i2c.c | 6 drivers/media/pci/ivtv/ivtv-alsa-pcm.c | 2 drivers/media/pci/ivtv/ivtv-driver.h | 3 drivers/media/pci/ivtv/ivtv-fileops.c | 18 - drivers/media/pci/ivtv/ivtv-irq.c | 4 drivers/media/rc/imon.c | 61 ++-- drivers/media/rc/redrat3.c | 2 drivers/media/tuners/xc4000.c | 8 drivers/media/tuners/xc5000.c | 12 drivers/memstick/core/memstick.c | 8 drivers/mfd/madera-core.c | 4 drivers/mfd/stmpe-i2c.c | 1 drivers/mfd/stmpe.c | 3 drivers/mmc/host/renesas_sdhi_core.c | 6 drivers/mmc/host/sdhci-msm.c | 15 + drivers/net/can/usb/gs_usb.c | 23 - drivers/net/dsa/b53/b53_common.c | 57 +++- drivers/net/dsa/b53/b53_regs.h | 4 drivers/net/ethernet/cadence/macb_main.c | 4 drivers/net/ethernet/emulex/benet/be_main.c | 7 drivers/net/ethernet/freescale/fec_main.c | 2 drivers/net/ethernet/intel/fm10k/fm10k_common.c | 5 drivers/net/ethernet/intel/fm10k/fm10k_common.h | 2 drivers/net/ethernet/intel/fm10k/fm10k_pf.c | 2 drivers/net/ethernet/intel/fm10k/fm10k_vf.c | 2 drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c | 15 - drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c | 6 drivers/net/ethernet/qlogic/qede/qede_main.c | 2 drivers/net/ethernet/renesas/ravb_main.c | 16 + drivers/net/ethernet/renesas/sh_eth.c | 4 drivers/net/ethernet/ti/netcp_core.c | 10 drivers/net/phy/dp83867.c | 6 drivers/net/phy/mdio_bus.c | 5 drivers/net/usb/asix_devices.c | 12 drivers/net/usb/qmi_wwan.c | 6 drivers/net/usb/usbnet.c | 2 drivers/net/wireless/ath/ath10k/wmi.c | 1 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 3 drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c | 21 - drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.h | 3 drivers/pci/p2pdma.c | 2 drivers/pci/quirks.c | 1 drivers/phy/cadence/cdns-dphy.c | 4 drivers/regulator/fixed.c | 6 drivers/remoteproc/qcom_q6v5.c | 5 drivers/s390/net/ctcm_mpc.c | 1 drivers/scsi/lpfc/lpfc_debugfs.h | 3 drivers/scsi/lpfc/lpfc_scsi.c | 14 - drivers/scsi/pm8001/pm8001_ctl.c | 2 drivers/scsi/sg.c | 10 drivers/soc/imx/gpc.c | 2 drivers/soc/qcom/smem.c | 2 drivers/soc/ti/knav_dma.c | 14 - drivers/spi/spi-loopback-test.c | 12 drivers/spi/spi.c | 10 drivers/target/loopback/tcm_loop.c | 3 drivers/tee/tee_core.c | 2 drivers/tty/serial/8250/8250_dw.c | 128 ++++----- drivers/uio/uio_hv_generic.c | 21 + drivers/usb/gadget/function/f_fs.c | 8 drivers/usb/gadget/function/f_hid.c | 4 drivers/usb/gadget/function/f_ncm.c | 3 drivers/usb/host/xhci-plat.c | 1 drivers/usb/mon/mon_bin.c | 14 - drivers/video/backlight/lp855x_bl.c | 2 drivers/video/fbdev/aty/atyfb_base.c | 8 drivers/video/fbdev/core/bitblit.c | 33 ++ drivers/video/fbdev/pvr2fb.c | 2 drivers/video/fbdev/valkyriefb.c | 2 fs/9p/v9fs.c | 9 fs/btrfs/transaction.c | 2 fs/ceph/locks.c | 5 fs/hpfs/namei.c | 18 - fs/jfs/inode.c | 8 fs/jfs/jfs_txnmgr.c | 9 fs/nfs/nfs4client.c | 1 fs/nfs/nfs4proc.c | 6 fs/nfs/nfs4state.c | 3 fs/open.c | 10 fs/orangefs/xattr.c | 12 fs/proc/generic.c | 12 include/linux/ata.h | 1 include/linux/compiler_types.h | 5 include/linux/filter.h | 2 include/linux/mm.h | 2 include/linux/shdma-base.h | 2 include/linux/usb.h | 16 - include/net/cls_cgroup.h | 2 include/net/nfc/nci_core.h | 2 include/net/pkt_sched.h | 25 + kernel/events/uprobes.c | 7 kernel/gcov/gcc_4_7.c | 4 kernel/trace/trace_events_hist.c | 6 mm/page_alloc.c | 2 net/8021q/vlan.c | 2 net/bluetooth/6lowpan.c | 97 ++++--- net/bluetooth/l2cap_core.c | 1 net/bluetooth/sco.c | 7 net/bridge/br_forward.c | 3 net/core/netpoll.c | 7 net/core/page_pool.c | 6 net/core/sock.c | 15 - net/ipv4/nexthop.c | 6 net/ipv4/route.c | 5 net/ipv6/ah6.c | 50 ++- net/ipv6/raw.c | 2 net/ipv6/udp.c | 2 net/mac80211/rx.c | 10 net/openvswitch/actions.c | 68 ---- net/openvswitch/flow_netlink.c | 64 ---- net/openvswitch/flow_netlink.h | 2 net/rds/rds.h | 2 net/sched/act_ife.c | 12 net/sched/sch_api.c | 10 net/sched/sch_generic.c | 24 - net/sched/sch_hfsc.c | 16 - net/sched/sch_qfq.c | 2 net/sctp/associola.c | 10 net/sctp/chunk.c | 2 net/sctp/diag.c | 7 net/sctp/endpointola.c | 6 net/sctp/input.c | 5 net/sctp/output.c | 2 net/sctp/outqueue.c | 6 net/sctp/sm_make_chunk.c | 7 net/sctp/sm_sideeffect.c | 16 - net/sctp/sm_statefuns.c | 2 net/sctp/socket.c | 12 net/sctp/stream.c | 3 net/sctp/stream_interleave.c | 23 - net/sctp/transport.c | 15 - net/sctp/ulpqueue.c | 15 - net/strparser/strparser.c | 2 net/tipc/core.c | 4 net/tipc/core.h | 8 net/tipc/discover.c | 4 net/tipc/link.c | 5 net/tipc/link.h | 1 net/tipc/net.c | 17 - net/vmw_vsock/af_vsock.c | 40 ++ scripts/kconfig/mconf.c | 3 scripts/kconfig/nconf.c | 3 sound/soc/codecs/cs4271.c | 10 sound/soc/codecs/max98090.c | 6 sound/soc/qcom/qdsp6/q6asm.c | 2 sound/usb/mixer.c | 11 tools/power/cpupower/lib/cpuidle.c | 5 tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c | 26 + tools/testing/selftests/Makefile | 2 tools/testing/selftests/bpf/test_lirc_mode2_user.c | 2 tools/testing/selftests/net/fcnal-test.sh | 4 tools/testing/selftests/net/psock_tpacket.c | 4 200 files changed, 1294 insertions(+), 813 deletions(-)
Abdun Nihaal (1):
isdn: mISDN: hfcsusb: fix memory leak in hfcsusb_probe()
Al Viro (2):
allow finish_no_open(file, ERR_PTR(-E...))
nfs4_setup_readdir(): insufficient locking for ->d_parent->d_inode dereferencingAlbin Babu Varghese (1):
fbdev: Add bounds checking in bit_putcs to fix vmalloc-out-of-bounds
Aleksander Jan Bajkowski (3):
mips: lantiq: danube: add missing properties to cpu node
mips: lantiq: danube: add missing device_type in pci node
mips: lantiq: xway: sysctrl: rename stp clock
Aleksei Nikiforov (1):
s390/ctcm: Fix double-kfree
Alexander Stein (2):
mfd: stmpe: Remove IRQ domain upon removal
mfd: stmpe-i2c: Add missing MODULE_LICENSE
Alexey Klimov (1):
regmap: slimbus: fix bus_context pointer in regmap init calls
Amber Lin (1):
drm/amdkfd: Tie UNMAP_LATENCY to queue_preemption
Amirreza Zarrabi (1):
tee: allow a driver to allocate a tee_device without a pool
Andrey Vatoropin (1):
be2net: pass wrb_params in case of OS2BMC
Andy Shevchenko (2):
serial: 8250_dw: Use devm_clk_get_optional() to get the input clock
serial: 8250_dw: Use devm_add_action_or_reset()
Anthony Iliopoulos (1):
NFSv4.1: fix mount hang after CREATE_SESSION failure
Armin Wolf (1):
hwmon: (dell-smm) Add support for Dell OptiPlex 7040
Arnd Bergmann (1):
mfd: madera: Work around false-positive -Wininitialized warning
Artem Shimko (1):
serial: 8250_dw: handle reset control deassert error
Babu Moger (1):
x86/resctrl: Fix miscount of bandwidth event when reactivating previously unavailable RMID
Bart Van Assche (1):
scsi: sg: Do not sleep in atomic context
Benjamin Berg (1):
wifi: mac80211: skip rate verification for not captured PSDUs
Biju Das (1):
mmc: host: renesas_sdhi: Fix the actual clock
Brahmajit Das (1):
net: intel: fm10k: Fix parameter idx set but not used
Breno Leitao (1):
net: netpoll: fix incorrect refcount handling causing incorrect cleanup
Buday Csaba (1):
net: mdio: fix resource leak in mdiobus_register_device()
Celeste Liu (1):
can: gs_usb: increase max interface to U8_MAX
Charalampos Mitrodimas (1):
net: ipv6: fix field-spanning memcpy warning in AH output
Chelsy Ratnawat (1):
media: fix uninitialized symbol warnings
Chris Morgan (1):
regulator: fixed: use dev_err_probe for register
Christian Bruel (1):
irqchip/gic-v2m: Handle Multiple MSI base IRQ Alignment
Christoph Paasch (1):
net: When removing nexthops, don't call synchronize_net if it is not necessary
Chuang Wang (1):
ipv4: route: Prevent rt_bind_exception() from rebinding stale fnhe
Cryolitia PukNgae (1):
ALSA: usb-audio: apply quirk for MOONDROP Quark2
Daniel Lezcano (1):
clocksource/drivers/vf-pit: Replace raw_readl/writel to readl/writel
Daniel Palmer (1):
fbdev: atyfb: Check if pll_ops->init_pll failed
David Ahern (2):
selftests: Disable dad for ipv6 in fcnal-test.sh
selftests: Replace sleep with slowwait
David Kaplan (1):
x86/bugs: Fix reporting of LFENCE retpoline
Dennis Beier (1):
cpufreq/longhaul: handle NULL policy in longhaul_exit
Devendra K Verma (1):
dmaengine: dw-edma: Set status for callback_result
Dragos Tatulea (1):
page_pool: Clamp pool size to max 16K pages
Emanuele Ghidoli (1):
net: phy: dp83867: Disable EEE support as not implemented
Eric Dumazet (5):
net: call cond_resched() less often in __release_sock()
ipv6: np->rxpmtu race annotation
sctp: prevent possible shift-out-of-bounds in sctp_transport_update_rto
net_sched: remove need_resched() from qdisc_run()
net_sched: limit try_bulk_dequeue_skb() batches
Filipe Manana (1):
btrfs: use smp_mb__after_atomic() when forcing COW in create_pending_snapshot()
Florian Fuchs (1):
fbdev: pvr2fb: Fix leftover reference to ONCHIP_NR_DMA_CHANNELS
Forest Crossman (1):
usb: mon: Increase BUFF_MAX to 64 MiB to support multi-MB URBs
Gal Pressman (2):
net/mlx5e: Fix maxrate wraparound in threshold between units net/mlx5e: Fix wraparound in rate limiting for values above 255 Gbps
Geoffrey McRae (1):
drm/amdkfd: return -ENOTTY for unsupported IOCTLs
Gokul Sivakumar (1):
wifi: brcmfmac: fix crash while sending Action Frames in standalone AP Mode
Greg Kroah-Hartman (1):
Linux 5.4.302
Haein Lee (1):
ALSA: usb-audio: Fix NULL pointer dereference in snd_usb_mixer_controls_badd
Hamza Mahfooz (1):
scsi: target: tcm_loop: Fix segfault in tcm_loop_tpg_address_show()
Hangbin Liu (1):
net: vlan: sync VLAN features with lower device
Hans de Goede (2):
ACPICA: dispatcher: Use acpi_ds_clear_operands() in acpi_ds_call_control_method()
spi: Try to get ACPI GPIO IRQ earlier
Haotian Zhang (2):
regulator: fixed: fix GPIO descriptor leak on register failure
ASoC: cs4271: Fix regulator leak on probe failure
Harikrishna Shenoy (1):
phy: cadence: cdns-dphy: Enable lower resolutions in dphy
Ian Forbes (1):
drm/vmwgfx: Validate command header size against SVGA_CMD_MAX_DATASIZE
Ido Schimmel (1):
bridge: Redirect to backup port when port is administratively down
Ilya Maximets (1):
net: openvswitch: remove never-working support for setting nsh fields
Isaac J. Manjarres (1):
mm/page_alloc: fix hash table order logging in alloc_large_system_hash()
Ivan Pravdin (1):
Bluetooth: bcsp: receive data only if registered
Jakub Acs (1):
mm/ksm: fix flag-dropping behavior in ksm_madvise
Jakub Horký (2):
kconfig/mconf: Initialize the default locale at startup kconfig/nconf: Initialize the default locale at startup
Jens Reidel (1):
soc: qcom: smem: Fix endian-unaware access of num_entries
Jiayi Li (1):
memstick: Add timeout to prevent indefinite waiting
Jiri Olsa (1):
uprobe: Do not emulate/sstep original instruction when ip is changed
Jonas Gorski (3):
net: dsa: b53: fix resetting speed and pause on forced link
net: dsa: b53: fix enabling ip multicast
net: dsa: b53: stop reading ARL entries if search is done
Joshua Watt (1):
NFS4: Fix state renewals missing after boot
Junjie Cao (1):
fbdev: bitblit: bound-check glyph index in bit_putcs*
Juraj Šarinay (1):
net: nfc: nci: Increase NCI_DATA_TIMEOUT to 3000 ms
Justin Tee (2):
scsi: lpfc: Check return status of lpfc_reset_flush_io_context during TGT_RESET
scsi: lpfc: Define size of debugfs entry for xri rebalancing
Kaushlendra Kumar (1):
tools/cpupower: Fix incorrect size in cpuidle_state_disable()
Kees Cook (1):
arc: Fix __fls() const-foldability via __builtin_clzl()
Kirill A. Shutemov (1):
x86/vsyscall: Do not require X86_PF_INSTR to emulate vsyscall
Koakuma (1):
sparc/module: Add R_SPARC_UA64 relocation handling
Krishna Kurapati (1):
usb: xhci: plat: Facilitate using autosuspend for xhci plat devices
Krzysztof Kozlowski (2):
extcon: adc-jack: Fix wakeup source leaks on device unbind
extcon: adc-jack: Cleanup wakeup source only if it was enabled
Kuniyuki Iwashima (2):
net: Call trace_sock_exceed_buf_limit() for memcg failure with SK_MEM_RECV.
tipc: Fix use-after-free in tipc_mon_reinit_self().
Lad Prabhakar (1):
net: ravb: Enforce descriptor type ordering
Laurent Pinchart (1):
media: pci: ivtv: Don't create fake v4l2_fh
Len Brown (2):
tools/power x86_energy_perf_policy: Enhance HWP enable tools/power x86_energy_perf_policy: Prefer driver HWP limits
Lizhi Xu (1):
usbnet: Prevents free active kevent
Loic Poulain (1):
wifi: ath10k: Fix memory leak on unsupported WMI command
Long Li (1):
uio_hv_generic: Set event for all channels on the device
Luiz Augusto von Dentz (1):
Bluetooth: SCO: Fix UAF on sco_conn_free
Maarten Lankhorst (1):
devcoredump: Fix circular locking dependency with devcd->mutex.
Maciej W. Rozycki (1):
MIPS: Malta: Fix !EVA SOC-it PCI MMIO
Marcos Del Sol Vives (1):
PCI: Disable MSI on RDC PCI to PCIe bridges
Mario Limonciello (AMD) (1):
ACPI: video: force native for Lenovo 82K8
Miaoqian Lin (3):
net: usb: asix_devices: Check return value of usbnet_get_endpoints
fbdev: valkyriefb: Fix reference count leak in valkyriefb_init
pmdomain: imx: Fix reference count leak in imx_gpc_remove
Michal Luczaj (1):
vsock: Ignore signal/timeout on connect() if already established
Mike Marshall (1):
orangefs: fix xattr related buffer overflow...
Nai-Chen Cheng (1):
selftests/Makefile: include $(INSTALL_DEP_TARGETS) in clean target to clean net/lib dependency
Nate Karstens (1):
strparser: Fix signed/unsigned mismatch bug
Nathan Chancellor (1):
net: qede: Initialize qede_ll_ops with designated initializer
Niklas Cassel (1):
ata: libata-scsi: Fix system suspend for a security locked drive
Niklas Schnelle (1):
powerpc/eeh: Use result of error_detected() in uevent
Niklas Söderlund (1):
net: sh_eth: Disable WoL if system can not suspend
Niravkumar L Rabara (2):
EDAC/altera: Handle OCRAM ECC enable after warm reset EDAC/altera: Use INTTEST register for Ethernet and USB SBE injection
Nishanth Menon (1):
net: ethernet: ti: netcp: Standardize knav_dma_open_channel to return NULL on error
Olga Kornievskaia (1):
NFSv4: handle ERR_GRACE on delegation recalls
Owen Gu (1):
usb: gadget: f_fs: Fix epfile null pointer access after ep enable.
Pauli Virtanen (4):
Bluetooth: 6lowpan: reset link-local header on ipv6 recv path
Bluetooth: 6lowpan: fix BDADDR_LE vs ADDR_LE_DEV address type confusion
Bluetooth: 6lowpan: Don't hold spin lock over sleeping functions
Bluetooth: L2CAP: export l2cap_chan_hold for modules
Peter Oberparleiter (1):
gcov: add support for GCC 15
Peter Zijlstra (1):
compiler_types: Move unused static inline functions warning to W=2
Qendrim Maxhuni (1):
net: usb: qmi_wwan: initialize MAC header offset in qmimux_rx_fixup
Qianfeng Rong (2):
scsi: pm8001: Use int instead of u32 to store error codes
media: redrat3: use int type to store negative error codes
Randall P. Embry (2):
9p: fix /sys/fs/9p/caches overwriting itself 9p: sysfs_init: don't hardcode error to ENOMEM
Ranganath V N (1):
net: sched: act_ife: initialize struct tc_ife to fix KMSAN kernel-infoleak
Raphael Pinsonneault-Thibeault (1):
Bluetooth: btusb: reorder cleanup in btusb_disconnect to avoid UAF
René Rebe (1):
ALSA: usb-audio: fix uac2 clock source at terminal parser
Ricardo B. Marlière (1):
selftests/bpf: Fix bpf_prog_detach2 usage in test_lirc_mode2
Rodrigo Gobbi (1):
iio: adc: spear_adc: mask SPEAR_ADC_STATUS channel and avg sample before setting register
Rosen Penev (1):
dmaengine: mv_xor: match alloc_wc and free_wc
Russell King (1):
net: dsa/b53: change b53_force_port_config() pause argument
Sakari Ailus (1):
ACPI: property: Return present device nodes only on fwnode interface
Saket Dumbre (1):
ACPICA: Update dsmethod.c to get rid of unused variable warning
Sarthak Garg (1):
mmc: sdhci-msm: Enable tuning for SDR50 mode for SD card
Seungjin Bae (1):
Input: pegasus-notetaker - fix potential out-of-bounds access
Seyediman Seyedarab (1):
drm/nouveau: replace snprintf() with scnprintf() in nvkm_snprintbf()
Sharique Mohammad (1):
ASoC: max98090/91: fixed max98091 ALSA widget powering up/down
Shaurya Rane (1):
jfs: fix uninitialized waitqueue in transaction manager
Srinivas Kandagatla (1):
ASoC: qdsp6: q6asm: do not sleep while atomic
Stefan Wiehler (2):
sctp: Hold RCU read lock while iterating over address list
sctp: Prevent TOCTOU out-of-bounds write
Stephan Gerhold (1):
remoteproc: qcom: q6v5: Avoid handling handover twice
Sudeep Holla (1):
pmdomain: arm: scmi: Fix genpd leak on provider registration failure
Sungho Kim (1):
PCI/P2PDMA: Fix incorrect pointer usage in devm_kfree() call
Svyatoslav Ryhel (1):
video: backlight: lp855x_bl: Set correct EPROM start for LP8556
Tetsuo Handa (2):
media: imon: make send_packet() more robust
jfs: Verify inode mode when loading from disk
Thomas Andreatta (1):
dmaengine: sh: setup_xref error handling
Thomas Weißschuh (2):
spi: loopback-test: Don't use %pK through printk
bpf: Don't use %pK through printk
Théo Lebrun (1):
net: macb: avoid dealing with endianness in macb_set_hwaddr()
Tomeu Vizoso (1):
drm/etnaviv: fix flush sequence logic
Tristan Lobb (1):
HID: quirks: avoid Cooler Master MM712 dongle wakeup bug
Tzung-Bi Shih (1):
Input: cros_ec_keyb - fix an invalid memory access
Ujwal Kundur (1):
rds: Fix endianness annotation for RDS_MPATH_HASH
Viacheslav Dubeyko (1):
ceph: add checking of wait_for_completion_killable() return value
Vincent Mailhol (2):
usb: deprecate the third argument of usb_maxpacket()
Input: remove third argument of usb_maxpacket()
Wake Liu (2):
selftests/net: Replace non-standard __WORDSIZE with sizeof(long) * 8 selftests/net: Ensure assert() triggers in psock_tpacket.c
Wei Fang (1):
net: fec: correct rx_bytes statistic for the case SHIFT16 is set
Wei Yang (1):
fs/proc: fix uaf in proc_readdir_de()
William Wu (1):
usb: gadget: f_hid: Fix zero length packet transfer
Xiang Mei (1):
net/sched: sch_qfq: Fix null-deref in agg_dequeue
Xin Long (2):
sctp: get netns from asoc and ep base
tipc: simplify the finalize work queue
Yafang Shao (1):
net/cls_cgroup: Fix task_get_classid() during qdisc run
Yikang Yue (1):
fs/hpfs: Fix error code for new_inode() failure in mkdir/create/mknod/symlink
Yuhao Jiang (1):
ACPI: video: Fix use-after-free in acpi_video_switch_brightness()
Zhang Heng (1):
HID: quirks: work around VID/PID conflict for 0x4c4a/0x4155
Zijun Hu (1):
char: misc: Does not request module for miscdevice with dynamic minor
Zilin Guan (2):
tracing: Fix memory leaks in create_field_var()
mlxsw: spectrum: Fix memory leak in mlxsw_sp_flower_stats()
raub camaioni (1):
usb: gadget: f_ncm: Fix MAC assignment NCM ethernet
Álvaro Fernández Rojas (1):
net: dsa: b53: prevent GMII_PORT_OVERRIDE_CTRL access on BCM5325
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 4 -SUBLEVEL = 301 +SUBLEVEL = 302 EXTRAVERSION = NAME = Kleptomaniac Octopus
arch/arc/include/asm/bitops.h +2 -0
@@ -371,6 +371,8 @@ static inline __attribute__ ((const)) int fls(unsigned long x)*/ static inline __attribute__ ((const))int __fls (unsigned long x) { +if (__builtin_constant_p (x)) +return x ?BITS_PER_LONG -1 -__builtin_clzl (x) :0 ;/* FLS insn has exactly same semantics as the API */ return __builtin_arc_fls (x); }
arch/mips/boot/dts/lantiq/danube.dtsi +6 -0
@@ -5,8 +5,12 @@ compatible = "lantiq,xway", "lantiq,danube"; cpus { + #address-cells = <1>; + #size-cells = <0>; + cpu@0 { compatible = "mips,mips24Kc"; + reg = <0>; }; };
@@ -101,6 +105,8 @@ 0x1000000 0 0x00000000 0xae00000 0 0x200000>; /* io space */ reg = <0x7000000 0x8000 /* config space */ 0xe105400 0x400>; /* pci bridge */ + + device_type = "pci"; }; }; };
arch/mips/lantiq/xway/sysctrl.c +1 -1
@@ -459,7 +459,7 @@ void __init ltq_soc_init(void)/* add our generic xway clocks */ clkdev_add_pmu ("10000000.fpi" ,NULL ,0 ,0 ,PMU_FPI );clkdev_add_pmu ("1e100a00.gptu" ,NULL ,1 ,0 ,PMU_GPT ); -clkdev_add_pmu ("1e100bb0.stp" ,NULL ,1 ,0 ,PMU_STP ); +clkdev_add_pmu ("1e100bb0.gpio" ,NULL ,1 ,0 ,PMU_STP );clkdev_add_pmu ("1e100c00.serial" ,NULL ,0 ,0 ,PMU_ASC1 );clkdev_add_pmu ("1e104100.dma" ,NULL ,1 ,0 ,PMU_DMA );clkdev_add_pmu ("1e100800.spi" ,NULL ,1 ,0 ,PMU_SPI );
arch/mips/mti-malta/malta-init.c +13 -7
@@ -242,16 +242,22 @@ void __init prom_init(void)#endif /* -* Setup the Malta max (2GB) memory for PCI DMA in host bridge -* in transparent addressing mode. +* Set up memory mapping in host bridge for PCI DMA masters, +* in transparent addressing mode. For EVA use the Malta +* maximum of 2 GiB memory in the alias space at 0x80000000 +* as per PHYS_OFFSET. Otherwise use 256 MiB of memory in +* the regular space, avoiding mapping the PCI MMIO window +* for DMA as it seems to confuse the system controller's +* logic, causing PCI MMIO to stop working. */ - mask =PHYS_OFFSET |PCI_BASE_ADDRESS_MEM_PREFETCH ; -MSC_WRITE (MSC01_PCI_BAR0 , mask); -MSC_WRITE (MSC01_PCI_HEAD4 , mask); + mask =PHYS_OFFSET ?PHYS_OFFSET :0xf0000000 ; +MSC_WRITE (MSC01_PCI_BAR0 , + mask |PCI_BASE_ADDRESS_MEM_PREFETCH ); +MSC_WRITE (MSC01_PCI_HEAD4 , +PHYS_OFFSET |PCI_BASE_ADDRESS_MEM_PREFETCH ); - mask &=MSC01_PCI_BAR0_SIZE_MSK ;MSC_WRITE (MSC01_PCI_P2SCMSKL , mask); -MSC_WRITE (MSC01_PCI_P2SCMAPL , mask); +MSC_WRITE (MSC01_PCI_P2SCMAPL ,PHYS_OFFSET );/* Don't handle target retries indefinitely. */ if ((data & MSC01_PCI_CFG_MAXRTRY_MSK) ==
arch/powerpc/kernel/eeh_driver.c +1 -1
@@ -351,7 +351,7 @@ static enum pci_ers_result eeh_report_error(struct eeh_dev *edev, rc = driver->err_handler->error_detected (pdev, pci_channel_io_frozen); edev->in_error = true; -pci_uevent_ers (pdev,PCI_ERS_RESULT_NONE ); +pci_uevent_ers (pdev, rc);return rc; }
arch/sparc/include/asm/elf_64.h +1 -0
@@ -59,6 +59,7 @@#define R_SPARC_7 43#define R_SPARC_5 44#define R_SPARC_6 45 +#define R_SPARC_UA64 54/* Bits present in AT_HWCAP, primarily for Sparc32. */ #define HWCAP_SPARC_FLUSH 0x00000001
arch/sparc/kernel/module.c +1 -0
@@ -117,6 +117,7 @@ int apply_relocate_add(Elf_Shdr *sechdrs,break ;#ifdef CONFIG_SPARC64 case R_SPARC_64 : +case R_SPARC_UA64 : location[0 ] = v >>56 ; location[1 ] = v >>48 ; location[2 ] = v >>40 ;
arch/x86/entry/vsyscall/vsyscall_64.c +14 -3
@@ -124,7 +124,12 @@ bool emulate_vsyscall(unsigned long error_code,if ((error_code & (X86_PF_WRITE |X86_PF_USER )) !=X86_PF_USER )return false; -if (!(error_code &X86_PF_INSTR )) { +/* +* Assume that faults at regs->ip are because of an +* instruction fetch. Return early and avoid +* emulation for faults during data accesses: +*/ +if (address != regs->ip) {/* Failed vsyscall read */ if (vsyscall_mode ==EMULATE )return false;
@@ -136,13 +141,19 @@ bool emulate_vsyscall(unsigned long error_code,return false; } +/* +* X86_PF_INSTR is only set when NX is supported. When +* available, use it to double-check that the emulation code +* is only being used for instruction fetches: +*/ +if (cpu_feature_enabled (X86_FEATURE_NX )) +WARN_ON_ONCE (!(error_code &X86_PF_INSTR )); +/* * No point in checking CS -- the only way to get here is a user mode * trap to a high address, which means that we're in 64-bit user code. */ -WARN_ON_ONCE (address != regs->ip); -if (vsyscall_mode ==NONE ) {warn_bad_vsyscall (KERN_INFO , regs,"vsyscall attempted with vsyscall=none" );
arch/x86/kernel/cpu/bugs.c +1 -4
@@ -1188,7 +1188,7 @@ spectre_v2_user_select_mitigation(void)static const char *const spectre_v2_strings[] = { [SPECTRE_V2_NONE ] ="Vulnerable" , [SPECTRE_V2_RETPOLINE ] ="Mitigation: Retpolines" , - [SPECTRE_V2_LFENCE ] ="Mitigation: LFENCE" , + [SPECTRE_V2_LFENCE ] ="Vulnerable: LFENCE" , [SPECTRE_V2_EIBRS ] ="Mitigation: Enhanced / Automatic IBRS" , [SPECTRE_V2_EIBRS_LFENCE ] ="Mitigation: Enhanced / Automatic IBRS + LFENCE" , [SPECTRE_V2_EIBRS_RETPOLINE ] ="Mitigation: Enhanced / Automatic IBRS + Retpolines" ,
@@ -2280,9 +2280,6 @@ static char *pbrsb_eibrs_state(void)static ssize_t spectre_v2_show_state (char *buf) { -if (spectre_v2_enabled ==SPECTRE_V2_LFENCE ) -return sysfs_emit (buf,"Vulnerable: LFENCE\n" ); -if (spectre_v2_enabled ==SPECTRE_V2_EIBRS &&unprivileged_ebpf_enabled ())return sysfs_emit (buf,"Vulnerable: eIBRS with unprivileged eBPF\n" );
arch/x86/kernel/cpu/resctrl/monitor.c +9 -1
@@ -225,11 +225,19 @@ static u64 mbm_overflow_count(u64 prev_msr, u64 cur_msr)static u64 __mon_event_count (u32 rmid,struct rmid_read *rr) { -struct mbm_state *m; +struct mbm_state *m =NULL ;u64 chunks, tval; tval =__rmid_read (rmid, rr->evtid);if (tval & (RMID_VAL_ERROR |RMID_VAL_UNAVAIL )) { +if (tval &RMID_VAL_UNAVAIL ) { +if (rr->evtid ==QOS_L3_MBM_TOTAL_EVENT_ID ) + m = &rr->d->mbm_total[rmid]; +else if (rr->evtid ==QOS_L3_MBM_LOCAL_EVENT_ID ) + m = &rr->d->mbm_local[rmid]; +if (m) + m->prev_msr =0 ; + }return tval; }switch (rr->evtid) {
drivers/acpi/acpi_video.c +3 -1
@@ -2024,8 +2024,10 @@ static void acpi_video_bus_remove_notify_handler(struct acpi_video_bus *video)struct acpi_video_device *dev;mutex_lock (&video->device_list_lock); -list_for_each_entry (dev, &video->video_device_list, entry) +list_for_each_entry (dev, &video->video_device_list, entry) {acpi_video_dev_remove_notify_handler (dev); +cancel_delayed_work_sync (&dev->switch_brightness_work); + }mutex_unlock (&video->device_list_lock);acpi_video_bus_stop_devices (video);
drivers/acpi/acpica/dsmethod.c +1 -9
@@ -462,7 +462,6 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,struct acpi_walk_state *next_walk_state =NULL ;union acpi_operand_object *obj_desc;struct acpi_evaluate_info *info; -u32 i;ACPI_FUNCTION_TRACE_PTR (ds_call_control_method, this_walk_state);
@@ -546,14 +545,7 @@ acpi_ds_call_control_method(struct acpi_thread_state *thread,* Delete the operands on the previous walkstate operand stack * (they were copied to new objects) */ -for (i =0 ; i < obj_desc->method.param_count; i++) { -acpi_ut_remove_reference (this_walk_state->operands[i]); - this_walk_state->operands[i] =NULL ; - } - -/* Clear the operand stack */ - - this_walk_state->num_operands =0 ; +acpi_ds_clear_operands (this_walk_state); ACPI_DEBUG_PRINT((ACPI_DB_DISPATCH, "**** Begin nested execution of [%4.4s] **** WalkState=%p\n",
drivers/acpi/property.c +23 -1
@@ -1114,6 +1114,28 @@ struct fwnode_handle *acpi_get_next_subnode(const struct fwnode_handle *fwnode,return NULL ; } +/* +* acpi_get_next_present_subnode - Return the next present child node handle +* @fwnode: Firmware node to find the next child node for. +* @child: Handle to one of the device's child nodes or a null handle. +* +* Like acpi_get_next_subnode(), but the device nodes returned by +* acpi_get_next_present_subnode() are guaranteed to be present. +* +* Returns: The fwnode handle of the next present sub-node. +*/ +static struct fwnode_handle * +acpi_get_next_present_subnode (const struct fwnode_handle *fwnode, +struct fwnode_handle *child) +{ +do { + child =acpi_get_next_subnode (fwnode, child); + }while (is_acpi_device_node (child) && + !acpi_device_is_present (to_acpi_device_node (child))); + +return child; +} +/** * acpi_node_get_parent - Return parent fwnode of this fwnode * @fwnode: Firmware node whose parent to get
@@ -1387,7 +1409,7 @@ acpi_fwnode_device_get_match_data(const struct fwnode_handle *fwnode, .property_read_string_array = \ acpi_fwnode_property_read_string_array, \ .get_parent = acpi_node_get_parent, \ - .get_next_child_node = acpi_get_next_subnode, \ + .get_next_child_node = acpi_get_next_present_subnode, \ .get_named_child_node = acpi_fwnode_get_named_child_node, \ .get_reference_args = acpi_fwnode_get_reference_args, \ .graph_get_next_endpoint = \
drivers/acpi/video_detect.c +8 -0
@@ -556,6 +556,14 @@ static const struct dmi_system_id video_detect_dmi_table[] = { DMI_MATCH(DMI_PRODUCT_NAME, "MS-7721"), }, }, +/* https://gitlab.freedesktop.org/drm/amd/-/issues/4512 */ + { + .callback = video_detect_force_native, + .matches = { + DMI_MATCH(DMI_SYS_VENDOR, "LENOVO"), + DMI_MATCH(DMI_PRODUCT_NAME, "82K8"), + }, + }, { }, };
drivers/ata/libata-scsi.c +8 -0
@@ -1179,6 +1179,14 @@ static void ata_gen_ata_sense(struct ata_queued_cmd *qc)ata_scsi_set_sense (dev, cmd,NOT_READY ,0x04 ,0x21 );return ; } + +if (ata_id_is_locked (dev->id)) { +/* Security locked */ +/* LOGICAL UNIT ACCESS NOT AUTHORIZED */ +ata_scsi_set_sense (dev, cmd,DATA_PROTECT ,0x74 ,0x71 ); +return ; + } +/* Use ata_to_sense_error() to map status register bits * onto sense key, asc & ascq. */
drivers/base/devcoredump.c +84 -54
211 lines not on this page · raw message
drivers/base/regmap/regmap-slimbus.c +2 -4
@@ -48,8 +48,7 @@ struct regmap *__regmap_init_slimbus(struct slim_device *slimbus,if (IS_ERR (bus))return ERR_CAST (bus); -return __regmap_init (&slimbus->dev, bus, &slimbus->dev, config, - lock_key, lock_name); +return __regmap_init (&slimbus->dev, bus, slimbus, config, lock_key, lock_name); }EXPORT_SYMBOL_GPL (__regmap_init_slimbus);
@@ -63,8 +62,7 @@ struct regmap *__devm_regmap_init_slimbus(struct slim_device *slimbus,if (IS_ERR (bus))return ERR_CAST (bus); -return __devm_regmap_init (&slimbus->dev, bus, &slimbus, config, - lock_key, lock_name); +return __devm_regmap_init (&slimbus->dev, bus, slimbus, config, lock_key, lock_name); }EXPORT_SYMBOL_GPL (__devm_regmap_init_slimbus);
drivers/bluetooth/btusb.c +6 -7
@@ -4004,6 +4004,11 @@ static void btusb_disconnect(struct usb_interface *intf)hci_unregister_dev (hdev); +if (data->oob_wake_irq) +device_init_wakeup (&data->udev->dev, false); +if (data->reset_gpio) +gpiod_put (data->reset_gpio); +if (intf == data->intf) {if (data->isoc)usb_driver_release_interface (&btusb_driver, data->isoc);
@@ -4014,17 +4019,11 @@ static void btusb_disconnect(struct usb_interface *intf)usb_driver_release_interface (&btusb_driver, data->diag);usb_driver_release_interface (&btusb_driver, data->intf); }else if (intf == data->diag) { -usb_driver_release_interface (&btusb_driver, data->intf);if (data->isoc)usb_driver_release_interface (&btusb_driver, data->isoc); +usb_driver_release_interface (&btusb_driver, data->intf); } -if (data->oob_wake_irq) -device_init_wakeup (&data->udev->dev, false); - -if (data->reset_gpio) -gpiod_put (data->reset_gpio); -hci_free_dev (hdev); }
drivers/bluetooth/hci_bcsp.c +3 -0
@@ -582,6 +582,9 @@ static int bcsp_recv(struct hci_uart *hu, const void *data, int count)struct bcsp_struct *bcsp = hu->priv;const unsigned char *ptr; +if (!test_bit (HCI_UART_REGISTERED , &hu->flags)) +return -EUNATCH ; +BT_DBG ("hu %p count %d rx_state %d rx_count %ld" , hu, count, bcsp->rx_state, bcsp->rx_count);
drivers/char/misc.c +5 -3
@@ -113,7 +113,8 @@ static int misc_open(struct inode *inode, struct file *file) } } -if (!new_fops) { +/* Only request module for fixed minor code */ +if (!new_fops && minor <MISC_DYNAMIC_MINOR ) {mutex_unlock (&misc_mtx);request_module ("char-major-%d-%d" ,MISC_MAJOR , minor);mutex_lock (&misc_mtx);
@@ -124,10 +125,11 @@ static int misc_open(struct inode *inode, struct file *file)break ; } } -if (!new_fops) - goto fail; } +if (!new_fops) + goto fail; +/* * Place the miscdevice in the file's * private_data so it can be used by the
drivers/clocksource/timer-vf-pit.c +11 -11
@@ -35,30 +35,30 @@ static unsigned long cycle_per_jiffy;static inline void pit_timer_enable (void ) { -__raw_writel (PITTCTRL_TEN |PITTCTRL_TIE , clkevt_base +PITTCTRL ); +writel (PITTCTRL_TEN |PITTCTRL_TIE , clkevt_base +PITTCTRL ); }static inline void pit_timer_disable (void ) { -__raw_writel (0 , clkevt_base +PITTCTRL ); +writel (0 , clkevt_base +PITTCTRL ); }static inline void pit_irq_acknowledge (void ) { -__raw_writel (PITTFLG_TIF , clkevt_base +PITTFLG ); +writel (PITTFLG_TIF , clkevt_base +PITTFLG ); } static u64 notrace pit_read_sched_clock(void) { -return ~__raw_readl (clksrc_base +PITCVAL ); +return ~readl (clksrc_base +PITCVAL ); }static int __init pit_clocksource_init (unsigned long rate) {/* set the max load value and start the clock source counter */ -__raw_writel (0 , clksrc_base +PITTCTRL ); -__raw_writel (~0UL , clksrc_base +PITLDVAL ); -__raw_writel (PITTCTRL_TEN , clksrc_base +PITTCTRL ); +writel (0 , clksrc_base +PITTCTRL ); +writel (~0UL , clksrc_base +PITLDVAL ); +writel (PITTCTRL_TEN , clksrc_base +PITTCTRL );sched_clock_register (pit_read_sched_clock,32 , rate); return clocksource_mmio_init(clksrc_base + PITCVAL, "vf-pit", rate,
@@ -76,7 +76,7 @@ static int pit_set_next_event(unsigned long delta,* hardware requirement. */ pit_timer_disable (); -__raw_writel (delta -1 , clkevt_base +PITLDVAL ); +writel (delta -1 , clkevt_base +PITLDVAL );pit_timer_enable ();return 0 ;
@@ -132,8 +132,8 @@ static struct irqaction pit_timer_irq = {static int __init pit_clockevent_init (unsigned long rate,int irq) { -__raw_writel (0 , clkevt_base +PITTCTRL ); -__raw_writel (PITTFLG_TIF , clkevt_base +PITTFLG ); +writel (0 , clkevt_base +PITTCTRL ); +writel (PITTFLG_TIF , clkevt_base +PITTFLG );BUG_ON (setup_irq (irq, &pit_timer_irq));
@@ -189,7 +189,7 @@ static int __init pit_timer_init(struct device_node *np) cycle_per_jiffy = clk_rate / (HZ );/* enable the pit module */ -__raw_writel (~PITMCR_MDIS , timer_base +PITMCR ); +writel (~PITMCR_MDIS , timer_base +PITMCR ); ret =pit_clocksource_init (clk_rate);if (ret)
drivers/cpufreq/longhaul.c +3 -0
@@ -956,6 +956,9 @@ static void __exit longhaul_exit(void)struct cpufreq_policy *policy =cpufreq_cpu_get (0 );int i; +if (unlikely (!policy)) +return ; +for (i =0 ; i < numscales; i++) {if (mults[i] == maxmult) {struct cpufreq_freqs freqs;
drivers/dma/dw-edma/dw-edma-core.c +22 -0
@@ -474,6 +474,25 @@ dw_edma_device_prep_dma_cyclic(struct dma_chan *dchan, dma_addr_t paddr,return dw_edma_device_transfer (&xfer); } +static void dw_hdma_set_callback_result (struct virt_dma_desc *vd, +enum dmaengine_tx_result result) +{ +u32 residue =0 ; +struct dw_edma_desc *desc; +struct dmaengine_result *res; + +if (!vd->tx.callback_result) +return ; + + desc =vd2dw_edma_desc (vd); +if (desc) + residue = desc->alloc_sz - desc->xfer_sz; + + res = &vd->tx_result; + res->result = result; + res->residue = residue; +} +static void dw_edma_done_interrupt (struct dw_edma_chan *chan) {struct dw_edma_desc *desc;
@@ -489,6 +508,8 @@ static void dw_edma_done_interrupt(struct dw_edma_chan *chan)case EDMA_REQ_NONE : desc =vd2dw_edma_desc (vd);if (!desc->chunks_alloc) { +dw_hdma_set_callback_result (vd, +DMA_TRANS_NOERROR );list_del (&vd->node);vchan_cookie_complete (vd); }
@@ -527,6 +548,7 @@ static void dw_edma_abort_interrupt(struct dw_edma_chan *chan)spin_lock_irqsave (&chan->vc.lock, flags); vd =vchan_next_desc (&chan->vc);if (vd) { +dw_hdma_set_callback_result (vd,DMA_TRANS_ABORTED );list_del (&vd->node);vchan_cookie_complete (vd); }
drivers/dma/mv_xor.c +2 -2
@@ -1013,7 +1013,7 @@ static int mv_xor_channel_remove(struct mv_xor_chan *mv_chan)dma_async_device_unregister (&mv_chan->dmadev); -dma_free_coherent (dev,MV_XOR_POOL_SIZE , +dma_free_wc (dev,MV_XOR_POOL_SIZE , mv_chan->dma_desc_pool_virt, mv_chan->dma_desc_pool);dma_unmap_single (dev, mv_chan->dummy_src_addr,MV_XOR_MIN_BYTE_COUNT ,DMA_FROM_DEVICE );
@@ -1164,7 +1164,7 @@ mv_xor_channel_add(struct mv_xor_device *xordev, err_free_irq:free_irq (mv_chan->irq, mv_chan); err_free_dma: -dma_free_coherent (&pdev->dev,MV_XOR_POOL_SIZE , +dma_free_wc (&pdev->dev,MV_XOR_POOL_SIZE , mv_chan->dma_desc_pool_virt, mv_chan->dma_desc_pool); err_unmap_dst: dma_unmap_single(dma_dev->dev, mv_chan->dummy_dst_addr,
drivers/dma/sh/shdma-base.c +19 -6
@@ -129,12 +129,25 @@ static dma_cookie_t shdma_tx_submit(struct dma_async_tx_descriptor *tx)const struct shdma_ops *ops = sdev->ops;dev_dbg (schan->dev,"Bring up channel %d\n" , schan->id); -/* -* TODO: .xfer_setup() might fail on some platforms. -* Make it int then, on error remove chunks from the -* queue again -*/ - ops->setup_xfer (schan, schan->slave_id); + + ret = ops->setup_xfer (schan, schan->slave_id); +if (ret <0 ) { +dev_err (schan->dev,"setup_xfer failed: %d\n" , ret); + +/* Remove chunks from the queue and mark them as idle */ +list_for_each_entry_safe (chunk, c, &schan->ld_queue, node) { +if (chunk->cookie == cookie) { + chunk->mark =DESC_IDLE ; +list_move (&chunk->node, &schan->ld_free); + } + } + + schan->pm_state =SHDMA_PM_ESTABLISHED ; + ret =pm_runtime_put (schan->dev); + +spin_unlock_irq (&schan->chan_lock); +return ret; + }if (schan->pm_state ==SHDMA_PM_PENDING )shdma_chan_xfer_ld_queue (schan);
drivers/dma/sh/shdmac.c +13 -4
@@ -301,21 +301,30 @@ static bool sh_dmae_channel_busy(struct shdma_chan *schan)return dmae_is_busy (sh_chan); } -static void sh_dmae_setup_xfer (struct shdma_chan *schan, -int slave_id) +static int sh_dmae_setup_xfer (struct shdma_chan *schan,int slave_id) { struct sh_dmae_chan *sh_chan = container_of(schan, struct sh_dmae_chan, shdma_chan); +int ret =0 ;if (slave_id >=0 ) {const struct sh_dmae_slave_config *cfg = sh_chan->config; -dmae_set_dmars (sh_chan, cfg->mid_rid); -dmae_set_chcr (sh_chan, cfg->chcr); + ret =dmae_set_dmars (sh_chan, cfg->mid_rid); +if (ret <0 ) + goto END; + + ret =dmae_set_chcr (sh_chan, cfg->chcr); +if (ret <0 ) + goto END; + }else {dmae_init (sh_chan); } + +END: +return ret; }/*
drivers/edac/altera_edac.c +17 -5
@@ -1247,10 +1247,22 @@ altr_check_ocram_deps_init(struct altr_edac_device_dev *device)if (ret)return ret; -/* Verify OCRAM has been initialized */ +/* +* Verify that OCRAM has been initialized. +* During a warm reset, OCRAM contents are retained, but the control +* and status registers are reset to their default values. Therefore, +* ECC must be explicitly re-enabled in the control register. +* Error condition: if INITCOMPLETEA is clear and ECC_EN is already set. +*/ if (!ecc_test_bits (ALTR_A10_ECC_INITCOMPLETEA , - (base +ALTR_A10_ECC_INITSTAT_OFST ))) -return -ENODEV ; + (base +ALTR_A10_ECC_INITSTAT_OFST ))) { +if (!ecc_test_bits (ALTR_A10_ECC_EN , + (base +ALTR_A10_ECC_CTRL_OFST ))) +ecc_set_bits (ALTR_A10_ECC_EN , + (base +ALTR_A10_ECC_CTRL_OFST )); +else +return -ENODEV ; + }/* Enable IRQ on Single Bit Error */ writel (ALTR_A10_ECC_SERRINTEN , (base +ALTR_A10_ECC_ERRINTENS_OFST ));
@@ -1420,7 +1432,7 @@ static const struct edac_device_prv_data a10_enetecc_data = { .ue_set_mask = ALTR_A10_ECC_TDERRA, .set_err_ofst = ALTR_A10_ECC_INTTEST_OFST, .ecc_irq_handler = altr_edac_a10_ecc_irq, - .inject_fops = &altr_edac_a10_device_inject2_fops, + .inject_fops = &altr_edac_a10_device_inject_fops, };#endif /* CONFIG_EDAC_ALTERA_ETHERNET */
@@ -1510,7 +1522,7 @@ static const struct edac_device_prv_data a10_usbecc_data = { .ue_set_mask = ALTR_A10_ECC_TDERRA, .set_err_ofst = ALTR_A10_ECC_INTTEST_OFST, .ecc_irq_handler = altr_edac_a10_ecc_irq, - .inject_fops = &altr_edac_a10_device_inject2_fops, + .inject_fops = &altr_edac_a10_device_inject_fops, };#endif /* CONFIG_EDAC_ALTERA_USB */
drivers/extcon/extcon-adc-jack.c +2 -0
@@ -162,6 +162,8 @@ static int adc_jack_remove(struct platform_device *pdev) {struct adc_jack_data *data =platform_get_drvdata (pdev); +if (data->wakeup_source) +device_init_wakeup (&pdev->dev, false);free_irq (data->irq, data);cancel_work_sync (&data->handler.work);
drivers/firmware/arm_scmi/scmi_pm_domain.c +11 -2
@@ -53,7 +53,7 @@ static int scmi_pd_power_off(struct generic_pm_domain *domain)static int scmi_pm_domain_probe (struct scmi_device *sdev) { -int num_domains, i; +int num_domains, i, ret;struct device *dev = &sdev->dev;struct device_node *np = dev->of_node;struct scmi_pm_domain *scmi_pd;
@@ -106,9 +106,18 @@ static int scmi_pm_domain_probe(struct scmi_device *sdev) scmi_pd_data->domains = domains; scmi_pd_data->num_domains = num_domains; + ret =of_genpd_add_provider_onecell (np, scmi_pd_data); +if (ret) + goto err_rm_genpds; +dev_set_drvdata (dev, scmi_pd_data); -return of_genpd_add_provider_onecell (np, scmi_pd_data); +return 0 ; +err_rm_genpds: +for (i = num_domains -1 ; i >=0 ; i--) +pm_genpd_remove (domains[i]); + +return ret; }static void scmi_pm_domain_remove (struct scmi_device *sdev)
drivers/gpu/drm/amd/amdkfd/kfd_chardev.c +6 -2
@@ -1796,8 +1796,10 @@ static long kfd_ioctl(struct file *filep, unsigned int cmd, unsigned long arg)unsigned int usize, asize;int retcode = -EINVAL ; -if (nr >=AMDKFD_CORE_IOCTL_COUNT ) +if (nr >=AMDKFD_CORE_IOCTL_COUNT ) { + retcode = -ENOTTY ; goto err_i1; + }if ((nr >=AMDKFD_COMMAND_START ) && (nr <AMDKFD_COMMAND_END )) {u32 amdkfd_size;
@@ -1810,8 +1812,10 @@ static long kfd_ioctl(struct file *filep, unsigned int cmd, unsigned long arg) asize = amdkfd_size; cmd = ioctl->cmd; - }else + }else { + retcode = -ENOTTY ; goto err_i1; + }dev_dbg (kfd_device,"ioctl cmd 0x%x (#%d), arg 0x%lx\n" , cmd, nr, arg);
drivers/gpu/drm/amd/amdkfd/kfd_priv.h +8 -1
@@ -105,7 +105,14 @@#define KFD_KERNEL_QUEUE_SIZE 2048 -#define KFD_UNMAP_LATENCY_MS (4000) +/* KFD_UNMAP_LATENCY_MS is the timeout CP waiting for SDMA preemption. One XCC +* can be associated to 2 SDMA engines. queue_preemption_timeout_ms is the time +* driver waiting for CP returning the UNMAP_QUEUE fence. Thus the math is +* queue_preemption_timeout_ms = sdma_preemption_time * 2 + cp workload +* The format here makes CP workload 10% of total timeout +*/ +#define KFD_UNMAP_LATENCY_MS \ + ((queue_preemption_timeout_ms - queue_preemption_timeout_ms / 10) >> 1)/* * 512 = 0x200
drivers/gpu/drm/etnaviv/etnaviv_buffer.c +1 -1
@@ -346,7 +346,7 @@ void etnaviv_buffer_queue(struct etnaviv_gpu *gpu, u32 exec_state,u32 link_target, link_dwords;bool switch_context = gpu->exec_state != exec_state;bool switch_mmu_context = gpu->mmu_context != mmu_context; -unsigned int new_flush_seq =READ_ONCE (gpu->mmu_context->flush_seq); +unsigned int new_flush_seq =READ_ONCE (mmu_context->flush_seq);bool need_flush = switch_mmu_context || gpu->flush_seq != new_flush_seq;bool has_blt = !!(gpu->identity.minor_features5 & chipMinorFeatures5_BLT_ENGINE);
drivers/gpu/drm/nouveau/nvkm/core/enum.c +1 -1
@@ -44,7 +44,7 @@ nvkm_snprintbf(char *data, int size, const struct nvkm_bitfield *bf, u32 value)bool space = false;while (size >=1 && bf->name) {if (value & bf->mask) { -int this =snprintf (data, size,"%s%s" , +int this =scnprintf (data, size,"%s%s" , space ?" " :"" , bf->name); size -= this; data += this;
drivers/gpu/drm/vmwgfx/vmwgfx_execbuf.c +5 -0
@@ -3216,6 +3216,11 @@ static int vmw_cmd_check(struct vmw_private *dev_priv, cmd_id = header->id; +if (header->size >SVGA_CMD_MAX_DATASIZE ) { +VMW_DEBUG_USER ("SVGA3D command: %d is too big.\n" , + cmd_id +SVGA_3D_CMD_BASE ); +return -E2BIG ; + } *size = header->size +sizeof (SVGA3dCmdHeader); cmd_id -=SVGA_3D_CMD_BASE ;
drivers/hid/hid-ids.h +5 -2
@@ -303,6 +303,9 @@#define USB_DEVICE_ID_CODEMERCS_IOW_FIRST 0x1500#define USB_DEVICE_ID_CODEMERCS_IOW_LAST 0x15ff +#define USB_VENDOR_ID_COOLER_MASTER 0x2516 +#define USB_DEVICE_ID_COOLER_MASTER_MICE_DONGLE 0x01b7 +#define USB_VENDOR_ID_CORSAIR 0x1b1c#define USB_DEVICE_ID_CORSAIR_K90 0x1b02
@@ -1349,7 +1352,7 @@#define USB_VENDOR_ID_SIGNOTEC 0x2133#define USB_DEVICE_ID_SIGNOTEC_VIEWSONIC_PD1011 0x0018 -#define USB_VENDOR_ID_SMARTLINKTECHNOLOGY 0x4c4a -#define USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155 0x4155 +#define USB_VENDOR_ID_JIELI_SDK_DEFAULT 0x4c4a +#define USB_DEVICE_ID_JIELI_SDK_4155 0x4155#endif
drivers/hid/hid-quirks.c +13 -1
@@ -57,6 +57,7 @@ static const struct hid_device_id hid_quirks[] = { { HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_FLIGHT_SIM_YOKE), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_PEDALS), HID_QUIRK_NOGET }, { HID_USB_DEVICE(USB_VENDOR_ID_CH, USB_DEVICE_ID_CH_PRO_THROTTLE), HID_QUIRK_NOGET }, + { HID_USB_DEVICE(USB_VENDOR_ID_COOLER_MASTER, USB_DEVICE_ID_COOLER_MASTER_MICE_DONGLE), HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K65RGB), HID_QUIRK_NO_INIT_REPORTS }, { HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K65RGB_RAPIDFIRE), HID_QUIRK_NO_INIT_REPORTS | HID_QUIRK_ALWAYS_POLL }, { HID_USB_DEVICE(USB_VENDOR_ID_CORSAIR, USB_DEVICE_ID_CORSAIR_K70RGB), HID_QUIRK_NO_INIT_REPORTS },
@@ -881,7 +882,6 @@ static const struct hid_device_id hid_ignore_list[] = {#endif { HID_USB_DEVICE(USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) }, { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_HP_5MP_CAMERA_5473) }, - { HID_USB_DEVICE(USB_VENDOR_ID_SMARTLINKTECHNOLOGY, USB_DEVICE_ID_SMARTLINKTECHNOLOGY_4155) }, { } };
@@ -1030,6 +1030,18 @@ bool hid_ignore(struct hid_device *hdev) strlen(elan_acpi_id[i].id)))return true;break ; +case USB_VENDOR_ID_JIELI_SDK_DEFAULT : +/* +* Multiple USB devices with identical IDs (mic & touchscreen). +* The touch screen requires hid core processing, but the +* microphone does not. They can be distinguished by manufacturer +* and serial number. +*/ +if (hdev->product ==USB_DEVICE_ID_JIELI_SDK_4155 && +strncmp (hdev->name,"SmartlinkTechnology" ,19 ) ==0 && +strncmp (hdev->uniq,"20201111000001" ,14 ) ==0 ) +return true; +break ; } if (hdev->type == HID_TYPE_USBMOUSE &&
drivers/hwmon/dell-smm-hwmon.c +7 -0
@@ -1016,6 +1016,13 @@ static const struct dmi_system_id i8k_dmi_table[] __initconst = { }, .driver_data = (void *)&i8k_config_data[DELL_PRECISION_490], }, + { + .ident = "Dell OptiPlex 7040", + .matches = { +DMI_MATCH (DMI_SYS_VENDOR ,"Dell Inc." ), + DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "OptiPlex 7040"), + }, + }, { .ident ="Dell Precision" , .matches = {
drivers/iio/adc/spear_adc.c +5 -4
@@ -12,6 +12,7 @@#include <linux/kernel.h> #include <linux/slab.h> #include <linux/io.h> +#include <linux/bitfield.h> #include <linux/clk.h> #include <linux/err.h> #include <linux/completion.h>
@@ -29,9 +30,9 @@/* Bit definitions for SPEAR_ADC_STATUS */ #define SPEAR_ADC_STATUS_START_CONVERSION BIT(0) -#define SPEAR_ADC_STATUS_CHANNEL_NUM (x) ((x) << 1) +#define SPEAR_ADC_STATUS_CHANNEL_NUM_MASK GENMASK(3, 1)#define SPEAR_ADC_STATUS_ADC_ENABLE BIT(4) -#define SPEAR_ADC_STATUS_AVG_SAMPLE (x) ((x) << 5) +#define SPEAR_ADC_STATUS_AVG_SAMPLE_MASK GENMASK(8, 5)#define SPEAR_ADC_STATUS_VREF_INTERNAL BIT(9)#define SPEAR_ADC_DATA_MASK 0x03ff
@@ -148,8 +149,8 @@ static int spear_adc_read_raw(struct iio_dev *indio_dev,case IIO_CHAN_INFO_RAW :mutex_lock (&indio_dev->mlock); - status =SPEAR_ADC_STATUS_CHANNEL_NUM (chan->channel) | -SPEAR_ADC_STATUS_AVG_SAMPLE (st->avg_samples) | + status =FIELD_PREP (SPEAR_ADC_STATUS_CHANNEL_NUM_MASK , chan->channel) | +FIELD_PREP (SPEAR_ADC_STATUS_AVG_SAMPLE_MASK , st->avg_samples) |SPEAR_ADC_STATUS_START_CONVERSION |SPEAR_ADC_STATUS_ADC_ENABLE ;if (st->vref_external ==0 )
drivers/input/keyboard/cros_ec_keyb.c +6 -0
@@ -244,6 +244,12 @@ static int cros_ec_keyb_work(struct notifier_block *nb,case EC_MKBP_EVENT_KEY_MATRIX :pm_wakeup_event (ckdev->dev,0 ); +if (!ckdev->idev) { +dev_warn_once (ckdev->dev, +"Unexpected key matrix event\n" ); +return NOTIFY_OK ; + } +if (ckdev->ec->event_size != ckdev->cols) {dev_err (ckdev->dev,"Discarded incomplete key matrix event.\n" );
drivers/input/misc/ati_remote2.c +1 -1
@@ -639,7 +639,7 @@ static int ati_remote2_urb_init(struct ati_remote2 *ar2)return -ENOMEM ; pipe =usb_rcvintpipe (udev, ar2->ep[i]->bEndpointAddress); - maxp =usb_maxpacket (udev, pipe,usb_pipeout (pipe)); + maxp =usb_maxpacket (udev, pipe); maxp = maxp >4 ?4 : maxp; usb_fill_int_urb(ar2->urb[i], udev, pipe, ar2->buf[i], maxp,
drivers/input/misc/cm109.c +1 -1
@@ -749,7 +749,7 @@ static int cm109_usb_probe(struct usb_interface *intf,/* get a handle to the interrupt data pipe */ pipe =usb_rcvintpipe (udev, endpoint->bEndpointAddress); - ret =usb_maxpacket (udev, pipe,usb_pipeout (pipe)); + ret =usb_maxpacket (udev, pipe);if (ret !=USB_PKT_LEN )dev_err (&intf->dev,"invalid payload size %d, expected %d\n" , ret,USB_PKT_LEN );
drivers/input/misc/powermate.c +1 -1
@@ -374,7 +374,7 @@ static int powermate_probe(struct usb_interface *intf, const struct usb_device_i/* get a handle to the interrupt data pipe */ pipe =usb_rcvintpipe (udev, endpoint->bEndpointAddress); - maxp =usb_maxpacket (udev, pipe,usb_pipeout (pipe)); + maxp =usb_maxpacket (udev, pipe);if (maxp <POWERMATE_PAYLOAD_SIZE_MIN || maxp >POWERMATE_PAYLOAD_SIZE_MAX ) { printk(KERN_WARNING "powermate: Expected payload of %d--%d bytes, found %d bytes!\n",
drivers/input/misc/yealink.c +1 -1
@@ -905,7 +905,7 @@ static int usb_probe(struct usb_interface *intf, const struct usb_device_id *id)/* get a handle to the interrupt data pipe */ pipe =usb_rcvintpipe (udev, endpoint->bEndpointAddress); - ret =usb_maxpacket (udev, pipe,usb_pipeout (pipe)); + ret =usb_maxpacket (udev, pipe);if (ret !=USB_PKT_LEN )dev_err (&intf->dev,"invalid payload size %d, expected %zd\n" , ret,USB_PKT_LEN );
drivers/input/tablet/acecad.c +1 -1
@@ -130,7 +130,7 @@ static int usb_acecad_probe(struct usb_interface *intf, const struct usb_device_return -ENODEV ; pipe =usb_rcvintpipe (dev, endpoint->bEndpointAddress); - maxp =usb_maxpacket (dev, pipe,usb_pipeout (pipe)); + maxp =usb_maxpacket (dev, pipe); acecad =kzalloc (sizeof (struct usb_acecad ),GFP_KERNEL ); input_dev =input_allocate_device ();
drivers/input/tablet/pegasus_notetaker.c +10 -1
@@ -63,6 +63,9 @@#define BUTTON_PRESSED 0xb5#define COMMAND_VERSION 0xa9 +/* 1 Status + 1 Color + 2 X + 2 Y = 6 bytes */ +#define NOTETAKER_PACKET_SIZE 6 +/* in xy data packet */ #define BATTERY_NO_REPORT 0x40#define BATTERY_LOW 0x41
@@ -296,7 +299,13 @@ static int pegasus_probe(struct usb_interface *intf, pegasus->intf = intf; pipe =usb_rcvintpipe (dev, endpoint->bEndpointAddress); - pegasus->data_len =usb_maxpacket (dev, pipe,usb_pipeout (pipe)); + pegasus->data_len =usb_maxpacket (dev, pipe); +if (pegasus->data_len <NOTETAKER_PACKET_SIZE ) { +dev_err (&intf->dev,"packet size is too small (%d)\n" , + pegasus->data_len); + error = -EINVAL ; + goto err_free_mem; + } pegasus->data =usb_alloc_coherent (dev, pegasus->data_len,GFP_KERNEL , &pegasus->data_dma);
drivers/irqchip/irq-gic-v2m.c +9 -4
@@ -178,14 +178,19 @@ static int gicv2m_irq_domain_alloc(struct irq_domain *domain, unsigned int virq, {msi_alloc_info_t *info = args;struct v2m_data *v2m =NULL , *tmp; -int hwirq, offset, i, err =0 ; +int hwirq, i, err =0 ; +unsigned long offset; +unsigned long align_mask = nr_irqs -1 ;spin_lock (&v2m_lock);list_for_each_entry (tmp, &v2m_nodes, entry) { - offset =bitmap_find_free_region (tmp->bm, tmp->nr_spis, -get_count_order (nr_irqs)); -if (offset >=0 ) { +unsigned long align_off = tmp->spi_start - (tmp->spi_start & ~align_mask); + + offset =bitmap_find_next_zero_area_off (tmp->bm, tmp->nr_spis,0 , + nr_irqs, align_mask, align_off); +if (offset < tmp->nr_spis) { v2m = tmp; +bitmap_set (v2m->bm, offset, nr_irqs);break ; } }
drivers/isdn/hardware/mISDN/hfcsusb.c +13 -5
@@ -1904,13 +1904,13 @@ setup_instance(struct hfcsusb *hw, struct device *parent)mISDN_freebchannel (&hw->bch[1 ]);mISDN_freebchannel (&hw->bch[0 ]);mISDN_freedchannel (&hw->dch); -kfree (hw);return err; }static int hfcsusb_probe (struct usb_interface *intf,const struct usb_device_id *id) { +int err;struct hfcsusb *hw;struct usb_device *dev =interface_to_usbdev (intf);struct usb_host_interface *iface = intf->cur_altsetting;
@@ -2101,20 +2101,28 @@ hfcsusb_probe(struct usb_interface *intf, const struct usb_device_id *id)if (!hw->ctrl_urb) {pr_warn ("%s: No memory for control urb\n" , driver_info->vend_name); -kfree (hw); -return -ENOMEM ; + err = -ENOMEM ; + goto err_free_hw; }pr_info ("%s: %s: detected \"%s\" (%s, if=%d alt=%d)\n" , hw->name, __func__, driver_info->vend_name, conf_str[small_match], ifnum, alt_used); -if (setup_instance (hw, dev->dev.parent)) -return -EIO ; +if (setup_instance (hw, dev->dev.parent)) { + err = -EIO ; + goto err_free_urb; + } hw->intf = intf;usb_set_intfdata (hw->intf, hw);return 0 ; + +err_free_urb: +usb_free_urb (hw->ctrl_urb); +err_free_hw: +kfree (hw); +return err; }/* function called when an active device is removed */
drivers/media/i2c/ir-kbd-i2c.c +3 -3
@@ -284,9 +284,9 @@ static int get_key_avermedia_cardbus(struct IR_i2c *ir, enum rc_proto *protocol,static int ir_key_poll (struct IR_i2c *ir) { -enum rc_proto protocol; -u32 scancode; -u8 toggle; +enum rc_proto protocol =0 ; +u32 scancode =0 ; +u8 toggle =0 ;int rc;dev_dbg (&ir->rc->dev,"%s\n" , __func__);
drivers/media/pci/ivtv/ivtv-alsa-pcm.c +0 -2
@@ -150,14 +150,12 @@ static int snd_ivtv_pcm_capture_open(struct snd_pcm_substream *substream) s = &itv->streams[IVTV_ENC_STREAM_TYPE_PCM ]; -v4l2_fh_init (&item.fh, &s->vdev); item.itv = itv; item.type = s->type;/* See if the stream is available */ if (ivtv_claim_stream (&item, item.type)) {/* No, it's already in use */ -v4l2_fh_exit (&item.fh);snd_ivtv_unlock (itvsc);return -EBUSY ; }
drivers/media/pci/ivtv/ivtv-driver.h +2 -1
@@ -325,6 +325,7 @@ struct ivtv_queue { };struct ivtv ;/* forward reference */ +struct ivtv_open_id ;struct ivtv_stream {/* These first four fields are always set, even if the stream
@@ -334,7 +335,7 @@ struct ivtv_stream {const char *name;/* name of the stream */ int type;/* stream type */ -struct v4l2_fh *fh;/* pointer to the streaming filehandle */ +struct ivtv_open_id *id;/* pointer to the streaming ivtv_open_id */ spinlock_t qlock;/* locks access to the queues */ unsigned long s_flags;/* status flags, see above */ int dma;/* can be PCI_DMA_TODEVICE, PCI_DMA_FROMDEVICE or PCI_DMA_NONE */
drivers/media/pci/ivtv/ivtv-fileops.c +9 -9
@@ -38,16 +38,16 @@ int ivtv_claim_stream(struct ivtv_open_id *id, int type)if (test_and_set_bit (IVTV_F_S_CLAIMED , &s->s_flags)) {/* someone already claimed this stream */ -if (s->fh == &id->fh) { +if (s->id == id) {/* yes, this file descriptor did. So that's OK. */ return 0 ; } -if (s->fh ==NULL && (type ==IVTV_DEC_STREAM_TYPE_VBI || +if (s->id ==NULL && (type ==IVTV_DEC_STREAM_TYPE_VBI || type ==IVTV_ENC_STREAM_TYPE_VBI )) {/* VBI is handled already internally, now also assign the file descriptor to this stream for external reading of the stream. */ - s->fh = &id->fh; + s->id = id;IVTV_DEBUG_INFO ("Start Read VBI\n" );return 0 ; }
@@ -55,7 +55,7 @@ int ivtv_claim_stream(struct ivtv_open_id *id, int type)IVTV_DEBUG_INFO ("Stream %d is busy\n" , type);return -EBUSY ; } - s->fh = &id->fh; + s->id = id;if (type ==IVTV_DEC_STREAM_TYPE_VBI ) {/* Enable reinsertion interrupt */ ivtv_clear_irq_mask (itv,IVTV_IRQ_DEC_VBI_RE_INSERT );
@@ -93,7 +93,7 @@ void ivtv_release_stream(struct ivtv_stream *s)struct ivtv *itv = s->itv;struct ivtv_stream *s_vbi; - s->fh =NULL ; + s->id =NULL ;if ((s->type ==IVTV_DEC_STREAM_TYPE_VBI || s->type ==IVTV_ENC_STREAM_TYPE_VBI ) &&test_bit (IVTV_F_S_INTERNAL_USE , &s->s_flags)) {/* this stream is still in use internally */
@@ -125,7 +125,7 @@ void ivtv_release_stream(struct ivtv_stream *s)/* was already cleared */ return ; } -if (s_vbi->fh) { +if (s_vbi->id) {/* VBI stream still claimed by a file descriptor */ return ; }
@@ -349,7 +349,7 @@ static ssize_t ivtv_read(struct ivtv_stream *s, char __user *ubuf, size_t tot_cosize_t tot_written =0 ;int single_frame =0 ; -if (atomic_read (&itv->capturing) ==0 && s->fh ==NULL ) { +if (atomic_read (&itv->capturing) ==0 && s->id ==NULL ) {/* shouldn't happen */ IVTV_DEBUG_WARN ("Stream %s not initialized before read\n" , s->name);return -EIO ;
@@ -819,7 +819,7 @@ void ivtv_stop_capture(struct ivtv_open_id *id, int gop_end) id->type == IVTV_ENC_STREAM_TYPE_VBI) && test_bit(IVTV_F_S_INTERNAL_USE, &s->s_flags)) { /* Also used internally, don't stop capturing */ - s->fh = NULL; + s->id = NULL; } else {ivtv_stop_v4l2_encode_stream (s, gop_end);
@@ -903,7 +903,7 @@ int ivtv_v4l2_close(struct file *filp)v4l2_fh_exit (fh);/* Easy case first: this stream was never claimed by us */ -if (s->fh != &id->fh) +if (s->id != id) goto close_done;/* 'Unclaim' this stream */
drivers/media/pci/ivtv/ivtv-irq.c +2 -2
@@ -305,7 +305,7 @@ static void dma_post(struct ivtv_stream *s)ivtv_process_vbi_data (itv, buf,0 , s->type); s->q_dma.bytesused += buf->bytesused; } -if (s->fh ==NULL ) { +if (s->id ==NULL ) {ivtv_queue_move (s, &s->q_dma,NULL , &s->q_free,0 );return ; }
@@ -330,7 +330,7 @@ static void dma_post(struct ivtv_stream *s)set_bit (IVTV_F_I_HAVE_WORK , &itv->i_flags); } -if (s->fh) +if (s->id)wake_up (&s->waitq); }
drivers/media/rc/imon.c +37 -24
109 lines not on this page · raw message
drivers/media/rc/redrat3.c +1 -1
@@ -423,7 +423,7 @@ static int redrat3_send_cmd(int cmd, struct redrat3_dev *rr3)static int redrat3_enable_detector (struct redrat3_dev *rr3) {struct device *dev = rr3->dev; -u8 ret; +int ret; ret =redrat3_send_cmd (RR3_RC_DET_ENABLE , rr3);if (ret !=0 )
drivers/media/tuners/xc4000.c +4 -4
@@ -1089,12 +1089,12 @@ static int check_firmware(struct dvb_frontend *fe, unsigned int type,static void xc_debug_dump (struct xc4000_priv *priv) { -u16 adc_envelope; +u16 adc_envelope =0 ;u32 freq_error_hz =0 ; -u16 lock_status; +u16 lock_status =0 ;u32 hsync_freq_hz =0 ; -u16 frame_lines; -u16 quality; +u16 frame_lines =0 ; +u16 quality =0 ;u16 signal =0 ;u16 noise =0 ;u8 hw_majorversion =0 , hw_minorversion =0 ;
drivers/media/tuners/xc5000.c +6 -6
@@ -622,14 +622,14 @@ static int xc5000_fwupload(struct dvb_frontend *fe,static void xc_debug_dump (struct xc5000_priv *priv) { -u16 adc_envelope; +u16 adc_envelope =0 ;u32 freq_error_hz =0 ; -u16 lock_status; +u16 lock_status =0 ;u32 hsync_freq_hz =0 ; -u16 frame_lines; -u16 quality; -u16 snr; -u16 totalgain; +u16 frame_lines =0 ; +u16 quality =0 ; +u16 snr =0 ; +u16 totalgain =0 ;u8 hw_majorversion =0 , hw_minorversion =0 ;u8 fw_majorversion =0 , fw_minorversion =0 ;u16 fw_buildversion =0 ;
drivers/memstick/core/memstick.c +6 -2
@@ -369,7 +369,9 @@ int memstick_set_rw_addr(struct memstick_dev *card) { card->next_request = h_memstick_set_rw_addr;memstick_new_req (card->host); -wait_for_completion (&card->mrq_complete); +if (!wait_for_completion_timeout (&card->mrq_complete, +msecs_to_jiffies (500 ))) + card->current_mrq.error = -ETIMEDOUT ;return card->current_mrq.error; }
@@ -403,7 +405,9 @@ static struct memstick_dev *memstick_alloc_card(struct memstick_host *host) card->next_request = h_memstick_read_dev_id;memstick_new_req (host); -wait_for_completion (&card->mrq_complete); +if (!wait_for_completion_timeout (&card->mrq_complete, +msecs_to_jiffies (500 ))) + card->current_mrq.error = -ETIMEDOUT ;if (card->current_mrq.error) goto err_out;
drivers/mfd/madera-core.c +2 -2
@@ -431,7 +431,7 @@ int madera_dev_init(struct madera *madera)struct device *dev = madera->dev;unsigned int hwid;int (*patch_fn)(struct madera *) =NULL ; -const struct mfd_cell *mfd_devs; +const struct mfd_cell *mfd_devs =NULL ;int n_devs =0 ;int i, ret;
@@ -616,7 +616,7 @@ int madera_dev_init(struct madera *madera) goto err_reset; } -if (!n_devs) { +if (!n_devs || !mfd_devs) {dev_err (madera->dev,"Device ID 0x%x not a %s\n" , hwid, madera->type_name); ret = -ENODEV ;
drivers/mfd/stmpe-i2c.c +1 -0
@@ -139,3 +139,4 @@ module_exit(stmpe_exit);MODULE_LICENSE ("GPL v2" );MODULE_DESCRIPTION ("STMPE MFD I2C Interface Driver" );MODULE_AUTHOR ("Rabin Vincent <[email protected]>" ); +MODULE_LICENSE ("GPL" );
drivers/mfd/stmpe.c +3 -0
@@ -1494,6 +1494,9 @@ int stmpe_probe(struct stmpe_client_info *ci, enum stmpe_partnum partnum)int stmpe_remove (struct stmpe *stmpe) { +if (stmpe->domain) +irq_domain_remove (stmpe->domain); +if (!IS_ERR (stmpe->vio) &®ulator_is_enabled (stmpe->vio))regulator_disable (stmpe->vio);if (!IS_ERR (stmpe->vcc) &®ulator_is_enabled (stmpe->vcc))
drivers/mmc/host/renesas_sdhi_core.c +5 -1
@@ -185,7 +185,11 @@ static void renesas_sdhi_set_clock(struct tmio_mmc_host *host, clk &= ~0xff ; } -sd_ctrl_write16 (host,CTL_SD_CARD_CLK_CTL , clk &CLK_CTL_DIV_MASK ); + clock = clk &CLK_CTL_DIV_MASK ; +if (clock !=0xff ) + host->mmc->actual_clock /= (1 << (ffs (clock) +1 )); + +sd_ctrl_write16 (host,CTL_SD_CARD_CLK_CTL , clock);if (!(host->pdata->flags &TMIO_MMC_MIN_RCAR2 ))usleep_range (10000 ,11000 );
drivers/mmc/host/sdhci-msm.c +15 -0
@@ -63,6 +63,7 @@#define CORE_IO_PAD_PWR_SWITCH_EN (1 << 15)#define CORE_IO_PAD_PWR_SWITCH (1 << 16)#define CORE_HC_SELECT_IN_EN BIT(18) +#define CORE_HC_SELECT_IN_SDR50 (4 << 19)#define CORE_HC_SELECT_IN_HS400 (6 << 19)#define CORE_HC_SELECT_IN_MASK (7 << 19)
@@ -1034,6 +1035,10 @@ static bool sdhci_msm_is_tuning_needed(struct sdhci_host *host) {struct mmc_ios *ios = &host->mmc->ios; +if (ios->timing ==MMC_TIMING_UHS_SDR50 && + host->flags &SDHCI_SDR50_NEEDS_TUNING ) +return true; +/* * Tuning is required for SDR104, HS200 and HS400 cards and * if clock frequency is greater than 100MHz in these modes.
@@ -1102,6 +1107,8 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode)struct mmc_ios ios = host->mmc->ios;struct sdhci_pltfm_host *pltfm_host =sdhci_priv (host);struct sdhci_msm_host *msm_host =sdhci_pltfm_priv (pltfm_host); +const struct sdhci_msm_offset *msm_offset = msm_host->offset; +u32 config;if (!sdhci_msm_is_tuning_needed (host)) { msm_host->use_cdr = false;
@@ -1118,6 +1125,14 @@ static int sdhci_msm_execute_tuning(struct mmc_host *mmc, u32 opcode)*/ msm_host->tuning_done =0 ; +if (ios.timing ==MMC_TIMING_UHS_SDR50 && + host->flags &SDHCI_SDR50_NEEDS_TUNING ) { + config =readl_relaxed (host->ioaddr + msm_offset->core_vendor_spec); + config &= ~CORE_HC_SELECT_IN_MASK ; + config |=CORE_HC_SELECT_IN_EN |CORE_HC_SELECT_IN_SDR50 ; +writel_relaxed (config, host->ioaddr + msm_offset->core_vendor_spec); + } +/* * For HS400 tuning in HS200 timing requires: * - select MCLK/2 in VENDOR_SPEC
drivers/net/can/usb/gs_usb.c +11 -12
@@ -156,10 +156,6 @@ struct gs_host_frame {#define GS_MAX_TX_URBS 10/* Only launch a max of GS_MAX_RX_URBS usb requests at a time. */ #define GS_MAX_RX_URBS 30 -/* Maximum number of interfaces the driver supports per device. -* Current hardware only supports 2 interfaces. The future may vary. -*/ -#define GS_MAX_INTF 2struct gs_tx_context {struct gs_can *dev;
@@ -190,10 +186,11 @@ struct gs_can {/* usb interface struct */ struct gs_usb { -struct gs_can *canch[GS_MAX_INTF ];struct usb_anchor rx_submitted;struct usb_device *udev;u8 active_channels; +u8 channel_cnt; +struct gs_can *canch[]; };/* 'allocate' a tx context.
@@ -321,7 +318,7 @@ static void gs_usb_receive_bulk_callback(struct urb *urb) }/* device reports out of range channel id */ -if (hf->channel >=GS_MAX_INTF ) +if (hf->channel >= usbcan->channel_cnt) goto device_detach; dev = usbcan->canch[hf->channel];
@@ -409,7 +406,7 @@ static void gs_usb_receive_bulk_callback(struct urb *urb)/* USB failure take down all interfaces */ if (rc == -ENODEV ) { device_detach: -for (rc =0 ; rc <GS_MAX_INTF ; rc++) { +for (rc =0 ; rc < usbcan->channel_cnt; rc++) {if (usbcan->canch[rc])netif_device_detach (usbcan->canch[rc]->netdev); }
@@ -991,20 +988,22 @@ static int gs_usb_probe(struct usb_interface *intf, icount = dconf->icount +1 ;dev_info (&intf->dev,"Configuring for %d interfaces\n" , icount); -if (icount >GS_MAX_INTF ) { +if (icount >type_max (typeof (dev->channel_cnt))) {dev_err (&intf->dev, -"Driver cannot handle more that %d CAN interfaces\n" , -GS_MAX_INTF ); +"Driver cannot handle more that %u CAN interfaces\n" , +type_max (typeof (dev->channel_cnt)));kfree (dconf);return -EINVAL ; } - dev =kzalloc (sizeof (*dev),GFP_KERNEL ); + dev =kzalloc (struct_size (dev, canch, icount),GFP_KERNEL );if (!dev) {kfree (dconf);return -ENOMEM ; } + dev->channel_cnt = icount; +init_usb_anchor (&dev->rx_submitted);usb_set_intfdata (intf, dev);
@@ -1045,7 +1044,7 @@ static void gs_usb_disconnect(struct usb_interface *intf)return ; } -for (i =0 ; i <GS_MAX_INTF ; i++) +for (i =0 ; i < dev->channel_cnt; i++)if (dev->canch[i])gs_destroy_candev (dev->canch[i]);
drivers/net/dsa/b53/b53_common.c +42 -15
131 lines not on this page · raw message
drivers/net/dsa/b53/b53_regs.h +2 -2
@@ -92,6 +92,7 @@#define PORT_OVERRIDE_SPEED_10M (0 << PORT_OVERRIDE_SPEED_S)#define PORT_OVERRIDE_SPEED_100M (1 << PORT_OVERRIDE_SPEED_S)#define PORT_OVERRIDE_SPEED_1000M (2 << PORT_OVERRIDE_SPEED_S) +#define PORT_OVERRIDE_LP_FLOW_25 BIT(3)/* BCM5325 only */ #define PORT_OVERRIDE_RV_MII_25 BIT(4)/* BCM5325 only */ #define PORT_OVERRIDE_RX_FLOW BIT(4)#define PORT_OVERRIDE_TX_FLOW BIT(5)
@@ -103,8 +104,7 @@/* IP Multicast control (8 bit) */ #define B53_IP_MULTICAST_CTRL 0x21 -#define B53_IP_MCAST_25 BIT(0) -#define B53_IPMC_FWD_EN BIT(1) +#define B53_IP_MC BIT(0)#define B53_UC_FWD_EN BIT(6)#define B53_MC_FWD_EN BIT(7)
drivers/net/ethernet/cadence/macb_main.c +2 -2
@@ -277,9 +277,9 @@ static void macb_set_hwaddr(struct macb *bp)u32 bottom;u16 top; - bottom =cpu_to_le32 (*((u32 *)bp->dev->dev_addr)); + bottom =get_unaligned_le32 (bp->dev->dev_addr);macb_or_gem_writel (bp,SA1B , bottom); - top =cpu_to_le16 (*((u16 *)(bp->dev->dev_addr +4 ))); + top =get_unaligned_le16 (bp->dev->dev_addr +4 );macb_or_gem_writel (bp,SA1T , top);/* Clear unused address register sets */
drivers/net/ethernet/emulex/benet/be_main.c +4 -3
@@ -1298,7 +1298,8 @@ static void be_xmit_flush(struct be_adapter *adapter, struct be_tx_obj *txo) (adapter->bmc_filt_mask & BMC_FILT_MULTICAST)static bool be_send_pkt_to_bmc (struct be_adapter *adapter, -struct sk_buff **skb) +struct sk_buff **skb, +struct be_wrb_params *wrb_params) {struct ethhdr *eh = (struct ethhdr *)(*skb)->data;bool os2bmc = false;
@@ -1362,7 +1363,7 @@ static bool be_send_pkt_to_bmc(struct be_adapter *adapter,* to BMC, asic expects the vlan to be inline in the packet. */ if (os2bmc) - *skb =be_insert_vlan_in_pkt (adapter, *skb,NULL ); + *skb =be_insert_vlan_in_pkt (adapter, *skb, wrb_params);return os2bmc; }
@@ -1389,7 +1390,7 @@ static netdev_tx_t be_xmit(struct sk_buff *skb, struct net_device *netdev)/* if os2bmc is enabled and if the pkt is destined to bmc, * enqueue the pkt a 2nd time with mgmt bit set. */ -if (be_send_pkt_to_bmc (adapter, &skb)) { +if (be_send_pkt_to_bmc (adapter, &skb, &wrb_params)) {BE_WRB_F_SET (wrb_params.features,OS2BMC ,1 ); wrb_cnt =be_xmit_enqueue (adapter, txo, skb, &wrb_params);if (unlikely (!wrb_cnt))
drivers/net/ethernet/freescale/fec_main.c +2 -0
@@ -1530,6 +1530,8 @@ fec_enet_rx_queue(struct net_device *ndev, int budget, u16 queue_id) ndev->stats.rx_packets++; pkt_len =fec16_to_cpu (bdp->cbd_datlen); ndev->stats.rx_bytes += pkt_len; +if (fep->quirks &FEC_QUIRK_HAS_RACC ) + ndev->stats.rx_bytes -=2 ; index =fec_enet_get_bd_index (bdp, &rxq->bd); skb = rxq->rx_skbuff[index];
drivers/net/ethernet/intel/fm10k/fm10k_common.c +2 -3
@@ -447,17 +447,16 @@ void fm10k_update_hw_stats_q(struct fm10k_hw *hw, struct fm10k_hw_stats_q *q,/** * fm10k_unbind_hw_stats_q - Unbind the queue counters from their queues * @q: pointer to the ring of hardware statistics queue -* @idx: index pointing to the start of the ring iteration * @count: number of queues to iterate over * * Function invalidates the index values for the queues so any updates that * may have happened are ignored and the base for the queue stats is reset. **/ -void fm10k_unbind_hw_stats_q (struct fm10k_hw_stats_q *q,u32 idx,u32 count) +void fm10k_unbind_hw_stats_q (struct fm10k_hw_stats_q *q,u32 count) {u32 i; -for (i =0 ; i < count; i++, idx++, q++) { +for (i =0 ; i < count; i++, q++) { q->rx_stats_idx =0 ; q->tx_stats_idx =0 ; }
drivers/net/ethernet/intel/fm10k/fm10k_common.h +1 -1
@@ -43,6 +43,6 @@ u32 fm10k_read_hw_stats_32b(struct fm10k_hw *hw, u32 addr,void fm10k_update_hw_stats_q (struct fm10k_hw *hw,struct fm10k_hw_stats_q *q,u32 idx,u32 count);#define fm10k_unbind_hw_stats_32b (s) ((s)->base_h = 0) -void fm10k_unbind_hw_stats_q (struct fm10k_hw_stats_q *q,u32 idx,u32 count); +void fm10k_unbind_hw_stats_q (struct fm10k_hw_stats_q *q,u32 count);s32 fm10k_get_host_state_generic (struct fm10k_hw *hw,bool *host_ready);#endif /* _FM10K_COMMON_H_ */
drivers/net/ethernet/intel/fm10k/fm10k_pf.c +1 -1
@@ -1509,7 +1509,7 @@ static void fm10k_rebind_hw_stats_pf(struct fm10k_hw *hw,fm10k_unbind_hw_stats_32b (&stats->nodesc_drop);/* Unbind Queue Statistics */ -fm10k_unbind_hw_stats_q (stats->q,0 , hw->mac.max_queues); +fm10k_unbind_hw_stats_q (stats->q, hw->mac.max_queues);/* Reinitialize bases for all stats */ fm10k_update_hw_stats_pf (hw, stats);
drivers/net/ethernet/intel/fm10k/fm10k_vf.c +1 -1
@@ -465,7 +465,7 @@ static void fm10k_rebind_hw_stats_vf(struct fm10k_hw *hw, struct fm10k_hw_stats *stats) {/* Unbind Queue Statistics */ -fm10k_unbind_hw_stats_q (stats->q,0 , hw->mac.max_queues); +fm10k_unbind_hw_stats_q (stats->q, hw->mac.max_queues);/* Reinitialize bases for all stats */ fm10k_update_hw_stats_vf (hw, stats);
drivers/net/ethernet/mellanox/mlx5/core/en_dcbnl.c +12 -3
@@ -579,26 +579,35 @@ static int mlx5e_dcbnl_ieee_setmaxrate(struct net_device *netdev,struct mlx5_core_dev *mdev = priv->mdev;u8 max_bw_value[IEEE_8021QAZ_MAX_TCS ];u8 max_bw_unit[IEEE_8021QAZ_MAX_TCS ]; -__u64 upper_limit_mbps =roundup (255 *MLX5E_100MB ,MLX5E_1GB ); +__u64 upper_limit_mbps; +__u64 upper_limit_gbps;int i;memset (max_bw_value,0 ,sizeof (max_bw_value));memset (max_bw_unit,0 ,sizeof (max_bw_unit)); + upper_limit_mbps =255 *MLX5E_100MB ; + upper_limit_gbps =255 *MLX5E_1GB ;for (i =0 ; i <=mlx5_max_tc (mdev); i++) {if (!maxrate->tc_maxrate[i]) { max_bw_unit[i] =MLX5_BW_NO_LIMIT ;continue ; } -if (maxrate->tc_maxrate[i] < upper_limit_mbps) { +if (maxrate->tc_maxrate[i] <= upper_limit_mbps) { max_bw_value[i] =div_u64 (maxrate->tc_maxrate[i],MLX5E_100MB ); max_bw_value[i] = max_bw_value[i] ? max_bw_value[i] :1 ; max_bw_unit[i] =MLX5_100_MBPS_UNIT ; - }else { + }else if (max_bw_value[i] <= upper_limit_gbps) { max_bw_value[i] =div_u64 (maxrate->tc_maxrate[i],MLX5E_1GB ); max_bw_unit[i] =MLX5_GBPS_UNIT ; + }else { +netdev_err (netdev, +"tc_%d maxrate %llu Kbps exceeds limit %llu\n" , + i, maxrate->tc_maxrate[i], + upper_limit_gbps); +return -EINVAL ; } }
drivers/net/ethernet/mellanox/mlxsw/spectrum_flower.c +4 -2
@@ -542,8 +542,10 @@ int mlxsw_sp_flower_stats(struct mlxsw_sp *mlxsw_sp,return -EINVAL ; rule =mlxsw_sp_acl_rule_lookup (mlxsw_sp, ruleset, f->cookie); -if (!rule) -return -EINVAL ; +if (!rule) { + err = -EINVAL ; + goto err_rule_get_stats; + } err =mlxsw_sp_acl_rule_get_stats (mlxsw_sp, rule, &packets, &bytes, &lastuse);
drivers/net/ethernet/qlogic/qede/qede_main.c +1 -1
@@ -216,7 +216,7 @@ static struct pci_driver qede_pci_driver = { };static struct qed_eth_cb_ops qede_ll_ops = { - { + .common = { #ifdef CONFIG_RFS_ACCEL .arfs_filter_op = qede_arfs_filter_op, #endif
drivers/net/ethernet/renesas/ravb_main.c +14 -2
@@ -1593,13 +1593,25 @@ static netdev_tx_t ravb_start_xmit(struct sk_buff *skb, struct net_device *ndev) }skb_tx_timestamp (skb); -/* Descriptor type must be set after all the above writes */ -dma_wmb (); +if (num_tx_desc >1 ) { desc->die_dt =DT_FEND ; desc--; +/* When using multi-descriptors, DT_FEND needs to get written +* before DT_FSTART, but the compiler may reorder the memory +* writes in an attempt to optimize the code. +* Use a dma_wmb() barrier to make sure DT_FEND and DT_FSTART +* are written exactly in the order shown in the code. +* This is particularly important for cases where the DMA engine +* is already running when we are running this code. If the DMA +* sees DT_FSTART without the corresponding DT_FEND it will enter +* an error condition. +*/ +dma_wmb (); desc->die_dt =DT_FSTART ; }else { +/* Descriptor type must be set after all the above writes */ +dma_wmb (); desc->die_dt =DT_FSINGLE ; }
drivers/net/ethernet/renesas/sh_eth.c +4 -0
@@ -2397,6 +2397,7 @@ static int sh_eth_set_ringparam(struct net_device *ndev,return 0 ; } +#ifdef CONFIG_PM_SLEEP static void sh_eth_get_wol (struct net_device *ndev,struct ethtool_wolinfo *wol) {struct sh_eth_private *mdp =netdev_priv (ndev);
@@ -2423,6 +2424,7 @@ static int sh_eth_set_wol(struct net_device *ndev, struct ethtool_wolinfo *wol)return 0 ; } +#endif static const struct ethtool_ops sh_eth_ethtool_ops = { .get_regs_len = sh_eth_get_regs_len,
@@ -2438,8 +2440,10 @@ static const struct ethtool_ops sh_eth_ethtool_ops = { .set_ringparam = sh_eth_set_ringparam, .get_link_ksettings = phy_ethtool_get_link_ksettings, .set_link_ksettings = phy_ethtool_set_link_ksettings, +#ifdef CONFIG_PM_SLEEP .get_wol = sh_eth_get_wol, .set_wol = sh_eth_set_wol, +#endif };/* network device open function */
drivers/net/ethernet/ti/netcp_core.c +5 -5
@@ -1339,10 +1339,10 @@ int netcp_txpipe_open(struct netcp_tx_pipe *tx_pipe) tx_pipe->dma_channel =knav_dma_open_channel (dev, tx_pipe->dma_chan_name, &config); -if (IS_ERR (tx_pipe->dma_channel)) { +if (!tx_pipe->dma_channel) {dev_err (dev,"failed opening tx chan(%s)\n" , tx_pipe->dma_chan_name); - ret =PTR_ERR (tx_pipe->dma_channel); + ret = -EINVAL ; goto err; }
@@ -1360,7 +1360,7 @@ int netcp_txpipe_open(struct netcp_tx_pipe *tx_pipe)return 0 ; err: -if (!IS_ERR_OR_NULL (tx_pipe->dma_channel)) +if (tx_pipe->dma_channel)knav_dma_close_channel (tx_pipe->dma_channel); tx_pipe->dma_channel =NULL ;return ret;
@@ -1679,10 +1679,10 @@ static int netcp_setup_navigator_resources(struct net_device *ndev) netcp->rx_channel =knav_dma_open_channel (netcp->netcp_device->device, netcp->dma_chan_name, &config); -if (IS_ERR (netcp->rx_channel)) { +if (!netcp->rx_channel) {dev_err (netcp->ndev_dev,"failed opening rx chan(%s\n" , netcp->dma_chan_name); - ret =PTR_ERR (netcp->rx_channel); + ret = -EINVAL ; goto fail; }
drivers/net/phy/dp83867.c +6 -0
@@ -337,6 +337,12 @@ static int dp83867_config_init(struct phy_device *phydev)return ret; } +/* Although the DP83867 reports EEE capability through the +* MDIO_PCS_EEE_ABLE and MDIO_AN_EEE_ADV registers, the feature +* is not actually implemented in hardware. +*/ + phydev->eee_broken_modes =MDIO_EEE_100TX |MDIO_EEE_1000T ; +if (phy_interface_is_rgmii (phydev)) { val =phy_read (phydev,MII_DP83867_PHYCTRL );if (val <0 )
drivers/net/phy/mdio_bus.c +4 -1
@@ -89,8 +89,11 @@ int mdiobus_register_device(struct mdio_device *mdiodev)return err; err =mdiobus_register_reset (mdiodev); -if (err) +if (err) { +gpiod_put (mdiodev->reset_gpio); + mdiodev->reset_gpio =NULL ;return err; + }/* Assert the reset signal */ mdio_device_reset (mdiodev,1 );
drivers/net/usb/asix_devices.c +9 -3
@@ -230,7 +230,9 @@ static int ax88172_bind(struct usbnet *dev, struct usb_interface *intf)int i;unsigned long gpio_bits = dev->driver_info->data; -usbnet_get_endpoints (dev,intf); + ret =usbnet_get_endpoints (dev, intf); +if (ret) + goto out;/* Toggle the GPIOs in a manufacturer/model specific way */ for (i =2 ; i >=0 ; i--) {
@@ -681,7 +683,9 @@ static int ax88772_bind(struct usbnet *dev, struct usb_interface *intf)u32 phyid;struct asix_common_private *priv; -usbnet_get_endpoints (dev, intf); + ret =usbnet_get_endpoints (dev, intf); +if (ret) +return ret;/* Maybe the boot loader passed the MAC address via device tree */ if (!eth_platform_get_mac_address (&dev->udev->dev, buf)) {
@@ -1063,7 +1067,9 @@ static int ax88178_bind(struct usbnet *dev, struct usb_interface *intf)int ret;u8 buf[ETH_ALEN ] = {0 }; -usbnet_get_endpoints (dev,intf); + ret =usbnet_get_endpoints (dev, intf); +if (ret) +return ret;/* Get the MAC address */ ret =asix_read_cmd (dev,AX_CMD_READ_NODE_ID ,0 ,0 ,ETH_ALEN , buf,0 );
drivers/net/usb/qmi_wwan.c +6 -0
@@ -229,6 +229,12 @@ static int qmimux_rx_fixup(struct usbnet *dev, struct sk_buff *skb)return 0 ; skbn->dev = net; +/* Raw IP packets don't have a MAC header, but other subsystems +* (like xfrm) may still access MAC header offsets, so they must +* be initialized. +*/ +skb_reset_mac_header (skbn); +switch (skb->data[offset + qmimux_hdr_sz] &0xf0 ) {case 0x40 : skbn->protocol =htons (ETH_P_IP );
drivers/net/usb/usbnet.c +2 -0
@@ -1615,6 +1615,8 @@ void usbnet_disconnect (struct usb_interface *intf) net = dev->net;unregister_netdev (net); +cancel_work_sync (&dev->kevent); +while ((urb =usb_get_from_anchor (&dev->deferred))) {dev_kfree_skb (urb->context);kfree (urb->sg);
drivers/net/wireless/ath/ath10k/wmi.c +1 -0
@@ -1894,6 +1894,7 @@ int ath10k_wmi_cmd_send(struct ath10k *ar, struct sk_buff *skb, u32 cmd_id)if (cmd_id ==WMI_CMD_UNSUPPORTED ) {ath10k_warn (ar,"wmi command %d is not supported by firmware\n" , cmd_id); +dev_kfree_skb_any (skb);return ret; }
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +1 -2
@@ -4963,8 +4963,7 @@ brcmf_cfg80211_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,brcmf_dbg (TRACE ,"Action frame, cookie=%lld, len=%d, freq=%d\n" , *cookie,le16_to_cpu (action_frame->len), freq); - ack =brcmf_p2p_send_action_frame (cfg,cfg_to_ndev (cfg), - af_params); + ack =brcmf_p2p_send_action_frame (vif->ifp, af_params);cfg80211_mgmt_tx_status (wdev, *cookie, buf, len, ack,GFP_KERNEL );
drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.c +10 -11
@@ -1477,6 +1477,7 @@ int brcmf_p2p_notify_action_tx_complete(struct brcmf_if *ifp,/** * brcmf_p2p_tx_action_frame() - send action frame over fil. * +* @ifp: interface to transmit on. * @p2p: p2p info struct for vif. * @af_params: action frame data/info. *
@@ -1486,11 +1487,11 @@ int brcmf_p2p_notify_action_tx_complete(struct brcmf_if *ifp,* The WLC_E_ACTION_FRAME_COMPLETE event will be received when the action * frame is transmitted. */ -static s32 brcmf_p2p_tx_action_frame (struct brcmf_p2p_info *p2p, +static s32 brcmf_p2p_tx_action_frame (struct brcmf_if *ifp, +struct brcmf_p2p_info *p2p,struct brcmf_fil_af_params_le *af_params) {struct brcmf_pub *drvr = p2p->cfg->pub; -struct brcmf_cfg80211_vif *vif;s32 err =0 ;s32 timeout =0 ;
@@ -1500,8 +1501,7 @@ static s32 brcmf_p2p_tx_action_frame(struct brcmf_p2p_info *p2p,clear_bit (BRCMF_P2P_STATUS_ACTION_TX_COMPLETED , &p2p->status);clear_bit (BRCMF_P2P_STATUS_ACTION_TX_NOACK , &p2p->status); - vif = p2p->bss_idx[P2PAPI_BSSCFG_DEVICE ].vif; - err =brcmf_fil_bsscfg_data_set (vif->ifp,"actframe" , af_params, + err =brcmf_fil_bsscfg_data_set (ifp,"actframe" , af_params,sizeof (*af_params));if (err) {bphy_err (drvr," sending action frame has failed\n" );
@@ -1643,16 +1643,14 @@ static s32 brcmf_p2p_pub_af_tx(struct brcmf_cfg80211_info *cfg,/** * brcmf_p2p_send_action_frame() - send action frame . * -* @cfg: driver private data for cfg80211 interface. -* @ndev: net device to transmit on. +* @ifp: interface to transmit on. * @af_params: configuration data for action frame. */ -bool brcmf_p2p_send_action_frame (struct brcmf_cfg80211_info *cfg, -struct net_device *ndev, +bool brcmf_p2p_send_action_frame (struct brcmf_if *ifp,struct brcmf_fil_af_params_le *af_params) { +struct brcmf_cfg80211_info *cfg = ifp->drvr->config;struct brcmf_p2p_info *p2p = &cfg->p2p; -struct brcmf_if *ifp =netdev_priv (ndev);struct brcmf_fil_action_frame_le *action_frame;struct brcmf_config_af_params config_af_params;struct afx_hdl *afx_hdl = &p2p->afx_hdl;
@@ -1779,7 +1777,7 @@ bool brcmf_p2p_send_action_frame(struct brcmf_cfg80211_info *cfg, tx_retry =0 ;while (!p2p->block_gon_req_tx && (ack == false) && (tx_retry <P2P_AF_TX_MAX_RETRY )) { - ack = !brcmf_p2p_tx_action_frame (p2p, af_params); + ack = !brcmf_p2p_tx_action_frame (ifp, p2p, af_params); tx_retry++; }if (ack == false) {
@@ -2137,7 +2135,6 @@ static struct wireless_dev *brcmf_p2p_create_p2pdev(struct brcmf_p2p_info *p2p,WARN_ON (p2p_ifp->bsscfgidx != bsscfgidx); -init_completion (&p2p->send_af_done);INIT_WORK (&p2p->afx_hdl.afx_work, brcmf_p2p_afx_handler);init_completion (&p2p->afx_hdl.act_frm_scan);init_completion (&p2p->wait_next_af);
@@ -2390,6 +2387,8 @@ s32 brcmf_p2p_attach(struct brcmf_cfg80211_info *cfg, bool p2pdev_forced) pri_ifp =brcmf_get_ifp (cfg->pub,0 ); p2p->bss_idx[P2PAPI_BSSCFG_PRIMARY ].vif = pri_ifp->vif; +init_completion (&p2p->send_af_done); +if (p2pdev_forced) { err_ptr =brcmf_p2p_create_p2pdev (p2p,NULL ,NULL );if (IS_ERR (err_ptr)) {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/p2p.h +1 -2
@@ -165,8 +165,7 @@ int brcmf_p2p_notify_action_frame_rx(struct brcmf_if *ifp,int brcmf_p2p_notify_action_tx_complete (struct brcmf_if *ifp,const struct brcmf_event_msg *e,void *data); -bool brcmf_p2p_send_action_frame (struct brcmf_cfg80211_info *cfg, -struct net_device *ndev, +bool brcmf_p2p_send_action_frame (struct brcmf_if *ifp,struct brcmf_fil_af_params_le *af_params);bool brcmf_p2p_scan_finding_common_channel (struct brcmf_cfg80211_info *cfg,struct brcmf_bss_info_le *bi);
drivers/pci/p2pdma.c +1 -1
@@ -215,7 +215,7 @@ int pci_p2pdma_add_resource(struct pci_dev *pdev, int bar, size_t size, pages_free:devm_memunmap_pages (&pdev->dev, pgmap); pgmap_free: -devm_kfree (&pdev->dev, pgmap); +devm_kfree (&pdev->dev, p2p_pgmap);return error; }EXPORT_SYMBOL_GPL (pci_p2pdma_add_resource);
drivers/pci/quirks.c +1 -0
@@ -2541,6 +2541,7 @@ static void quirk_disable_msi(struct pci_dev *dev)DECLARE_PCI_FIXUP_FINAL (PCI_VENDOR_ID_AMD ,PCI_DEVICE_ID_AMD_8131_BRIDGE , quirk_disable_msi);DECLARE_PCI_FIXUP_FINAL (PCI_VENDOR_ID_VIA ,0xa238 , quirk_disable_msi);DECLARE_PCI_FIXUP_FINAL (PCI_VENDOR_ID_ATI ,0x5a3f , quirk_disable_msi); +DECLARE_PCI_FIXUP_FINAL (PCI_VENDOR_ID_RDC ,0x1031 , quirk_disable_msi);/* * The APC bridge device in AMD 780 family northbridges has some random
drivers/phy/cadence/cdns-dphy.c +3 -1
@@ -115,7 +115,7 @@ static int cdns_dsi_get_dphy_pll_cfg(struct cdns_dphy *dphy, dlane_bps = opts->hs_clk_rate; -if (dlane_bps >2500000000UL || dlane_bps <160000000UL ) +if (dlane_bps >2500000000UL || dlane_bps <80000000UL )return -EINVAL ;else if (dlane_bps >=1250000000 ) cfg->pll_opdiv =1 ;
@@ -125,6 +125,8 @@ static int cdns_dsi_get_dphy_pll_cfg(struct cdns_dphy *dphy, cfg->pll_opdiv =4 ; else if (dlane_bps >= 160000000) cfg->pll_opdiv = 8; + else if (dlane_bps >= 80000000) + cfg->pll_opdiv = 16; cfg->pll_fbdiv = DIV_ROUND_UP_ULL(dlane_bps * 2 * cfg->pll_opdiv * cfg->pll_ipdiv,
drivers/regulator/fixed.c +4 -2
@@ -244,8 +244,10 @@ static int reg_fixed_voltage_probe(struct platform_device *pdev) drvdata->dev =devm_regulator_register (&pdev->dev, &drvdata->desc, &cfg);if (IS_ERR (drvdata->dev)) { - ret =PTR_ERR (drvdata->dev); -dev_err (&pdev->dev,"Failed to register regulator: %d\n" , ret); + ret =dev_err_probe (&pdev->dev,PTR_ERR (drvdata->dev), +"Failed to register regulator: %ld\n" , +PTR_ERR (drvdata->dev)); +gpiod_put (cfg.ena_gpiod);return ret; }
drivers/remoteproc/qcom_q6v5.c +5 -0
@@ -121,6 +121,11 @@ static irqreturn_t q6v5_handover_interrupt(int irq, void *data) {struct qcom_q6v5 *q6v5 = data; +if (q6v5->handover_issued) { +dev_err (q6v5->dev,"Handover signaled, but it already happened\n" ); +return IRQ_HANDLED ; + } +if (q6v5->handover) q6v5->handover (q6v5);
drivers/s390/net/ctcm_mpc.c +0 -1
@@ -712,7 +712,6 @@ static void mpc_rcvd_sweep_req(struct mpcg_info *mpcginfo) grp->sweep_req_pend_num--;ctcmpc_send_sweep_resp (ch); -kfree (mpcginfo);return ; }
drivers/scsi/lpfc/lpfc_debugfs.h +3 -0
@@ -44,6 +44,9 @@/* hbqinfo output buffer size */ #define LPFC_HBQINFO_SIZE 8192 +/* hdwqinfo output buffer size */ +#define LPFC_HDWQINFO_SIZE 8192 +/* nvmestat output buffer size */ #define LPFC_NVMESTAT_SIZE 8192#define LPFC_NVMEKTIME_SIZE 8192
drivers/scsi/lpfc/lpfc_scsi.c +10 -4
@@ -5153,7 +5153,7 @@ lpfc_chk_tgt_mapped(struct lpfc_vport *vport, struct scsi_cmnd *cmnd)/** * lpfc_reset_flush_io_context - * @vport: The virtual port (scsi_host) for the flush context -* @tgt_id: If aborting by Target contect - specifies the target id +* @tgt_id: If aborting by Target context - specifies the target id * @lun_id: If aborting by Lun context - specifies the lun id * @context: specifies the context level to flush at. *
@@ -5312,8 +5312,14 @@ lpfc_target_reset_handler(struct scsi_cmnd *cmnd) pnode->nlp_fcp_info &= ~NLP_FCP_2_DEVICE ;spin_unlock_irq (shost->host_lock); } -lpfc_reset_flush_io_context (vport, tgt_id, lun_id, -LPFC_CTX_TGT ); + status =lpfc_reset_flush_io_context (vport, tgt_id, lun_id, +LPFC_CTX_TGT ); +if (status !=SUCCESS ) { +lpfc_printf_vlog (vport,KERN_ERR ,LOG_FCP , +"0726 Target Reset flush status x%x\n" , + status); +return status; + }return FAST_IO_FAIL ; }
@@ -5457,7 +5463,7 @@ lpfc_host_reset_handler(struct scsi_cmnd *cmnd)int rc, ret =SUCCESS ;lpfc_printf_vlog (vport,KERN_ERR ,LOG_FCP , -"3172 SCSI layer issued Host Reset Data:\n" ); +"3172 SCSI layer issued Host Reset\n" );lpfc_offline_prep (phba,LPFC_MBX_WAIT );lpfc_offline (phba);
drivers/scsi/pm8001/pm8001_ctl.c +1 -1
@@ -596,7 +596,7 @@ static int pm8001_set_nvmd(struct pm8001_hba_info *pm8001_ha)struct pm8001_ioctl_payload *payload;DECLARE_COMPLETION_ONSTACK (completion);u8 *ioctlbuffer; -u32 ret; +int ret;u32 length =1024 *5 +sizeof (*payload) -1 ;if (pm8001_ha->fw_image->size >4096 ) {
drivers/scsi/sg.c +9 -1
@@ -2214,9 +2214,17 @@ sg_remove_sfp_usercontext(struct work_struct *work)write_lock_irqsave (&sfp->rq_list_lock, iflags);while (!list_empty (&sfp->rq_list)) { srp =list_first_entry (&sfp->rq_list, Sg_request, entry); -sg_finish_rem_req (srp);list_del (&srp->entry); +write_unlock_irqrestore (&sfp->rq_list_lock, iflags); + +sg_finish_rem_req (srp); +/* +* sg_rq_end_io() uses srp->parentfp. Hence, only clear +* srp->parentfp after blk_mq_free_request() has been called. +*/ srp->parentfp =NULL ; + +write_lock_irqsave (&sfp->rq_list_lock, iflags); }write_unlock_irqrestore (&sfp->rq_list_lock, iflags);
drivers/soc/imx/gpc.c +2 -0
@@ -540,6 +540,8 @@ static int imx_gpc_remove(struct platform_device *pdev)return ret; } +of_node_put (pgc_node); +return 0 ; }
drivers/soc/qcom/smem.c +1 -1
@@ -709,7 +709,7 @@ static u32 qcom_smem_get_item_count(struct qcom_smem *smem)if (IS_ERR_OR_NULL (ptable))return SMEM_ITEM_COUNT ; - info = (struct smem_info *)&ptable->entry[ptable->num_entries]; + info = (struct smem_info *)&ptable->entry[le32_to_cpu (ptable->num_entries)];if (memcmp (info->magic,SMEM_INFO_MAGIC ,sizeof (info->magic)))return SMEM_ITEM_COUNT ;
drivers/soc/ti/knav_dma.c +7 -7
@@ -420,7 +420,7 @@ static int of_channel_match_helper(struct device_node *np, const char *name,* @name: slave channel name * @config: dma configuration parameters * -* Returns pointer to appropriate DMA channel on success or error. +* Return: Pointer to appropriate DMA channel on success or NULL on error. */ void *knav_dma_open_channel (struct device *dev,const char *name,struct knav_dma_cfg *config)
@@ -433,13 +433,13 @@ void *knav_dma_open_channel(struct device *dev, const char *name,if (!kdev) {pr_err ("keystone-navigator-dma driver not registered\n" ); -return (void *)-EINVAL ; +return NULL ; } chan_num =of_channel_match_helper (dev->of_node, name, &instance);if (chan_num <0 ) {dev_err (kdev->dev,"No DMA instance with name %s\n" , name); -return (void *)-EINVAL ; +return NULL ; } dev_dbg(kdev->dev, "initializing %s channel %d from DMA %s\n",
@@ -450,7 +450,7 @@ void *knav_dma_open_channel(struct device *dev, const char *name,if (config->direction !=DMA_MEM_TO_DEV && config->direction !=DMA_DEV_TO_MEM ) {dev_err (kdev->dev,"bad direction\n" ); -return (void *)-EINVAL ; +return NULL ; }/* Look for correct dma instance */
@@ -462,7 +462,7 @@ void *knav_dma_open_channel(struct device *dev, const char *name, }if (!found) {dev_err (kdev->dev,"No DMA instance with name %s\n" , instance); -return (void *)-EINVAL ; +return NULL ; }/* Look for correct dma channel from dma instance */
@@ -483,14 +483,14 @@ void *knav_dma_open_channel(struct device *dev, const char *name,if (!found) {dev_err (kdev->dev,"channel %d is not in DMA %s\n" , chan_num, instance); -return (void *)-EINVAL ; +return NULL ; }if (atomic_read (&chan->ref_count) >=1 ) {if (!check_config (chan, config)) {dev_err (kdev->dev,"channel %d config miss-match\n" , chan_num); -return (void *)-EINVAL ; +return NULL ; } }
drivers/spi/spi-loopback-test.c +6 -6
@@ -403,7 +403,7 @@ static void spi_test_dump_message(struct spi_device *spi,int i;u8 b; -dev_info (&spi->dev," spi_msg@%pK\n" , msg); +dev_info (&spi->dev," spi_msg@%p\n" , msg);if (msg->status)dev_info (&spi->dev," status: %i\n" , msg->status);
@@ -413,15 +413,15 @@ static void spi_test_dump_message(struct spi_device *spi, msg->actual_length);list_for_each_entry (xfer, &msg->transfers, transfer_list) { -dev_info (&spi->dev," spi_transfer@%pK\n" , xfer); +dev_info (&spi->dev," spi_transfer@%p\n" , xfer);dev_info (&spi->dev," len: %i\n" , xfer->len); -dev_info (&spi->dev," tx_buf: %pK\n" , xfer->tx_buf); +dev_info (&spi->dev," tx_buf: %p\n" , xfer->tx_buf);if (dump_data && xfer->tx_buf)spi_test_print_hex_dump (" TX: " , xfer->tx_buf, xfer->len); -dev_info (&spi->dev," rx_buf: %pK\n" , xfer->rx_buf); +dev_info (&spi->dev," rx_buf: %p\n" , xfer->rx_buf);if (dump_data && xfer->rx_buf) spi_test_print_hex_dump(" RX: ", xfer->rx_buf,
@@ -514,7 +514,7 @@ static int spi_check_rx_ranges(struct spi_device *spi,/* if still not found then something has modified too much */ /* we could list the "closest" transfer here... */ dev_err (&spi->dev, -"loopback strangeness - rx changed outside of allowed range at: %pK\n" , +"loopback strangeness - rx changed outside of allowed range at: %p\n" , addr);/* do not return, only set ret, * so that we list all addresses
@@ -652,7 +652,7 @@ static int spi_test_translate(struct spi_device *spi, }dev_err (&spi->dev, -"PointerRange [%pK:%pK[ not in range [%pK:%pK[ or [%pK:%pK[\n" , +"PointerRange [%p:%p[ not in range [%p:%p[ or [%p:%p[\n" , *ptr, *ptr + len,RX (0 ),RX (SPI_TEST_MAX_SIZE ),TX (0 ),TX (SPI_TEST_MAX_SIZE ));
drivers/spi/spi.c +10 -0
@@ -2055,6 +2055,16 @@ static acpi_status acpi_register_spi_device(struct spi_controller *ctlr,acpi_set_modalias (adev,acpi_device_hid (adev), spi->modalias,sizeof (spi->modalias)); +/* +* This gets re-tried in spi_probe() for -EPROBE_DEFER handling in case +* the GPIO controller does not have a driver yet. This needs to be done +* here too, because this call sets the GPIO direction and/or bias. +* Setting these needs to be done even if there is no driver, in which +* case spi_probe() will never get called. +*/ +if (spi->irq <0 ) + spi->irq =acpi_dev_gpio_irq_get (adev,0 ); +acpi_device_set_enumerated (adev); adev->power.flags.ignore_parent = true;
drivers/target/loopback/tcm_loop.c +3 -0
@@ -933,6 +933,9 @@ static ssize_t tcm_loop_tpg_address_show(struct config_item *item, struct tcm_loop_tpg, tl_se_tpg);struct tcm_loop_hba *tl_hba = tl_tpg->tl_hba; +if (!tl_hba->sh) +return -ENODEV ; +return snprintf (page,PAGE_SIZE ,"%d:0:%d\n" , tl_hba->sh->host_no, tl_tpg->tl_tpgt); }
drivers/tee/tee_core.c +1 -1
@@ -722,7 +722,7 @@ struct tee_device *tee_device_alloc(const struct tee_desc *teedesc,if (!teedesc || !teedesc->name || !teedesc->ops || !teedesc->ops->get_version || !teedesc->ops->open || - !teedesc->ops->release || !pool) + !teedesc->ops->release)return ERR_PTR (-EINVAL ); teedev =kzalloc (sizeof (*teedev),GFP_KERNEL );
drivers/tty/serial/8250/8250_dw.c +59 -69
193 lines not on this page · raw message
drivers/uio/uio_hv_generic.c +17 -4
@@ -80,9 +80,15 @@ hv_uio_irqcontrol(struct uio_info *info, s32 irq_state) {struct hv_uio_private_data *pdata = info->priv;struct hv_device *dev = pdata->device; +struct vmbus_channel *primary, *sc; - dev->channel->inbound.ring_buffer->interrupt_mask = !irq_state; -virt_mb (); + primary = dev->channel; + primary->inbound.ring_buffer->interrupt_mask = !irq_state; + +mutex_lock (&vmbus_connection.channel_mutex); +list_for_each_entry (sc, &primary->sc_list, sc_list) + sc->inbound.ring_buffer->interrupt_mask = !irq_state; +mutex_unlock (&vmbus_connection.channel_mutex);return 0 ; }
@@ -93,11 +99,18 @@ hv_uio_irqcontrol(struct uio_info *info, s32 irq_state)static void hv_uio_channel_cb (void *context) {struct vmbus_channel *chan = context; -struct hv_device *hv_dev = chan->device_obj; -struct hv_uio_private_data *pdata =hv_get_drvdata (hv_dev); +struct hv_device *hv_dev; +struct hv_uio_private_data *pdata;virt_mb (); +/* +* The callback may come from a subchannel, in which case look +* for the hv device in the primary channel +*/ + hv_dev = chan->primary_channel ? + chan->primary_channel->device_obj : chan->device_obj; + pdata =hv_get_drvdata (hv_dev);uio_event_notify (&pdata->info); }
drivers/usb/gadget/function/f_fs.c +7 -1
@@ -2012,7 +2012,12 @@ static int ffs_func_eps_enable(struct ffs_function *func) ep = func->eps; epfile = ffs->epfiles; count = ffs->eps_count; -while (count--) { +if (!epfile) { + ret = -ENOMEM ; + goto done; + } + +while (count--) { ep->ep->driver_data = ep; ret =config_ep_by_speed (func->gadget, &func->function, ep->ep);
@@ -2036,6 +2041,7 @@ static int ffs_func_eps_enable(struct ffs_function *func) }wake_up_interruptible (&ffs->wait); +done:spin_unlock_irqrestore (&func->ffs->eps_lock, flags);return ret;
drivers/usb/gadget/function/f_hid.c +2 -2
@@ -496,7 +496,7 @@ static ssize_t f_hidg_write(struct file *file, const char __user *buffer, } req->status =0 ; - req->zero =0 ; + req->zero =1 ; req->length = count; req->complete = f_hidg_req_complete; req->context = hidg;
@@ -767,7 +767,7 @@ static int hidg_setup(struct usb_function *f,return -EOPNOTSUPP ; respond: - req->zero =0 ; + req->zero =1 ; req->length = length; status =usb_ep_queue (cdev->gadget->ep0, req,GFP_ATOMIC );if (status <0 )
drivers/usb/gadget/function/f_ncm.c +2 -1
@@ -1472,6 +1472,8 @@ static int ncm_bind(struct usb_configuration *c, struct usb_function *f) ncm_opts->bound = true; + ncm_string_defs[1 ].s = ncm->ethaddr; + us =usb_gstrings_attach (cdev, ncm_strings,ARRAY_SIZE (ncm_string_defs));if (IS_ERR (us)) {
@@ -1735,7 +1737,6 @@ static struct usb_function *ncm_alloc(struct usb_function_instance *fi)mutex_unlock (&opts->lock);return ERR_PTR (-EINVAL ); } - ncm_string_defs[STRING_MAC_IDX ].s = ncm->ethaddr;spin_lock_init (&ncm->lock);ncm_reset_values (ncm);
drivers/usb/host/xhci-plat.c +1 -0
@@ -222,6 +222,7 @@ static int xhci_plat_probe(struct platform_device *pdev) }pm_runtime_set_active (&pdev->dev); +pm_runtime_use_autosuspend (&pdev->dev);pm_runtime_enable (&pdev->dev);pm_runtime_get_noresume (&pdev->dev);
drivers/usb/mon/mon_bin.c +8 -6
@@ -68,18 +68,20 @@* The magic limit was calculated so that it allows the monitoring * application to pick data once in two ticks. This way, another application, * which presumably drives the bus, gets to hog CPU, yet we collect our data. -* If HZ is 100, a 480 mbit/s bus drives 614 KB every jiffy. USB has an -* enormous overhead built into the bus protocol, so we need about 1000 KB. +* +* Originally, for a 480 Mbit/s bus this required a buffer of about 1 MB. For +* modern 20 Gbps buses, this value increases to over 50 MB. The maximum +* buffer size is set to 64 MiB to accommodate this. * * This is still too much for most cases, where we just snoop a few * descriptor fetches for enumeration. So, the default is a "reasonable" -* amount for systems with HZ=250 and incomplete bus saturation. +* amount for typical, low-throughput use cases. * * XXX What about multi-megabyte URBs which take minutes to transfer? */ -#define BUFF_MAX CHUNK_ALIGN(1200*1024) -#define BUFF_DFL CHUNK_ALIGN(300*1024) -#define BUFF_MIN CHUNK_ALIGN(8*1024) +#define BUFF_MAX CHUNK_ALIGN(64*1024*1024) +#define BUFF_DFL CHUNK_ALIGN(300*1024) +#define BUFF_MIN CHUNK_ALIGN(8*1024)/* * The per-event API header (2 per URB).
drivers/video/backlight/lp855x_bl.c +1 -1
@@ -21,7 +21,7 @@#define LP855X_DEVICE_CTRL 0x01#define LP855X_EEPROM_START 0xA0#define LP855X_EEPROM_END 0xA7 -#define LP8556_EPROM_START 0xA0 +#define LP8556_EPROM_START 0x98#define LP8556_EPROM_END 0xAF/* LP8555/7 Registers */
drivers/video/fbdev/aty/atyfb_base.c +6 -2
@@ -2576,8 +2576,12 @@ static int aty_init(struct fb_info *info) pr_cont("\n"); }#endif -if (par->pll_ops->init_pll) - par->pll_ops->init_pll (info, &par->pll); +if (par->pll_ops->init_pll) { + ret = par->pll_ops->init_pll (info, &par->pll); +if (ret) +return ret; + } +if (par->pll_ops->resume_pll) par->pll_ops->resume_pll (info, &par->pll);
drivers/video/fbdev/core/bitblit.c +29 -4
@@ -80,12 +80,16 @@ static inline void bit_putcs_aligned(struct vc_data *vc, struct fb_info *info, struct fb_image *image, u8 *buf, u8 *dst) { u16 charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff; +unsigned int charcnt = vc->vc_font.charcount;u32 idx = vc->vc_font.width >>3 ;u8 *src;while (cnt--) { - src = vc->vc_font.data + (scr_readw (s++)& - charmask)*cellsize; +u16 ch =scr_readw (s++) & charmask; + +if (ch >= charcnt) + ch =0 ; + src = vc->vc_font.data + (unsigned int )ch * cellsize;if (attr) {update_attr (buf, src, attr, vc);
@@ -113,14 +117,18 @@ static inline void bit_putcs_unaligned(struct vc_data *vc, u8 *dst) {u16 charmask = vc->vc_hi_font_mask ?0x1ff :0xff ; +unsigned int charcnt = vc->vc_font.charcount;u32 shift_low =0 , mod = vc->vc_font.width %8 ;u32 shift_high =8 ;u32 idx = vc->vc_font.width >>3 ;u8 *src;while (cnt--) { - src = vc->vc_font.data + (scr_readw (s++)& - charmask)*cellsize; +u16 ch =scr_readw (s++) & charmask; + +if (ch >= charcnt) + ch =0 ; + src = vc->vc_font.data + (unsigned int )ch * cellsize;if (attr) {update_attr (buf, src, attr, vc);
@@ -161,6 +169,11 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info, image.height = vc->vc_font.height; image.depth =1 ; +if (image.dy >= info->var.yres) +return ; + + image.height =min (image.height, info->var.yres - image.dy); +if (attribute) { buf =kmalloc (cellsize,GFP_ATOMIC );if (!buf)
@@ -174,6 +187,18 @@ static void bit_putcs(struct vc_data *vc, struct fb_info *info, cnt = count; image.width = vc->vc_font.width * cnt; + +if (image.dx >= info->var.xres) +break ; + +if (image.dx + image.width > info->var.xres) { + image.width = info->var.xres - image.dx; + cnt = image.width / vc->vc_font.width; +if (cnt ==0 ) +break ; + image.width = cnt * vc->vc_font.width; + } + pitch =DIV_ROUND_UP (image.width,8 ) + scan_align; pitch &= ~scan_align; size = pitch * image.height + buf_align;
drivers/video/fbdev/pvr2fb.c +1 -1
@@ -191,7 +191,7 @@ static unsigned long pvr2fb_map;#ifdef CONFIG_PVR2_DMA static unsigned int shdma =PVR2_CASCADE_CHAN ; -static unsigned int pvr2dma =ONCHIP_NR_DMA_CHANNELS ; +static unsigned int pvr2dma =CONFIG_NR_ONCHIP_DMA_CHANNELS ;#endif static struct fb_videomode pvr2_modedb[] = {
drivers/video/fbdev/valkyriefb.c +2 -0
@@ -336,11 +336,13 @@ int __init valkyriefb_init(void)if (of_address_to_resource (dp,0 , &r)) {printk (KERN_ERR "can't find address for valkyrie\n" ); +of_node_put (dp);return 0 ; } frame_buffer_phys = r.start; cmap_regs_phys = r.start +0x304000 ; + of_node_put(dp); }#endif /* ppc (!CONFIG_MAC) */
fs/9p/v9fs.c +6 -3
@@ -558,7 +558,7 @@ static ssize_t caches_show(struct kobject *kobj,spin_lock (&v9fs_sessionlist_lock);list_for_each_entry (v9ses, &v9fs_sessionlist, slist) {if (v9ses->cachetag) { - n =snprintf (buf, limit,"%s\n" , v9ses->cachetag); + n =snprintf (buf + count, limit,"%s\n" , v9ses->cachetag);if (n <0 ) { count = n;break ;
@@ -594,13 +594,16 @@ static struct attribute_group v9fs_attr_group = {static int __init v9fs_sysfs_init (void ) { +int ret; + v9fs_kobj =kobject_create_and_add ("9p" , fs_kobj);if (!v9fs_kobj)return -ENOMEM ; -if (sysfs_create_group (v9fs_kobj, &v9fs_attr_group)) { + ret =sysfs_create_group (v9fs_kobj, &v9fs_attr_group); +if (ret) {kobject_put (v9fs_kobj); -return -ENOMEM ; +return ret; }return 0 ;
fs/btrfs/transaction.c +1 -1
@@ -1546,7 +1546,7 @@ static noinline int create_pending_snapshot(struct btrfs_trans_handle *trans, }/* see comments in should_cow_block() */ set_bit (BTRFS_ROOT_FORCE_COW , &root->state); -smp_wmb (); +smp_mb__after_atomic ();btrfs_set_root_node (new_root_item, tmp);/* record when the snapshot was created in key.offset */
fs/ceph/locks.c +4 -1
@@ -206,7 +206,10 @@ static int ceph_lock_wait_for_completion(struct ceph_mds_client *mdsc,if (err && err != -ERESTARTSYS )return err; -wait_for_completion_killable (&req->r_safe_completion); + err =wait_for_completion_killable (&req->r_safe_completion); +if (err) +return err; +return 0 ; }
fs/hpfs/namei.c +12 -6
@@ -52,8 +52,10 @@ static int hpfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode) dee.fnode =cpu_to_le32 (fno); dee.creation_date = dee.write_date = dee.read_date =cpu_to_le32 (local_get_seconds (dir->i_sb)); result =new_inode (dir->i_sb); -if (!result) +if (!result) { + err = -ENOMEM ; goto bail2; + }hpfs_init_inode (result); result->i_ino = fno;hpfs_i (result)->i_parent_dir = dir->i_ino;
@@ -154,9 +156,10 @@ static int hpfs_create(struct inode *dir, struct dentry *dentry, umode_t mode, b dee.creation_date = dee.write_date = dee.read_date =cpu_to_le32 (local_get_seconds (dir->i_sb)); result =new_inode (dir->i_sb); -if (!result) +if (!result) { + err = -ENOMEM ; goto bail1; - + }hpfs_init_inode (result); result->i_ino = fno; result->i_mode |=S_IFREG ;
@@ -241,9 +244,10 @@ static int hpfs_mknod(struct inode *dir, struct dentry *dentry, umode_t mode, de dee.creation_date = dee.write_date = dee.read_date =cpu_to_le32 (local_get_seconds (dir->i_sb)); result =new_inode (dir->i_sb); -if (!result) +if (!result) { + err = -ENOMEM ; goto bail1; - + }hpfs_init_inode (result); result->i_ino = fno;hpfs_i (result)->i_parent_dir = dir->i_ino;
@@ -317,8 +321,10 @@ static int hpfs_symlink(struct inode *dir, struct dentry *dentry, const char *sy dee.creation_date = dee.write_date = dee.read_date =cpu_to_le32 (local_get_seconds (dir->i_sb)); result =new_inode (dir->i_sb); -if (!result) +if (!result) { + err = -ENOMEM ; goto bail1; + } result->i_ino = fno;hpfs_init_inode (result);hpfs_i (result)->i_parent_dir = dir->i_ino;
fs/jfs/inode.c +7 -1
@@ -59,9 +59,15 @@ struct inode *jfs_iget(struct super_block *sb, unsigned long ino)*/ inode->i_link[inode->i_size] ='\0' ; } - }else { + }else if (S_ISCHR (inode->i_mode) ||S_ISBLK (inode->i_mode) || +S_ISFIFO (inode->i_mode) ||S_ISSOCK (inode->i_mode)) { inode->i_op = &jfs_file_inode_operations;init_special_inode (inode, inode->i_mode, inode->i_rdev); + }else { +printk (KERN_DEBUG "JFS: Invalid file type 0%04o for inode %lu.\n" , + inode->i_mode, inode->i_ino); +iget_failed (inode); +return ERR_PTR (-EIO ); }unlock_new_inode (inode);return inode;
fs/jfs/jfs_txnmgr.c +5 -4
@@ -272,14 +272,15 @@ int txInit(void)if (TxBlock ==NULL )return -ENOMEM ; -for (k =1 ; k < nTxBlock -1 ; k++) { - TxBlock[k].next = k +1 ; +for (k =0 ; k < nTxBlock; k++) {init_waitqueue_head (&TxBlock[k].gcwait);init_waitqueue_head (&TxBlock[k].waitor); } + +for (k =1 ; k < nTxBlock -1 ; k++) { + TxBlock[k].next = k +1 ; + } TxBlock[k].next =0 ; -init_waitqueue_head (&TxBlock[k].gcwait); -init_waitqueue_head (&TxBlock[k].waitor); TxAnchor.freetid =1 ;init_waitqueue_head (&TxAnchor.freewait);
fs/nfs/nfs4client.c +1 -0
@@ -221,6 +221,7 @@ struct nfs_client *nfs4_alloc_client(const struct nfs_client_initdata *cl_init) clp->cl_state =1 <<NFS4CLNT_LEASE_EXPIRED ; clp->cl_mvops = nfs_v4_minor_ops[cl_init->minorversion]; clp->cl_mig_gen =1 ; + clp->cl_last_renewal = jiffies;#if IS_ENABLED (CONFIG_NFS_V4_1 )init_waitqueue_head (&clp->cl_lock_waitq);#endif
fs/nfs/nfs4proc.c +4 -2
@@ -355,7 +355,9 @@ static void nfs4_setup_readdir(u64 cookie, __be32 *verifier, struct dentry *dent *p++ =htonl (attrs);/* bitmap */ *p++ =htonl (12 );/* attribute buffer length */ *p++ =htonl (NF4DIR ); +spin_lock (&dentry->d_lock); p =xdr_encode_hyper (p,NFS_FILEID (d_inode (dentry->d_parent))); +spin_unlock (&dentry->d_lock); readdir->pgbase = (char *)p - (char *)start; readdir->count -= readdir->pgbase;
@@ -7315,10 +7317,10 @@ int nfs4_lock_delegation_recall(struct file_lock *fl, struct nfs4_state *state,return err;do { err =_nfs4_do_setlk (state,F_SETLK , fl,NFS_LOCK_NEW ); -if (err != -NFS4ERR_DELAY ) +if (err != -NFS4ERR_DELAY && err != -NFS4ERR_GRACE )break ;ssleep (1 ); - }while (err == -NFS4ERR_DELAY ); + }while (err == -NFS4ERR_DELAY || err == -NFSERR_GRACE );return nfs4_handle_delegation_recall_error (server, state, stateid, fl, err); }
fs/nfs/nfs4state.c +3 -0
@@ -2660,6 +2660,9 @@ static void nfs4_state_manager(struct nfs_client *clp)case -ENETUNREACH :nfs_mark_client_ready (clp, -EIO );break ; +case -EINVAL : +nfs_mark_client_ready (clp, status); +break ;default :ssleep (1 );break ;
fs/open.c +6 -4
@@ -886,18 +886,20 @@ EXPORT_SYMBOL(finish_open);* finish_no_open - finish ->atomic_open() without opening the file * * @file: file pointer -* @dentry: dentry or NULL (as returned from ->lookup()) +* @dentry: dentry, ERR_PTR(-E...) or NULL (as returned from ->lookup()) * -* This can be used to set the result of a successful lookup in ->atomic_open(). +* This can be used to set the result of a lookup in ->atomic_open(). * * NB: unlike finish_open() this function does consume the dentry reference and * the caller need not dput() it. * -* Returns "0" which must be the return value of ->atomic_open() after having -* called this function. +* Returns 0 or -E..., which must be the return value of ->atomic_open() after +* having called this function. */ int finish_no_open (struct file *file,struct dentry *dentry) { +if (IS_ERR (dentry)) +return PTR_ERR (dentry); file->f_path.dentry = dentry;return 0 ; }
fs/orangefs/xattr.c +7 -5
@@ -54,7 +54,9 @@ static inline int convert_to_internal_xattr_flags(int setxattr_flags)static unsigned int xattr_key (const char *key) {
Lines of this file are not shown. View the raw message.
net/bluetooth/6lowpan.c +68 -29
97 lines not on this page · raw message
net/ipv6/ah6.c +31 -19
50 lines not on this page · raw message
net/openvswitch/actions.c +1 -67
68 lines not on this page · raw message
net/openvswitch/flow_netlink.c +8 -56
64 lines not on this page · raw message
tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy.c +18 -8
Lines of this file are not shown. View the raw message.
tools/testing/selftests/bpf/test_lirc_mode2_user.c +1 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/fcnal-test.sh +3 -1
Lines of this file are not shown. View the raw message.
tools/testing/selftests/net/psock_tpacket.c +2 -2
Lines of this file are not shown. View the raw message.
The rest of this diff is not shown. View the raw message.
Part of the diff is not shown here. View the raw message.
Greg Kroah-Hartman
maintainerQuoted 6 lines · Greg Kroah-Hartman
I'm announcing the release of the 5.4.302 kernel.
This is the LAST 5.4.y release. It is now end-of-life and should not be used by anyone, anymore. As of this point in time, there are 1539 documented unfixed CVEs for this kernel branch, and that number will only increase over time as more CVEs get assigned for kernel bugs.
And here's that list, if anyone is curious:
5.4.302 is vulnerable to CVE-2020-36776 5.4.302 is vulnerable to CVE-2020-36784 5.4.302 is vulnerable to CVE-2020-36788 5.4.302 is vulnerable to CVE-2021-46925 5.4.302 is vulnerable to CVE-2021-46926 5.4.302 is vulnerable to CVE-2021-46928 5.4.302 is vulnerable to CVE-2021-46941 5.4.302 is vulnerable to CVE-2021-46987 5.4.302 is vulnerable to CVE-2021-47001 5.4.302 is vulnerable to CVE-2021-47004 5.4.302 is vulnerable to CVE-2021-47005 5.4.302 is vulnerable to CVE-2021-47024 5.4.302 is vulnerable to CVE-2021-47049 5.4.302 is vulnerable to CVE-2021-47061 5.4.302 is vulnerable to CVE-2021-47063 5.4.302 is vulnerable to CVE-2021-47070 5.4.302 is vulnerable to CVE-2021-47074 5.4.302 is vulnerable to CVE-2021-47076 5.4.302 is vulnerable to CVE-2021-47077 5.4.302 is vulnerable to CVE-2021-47101 5.4.302 is vulnerable to CVE-2021-47113 5.4.302 is vulnerable to CVE-2021-47116 5.4.302 is vulnerable to CVE-2021-47119 5.4.302 is vulnerable to CVE-2021-47131 5.4.302 is vulnerable to CVE-2021-47143 5.4.302 is vulnerable to CVE-2021-47158 5.4.302 is vulnerable to CVE-2021-47182 5.4.302 is vulnerable to CVE-2021-47183 5.4.302 is vulnerable to CVE-2021-47188 5.4.302 is vulnerable to CVE-2021-47191 5.4.302 is vulnerable to CVE-2021-47193 5.4.302 is vulnerable to CVE-2021-47198 5.4.302 is vulnerable to CVE-2021-47205 5.4.302 is vulnerable to CVE-2021-47211 5.4.302 is vulnerable to CVE-2021-47212 5.4.302 is vulnerable to CVE-2021-47219 5.4.302 is vulnerable to CVE-2021-47226 5.4.302 is vulnerable to CVE-2021-47234 5.4.302 is vulnerable to CVE-2021-47247 5.4.302 is vulnerable to CVE-2021-47253 5.4.302 is vulnerable to CVE-2021-47265 5.4.302 is vulnerable to CVE-2021-47275 5.4.302 is vulnerable to CVE-2021-47281 5.4.302 is vulnerable to CVE-2021-47283 5.4.302 is vulnerable to CVE-2021-47331 5.4.302 is vulnerable to CVE-2021-47335 5.4.302 is vulnerable to CVE-2021-47339 5.4.302 is vulnerable to CVE-2021-47359 5.4.302 is vulnerable to CVE-2021-47362 5.4.302 is vulnerable to CVE-2021-47366 5.4.302 is vulnerable to CVE-2021-47378 5.4.302 is vulnerable to CVE-2021-47381 5.4.302 is vulnerable to CVE-2021-47391 5.4.302 is vulnerable to CVE-2021-47399 5.4.302 is vulnerable to CVE-2021-47407 5.4.302 is vulnerable to CVE-2021-47408 5.4.302 is vulnerable to CVE-2021-47410 5.4.302 is vulnerable to CVE-2021-47412 5.4.302 is vulnerable to CVE-2021-47414 5.4.302 is vulnerable to CVE-2021-47428 5.4.302 is vulnerable to CVE-2021-47432 5.4.302 is vulnerable to CVE-2021-47433 5.4.302 is vulnerable to CVE-2021-47438 5.4.302 is vulnerable to CVE-2021-47452 5.4.302 is vulnerable to CVE-2021-47455 5.4.302 is vulnerable to CVE-2021-47473 5.4.302 is vulnerable to CVE-2021-47479 5.4.302 is vulnerable to CVE-2021-47490 5.4.302 is vulnerable to CVE-2021-47491 5.4.302 is vulnerable to CVE-2021-47492 5.4.302 is vulnerable to CVE-2021-47493 5.4.302 is vulnerable to CVE-2021-47498 5.4.302 is vulnerable to CVE-2021-47501 5.4.302 is vulnerable to CVE-2021-47504 5.4.302 is vulnerable to CVE-2021-47508 5.4.302 is vulnerable to CVE-2021-47523 5.4.302 is vulnerable to CVE-2021-47544 5.4.302 is vulnerable to CVE-2021-47552 5.4.302 is vulnerable to CVE-2021-47559 5.4.302 is vulnerable to CVE-2021-47560 5.4.302 is vulnerable to CVE-2021-47577 5.4.302 is vulnerable to CVE-2021-47578 5.4.302 is vulnerable to CVE-2021-47580 5.4.302 is vulnerable to CVE-2021-47582 5.4.302 is vulnerable to CVE-2021-47599 5.4.302 is vulnerable to CVE-2021-47610 5.4.302 is vulnerable to CVE-2021-47618 5.4.302 is vulnerable to CVE-2021-47622 5.4.302 is vulnerable to CVE-2021-47623 5.4.302 is vulnerable to CVE-2021-47632 5.4.302 is vulnerable to CVE-2021-47635 5.4.302 is vulnerable to CVE-2021-47648 5.4.302 is vulnerable to CVE-2021-47653 5.4.302 is vulnerable to CVE-2022-48628 5.4.302 is vulnerable to CVE-2022-48633 5.4.302 is vulnerable to CVE-2022-48642 5.4.302 is vulnerable to CVE-2022-48664 5.4.302 is vulnerable to CVE-2022-48673 5.4.302 is vulnerable to CVE-2022-48674 5.4.302 is vulnerable to CVE-2022-48706 5.4.302 is vulnerable to CVE-2022-48712 5.4.302 is vulnerable to CVE-2022-48721 5.4.302 is vulnerable to CVE-2022-48733 5.4.302 is vulnerable to CVE-2022-48740 5.4.302 is vulnerable to CVE-2022-48744 5.4.302 is vulnerable to CVE-2022-48751 5.4.302 is vulnerable to CVE-2022-48755 5.4.302 is vulnerable to CVE-2022-48761 5.4.302 is vulnerable to CVE-2022-48763 5.4.302 is vulnerable to CVE-2022-48765 5.4.302 is vulnerable to CVE-2022-48769 5.4.302 is vulnerable to CVE-2022-48791 5.4.302 is vulnerable to CVE-2022-48792 5.4.302 is vulnerable to CVE-2022-48796 5.4.302 is vulnerable to CVE-2022-48802 5.4.302 is vulnerable to CVE-2022-48811 5.4.302 is vulnerable to CVE-2022-48825 5.4.302 is vulnerable to CVE-2022-48826 5.4.302 is vulnerable to CVE-2022-48827 5.4.302 is vulnerable to CVE-2022-48833 5.4.302 is vulnerable to CVE-2022-48844 5.4.302 is vulnerable to CVE-2022-48852 5.4.302 is vulnerable to CVE-2022-48863 5.4.302 is vulnerable to CVE-2022-48865 5.4.302 is vulnerable to CVE-2022-48875 5.4.302 is vulnerable to CVE-2022-48887 5.4.302 is vulnerable to CVE-2022-48893 5.4.302 is vulnerable to CVE-2022-48901 5.4.302 is vulnerable to CVE-2022-48902 5.4.302 is vulnerable to CVE-2022-48909 5.4.302 is vulnerable to CVE-2022-48920 5.4.302 is vulnerable to CVE-2022-48943 5.4.302 is vulnerable to CVE-2022-48950 5.4.302 is vulnerable to CVE-2022-48952 5.4.302 is vulnerable to CVE-2022-48953 5.4.302 is vulnerable to CVE-2022-48961 5.4.302 is vulnerable to CVE-2022-48975 5.4.302 is vulnerable to CVE-2022-48979 5.4.302 is vulnerable to CVE-2022-49000 5.4.302 is vulnerable to CVE-2022-49026 5.4.302 is vulnerable to CVE-2022-49027 5.4.302 is vulnerable to CVE-2022-49028 5.4.302 is vulnerable to CVE-2022-49046 5.4.302 is vulnerable to CVE-2022-49054 5.4.302 is vulnerable to CVE-2022-49065 5.4.302 is vulnerable to CVE-2022-49069 5.4.302 is vulnerable to CVE-2022-49072 5.4.302 is vulnerable to CVE-2022-49097 5.4.302 is vulnerable to CVE-2022-49102 5.4.302 is vulnerable to CVE-2022-49103 5.4.302 is vulnerable to CVE-2022-49104 5.4.302 is vulnerable to CVE-2022-49106 5.4.302 is vulnerable to CVE-2022-49107 5.4.302 is vulnerable to CVE-2022-49109 5.4.302 is vulnerable to CVE-2022-49110 5.4.302 is vulnerable to CVE-2022-49112 5.4.302 is vulnerable to CVE-2022-49118 5.4.302 is vulnerable to CVE-2022-49119 5.4.302 is vulnerable to CVE-2022-49120 5.4.302 is vulnerable to CVE-2022-49121 5.4.302 is vulnerable to CVE-2022-49124 5.4.302 is vulnerable to CVE-2022-49129 5.4.302 is vulnerable to CVE-2022-49134 5.4.302 is vulnerable to CVE-2022-49135 5.4.302 is vulnerable to CVE-2022-49138 5.4.302 is vulnerable to CVE-2022-49142 5.4.302 is vulnerable to CVE-2022-49149 5.4.302 is vulnerable to CVE-2022-49154 5.4.302 is vulnerable to CVE-2022-49156 5.4.302 is vulnerable to CVE-2022-49157 5.4.302 is vulnerable to CVE-2022-49158 5.4.302 is vulnerable to CVE-2022-49161 5.4.302 is vulnerable to CVE-2022-49164 5.4.302 is vulnerable to CVE-2022-49168 5.4.302 is vulnerable to CVE-2022-49169 5.4.302 is vulnerable to CVE-2022-49170 5.4.302 is vulnerable to CVE-2022-49172 5.4.302 is vulnerable to CVE-2022-49174 5.4.302 is vulnerable to CVE-2022-49178 5.4.302 is vulnerable to CVE-2022-49182 5.4.302 is vulnerable to CVE-2022-49188 5.4.302 is vulnerable to CVE-2022-49190 5.4.302 is vulnerable to CVE-2022-49194 5.4.302 is vulnerable to CVE-2022-49196 5.4.302 is vulnerable to CVE-2022-49201 5.4.302 is vulnerable to CVE-2022-49215 5.4.302 is vulnerable to CVE-2022-49219 5.4.302 is vulnerable to CVE-2022-49226 5.4.302 is vulnerable to CVE-2022-49234 5.4.302 is vulnerable to CVE-2022-49241 5.4.302 is vulnerable to CVE-2022-49246 5.4.302 is vulnerable to CVE-2022-49258 5.4.302 is vulnerable to CVE-2022-49267 5.4.302 is vulnerable to CVE-2022-49281 5.4.302 is vulnerable to CVE-2022-49285 5.4.302 is vulnerable to CVE-2022-49289 5.4.302 is vulnerable to CVE-2022-49294 5.4.302 is vulnerable to CVE-2022-49296 5.4.302 is vulnerable to CVE-2022-49303 5.4.302 is vulnerable to CVE-2022-49309 5.4.302 is vulnerable to CVE-2022-49311 5.4.302 is vulnerable to CVE-2022-49312 5.4.302 is vulnerable to CVE-2022-49317 5.4.302 is vulnerable to CVE-2022-49319 5.4.302 is vulnerable to CVE-2022-49323 5.4.302 is vulnerable to CVE-2022-49325 5.4.302 is vulnerable to CVE-2022-49327 5.4.302 is vulnerable to CVE-2022-49328 5.4.302 is vulnerable to CVE-2022-49342 5.4.302 is vulnerable to CVE-2022-49360 5.4.302 is vulnerable to CVE-2022-49361 5.4.302 is vulnerable to CVE-2022-49376 5.4.302 is vulnerable to CVE-2022-49390 5.4.302 is vulnerable to CVE-2022-49398 5.4.302 is vulnerable to CVE-2022-49420 5.4.302 is vulnerable to CVE-2022-49428 5.4.302 is vulnerable to CVE-2022-49430 5.4.302 is vulnerable to CVE-2022-49437 5.4.302 is vulnerable to CVE-2022-49440 5.4.302 is vulnerable to CVE-2022-49443 5.4.302 is vulnerable to CVE-2022-49444 5.4.302 is vulnerable to CVE-2022-49445 5.4.302 is vulnerable to CVE-2022-49449 5.4.302 is vulnerable to CVE-2022-49453 5.4.302 is vulnerable to CVE-2022-49465 5.4.302 is vulnerable to CVE-2022-49468 5.4.302 is vulnerable to CVE-2022-49470 5.4.302 is vulnerable to CVE-2022-49496 5.4.302 is vulnerable to CVE-2022-49497 5.4.302 is vulnerable to CVE-2022-49502 5.4.302 is vulnerable to CVE-2022-49504 5.4.302 is vulnerable to CVE-2022-49512 5.4.302 is vulnerable to CVE-2022-49513 5.4.302 is vulnerable to CVE-2022-49519 5.4.302 is vulnerable to CVE-2022-49521 5.4.302 is vulnerable to CVE-2022-49528 5.4.302 is vulnerable to CVE-2022-49531 5.4.302 is vulnerable to CVE-2022-49534 5.4.302 is vulnerable to CVE-2022-49535 5.4.302 is vulnerable to CVE-2022-49536 5.4.302 is vulnerable to CVE-2022-49540 5.4.302 is vulnerable to CVE-2022-49541 5.4.302 is vulnerable to CVE-2022-49542 5.4.302 is vulnerable to CVE-2022-49545 5.4.302 is vulnerable to CVE-2022-49546 5.4.302 is vulnerable to CVE-2022-49555 5.4.302 is vulnerable to CVE-2022-49562 5.4.302 is vulnerable to CVE-2022-49563 5.4.302 is vulnerable to CVE-2022-49564 5.4.302 is vulnerable to CVE-2022-49566 5.4.302 is vulnerable to CVE-2022-49578 5.4.302 is vulnerable to CVE-2022-49579 5.4.302 is vulnerable to CVE-2022-49585 5.4.302 is vulnerable to CVE-2022-49599 5.4.302 is vulnerable to CVE-2022-49603 5.4.302 is vulnerable to CVE-2022-49610 5.4.302 is vulnerable to CVE-2022-49618 5.4.302 is vulnerable to CVE-2022-49622 5.4.302 is vulnerable to CVE-2022-49623 5.4.302 is vulnerable to CVE-2022-49630 5.4.302 is vulnerable to CVE-2022-49632 5.4.302 is vulnerable to CVE-2022-49635 5.4.302 is vulnerable to CVE-2022-49640 5.4.302 is vulnerable to CVE-2022-49641 5.4.302 is vulnerable to CVE-2022-49650 5.4.302 is vulnerable to CVE-2022-49651 5.4.302 is vulnerable to CVE-2022-49658 5.4.302 is vulnerable to CVE-2022-49664 5.4.302 is vulnerable to CVE-2022-49666 5.4.302 is vulnerable to CVE-2022-49696 5.4.302 is vulnerable to CVE-2022-49698 5.4.302 is vulnerable to CVE-2022-49711 5.4.302 is vulnerable to CVE-2022-49720 5.4.302 is vulnerable to CVE-2022-49723 5.4.302 is vulnerable to CVE-2022-49728 5.4.302 is vulnerable to CVE-2022-49730 5.4.302 is vulnerable to CVE-2022-49742 5.4.302 is vulnerable to CVE-2022-49743 5.4.302 is vulnerable to CVE-2022-49749 5.4.302 is vulnerable to CVE-2022-49758 5.4.302 is vulnerable to CVE-2022-49761 5.4.302 is vulnerable to CVE-2022-49764 5.4.302 is vulnerable to CVE-2022-49765 5.4.302 is vulnerable to CVE-2022-49766 5.4.302 is vulnerable to CVE-2022-49799 5.4.302 is vulnerable to CVE-2022-49812 5.4.302 is vulnerable to CVE-2022-49813 5.4.302 is vulnerable to CVE-2022-49822 5.4.302 is vulnerable to CVE-2022-49823 5.4.302 is vulnerable to CVE-2022-49824 5.4.302 is vulnerable to CVE-2022-49825 5.4.302 is vulnerable to CVE-2022-49828 5.4.302 is vulnerable to CVE-2022-49829 5.4.302 is vulnerable to CVE-2022-49831 5.4.302 is vulnerable to CVE-2022-49837 5.4.302 is vulnerable to CVE-2022-49838 5.4.302 is vulnerable to CVE-2022-49839 5.4.302 is vulnerable to CVE-2022-49851 5.4.302 is vulnerable to CVE-2022-49873 5.4.302 is vulnerable to CVE-2022-49885 5.4.302 is vulnerable to CVE-2022-49892 5.4.302 is vulnerable to CVE-2022-49898 5.4.302 is vulnerable to CVE-2022-49899 5.4.302 is vulnerable to CVE-2022-49900 5.4.302 is vulnerable to CVE-2022-49901 5.4.302 is vulnerable to CVE-2022-49923 5.4.302 is vulnerable to CVE-2022-49924 5.4.302 is vulnerable to CVE-2022-49932 5.4.302 is vulnerable to CVE-2022-49935 5.4.302 is vulnerable to CVE-2022-49937 5.4.302 is vulnerable to CVE-2022-49938 5.4.302 is vulnerable to CVE-2022-49967 5.4.302 is vulnerable to CVE-2022-49979 5.4.302 is vulnerable to CVE-2022-49980 5.4.302 is vulnerable to CVE-2022-49989 5.4.302 is vulnerable to CVE-2022-49997 5.4.302 is vulnerable to CVE-2022-49998 5.4.302 is vulnerable to CVE-2022-50009 5.4.302 is vulnerable to CVE-2022-50011 5.4.302 is vulnerable to CVE-2022-50015 5.4.302 is vulnerable to CVE-2022-50016 5.4.302 is vulnerable to CVE-2022-50021 5.4.302 is vulnerable to CVE-2022-50023 5.4.302 is vulnerable to CVE-2022-50024 5.4.302 is vulnerable to CVE-2022-50036 5.4.302 is vulnerable to CVE-2022-50053 5.4.302 is vulnerable to CVE-2022-50060 5.4.302 is vulnerable to CVE-2022-50065 5.4.302 is vulnerable to CVE-2022-50066 5.4.302 is vulnerable to CVE-2022-50073 5.4.302 is vulnerable to CVE-2022-50082 5.4.302 is vulnerable to CVE-2022-50086 5.4.302 is vulnerable to CVE-2022-50098 5.4.302 is vulnerable to CVE-2022-50103 5.4.302 is vulnerable to CVE-2022-50114 5.4.302 is vulnerable to CVE-2022-50116 5.4.302 is vulnerable to CVE-2022-50120 5.4.302 is vulnerable to CVE-2022-50129 5.4.302 is vulnerable to CVE-2022-50132 5.4.302 is vulnerable to CVE-2022-50138 5.4.302 is vulnerable to CVE-2022-50144 5.4.302 is vulnerable to CVE-2022-50146 5.4.302 is vulnerable to CVE-2022-50151 5.4.302 is vulnerable to CVE-2022-50159 5.4.302 is vulnerable to CVE-2022-50163 5.4.302 is vulnerable to CVE-2022-50166 5.4.302 is vulnerable to CVE-2022-50167 5.4.302 is vulnerable to CVE-2022-50172 5.4.302 is vulnerable to CVE-2022-50174 5.4.302 is vulnerable to CVE-2022-50175 5.4.302 is vulnerable to CVE-2022-50181 5.4.302 is vulnerable to CVE-2022-50204 5.4.302 is vulnerable to CVE-2022-50224 5.4.302 is vulnerable to CVE-2022-50226 5.4.302 is vulnerable to CVE-2022-50233 5.4.302 is vulnerable to CVE-2022-50236 5.4.302 is vulnerable to CVE-2022-50241 5.4.302 is vulnerable to CVE-2022-50256 5.4.302 is vulnerable to CVE-2022-50260 5.4.302 is vulnerable to CVE-2022-50266 5.4.302 is vulnerable to CVE-2022-50267 5.4.302 is vulnerable to CVE-2022-50293 5.4.302 is vulnerable to CVE-2022-50300 5.4.302 is vulnerable to CVE-2022-50303 5.4.302 is vulnerable to CVE-2022-50304 5.4.302 is vulnerable to CVE-2022-50306 5.4.302 is vulnerable to CVE-2022-50316 5.4.302 is vulnerable to CVE-2022-50320 5.4.302 is vulnerable to CVE-2022-50328 5.4.302 is vulnerable to CVE-2022-50335 5.4.302 is vulnerable to CVE-2022-50340 5.4.302 is vulnerable to CVE-2022-50350 5.4.302 is vulnerable to CVE-2022-50356 5.4.302 is vulnerable to CVE-2022-50364 5.4.302 is vulnerable to CVE-2022-50369 5.4.302 is vulnerable to CVE-2022-50373 5.4.302 is vulnerable to CVE-2022-50374 5.4.302 is vulnerable to CVE-2022-50378 5.4.302 is vulnerable to CVE-2022-50385 5.4.302 is vulnerable to CVE-2022-50388 5.4.302 is vulnerable to CVE-2022-50392 5.4.302 is vulnerable to CVE-2022-50393 5.4.302 is vulnerable to CVE-2022-50400 5.4.302 is vulnerable to CVE-2022-50406 5.4.302 is vulnerable to CVE-2022-50407 5.4.302 is vulnerable to CVE-2022-50410 5.4.302 is vulnerable to CVE-2022-50412 5.4.302 is vulnerable to CVE-2022-50417 5.4.302 is vulnerable to CVE-2022-50443 5.4.302 is vulnerable to CVE-2022-50445 5.4.302 is vulnerable to CVE-2022-50453 5.4.302 is vulnerable to CVE-2022-50467 5.4.302 is vulnerable to CVE-2022-50469 5.4.302 is vulnerable to CVE-2022-50471 5.4.302 is vulnerable to CVE-2022-50472 5.4.302 is vulnerable to CVE-2022-50488 5.4.302 is vulnerable to CVE-2022-50492 5.4.302 is vulnerable to CVE-2022-50493 5.4.302 is vulnerable to CVE-2022-50500 5.4.302 is vulnerable to CVE-2022-50512 5.4.302 is vulnerable to CVE-2022-50516 5.4.302 is vulnerable to CVE-2022-50518 5.4.302 is vulnerable to CVE-2022-50527 5.4.302 is vulnerable to CVE-2022-50539 5.4.302 is vulnerable to CVE-2022-50550 5.4.302 is vulnerable to CVE-2022-50552 5.4.302 is vulnerable to CVE-2022-50554 5.4.302 is vulnerable to CVE-2022-50556 5.4.302 is vulnerable to CVE-2022-50560 5.4.302 is vulnerable to CVE-2022-50562 5.4.302 is vulnerable to CVE-2022-50571 5.4.302 is vulnerable to CVE-2022-50580 5.4.302 is vulnerable to CVE-2022-50582 5.4.302 is vulnerable to CVE-2023-52458 5.4.302 is vulnerable to CVE-2023-52474 5.4.302 is vulnerable to CVE-2023-52476 5.4.302 is vulnerable to CVE-2023-52481 5.4.302 is vulnerable to CVE-2023-52482 5.4.302 is vulnerable to CVE-2023-52484 5.4.302 is vulnerable to CVE-2023-52485 5.4.302 is vulnerable to CVE-2023-52488 5.4.302 is vulnerable to CVE-2023-52489 5.4.302 is vulnerable to CVE-2023-52491 5.4.302 is vulnerable to CVE-2023-52498 5.4.302 is vulnerable to CVE-2023-52500 5.4.302 is vulnerable to CVE-2023-52511 5.4.302 is vulnerable to CVE-2023-52515 5.4.302 is vulnerable to CVE-2023-52516 5.4.302 is vulnerable to CVE-2023-52517 5.4.302 is vulnerable to CVE-2023-52531 5.4.302 is vulnerable to CVE-2023-52561 5.4.302 is vulnerable to CVE-2023-52586 5.4.302 is vulnerable to CVE-2023-52588 5.4.302 is vulnerable to CVE-2023-52590 5.4.302 is vulnerable to CVE-2023-52591 5.4.302 is vulnerable to CVE-2023-52596 5.4.302 is vulnerable to CVE-2023-52610 5.4.302 is vulnerable to CVE-2023-52614 5.4.302 is vulnerable to CVE-2023-52621 5.4.302 is vulnerable to CVE-2023-52624 5.4.302 is vulnerable to CVE-2023-52625 5.4.302 is vulnerable to CVE-2023-52629 5.4.302 is vulnerable to CVE-2023-52633 5.4.302 is vulnerable to CVE-2023-52635 5.4.302 is vulnerable to CVE-2023-52638 5.4.302 is vulnerable to CVE-2023-52639 5.4.302 is vulnerable to CVE-2023-52642 5.4.302 is vulnerable to CVE-2023-52652 5.4.302 is vulnerable to CVE-2023-52653 5.4.302 is vulnerable to CVE-2023-52664 5.4.302 is vulnerable to CVE-2023-52669 5.4.302 is vulnerable to CVE-2023-52671 5.4.302 is vulnerable to CVE-2023-52674 5.4.302 is vulnerable to CVE-2023-52680 5.4.302 is vulnerable to CVE-2023-52700 5.4.302 is vulnerable to CVE-2023-52732 5.4.302 is vulnerable to CVE-2023-52736 5.4.302 is vulnerable to CVE-2023-52737 5.4.302 is vulnerable to CVE-2023-52741 5.4.302 is vulnerable to CVE-2023-52750 5.4.302 is vulnerable to CVE-2023-52751 5.4.302 is vulnerable to CVE-2023-52752 5.4.302 is vulnerable to CVE-2023-52754 5.4.302 is vulnerable to CVE-2023-52757 5.4.302 is vulnerable to CVE-2023-52761 5.4.302 is vulnerable to CVE-2023-52762 5.4.302 is vulnerable to CVE-2023-52763 5.4.302 is vulnerable to CVE-2023-52766 5.4.302 is vulnerable to CVE-2023-52781 5.4.302 is vulnerable to CVE-2023-52808 5.4.302 is vulnerable to CVE-2023-52811 5.4.302 is vulnerable to CVE-2023-52812 5.4.302 is vulnerable to CVE-2023-52814 5.4.302 is vulnerable to CVE-2023-52815 5.4.302 is vulnerable to CVE-2023-52821 5.4.302 is vulnerable to CVE-2023-52826 5.4.302 is vulnerable to CVE-2023-52828 5.4.302 is vulnerable to CVE-2023-52831 5.4.302 is vulnerable to CVE-2023-52833 5.4.302 is vulnerable to CVE-2023-52834 5.4.302 is vulnerable to CVE-2023-52854 5.4.302 is vulnerable to CVE-2023-52878 5.4.302 is vulnerable to CVE-2023-52886 5.4.302 is vulnerable to CVE-2023-52888 5.4.302 is vulnerable to CVE-2023-52903 5.4.302 is vulnerable to CVE-2023-52916 5.4.302 is vulnerable to CVE-2023-52920 5.4.302 is vulnerable to CVE-2023-52925 5.4.302 is vulnerable to CVE-2023-52926 5.4.302 is vulnerable to CVE-2023-52939 5.4.302 is vulnerable to CVE-2023-52975 5.4.302 is vulnerable to CVE-2023-53008 5.4.302 is vulnerable to CVE-2023-53010 5.4.302 is vulnerable to CVE-2023-53020 5.4.302 is vulnerable to CVE-2023-53038 5.4.302 is vulnerable to CVE-2023-53039 5.4.302 is vulnerable to CVE-2023-53042 5.4.302 is vulnerable to CVE-2023-53054 5.4.302 is vulnerable to CVE-2023-53068 5.4.302 is vulnerable to CVE-2023-53074 5.4.302 is vulnerable to CVE-2023-53079 5.4.302 is vulnerable to CVE-2023-53080 5.4.302 is vulnerable to CVE-2023-53091 5.4.302 is vulnerable to CVE-2023-53093 5.4.302 is vulnerable to CVE-2023-53094 5.4.302 is vulnerable to CVE-2023-53097 5.4.302 is vulnerable to CVE-2023-53098 5.4.302 is vulnerable to CVE-2023-53103 5.4.302 is vulnerable to CVE-2023-53105 5.4.302 is vulnerable to CVE-2023-53111 5.4.302 is vulnerable to CVE-2023-53131 5.4.302 is vulnerable to CVE-2023-53133 5.4.302 is vulnerable to CVE-2023-53149 5.4.302 is vulnerable to CVE-2023-53152 5.4.302 is vulnerable to CVE-2023-53171 5.4.302 is vulnerable to CVE-2023-53173 5.4.302 is vulnerable to CVE-2023-53178 5.4.302 is vulnerable to CVE-2023-53183 5.4.302 is vulnerable to CVE-2023-53197 5.4.302 is vulnerable to CVE-2023-53200 5.4.302 is vulnerable to CVE-2023-53201 5.4.302 is vulnerable to CVE-2023-53209 5.4.302 is vulnerable to CVE-2023-53217 5.4.302 is vulnerable to CVE-2023-53218 5.4.302 is vulnerable to CVE-2023-53225 5.4.302 is vulnerable to CVE-2023-53230 5.4.302 is vulnerable to CVE-2023-53231 5.4.302 is vulnerable to CVE-2023-53241 5.4.302 is vulnerable to CVE-2023-53244 5.4.302 is vulnerable to CVE-2023-53247 5.4.302 is vulnerable to CVE-2023-53248 5.4.302 is vulnerable to CVE-2023-53249 5.4.302 is vulnerable to CVE-2023-53250 5.4.302 is vulnerable to CVE-2023-53254 5.4.302 is vulnerable to CVE-2023-53257 5.4.302 is vulnerable to CVE-2023-53261 5.4.302 is vulnerable to CVE-2023-53270 5.4.302 is vulnerable to CVE-2023-53279 5.4.302 is vulnerable to CVE-2023-53282 5.4.302 is vulnerable to CVE-2023-53286 5.4.302 is vulnerable to CVE-2023-53287 5.4.302 is vulnerable to CVE-2023-53292 5.4.302 is vulnerable to CVE-2023-53326 5.4.302 is vulnerable to CVE-2023-53332 5.4.302 is vulnerable to CVE-2023-53334 5.4.302 is vulnerable to CVE-2023-53335 5.4.302 is vulnerable to CVE-2023-53347 5.4.302 is vulnerable to CVE-2023-53348 5.4.302 is vulnerable to CVE-2023-53353 5.4.302 is vulnerable to CVE-2023-53355 5.4.302 is vulnerable to CVE-2023-53359 5.4.302 is vulnerable to CVE-2023-53367 5.4.302 is vulnerable to CVE-2023-53370 5.4.302 is vulnerable to CVE-2023-53383 5.4.302 is vulnerable to CVE-2023-53387 5.4.302 is vulnerable to CVE-2023-53390 5.4.302 is vulnerable to CVE-2023-53391 5.4.302 is vulnerable to CVE-2023-53393 5.4.302 is vulnerable to CVE-2023-53402 5.4.302 is vulnerable to CVE-2023-53403 5.4.302 is vulnerable to CVE-2023-53404 5.4.302 is vulnerable to CVE-2023-53405 5.4.302 is vulnerable to CVE-2023-53406 5.4.302 is vulnerable to CVE-2023-53407 5.4.302 is vulnerable to CVE-2023-53408 5.4.302 is vulnerable to CVE-2023-53409 5.4.302 is vulnerable to CVE-2023-53410 5.4.302 is vulnerable to CVE-2023-53411 5.4.302 is vulnerable to CVE-2023-53412 5.4.302 is vulnerable to CVE-2023-53413 5.4.302 is vulnerable to CVE-2023-53414 5.4.302 is vulnerable to CVE-2023-53415 5.4.302 is vulnerable to CVE-2023-53416 5.4.302 is vulnerable to CVE-2023-53417 5.4.302 is vulnerable to CVE-2023-53418 5.4.302 is vulnerable to CVE-2023-53419 5.4.302 is vulnerable to CVE-2023-53429 5.4.302 is vulnerable to CVE-2023-53432 5.4.302 is vulnerable to CVE-2023-53438 5.4.302 is vulnerable to CVE-2023-53441 5.4.302 is vulnerable to CVE-2023-53447 5.4.302 is vulnerable to CVE-2023-53458 5.4.302 is vulnerable to CVE-2023-53460 5.4.302 is vulnerable to CVE-2023-53461 5.4.302 is vulnerable to CVE-2023-53469 5.4.302 is vulnerable to CVE-2023-53470 5.4.302 is vulnerable to CVE-2023-53473 5.4.302 is vulnerable to CVE-2023-53476 5.4.302 is vulnerable to CVE-2023-53482 5.4.302 is vulnerable to CVE-2023-53483 5.4.302 is vulnerable to CVE-2023-53491 5.4.302 is vulnerable to CVE-2023-53494 5.4.302 is vulnerable to CVE-2023-53499 5.4.302 is vulnerable to CVE-2023-53503 5.4.302 is vulnerable to CVE-2023-53509 5.4.302 is vulnerable to CVE-2023-53510 5.4.302 is vulnerable to CVE-2023-53512 5.4.302 is vulnerable to CVE-2023-53513 5.4.302 is vulnerable to CVE-2023-53517 5.4.302 is vulnerable to CVE-2023-53520 5.4.302 is vulnerable to CVE-2023-53529 5.4.302 is vulnerable to CVE-2023-53530 5.4.302 is vulnerable to CVE-2023-53538 5.4.302 is vulnerable to CVE-2023-53539 5.4.302 is vulnerable to CVE-2023-53540 5.4.302 is vulnerable to CVE-2023-53544 5.4.302 is vulnerable to CVE-2023-53545 5.4.302 is vulnerable to CVE-2023-53562 5.4.302 is vulnerable to CVE-2023-53574 5.4.302 is vulnerable to CVE-2023-53576 5.4.302 is vulnerable to CVE-2023-53577 5.4.302 is vulnerable to CVE-2023-53579 5.4.302 is vulnerable to CVE-2023-53581 5.4.302 is vulnerable to CVE-2023-53584 5.4.302 is vulnerable to CVE-2023-53586 5.4.302 is vulnerable to CVE-2023-53588 5.4.302 is vulnerable to CVE-2023-53594 5.4.302 is vulnerable to CVE-2023-53596 5.4.302 is vulnerable to CVE-2023-53605 5.4.302 is vulnerable to CVE-2023-53606 5.4.302 is vulnerable to CVE-2023-53607 5.4.302 is vulnerable to CVE-2023-53618 5.4.302 is vulnerable to CVE-2023-53620 5.4.302 is vulnerable to CVE-2023-53624 5.4.302 is vulnerable to CVE-2023-53625 5.4.302 is vulnerable to CVE-2023-53627 5.4.302 is vulnerable to CVE-2023-53635 5.4.302 is vulnerable to CVE-2023-53647 5.4.302 is vulnerable to CVE-2023-53651 5.4.302 is vulnerable to CVE-2023-53661 5.4.302 is vulnerable to CVE-2023-53671 5.4.302 is vulnerable to CVE-2023-53680 5.4.302 is vulnerable to CVE-2023-53682 5.4.302 is vulnerable to CVE-2023-53684 5.4.302 is vulnerable to CVE-2023-53685 5.4.302 is vulnerable to CVE-2023-53696 5.4.302 is vulnerable to CVE-2023-53699 5.4.302 is vulnerable to CVE-2023-53707 5.4.302 is vulnerable to CVE-2023-53708 5.4.302 is vulnerable to CVE-2023-53712 5.4.302 is vulnerable to CVE-2023-53714 5.4.302 is vulnerable to CVE-2023-53718 5.4.302 is vulnerable to CVE-2023-53733 5.4.302 is vulnerable to CVE-2024-26583 5.4.302 is vulnerable to CVE-2024-26584 5.4.302 is vulnerable to CVE-2024-26585 5.4.302 is vulnerable to CVE-2024-26586 5.4.302 is vulnerable to CVE-2024-26589 5.4.302 is vulnerable to CVE-2024-26595 5.4.302 is vulnerable to CVE-2024-26607 5.4.302 is vulnerable to CVE-2024-26614 5.4.302 is vulnerable to CVE-2024-26622 5.4.302 is vulnerable to CVE-2024-26629 5.4.302 is vulnerable to CVE-2024-26640 5.4.302 is vulnerable to CVE-2024-26641 5.4.302 is vulnerable to CVE-2024-26656 5.4.302 is vulnerable to CVE-2024-26659 5.4.302 is vulnerable to CVE-2024-26668 5.4.302 is vulnerable to CVE-2024-26669 5.4.302 is vulnerable to CVE-2024-26672 5.4.302 is vulnerable to CVE-2024-26677 5.4.302 is vulnerable to CVE-2024-26686 5.4.302 is vulnerable to CVE-2024-26689 5.4.302 is vulnerable to CVE-2024-26691 5.4.302 is vulnerable to CVE-2024-26700 5.4.302 is vulnerable to CVE-2024-26706 5.4.302 is vulnerable to CVE-2024-26712 5.4.302 is vulnerable to CVE-2024-26715 5.4.302 is vulnerable to CVE-2024-26719 5.4.302 is vulnerable to CVE-2024-26726 5.4.302 is vulnerable to CVE-2024-26733 5.4.302 is vulnerable to CVE-2024-26739 5.4.302 is vulnerable to CVE-2024-26740 5.4.302 is vulnerable to CVE-2024-26743 5.4.302 is vulnerable to CVE-2024-26747 5.4.302 is vulnerable to CVE-2024-26756 5.4.302 is vulnerable to CVE-2024-26757 5.4.302 is vulnerable to CVE-2024-26758 5.4.302 is vulnerable to CVE-2024-26759 5.4.302 is vulnerable to CVE-2024-26769 5.4.302 is vulnerable to CVE-2024-26771 5.4.302 is vulnerable to CVE-2024-26775 5.4.302 is vulnerable to CVE-2024-26787 5.4.302 is vulnerable to CVE-2024-26795 5.4.302 is vulnerable to CVE-2024-26807 5.4.302 is vulnerable to CVE-2024-26828 5.4.302 is vulnerable to CVE-2024-26830 5.4.302 is vulnerable to CVE-2024-26842 5.4.302 is vulnerable to CVE-2024-26844 5.4.302 is vulnerable to CVE-2024-26846 5.4.302 is vulnerable to CVE-2024-26865 5.4.302 is vulnerable to CVE-2024-26866 5.4.302 is vulnerable to CVE-2024-26869 5.4.302 is vulnerable to CVE-2024-26872 5.4.302 is vulnerable to CVE-2024-26876 5.4.302 is vulnerable to CVE-2024-26891 5.4.302 is vulnerable to CVE-2024-26900 5.4.302 is vulnerable to CVE-2024-26906 5.4.302 is vulnerable to CVE-2024-26907 5.4.302 is vulnerable to CVE-2024-26913 5.4.302 is vulnerable to CVE-2024-26914 5.4.302 is vulnerable to CVE-2024-26915 5.4.302 is vulnerable to CVE-2024-26920 5.4.302 is vulnerable to CVE-2024-26928 5.4.302 is vulnerable to CVE-2024-26930 5.4.302 is vulnerable to CVE-2024-26938 5.4.302 is vulnerable to CVE-2024-26947 5.4.302 is vulnerable to CVE-2024-26948 5.4.302 is vulnerable to CVE-2024-26960 5.4.302 is vulnerable to CVE-2024-26961 5.4.302 is vulnerable to CVE-2024-26962 5.4.302 is vulnerable to CVE-2024-26988 5.4.302 is vulnerable to CVE-2024-26996 5.4.302 is vulnerable to CVE-2024-27002 5.4.302 is vulnerable to CVE-2024-27010 5.4.302 is vulnerable to CVE-2024-27011 5.4.302 is vulnerable to CVE-2024-27012 5.4.302 is vulnerable to CVE-2024-27014 5.4.302 is vulnerable to CVE-2024-27019 5.4.302 is vulnerable to CVE-2024-27032 5.4.302 is vulnerable to CVE-2024-27037 5.4.302 is vulnerable to CVE-2024-27051 5.4.302 is vulnerable to CVE-2024-27054 5.4.302 is vulnerable to CVE-2024-27056 5.4.302 is vulnerable to CVE-2024-27062 5.4.302 is vulnerable to CVE-2024-27072 5.4.302 is vulnerable to CVE-2024-27402 5.4.302 is vulnerable to CVE-2024-27403 5.4.302 is vulnerable to CVE-2024-27408 5.4.302 is vulnerable to CVE-2024-27415 5.4.302 is vulnerable to CVE-2024-35247 5.4.302 is vulnerable to CVE-2024-35784 5.4.302 is vulnerable to CVE-2024-35790 5.4.302 is vulnerable to CVE-2024-35791 5.4.302 is vulnerable to CVE-2024-35794 5.4.302 is vulnerable to CVE-2024-35799 5.4.302 is vulnerable to CVE-2024-35803 5.4.302 is vulnerable to CVE-2024-35808 5.4.302 is vulnerable to CVE-2024-35826 5.4.302 is vulnerable to CVE-2024-35837 5.4.302 is vulnerable to CVE-2024-35839 5.4.302 is vulnerable to CVE-2024-35843 5.4.302 is vulnerable to CVE-2024-35848 5.4.302 is vulnerable to CVE-2024-35861 5.4.302 is vulnerable to CVE-2024-35862 5.4.302 is vulnerable to CVE-2024-35863 5.4.302 is vulnerable to CVE-2024-35864 5.4.302 is vulnerable to CVE-2024-35865 5.4.302 is vulnerable to CVE-2024-35866 5.4.302 is vulnerable to CVE-2024-35867 5.4.302 is vulnerable to CVE-2024-35868 5.4.302 is vulnerable to CVE-2024-35869 5.4.302 is vulnerable to CVE-2024-35870 5.4.302 is vulnerable to CVE-2024-35871 5.4.302 is vulnerable to CVE-2024-35875 5.4.302 is vulnerable to CVE-2024-35878 5.4.302 is vulnerable to CVE-2024-35887 5.4.302 is vulnerable to CVE-2024-35896 5.4.302 is vulnerable to CVE-2024-35904 5.4.302 is vulnerable to CVE-2024-35929 5.4.302 is vulnerable to CVE-2024-35931 5.4.302 is vulnerable to CVE-2024-35932 5.4.302 is vulnerable to CVE-2024-35934 5.4.302 is vulnerable to CVE-2024-35939 5.4.302 is vulnerable to CVE-2024-35940 5.4.302 is vulnerable to CVE-2024-35943 5.4.302 is vulnerable to CVE-2024-35945 5.4.302 is vulnerable to CVE-2024-35949 5.4.302 is vulnerable to CVE-2024-35951 5.4.302 is vulnerable to CVE-2024-35965 5.4.302 is vulnerable to CVE-2024-35966 5.4.302 is vulnerable to CVE-2024-35967 5.4.302 is vulnerable to CVE-2024-35995 5.4.302 is vulnerable to CVE-2024-35998 5.4.302 is vulnerable to CVE-2024-35999 5.4.302 is vulnerable to CVE-2024-36009 5.4.302 is vulnerable to CVE-2024-36013 5.4.302 is vulnerable to CVE-2024-36023 5.4.302 is vulnerable to CVE-2024-36024 5.4.302 is vulnerable to CVE-2024-36029 5.4.302 is vulnerable to CVE-2024-36244 5.4.302 is vulnerable to CVE-2024-36479 5.4.302 is vulnerable to CVE-2024-36880 5.4.302 is vulnerable to CVE-2024-36897 5.4.302 is vulnerable to CVE-2024-36901 5.4.302 is vulnerable to CVE-2024-36903 5.4.302 is vulnerable to CVE-2024-36908 5.4.302 is vulnerable to CVE-2024-36909 5.4.302 is vulnerable to CVE-2024-36910 5.4.302 is vulnerable to CVE-2024-36911 5.4.302 is vulnerable to CVE-2024-36914 5.4.302 is vulnerable to CVE-2024-36915 5.4.302 is vulnerable to CVE-2024-36917 5.4.302 is vulnerable to CVE-2024-36922 5.4.302 is vulnerable to CVE-2024-36923 5.4.302 is vulnerable to CVE-2024-36924 5.4.302 is vulnerable to CVE-2024-36927 5.4.302 is vulnerable to CVE-2024-36938 5.4.302 is vulnerable to CVE-2024-36949 5.4.302 is vulnerable to CVE-2024-36951 5.4.302 is vulnerable to CVE-2024-36952 5.4.302 is vulnerable to CVE-2024-36953 5.4.302 is vulnerable to CVE-2024-36968 5.4.302 is vulnerable to CVE-2024-36969 5.4.302 is vulnerable to CVE-2024-37021 5.4.302 is vulnerable to CVE-2024-37354 5.4.302 is vulnerable to CVE-2024-38545 5.4.302 is vulnerable to CVE-2024-38546 5.4.302 is vulnerable to CVE-2024-38553 5.4.302 is vulnerable to CVE-2024-38554 5.4.302 is vulnerable to CVE-2024-38556 5.4.302 is vulnerable to CVE-2024-38570 5.4.302 is vulnerable to CVE-2024-38580 5.4.302 is vulnerable to CVE-2024-38581 5.4.302 is vulnerable to CVE-2024-38591 5.4.302 is vulnerable to CVE-2024-38597 5.4.302 is vulnerable to CVE-2024-38602 5.4.302 is vulnerable to CVE-2024-38608 5.4.302 is vulnerable to CVE-2024-38611 5.4.302 is vulnerable to CVE-2024-38620 5.4.302 is vulnerable to CVE-2024-38630 5.4.302 is vulnerable to CVE-2024-38632 5.4.302 is vulnerable to CVE-2024-38662 5.4.302 is vulnerable to CVE-2024-39479 5.4.302 is vulnerable to CVE-2024-39482 5.4.302 is vulnerable to CVE-2024-39484 5.4.302 is vulnerable to CVE-2024-39490 5.4.302 is vulnerable to CVE-2024-39497 5.4.302 is vulnerable to CVE-2024-39507 5.4.302 is vulnerable to CVE-2024-39508 5.4.302 is vulnerable to CVE-2024-40910 5.4.302 is vulnerable to CVE-2024-40911 5.4.302 is vulnerable to CVE-2024-40918 5.4.302 is vulnerable to CVE-2024-40927 5.4.302 is vulnerable to CVE-2024-40929 5.4.302 is vulnerable to CVE-2024-40947 5.4.302 is vulnerable to CVE-2024-40965 5.4.302 is vulnerable to CVE-2024-40966 5.4.302 is vulnerable to CVE-2024-40967 5.4.302 is vulnerable to CVE-2024-40969 5.4.302 is vulnerable to CVE-2024-40970 5.4.302 is vulnerable to CVE-2024-40971 5.4.302 is vulnerable to CVE-2024-40972 5.4.302 is vulnerable to CVE-2024-40973 5.4.302 is vulnerable to CVE-2024-40976 5.4.302 is vulnerable to CVE-2024-40977 5.4.302 is vulnerable to CVE-2024-40990 5.4.302 is vulnerable to CVE-2024-40998 5.4.302 is vulnerable to CVE-2024-40999 5.4.302 is vulnerable to CVE-2024-41000 5.4.302 is vulnerable to CVE-2024-41001 5.4.302 is vulnerable to CVE-2024-41005 5.4.302 is vulnerable to CVE-2024-41008 5.4.302 is vulnerable to CVE-2024-41013 5.4.302 is vulnerable to CVE-2024-41014 5.4.302 is vulnerable to CVE-2024-41023 5.4.302 is vulnerable to CVE-2024-41048 5.4.302 is vulnerable to CVE-2024-41060 5.4.302 is vulnerable to CVE-2024-41062 5.4.302 is vulnerable to CVE-2024-41066 5.4.302 is vulnerable to CVE-2024-41067 5.4.302 is vulnerable to CVE-2024-41069 5.4.302 is vulnerable to CVE-2024-41073 5.4.302 is vulnerable to CVE-2024-41076 5.4.302 is vulnerable to CVE-2024-41077 5.4.302 is vulnerable to CVE-2024-41078 5.4.302 is vulnerable to CVE-2024-41079 5.4.302 is vulnerable to CVE-2024-41080 5.4.302 is vulnerable to CVE-2024-41082 5.4.302 is vulnerable to CVE-2024-41093 5.4.302 is vulnerable to CVE-2024-41935 5.4.302 is vulnerable to CVE-2024-42063 5.4.302 is vulnerable to CVE-2024-42067 5.4.302 is vulnerable to CVE-2024-42068 5.4.302 is vulnerable to CVE-2024-42077 5.4.302 is vulnerable to CVE-2024-42079 5.4.302 is vulnerable to CVE-2024-42080 5.4.302 is vulnerable to CVE-2024-42082 5.4.302 is vulnerable to CVE-2024-42098 5.4.302 is vulnerable to CVE-2024-42110 5.4.302 is vulnerable to CVE-2024-42114 5.4.302 is vulnerable to CVE-2024-42118 5.4.302 is vulnerable to CVE-2024-42120 5.4.302 is vulnerable to CVE-2024-42121 5.4.302 is vulnerable to CVE-2024-42122 5.4.302 is vulnerable to CVE-2024-42123 5.4.302 is vulnerable to CVE-2024-42128 5.4.302 is vulnerable to CVE-2024-42129 5.4.302 is vulnerable to CVE-2024-42130 5.4.302 is vulnerable to CVE-2024-42135 5.4.302 is vulnerable to CVE-2024-42147 5.4.302 is vulnerable to CVE-2024-42155 5.4.302 is vulnerable to CVE-2024-42156 5.4.302 is vulnerable to CVE-2024-42158 5.4.302 is vulnerable to CVE-2024-42160 5.4.302 is vulnerable to CVE-2024-42225 5.4.302 is vulnerable to CVE-2024-42244 5.4.302 is vulnerable to CVE-2024-42252 5.4.302 is vulnerable to CVE-2024-42253 5.4.302 is vulnerable to CVE-2024-42267 5.4.302 is vulnerable to CVE-2024-42296 5.4.302 is vulnerable to CVE-2024-42312 5.4.302 is vulnerable to CVE-2024-42319 5.4.302 is vulnerable to CVE-2024-42321 5.4.302 is vulnerable to CVE-2024-42322 5.4.302 is vulnerable to CVE-2024-43817 5.4.302 is vulnerable to CVE-2024-43819 5.4.302 is vulnerable to CVE-2024-43831 5.4.302 is vulnerable to CVE-2024-43834 5.4.302 is vulnerable to CVE-2024-43863 5.4.302 is vulnerable to CVE-2024-43866 5.4.302 is vulnerable to CVE-2024-43872 5.4.302 is vulnerable to CVE-2024-43877 5.4.302 is vulnerable to CVE-2024-43892 5.4.302 is vulnerable to CVE-2024-43899 5.4.302 is vulnerable to CVE-2024-43900 5.4.302 is vulnerable to CVE-2024-43901 5.4.302 is vulnerable to CVE-2024-43902 5.4.302 is vulnerable to CVE-2024-43904 5.4.302 is vulnerable to CVE-2024-43905 5.4.302 is vulnerable to CVE-2024-43907 5.4.302 is vulnerable to CVE-2024-43909 5.4.302 is vulnerable to CVE-2024-43912 5.4.302 is vulnerable to CVE-2024-44938 5.4.302 is vulnerable to CVE-2024-44939 5.4.302 is vulnerable to CVE-2024-44940 5.4.302 is vulnerable to CVE-2024-44941 5.4.302 is vulnerable to CVE-2024-44942 5.4.302 is vulnerable to CVE-2024-44949 5.4.302 is vulnerable to CVE-2024-44950 5.4.302 is vulnerable to CVE-2024-44957 5.4.302 is vulnerable to CVE-2024-44958 5.4.302 is vulnerable to CVE-2024-44963 5.4.302 is vulnerable to CVE-2024-44972 5.4.302 is vulnerable to CVE-2024-44982 5.4.302 is vulnerable to CVE-2024-44986 5.4.302 is vulnerable to CVE-2024-45015 5.4.302 is vulnerable to CVE-2024-45828 5.4.302 is vulnerable to CVE-2024-46681 5.4.302 is vulnerable to CVE-2024-46695 5.4.302 is vulnerable to CVE-2024-46702 5.4.302 is vulnerable to CVE-2024-46707 5.4.302 is vulnerable to CVE-2024-46713 5.4.302 is vulnerable to CVE-2024-46715 5.4.302 is vulnerable to CVE-2024-46716 5.4.302 is vulnerable to CVE-2024-46717 5.4.302 is vulnerable to CVE-2024-46720 5.4.302 is vulnerable to CVE-2024-46724 5.4.302 is vulnerable to CVE-2024-46725 5.4.302 is vulnerable to CVE-2024-46726 5.4.302 is vulnerable to CVE-2024-46727 5.4.302 is vulnerable to CVE-2024-46728 5.4.302 is vulnerable to CVE-2024-46729 5.4.302 is vulnerable to CVE-2024-46730 5.4.302 is vulnerable to CVE-2024-46731 5.4.302 is vulnerable to CVE-2024-46732 5.4.302 is vulnerable to CVE-2024-46733 5.4.302 is vulnerable to CVE-2024-46751 5.4.302 is vulnerable to CVE-2024-46752 5.4.302 is vulnerable to CVE-2024-46753 5.4.302 is vulnerable to CVE-2024-46754 5.4.302 is vulnerable to CVE-2024-46760 5.4.302 is vulnerable to CVE-2024-46762 5.4.302 is vulnerable to CVE-2024-46763 5.4.302 is vulnerable to CVE-2024-46770 5.4.302 is vulnerable to CVE-2024-46772 5.4.302 is vulnerable to CVE-2024-46773 5.4.302 is vulnerable to CVE-2024-46774 5.4.302 is vulnerable to CVE-2024-46775 5.4.302 is vulnerable to CVE-2024-46776 5.4.302 is vulnerable to CVE-2024-46787 5.4.302 is vulnerable to CVE-2024-46802 5.4.302 is vulnerable to CVE-2024-46806 5.4.302 is vulnerable to CVE-2024-46807 5.4.302 is vulnerable to CVE-2024-46808 5.4.302 is vulnerable to CVE-2024-46809 5.4.302 is vulnerable to CVE-2024-46810 5.4.302 is vulnerable to CVE-2024-46811 5.4.302 is vulnerable to CVE-2024-46812 5.4.302 is vulnerable to CVE-2024-46813 5.4.302 is vulnerable to CVE-2024-46816 5.4.302 is vulnerable to CVE-2024-46819 5.4.302 is vulnerable to CVE-2024-46821 5.4.302 is vulnerable to CVE-2024-46823 5.4.302 is vulnerable to CVE-2024-46825 5.4.302 is vulnerable to CVE-2024-46826 5.4.302 is vulnerable to CVE-2024-46832 5.4.302 is vulnerable to CVE-2024-46834 5.4.302 is vulnerable to CVE-2024-46841 5.4.302 is vulnerable to CVE-2024-46842 5.4.302 is vulnerable to CVE-2024-46848 5.4.302 is vulnerable to CVE-2024-46857 5.4.302 is vulnerable to CVE-2024-46859 5.4.302 is vulnerable to CVE-2024-46860 5.4.302 is vulnerable to CVE-2024-46870 5.4.302 is vulnerable to CVE-2024-46871 5.4.302 is vulnerable to CVE-2024-47141 5.4.302 is vulnerable to CVE-2024-47143 5.4.302 is vulnerable to CVE-2024-47658 5.4.302 is vulnerable to CVE-2024-47660 5.4.302 is vulnerable to CVE-2024-47661 5.4.302 is vulnerable to CVE-2024-47665 5.4.302 is vulnerable to CVE-2024-47666 5.4.302 is vulnerable to CVE-2024-47673 5.4.302 is vulnerable to CVE-2024-47678 5.4.302 is vulnerable to CVE-2024-47683 5.4.302 is vulnerable to CVE-2024-47690 5.4.302 is vulnerable to CVE-2024-47691 5.4.302 is vulnerable to CVE-2024-47693 5.4.302 is vulnerable to CVE-2024-47704 5.4.302 is vulnerable to CVE-2024-47726 5.4.302 is vulnerable to CVE-2024-47728 5.4.302 is vulnerable to CVE-2024-47735 5.4.302 is vulnerable to CVE-2024-47739 5.4.302 is vulnerable to CVE-2024-47745 5.4.302 is vulnerable to CVE-2024-47809 5.4.302 is vulnerable to CVE-2024-48875 5.4.302 is vulnerable to CVE-2024-49569 5.4.302 is vulnerable to CVE-2024-49571 5.4.302 is vulnerable to CVE-2024-49854 5.4.302 is vulnerable to CVE-2024-49858 5.4.302 is vulnerable to CVE-2024-49859 5.4.302 is vulnerable to CVE-2024-49861 5.4.302 is vulnerable to CVE-2024-49863 5.4.302 is vulnerable to CVE-2024-49875 5.4.302 is vulnerable to CVE-2024-49881 5.4.302 is vulnerable to CVE-2024-49889 5.4.302 is vulnerable to CVE-2024-49890 5.4.302 is vulnerable to CVE-2024-49891 5.4.302 is vulnerable to CVE-2024-49893 5.4.302 is vulnerable to CVE-2024-49895 5.4.302 is vulnerable to CVE-2024-49897 5.4.302 is vulnerable to CVE-2024-49898 5.4.302 is vulnerable to CVE-2024-49899 5.4.302 is vulnerable to CVE-2024-49901 5.4.302 is vulnerable to CVE-2024-49905 5.4.302 is vulnerable to CVE-2024-49906 5.4.302 is vulnerable to CVE-2024-49907 5.4.302 is vulnerable to CVE-2024-49908 5.4.302 is vulnerable to CVE-2024-49910 5.4.302 is vulnerable to CVE-2024-49911 5.4.302 is vulnerable to CVE-2024-49912 5.4.302 is vulnerable to CVE-2024-49913 5.4.302 is vulnerable to CVE-2024-49914 5.4.302 is vulnerable to CVE-2024-49915 5.4.302 is vulnerable to CVE-2024-49916 5.4.302 is vulnerable to CVE-2024-49917 5.4.302 is vulnerable to CVE-2024-49918 5.4.302 is vulnerable to CVE-2024-49919 5.4.302 is vulnerable to CVE-2024-49920 5.4.302 is vulnerable to CVE-2024-49921 5.4.302 is vulnerable to CVE-2024-49922 5.4.302 is vulnerable to CVE-2024-49923 5.4.302 is vulnerable to CVE-2024-49925 5.4.302 is vulnerable to CVE-2024-49926 5.4.302 is vulnerable to CVE-2024-49927 5.4.302 is vulnerable to CVE-2024-49929 5.4.302 is vulnerable to CVE-2024-49932 5.4.302 is vulnerable to CVE-2024-49934 5.4.302 is vulnerable to CVE-2024-49937 5.4.302 is vulnerable to CVE-2024-49940 5.4.302 is vulnerable to CVE-2024-49945 5.4.302 is vulnerable to CVE-2024-49950 5.4.302 is vulnerable to CVE-2024-49968 5.4.302 is vulnerable to CVE-2024-49970 5.4.302 is vulnerable to CVE-2024-49974 5.4.302 is vulnerable to CVE-2024-49989 5.4.302 is vulnerable to CVE-2024-49991 5.4.302 is vulnerable to CVE-2024-49992 5.4.302 is vulnerable to CVE-2024-50003 5.4.302 is vulnerable to CVE-2024-50010 5.4.302 is vulnerable to CVE-2024-50014 5.4.302 is vulnerable to CVE-2024-50015 5.4.302 is vulnerable to CVE-2024-50017 5.4.302 is vulnerable to CVE-2024-50036 5.4.302 is vulnerable to CVE-2024-50038 5.4.302 is vulnerable to CVE-2024-50047 5.4.302 is vulnerable to CVE-2024-50056 5.4.302 is vulnerable to CVE-2024-50057 5.4.302 is vulnerable to CVE-2024-50058 5.4.302 is vulnerable to CVE-2024-50060 5.4.302 is vulnerable to CVE-2024-50061 5.4.302 is vulnerable to CVE-2024-50062 5.4.302 is vulnerable to CVE-2024-50067 5.4.302 is vulnerable to CVE-2024-50073 5.4.302 is vulnerable to CVE-2024-50095 5.4.302 is vulnerable to CVE-2024-50112 5.4.302 is vulnerable to CVE-2024-50115 5.4.302 is vulnerable to CVE-2024-50125 5.4.302 is vulnerable to CVE-2024-50135 5.4.302 is vulnerable to CVE-2024-50166 5.4.302 is vulnerable to CVE-2024-50183 5.4.302 is vulnerable to CVE-2024-50187 5.4.302 is vulnerable to CVE-2024-50191 5.4.302 is vulnerable to CVE-2024-50196 5.4.302 is vulnerable to CVE-2024-50211 5.4.302 is vulnerable to CVE-2024-50217 5.4.302 is vulnerable to CVE-2024-50256 5.4.302 is vulnerable to CVE-2024-50258 5.4.302 is vulnerable to CVE-2024-50272 5.4.302 is vulnerable to CVE-2024-50277 5.4.302 is vulnerable to CVE-2024-50280 5.4.302 is vulnerable to CVE-2024-50282 5.4.302 is vulnerable to CVE-2024-50289 5.4.302 is vulnerable to CVE-2024-50298 5.4.302 is vulnerable to CVE-2024-50304 5.4.302 is vulnerable to CVE-2024-52559 5.4.302 is vulnerable to CVE-2024-53050 5.4.302 is vulnerable to CVE-2024-53051 5.4.302 is vulnerable to CVE-2024-53052 5.4.302 is vulnerable to CVE-2024-53058 5.4.302 is vulnerable to CVE-2024-53079 5.4.302 is vulnerable to CVE-2024-53088 5.4.302 is vulnerable to CVE-2024-53090 5.4.302 is vulnerable to CVE-2024-53093 5.4.302 is vulnerable to CVE-2024-53094 5.4.302 is vulnerable to CVE-2024-53095 5.4.302 is vulnerable to CVE-2024-53100 5.4.302 is vulnerable to CVE-2024-53114 5.4.302 is vulnerable to CVE-2024-53128 5.4.302 is vulnerable to CVE-2024-53144 5.4.302 is vulnerable to CVE-2024-53168 5.4.302 is vulnerable to CVE-2024-53177 5.4.302 is vulnerable to CVE-2024-53179 5.4.302 is vulnerable to CVE-2024-53180 5.4.302 is vulnerable to CVE-2024-53187 5.4.302 is vulnerable to CVE-2024-53190 5.4.302 is vulnerable to CVE-2024-53195 5.4.302 is vulnerable to CVE-2024-53206 5.4.302 is vulnerable to CVE-2024-53210 5.4.302 is vulnerable to CVE-2024-53216 5.4.302 is vulnerable to CVE-2024-53218 5.4.302 is vulnerable to CVE-2024-53219 5.4.302 is vulnerable to CVE-2024-53220 5.4.302 is vulnerable to CVE-2024-53224 5.4.302 is vulnerable to CVE-2024-53234 5.4.302 is vulnerable to CVE-2024-53241 5.4.302 is vulnerable to CVE-2024-53685 5.4.302 is vulnerable to CVE-2024-54458 5.4.302 is vulnerable to CVE-2024-54683 5.4.302 is vulnerable to CVE-2024-56369 5.4.302 is vulnerable to CVE-2024-56533 5.4.302 is vulnerable to CVE-2024-56544 5.4.302 is vulnerable to CVE-2024-56551 5.4.302 is vulnerable to CVE-2024-56565 5.4.302 is vulnerable to CVE-2024-56566 5.4.302 is vulnerable to CVE-2024-56568 5.4.302 is vulnerable to CVE-2024-56583 5.4.302 is vulnerable to CVE-2024-56584 5.4.302 is vulnerable to CVE-2024-56588 5.4.302 is vulnerable to CVE-2024-56589 5.4.302 is vulnerable to CVE-2024-56590 5.4.302 is vulnerable to CVE-2024-56591 5.4.302 is vulnerable to CVE-2024-56592 5.4.302 is vulnerable to CVE-2024-56599 5.4.302 is vulnerable to CVE-2024-56604 5.4.302 is vulnerable to CVE-2024-56608 5.4.302 is vulnerable to CVE-2024-56609 5.4.302 is vulnerable to CVE-2024-56611 5.4.302 is vulnerable to CVE-2024-56614 5.4.302 is vulnerable to CVE-2024-56616 5.4.302 is vulnerable to CVE-2024-56623 5.4.302 is vulnerable to CVE-2024-56636 5.4.302 is vulnerable to CVE-2024-56640 5.4.302 is vulnerable to CVE-2024-56641 5.4.302 is vulnerable to CVE-2024-56647 5.4.302 is vulnerable to CVE-2024-56651 5.4.302 is vulnerable to CVE-2024-56658 5.4.302 is vulnerable to CVE-2024-56662 5.4.302 is vulnerable to CVE-2024-56664 5.4.302 is vulnerable to CVE-2024-56692 5.4.302 is vulnerable to CVE-2024-56698 5.4.302 is vulnerable to CVE-2024-56701 5.4.302 is vulnerable to CVE-2024-56703 5.4.302 is vulnerable to CVE-2024-56712 5.4.302 is vulnerable to CVE-2024-56722 5.4.302 is vulnerable to CVE-2024-56751 5.4.302 is vulnerable to CVE-2024-56759 5.4.302 is vulnerable to CVE-2024-56763 5.4.302 is vulnerable to CVE-2024-56775 5.4.302 is vulnerable to CVE-2024-56776 5.4.302 is vulnerable to CVE-2024-56777 5.4.302 is vulnerable to CVE-2024-56778 5.4.302 is vulnerable to CVE-2024-56782 5.4.302 is vulnerable to CVE-2024-56785 5.4.302 is vulnerable to CVE-2024-56787 5.4.302 is vulnerable to CVE-2024-57795 5.4.302 is vulnerable to CVE-2024-57809 5.4.302 is vulnerable to CVE-2024-57838 5.4.302 is vulnerable to CVE-2024-57843 5.4.302 is vulnerable to CVE-2024-57857 5.4.302 is vulnerable to CVE-2024-57872 5.4.302 is vulnerable to CVE-2024-57875 5.4.302 is vulnerable to CVE-2024-57883 5.4.302 is vulnerable to CVE-2024-57887 5.4.302 is vulnerable to CVE-2024-57888 5.4.302 is vulnerable to CVE-2024-57893 5.4.302 is vulnerable to CVE-2024-57896 5.4.302 is vulnerable to CVE-2024-57897 5.4.302 is vulnerable to CVE-2024-57898 5.4.302 is vulnerable to CVE-2024-57899 5.4.302 is vulnerable to CVE-2024-57903 5.4.302 is vulnerable to CVE-2024-57924 5.4.302 is vulnerable to CVE-2024-57939 5.4.302 is vulnerable to CVE-2024-57974 5.4.302 is vulnerable to CVE-2024-57975 5.4.302 is vulnerable to CVE-2024-57976 5.4.302 is vulnerable to CVE-2024-57982 5.4.302 is vulnerable to CVE-2024-57984 5.4.302 is vulnerable to CVE-2024-58005 5.4.302 is vulnerable to CVE-2024-58016 5.4.302 is vulnerable to CVE-2024-58034 5.4.302 is vulnerable to CVE-2024-58053 5.4.302 is vulnerable to CVE-2024-58089 5.4.302 is vulnerable to CVE-2024-58093 5.4.302 is vulnerable to CVE-2024-58094 5.4.302 is vulnerable to CVE-2024-58095 5.4.302 is vulnerable to CVE-2024-58240 5.4.302 is vulnerable to CVE-2024-58241 5.4.302 is vulnerable to CVE-2025-21629 5.4.302 is vulnerable to CVE-2025-21634 5.4.302 is vulnerable to CVE-2025-21635 5.4.302 is vulnerable to CVE-2025-21648 5.4.302 is vulnerable to CVE-2025-21651 5.4.302 is vulnerable to CVE-2025-21682 5.4.302 is vulnerable to CVE-2025-21690 5.4.302 is vulnerable to CVE-2025-21711 5.4.302 is vulnerable to CVE-2025-21712 5.4.302 is vulnerable to CVE-2025-21726 5.4.302 is vulnerable to CVE-2025-21727 5.4.302 is vulnerable to CVE-2025-21734 5.4.302 is vulnerable to CVE-2025-21738 5.4.302 is vulnerable to CVE-2025-21750 5.4.302 is vulnerable to CVE-2025-21758 5.4.302 is vulnerable to CVE-2025-21759 5.4.302 is vulnerable to CVE-2025-21766 5.4.302 is vulnerable to CVE-2025-21768 5.4.302 is vulnerable to CVE-2025-21779 5.4.302 is vulnerable to CVE-2025-21780 5.4.302 is vulnerable to CVE-2025-21792 5.4.302 is vulnerable to CVE-2025-21796 5.4.302 is vulnerable to CVE-2025-21801 5.4.302 is vulnerable to CVE-2025-21802 5.4.302 is vulnerable to CVE-2025-21812 5.4.302 is vulnerable to CVE-2025-21816 5.4.302 is vulnerable to CVE-2025-21820 5.4.302 is vulnerable to CVE-2025-21821 5.4.302 is vulnerable to CVE-2025-21831 5.4.302 is vulnerable to CVE-2025-21838 5.4.302 is vulnerable to CVE-2025-21855 5.4.302 is vulnerable to CVE-2025-21881 5.4.302 is vulnerable to CVE-2025-21891 5.4.302 is vulnerable to CVE-2025-21894 5.4.302 is vulnerable to CVE-2025-21899 5.4.302 is vulnerable to CVE-2025-21912 5.4.302 is vulnerable to CVE-2025-21927 5.4.302 is vulnerable to CVE-2025-21931 5.4.302 is vulnerable to CVE-2025-21941 5.4.302 is vulnerable to CVE-2025-21969 5.4.302 is vulnerable to CVE-2025-21976 5.4.302 is vulnerable to CVE-2025-21985 5.4.302 is vulnerable to CVE-2025-22008 5.4.302 is vulnerable to CVE-2025-22010 5.4.302 is vulnerable to CVE-2025-22022 5.4.302 is vulnerable to CVE-2025-22025 5.4.302 is vulnerable to CVE-2025-22026 5.4.302 is vulnerable to CVE-2025-22027 5.4.302 is vulnerable to CVE-2025-22028 5.4.302 is vulnerable to CVE-2025-22053 5.4.302 is vulnerable to CVE-2025-22055 5.4.302 is vulnerable to CVE-2025-22057 5.4.302 is vulnerable to CVE-2025-22060 5.4.302 is vulnerable to CVE-2025-22072 5.4.302 is vulnerable to CVE-2025-22083 5.4.302 is vulnerable to CVE-2025-22090 5.4.302 is vulnerable to CVE-2025-22103 5.4.302 is vulnerable to CVE-2025-22104 5.4.302 is vulnerable to CVE-2025-22107 5.4.302 is vulnerable to CVE-2025-22109 5.4.302 is vulnerable to CVE-2025-22121 5.4.302 is vulnerable to CVE-2025-22125 5.4.302 is vulnerable to CVE-2025-23131 5.4.302 is vulnerable to CVE-2025-23132 5.4.302 is vulnerable to CVE-2025-23141 5.4.302 is vulnerable to CVE-2025-23148 5.4.302 is vulnerable to CVE-2025-23156 5.4.302 is vulnerable to CVE-2025-23161 5.4.302 is vulnerable to CVE-2025-37739 5.4.302 is vulnerable to CVE-2025-37742 5.4.302 is vulnerable to CVE-2025-37745 5.4.302 is vulnerable to CVE-2025-37756 5.4.302 is vulnerable to CVE-2025-37768 5.4.302 is vulnerable to CVE-2025-37770 5.4.302 is vulnerable to CVE-2025-37800 5.4.302 is vulnerable to CVE-2025-37801 5.4.302 is vulnerable to CVE-2025-37807 5.4.302 is vulnerable to CVE-2025-37830 5.4.302 is vulnerable to CVE-2025-37833 5.4.302 is vulnerable to CVE-2025-37834 5.4.302 is vulnerable to CVE-2025-37836 5.4.302 is vulnerable to CVE-2025-37842 5.4.302 is vulnerable to CVE-2025-37849 5.4.302 is vulnerable to CVE-2025-37852 5.4.302 is vulnerable to CVE-2025-37853 5.4.302 is vulnerable to CVE-2025-37856 5.4.302 is vulnerable to CVE-2025-37867 5.4.302 is vulnerable to CVE-2025-37877 5.4.302 is vulnerable to CVE-2025-37878 5.4.302 is vulnerable to CVE-2025-37879 5.4.302 is vulnerable to CVE-2025-37880 5.4.302 is vulnerable to CVE-2025-37882 5.4.302 is vulnerable to CVE-2025-37883 5.4.302 is vulnerable to CVE-2025-37884 5.4.302 is vulnerable to CVE-2025-37885 5.4.302 is vulnerable to CVE-2025-37911 5.4.302 is vulnerable to CVE-2025-37920 5.4.302 is vulnerable to CVE-2025-37925 5.4.302 is vulnerable to CVE-2025-37928 5.4.302 is vulnerable to CVE-2025-37942 5.4.302 is vulnerable to CVE-2025-37948 5.4.302 is vulnerable to CVE-2025-37951 5.4.302 is vulnerable to CVE-2025-37954 5.4.302 is vulnerable to CVE-2025-37961 5.4.302 is vulnerable to CVE-2025-37963 5.4.302 is vulnerable to CVE-2025-37967 5.4.302 is vulnerable to CVE-2025-37980 5.4.302 is vulnerable to CVE-2025-37992 5.4.302 is vulnerable to CVE-2025-38009 5.4.302 is vulnerable to CVE-2025-38022 5.4.302 is vulnerable to CVE-2025-38039 5.4.302 is vulnerable to CVE-2025-38040 5.4.302 is vulnerable to CVE-2025-38041 5.4.302 is vulnerable to CVE-2025-38045 5.4.302 is vulnerable to CVE-2025-38048 5.4.302 is vulnerable to CVE-2025-38062 5.4.302 is vulnerable to CVE-2025-38063 5.4.302 is vulnerable to CVE-2025-38064 5.4.302 is vulnerable to CVE-2025-38067 5.4.302 is vulnerable to CVE-2025-38068 5.4.302 is vulnerable to CVE-2025-38069 5.4.302 is vulnerable to CVE-2025-38071 5.4.302 is vulnerable to CVE-2025-38073 5.4.302 is vulnerable to CVE-2025-38074 5.4.302 is vulnerable to CVE-2025-38080 5.4.302 is vulnerable to CVE-2025-38084 5.4.302 is vulnerable to CVE-2025-38085 5.4.302 is vulnerable to CVE-2025-38094 5.4.302 is vulnerable to CVE-2025-38095 5.4.302 is vulnerable to CVE-2025-38096 5.4.302 is vulnerable to CVE-2025-38099 5.4.302 is vulnerable to CVE-2025-38105 5.4.302 is vulnerable to CVE-2025-38107 5.4.302 is vulnerable to CVE-2025-38112 5.4.302 is vulnerable to CVE-2025-38117 5.4.302 is vulnerable to CVE-2025-38119 5.4.302 is vulnerable to CVE-2025-38126 5.4.302 is vulnerable to CVE-2025-38129 5.4.302 is vulnerable to CVE-2025-38143 5.4.302 is vulnerable to CVE-2025-38159 5.4.302 is vulnerable to CVE-2025-38161 5.4.302 is vulnerable to CVE-2025-38166 5.4.302 is vulnerable to CVE-2025-38189 5.4.302 is vulnerable to CVE-2025-38192 5.4.302 is vulnerable to CVE-2025-38198 5.4.302 is vulnerable to CVE-2025-38207 5.4.302 is vulnerable to CVE-2025-38208 5.4.302 is vulnerable to CVE-2025-38215 5.4.302 is vulnerable to CVE-2025-38218 5.4.302 is vulnerable to CVE-2025-38232 5.4.302 is vulnerable to CVE-2025-38234 5.4.302 is vulnerable to CVE-2025-38250 5.4.302 is vulnerable to CVE-2025-38257 5.4.302 is vulnerable to CVE-2025-38259 5.4.302 is vulnerable to CVE-2025-38261 5.4.302 is vulnerable to CVE-2025-38263 5.4.302 is vulnerable to CVE-2025-38264 5.4.302 is vulnerable to CVE-2025-38269 5.4.302 is vulnerable to CVE-2025-38272 5.4.302 is vulnerable to CVE-2025-38280 5.4.302 is vulnerable to CVE-2025-38310 5.4.302 is vulnerable to CVE-2025-38319 5.4.302 is vulnerable to CVE-2025-38321 5.4.302 is vulnerable to CVE-2025-38331 5.4.302 is vulnerable to CVE-2025-38333 5.4.302 is vulnerable to CVE-2025-38342 5.4.302 is vulnerable to CVE-2025-38359 5.4.302 is vulnerable to CVE-2025-38361 5.4.302 is vulnerable to CVE-2025-38363 5.4.302 is vulnerable to CVE-2025-38384 5.4.302 is vulnerable to CVE-2025-38409 5.4.302 is vulnerable to CVE-2025-38410 5.4.302 is vulnerable to CVE-2025-38422 5.4.302 is vulnerable to CVE-2025-38425 5.4.302 is vulnerable to CVE-2025-38426 5.4.302 is vulnerable to CVE-2025-38436 5.4.302 is vulnerable to CVE-2025-38438 5.4.302 is vulnerable to CVE-2025-38449 5.4.302 is vulnerable to CVE-2025-38499 5.4.302 is vulnerable to CVE-2025-38503 5.4.302 is vulnerable to CVE-2025-38512 5.4.302 is vulnerable to CVE-2025-38524 5.4.302 is vulnerable to CVE-2025-38527 5.4.302 is vulnerable to CVE-2025-38531 5.4.302 is vulnerable to CVE-2025-38544 5.4.302 is vulnerable to CVE-2025-38556 5.4.302 is vulnerable to CVE-2025-38560 5.4.302 is vulnerable to CVE-2025-38576 5.4.302 is vulnerable to CVE-2025-38584 5.4.302 is vulnerable to CVE-2025-38591 5.4.302 is vulnerable to CVE-2025-38595 5.4.302 is vulnerable to CVE-2025-38614 5.4.302 is vulnerable to CVE-2025-38623 5.4.302 is vulnerable to CVE-2025-38624 5.4.302 is vulnerable to CVE-2025-38626 5.4.302 is vulnerable to CVE-2025-38643 5.4.302 is vulnerable to CVE-2025-38644 5.4.302 is vulnerable to CVE-2025-38645 5.4.302 is vulnerable to CVE-2025-38656 5.4.302 is vulnerable to CVE-2025-38665 5.4.302 is vulnerable to CVE-2025-38676 5.4.302 is vulnerable to CVE-2025-38679 5.4.302 is vulnerable to CVE-2025-38683 5.4.302 is vulnerable to CVE-2025-38684 5.4.302 is vulnerable to CVE-2025-38685 5.4.302 is vulnerable to CVE-2025-38702 5.4.302 is vulnerable to CVE-2025-38704 5.4.302 is vulnerable to CVE-2025-38705 5.4.302 is vulnerable to CVE-2025-38706 5.4.302 is vulnerable to CVE-2025-38709 5.4.302 is vulnerable to CVE-2025-38710 5.4.302 is vulnerable to CVE-2025-38716 5.4.302 is vulnerable to CVE-2025-38717 5.4.302 is vulnerable to CVE-2025-38728 5.4.302 is vulnerable to CVE-2025-38734 5.4.302 is vulnerable to CVE-2025-39677 5.4.302 is vulnerable to CVE-2025-39683 5.4.302 is vulnerable to CVE-2025-39684 5.4.302 is vulnerable to CVE-2025-39685 5.4.302 is vulnerable to CVE-2025-39686 5.4.302 is vulnerable to CVE-2025-39693 5.4.302 is vulnerable to CVE-2025-39697 5.4.302 is vulnerable to CVE-2025-39702 5.4.302 is vulnerable to CVE-2025-39705 5.4.302 is vulnerable to CVE-2025-39706 5.4.302 is vulnerable to CVE-2025-39707 5.4.302 is vulnerable to CVE-2025-39715 5.4.302 is vulnerable to CVE-2025-39716 5.4.302 is vulnerable to CVE-2025-39726 5.4.302 is vulnerable to CVE-2025-39738 5.4.302 is vulnerable to CVE-2025-39744 5.4.302 is vulnerable to CVE-2025-39745 5.4.302 is vulnerable to CVE-2025-39746 5.4.302 is vulnerable to CVE-2025-39747 5.4.302 is vulnerable to CVE-2025-39748 5.4.302 is vulnerable to CVE-2025-39753 5.4.302 is vulnerable to CVE-2025-39754 5.4.302 is vulnerable to CVE-2025-39759 5.4.302 is vulnerable to CVE-2025-39760 5.4.302 is vulnerable to CVE-2025-39762 5.4.302 is vulnerable to CVE-2025-39763 5.4.302 is vulnerable to CVE-2025-39764 5.4.302 is vulnerable to CVE-2025-39770 5.4.302 is vulnerable to CVE-2025-39772 5.4.302 is vulnerable to CVE-2025-39773 5.4.302 is vulnerable to CVE-2025-39781 5.4.302 is vulnerable to CVE-2025-39789 5.4.302 is vulnerable to CVE-2025-39795 5.4.302 is vulnerable to CVE-2025-39797 5.4.302 is vulnerable to CVE-2025-39800 5.4.302 is vulnerable to CVE-2025-39801 5.4.302 is vulnerable to CVE-2025-39810 5.4.302 is vulnerable to CVE-2025-39819 5.4.302 is vulnerable to CVE-2025-39825 5.4.302 is vulnerable to CVE-2025-39826 5.4.302 is vulnerable to CVE-2025-39827 5.4.302 is vulnerable to CVE-2025-39829 5.4.302 is vulnerable to CVE-2025-39833 5.4.302 is vulnerable to CVE-2025-39838 5.4.302 is vulnerable to CVE-2025-39863 5.4.302 is vulnerable to CVE-2025-39865 5.4.302 is vulnerable to CVE-2025-39866 5.4.302 is vulnerable to CVE-2025-39873 5.4.302 is vulnerable to CVE-2025-39901 5.4.302 is vulnerable to CVE-2025-39905 5.4.302 is vulnerable to CVE-2025-39925 5.4.302 is vulnerable to CVE-2025-39927 5.4.302 is vulnerable to CVE-2025-39929 5.4.302 is vulnerable to CVE-2025-39931 5.4.302 is vulnerable to CVE-2025-39932 5.4.302 is vulnerable to CVE-2025-39933 5.4.302 is vulnerable to CVE-2025-39940 5.4.302 is vulnerable to CVE-2025-39949 5.4.302 is vulnerable to CVE-2025-39952 5.4.302 is vulnerable to CVE-2025-39957 5.4.302 is vulnerable to CVE-2025-39958 5.4.302 is vulnerable to CVE-2025-39961 5.4.302 is vulnerable to CVE-2025-39964 5.4.302 is vulnerable to CVE-2025-39990 5.4.302 is vulnerable to CVE-2025-40003 5.4.302 is vulnerable to CVE-2025-40005 5.4.302 is vulnerable to CVE-2025-40021 5.4.302 is vulnerable to CVE-2025-40025 5.4.302 is vulnerable to CVE-2025-40036 5.4.302 is vulnerable to CVE-2025-40043 5.4.302 is vulnerable to CVE-2025-40053 5.4.302 is vulnerable to CVE-2025-40064 5.4.302 is vulnerable to CVE-2025-40074 5.4.302 is vulnerable to CVE-2025-40075 5.4.302 is vulnerable to CVE-2025-40080 5.4.302 is vulnerable to CVE-2025-40082 5.4.302 is vulnerable to CVE-2025-40092 5.4.302 is vulnerable to CVE-2025-40093 5.4.302 is vulnerable to CVE-2025-40094 5.4.302 is vulnerable to CVE-2025-40095 5.4.302 is vulnerable to CVE-2025-40099 5.4.302 is vulnerable to CVE-2025-40100 5.4.302 is vulnerable to CVE-2025-40102 5.4.302 is vulnerable to CVE-2025-40103 5.4.302 is vulnerable to CVE-2025-40104 5.4.302 is vulnerable to CVE-2025-40107 5.4.302 is vulnerable to CVE-2025-40110 5.4.302 is vulnerable to CVE-2025-40123 5.4.302 is vulnerable to CVE-2025-40135 5.4.302 is vulnerable to CVE-2025-40137 5.4.302 is vulnerable to CVE-2025-40139 5.4.302 is vulnerable to CVE-2025-40146 5.4.302 is vulnerable to CVE-2025-40149 5.4.302 is vulnerable to CVE-2025-40158 5.4.302 is vulnerable to CVE-2025-40160 5.4.302 is vulnerable to CVE-2025-40164 5.4.302 is vulnerable to CVE-2025-40168 5.4.302 is vulnerable to CVE-2025-40170 5.4.302 is vulnerable to CVE-2025-40180 5.4.302 is vulnerable to CVE-2025-40193 5.4.302 is vulnerable to CVE-2025-40195 5.4.302 is vulnerable to CVE-2025-40196 5.4.302 is vulnerable to CVE-2025-40206 5.4.302 is vulnerable to CVE-2025-40210 5.4.302 is vulnerable to CVE-2025-40300 Total Vulnerable CVE's in 5.4.302 : 1539