mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-08 11:50:43 +09:00
This is the merge of the upstream LTS release of 5.10.118 into the android13-5.10 branch. It contains the following commits:64f18041ddMerge branch 'android13-5.10' into branch 'android13-5.10-lts'3cbab1c9acRevert "xfrm: Add possibility to set the default to block if we have no policy"49412256c9Revert "net: xfrm: fix shift-out-of-bounce"65b0a22abcRevert "xfrm: make user policy API complete"b60c58879eRevert "xfrm: notify default policy on update"51b82c1241Revert "xfrm: fix dflt policy check when there is no policy configured"f91fa99d4bRevert "xfrm: rework default policy structure"c932832406Revert "xfrm: fix "disable_policy" flag use when arriving from different devices"6629a18b57Revert "include/uapi/linux/xfrm.h: Fix XFRM_MSG_MAPPING ABI breakage"a6c120a514Merge "Merge 5.10.118 into android13-5.10-lts" into android13-5.10-lts17267bb8e8ANDROID: Adding Image.gz and boot-gz.img3b28477cb8ANDROID: Creating boot-img.tar.gz for aarch644cbf7ff510Merge 5.10.118 into android13-5.10-lts9ab92c66baMerge 5.10.117 into android13-5.10-ltsd96a068cc6Merge 5.10.116 into android13-5.10-lts8e6b4843beMerge 5.10.115 into android13-5.10-ltsa8cb914f75ANDROID: GKI: update the abi .xml file due to hex_to_bin() changes3828f1164cRevert "tcp: ensure to use the most recently sent skb when filling the rate sample"52ddbabcb3Merge 5.10.114 into android13-5.10-lts902d7527c1Revert "ipv6: make ip6_rt_gc_expire an atomic_t"d3d4f869cdRevert "oom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup"11565b017bMerge 5.10.113 into android13-5.10-ltsfe917bad60Merge 5.10.112 into android13-5.10-ltsc356141b2bANDROID: fix up gpio change in 5.10.11144eebe417eMerge 5.10.111 into android13-5.10-ltsc204ee3350Linux 5.10.11856642f6af2module: check for exit sections in layout_sections() instead of module_init_section()633be494c3include/uapi/linux/xfrm.h: Fix XFRM_MSG_MAPPING ABI breakage61a4cc41e5afs: Fix afs_getattr() to refetch file status if callback break occurred606011cb6ai2c: mt7621: fix missing clk_disable_unprepare() on error in mtk_i2c_probe()030de84d45module: treat exit sections the same as init sections when !CONFIG_MODULE_UNLOAD355141fdbfdt-bindings: pinctrl: aspeed-g6: remove FWQSPID groupd30fdf7d13Input: ili210x - fix reset timinga698bf1f72arm64: Enable repeat tlbi workaround on KRYO4XX gold CPUs696292b9b5net: atlantic: verify hw_head_ lies within TX buffer ringcd66ab20a8net: atlantic: add check for MAX_SKB_FRAGS9bee8b4275net: atlantic: reduce scope of is_rsc_complete9b84e83a92net: atlantic: fix "frag[0] not initialized"0ae23a1d47net: stmmac: fix missing pci_disable_device() on error in stmmac_pci_probe()d4c6e5cebcethernet: tulip: fix missing pci_disable_device() on error in tulip_init_one()3a6dee284fnl80211: fix locking in nl80211_set_tx_bitrate_mask()efe580c436selftests: add ping test with ping_group_range tuned1cfbf6d3a7nl80211: validate S1G channel widtha0f5ff2049mac80211: fix rx reordering with non explicit / psmp ack policye21d734fd0scsi: qla2xxx: Fix missed DMA unmap for aborted commandsc5af341747perf bench numa: Address compiler error on s390210ea7da5cgpio: mvebu/pwm: Refuse requests with inverted polarity30d4721fecgpio: gpio-vf610: do not touch other bits when set the target bitea8a9cb4a7riscv: dts: sifive: fu540-c000: align dma node name with dtschemadfd1f0cb62net: bridge: Clear offload_fwd_mark when passing frame up bridge interface.579061f391igb: skip phy status check where unavailablea89888648eARM: 9197/1: spectre-bhb: fix loop8 sequence for Thumb21756b45d8dARM: 9196/1: spectre-bhb: enable for Cortex-A157b676abe32net: af_key: add check for pfkey_broadcast in function pfkey_process697f3219eenet/mlx5e: Properly block LRO when XDP is enabledb503d0228cNFC: nci: fix sleep in atomic context bugs caused by nci_skb_alloc42d4287cc1net/qla3xxx: Fix a test in ql_reset_work()d35bf8d766clk: at91: generated: consider range when calculating best rate9e0e75a5e7ice: fix possible under reporting of ethtool Tx and Rx statistics6e2caee5cdnet: vmxnet3: fix possible NULL pointer dereference in vmxnet3_rq_cleanup()a54d86cf41net: vmxnet3: fix possible use-after-free bugs in vmxnet3_rq_alloc_rx_buf()201e5b5c27net: systemport: Fix an error handling path in bcm_sysport_probe()9bfe898e2bnet/sched: act_pedit: sanitize shift argument before usage47f04f95edxfrm: fix "disable_policy" flag use when arriving from different devices0d2e9d8000xfrm: rework default policy structure57c1bbe709xfrm: fix dflt policy check when there is no policy configured9856c3a129xfrm: notify default policy on update20fd28df40xfrm: make user policy API completeab610ee1d1net: xfrm: fix shift-out-of-bounce5b7f84b1f9xfrm: Add possibility to set the default to block if we have no policy243e72e204net: evaluate net.ipvX.conf.all.disable_policy and disable_xfrm1bc27eb71bnet: macb: Increment rx bd head after allocating skb and buffer998e305bd1net: ipa: record proper RX transaction count0599d5a8b4ARM: dts: aspeed-g6: fix SPI1/SPI2 quad pin group0a2847d448pinctrl: pinctrl-aspeed-g6: remove FWQSPID group in pinctrld8ca684c3dARM: dts: aspeed-g6: remove FWQSPID group in pinctrl dtsi3fc2846099dma-buf: fix use of DMA_BUF_SET_NAME_{A,B} in userspacee5289affbadrm/dp/mst: fix a possible memory leak in fetch_monitor_name()8ceca1a069libceph: fix potential use-after-free on linger ping and resends233a3cc60ecrypto: qcom-rng - fix infinite loop on requests not multiple of WORD_SZ6013ef5f51arm64: mte: Ensure the cleared tags are visible before setting the PTEa817f78ed6arm64: paravirt: Use RCU read locks to guard stolen_timeb49bc8d615KVM: x86/mmu: Update number of zapped pages even if page list is stable146128ba26PCI/PM: Avoid putting Elo i2 PCIe Ports in D3coldec0d801d1aFix double fget() in vhost_net_set_backend()b42e5e3a84selinux: fix bad cleanup on error in hashtab_duplicate()3ee8e109c3perf: Fix sys_perf_event_open() race against self18fb7d533cALSA: hda/realtek: Add quirk for TongFang devices with pop noise3eaf770163ALSA: wavefront: Proper check of get_user() errora34d018b6eALSA: usb-audio: Restore Rane SL-1 quirkf3f2247ac3Reinstate some of "swiotlb: rework "fix info leak with DMA_FROM_DEVICE""e2cfa7b093Revert "swiotlb: fix info leak with DMA_FROM_DEVICE"fe5ac3da50nilfs2: fix lockdep warnings during disk space reclamationd626fcdabenilfs2: fix lockdep warnings in page operations for btree nodesaca18bacdbARM: 9191/1: arm/stacktrace, kasan: Silence KASAN warnings in unwind_frame()0acaf9cacdplatform/chrome: cros_ec_debugfs: detach log reader wq from devm5a19f3c2d3drbd: remove usage of list iterator variable after loop9b7f321106MIPS: lantiq: check the return value of kzalloc()05c073b1adfs: fix an infinite loop in iomap_fiemap00d8b06a4ertc: mc146818-lib: Fix the AltCentury for AMD platforms87fd0dd43envme-multipath: fix hang when disk goes live over reconnect3663d6023atools/virtio: compile with -pthread5a4cbcb3dfvhost_vdpa: don't setup irq offloading when irq_num < 0f0931ee125s390/pci: improve zpci_dev reference counting7d3f69cbdeALSA: hda/realtek: Enable headset mic on Lenovo P360a59450656bcrypto: x86/chacha20 - Avoid spurious jumps to other functions39acee8aeacrypto: stm32 - fix reference leak in stm32_crc_remove703c80ff43rtc: sun6i: Fix time overflow handlingbab037ebbegfs2: Disable page faults during lockless buffered readse803f12ea2nvme-pci: add quirks for Samsung X5 SSDs5565fc538dInput: stmfts - fix reference leak in stmfts_input_opend5e88c2d76Input: add bounds checking to input_set_capability()ea6a86886cum: Cleanup syscall_handler_t definition/cast, fix warningc39b91fcd5rtc: pcf2127: fix bug when reading alarm registers2b4e5a2d7drtc: fix use-after-free on device removal67136fff5bigc: Update I226_K device IDd0229838b6igc: Remove phy->type checking170110adbeigc: Remove _I_PHY_ID checking55c820c1b2Revert "drm/i915/opregion: check port number bounds for SWSCI display power state"911b362678floppy: use a statically allocated error counter3c48558be5io_uring: always grab file table for deferred statxa1a2c957dausb: gadget: fix race when gadget driver register via ioctl7686a5c2a8Linux 5.10.117937c6b0e3eSUNRPC: Fix fall-through warnings for Clang29f077d070io_uring: always use original task when preparing req identity1444e0568busb: gadget: uvc: allow for application to cleanly shutdown42505e3622usb: gadget: uvc: rename function to be more consistent002e7223dcping: fix address binding wrt vrfd9a1e82bf6arm[64]/memremap: don't abuse pfn_valid() to ensure presence of linear map49750c5e9anet: phy: Fix race condition on link status changee68b60ae29SUNRPC: Ensure we flush any closed sockets before xs_xprt_free()dbe6974a39SUNRPC: Don't call connect() more than once on a TCP socket47541ed4d4SUNRPC: Prevent immediate close+reconnect2ab569edd8SUNRPC: Clean up scheduling of autoclose85844ea29fdrm/vmwgfx: Initialize drm_mode_fb_cmd27e849dbe60cgroup/cpuset: Remove cpus_allowed/mems_allowed setup in cpuset_init_smp()6aa239d82enet: atlantic: always deep reset on pm op, fixing up my null deref regression6158df4fa5i40e: i40e_main: fix a missing check on list iterator819796024cdrm/nouveau/tegra: Stop using iommu_present()e06605af8bceph: fix setting of xattrs on async created inodes86db01f373serial: 8250_mtk: Fix register address for XON/XOFF character84ad84e495serial: 8250_mtk: Fix UART_EFR register addressf8d8440f13slimbus: qcom: Fix IRQ check in qcom_slim_probed7b7c5532aUSB: serial: option: add Fibocom MA510 modem2ba0034e36USB: serial: option: add Fibocom L610 modem319b312edbUSB: serial: qcserial: add support for Sierra Wireless EM7590994395f356USB: serial: pl2303: add device id for HP LM930 Display8276a3dbe2usb: typec: tcpci_mt6360: Update for BMC PHY setting54979aa49eusb: typec: tcpci: Don't skip cleanup in .remove() on error7335a6b11dusb: cdc-wdm: fix reading stuck on device close6d47eceaf3tty: n_gsm: fix mux activation issues in gsm_config()69139a45b8tty/serial: digicolor: fix possible null-ptr-deref in digicolor_uart_probe()5a73581116firmware_loader: use kernel credentials when reading firmwared254309aabtcp: resalt the secret every 10 seconds3abbfac1abnet: sfp: Add tx-fault workaround for Huawei MA5671A SFP ONT48f1dd67a8net: emaclite: Don't advertise 1000BASE-T and do auto negotiation5c09dbdfd4s390: disable -Warray-bounds03ebc6fd5cASoC: ops: Validate input values in snd_soc_put_volsw_range()31606a73baASoC: max98090: Generate notifications on changes for custom controlce154bd3bcASoC: max98090: Reject invalid values in custom control put()5ecaaaeb2chwmon: (f71882fg) Fix negative temperature88091c0275gfs2: Fix filesystem block deallocation for short writesfccf4bf3f2tls: Fix context leak on tls_device_down161c4edecanet: sfc: ef10: fix memory leak in efx_ef10_mtd_probe()d5e1b41bf7net/smc: non blocking recvmsg() return -EAGAIN when no data and signal_pendinge417a8fceanet: dsa: bcm_sf2: Fix Wake-on-LAN with mac_link_down()9012209f43net: bcmgenet: Check for Wake-on-LAN interrupt probe deferralabe35bf3benet/sched: act_pedit: really ensure the skb is writableb816ed53f3s390/lcs: fix variable dereferenced before check4d3c6d7418s390/ctcm: fix potential memory leak5497f87edcs390/ctcm: fix variable dereferenced before checkcc71c9f17cselftests: vm: Makefile: rename TARGETS to VMTARGETSce12e5ff8dhwmon: (ltq-cputemp) restrict it to SOC_XWAYceb3db723fdim: initialize all struct fields8b1b8fc819ionic: fix missing pci_release_regions() on error in ionic_probe()2cb8689f45nfs: fix broken handling of the softreval mount option49c10784b9mac80211_hwsim: call ieee80211_tx_prepare_skb under RCU protection79432d2237net: sfc: fix memory leak due to ptp channelbdb8d4aed1sfc: Use swap() instead of open coding it33c93f6e55netlink: do not reset transport header in netlink_recvmsg()9e40f2c513drm/nouveau: Fix a potential theorical leak in nouveau_get_backlight_name()54f26fc07eipv4: drop dst in multicast routing pathc07a84492fnet: mscc: ocelot: avoid corrupting hardware counters when moving VCAP filtersabb237c544net: mscc: ocelot: restrict tc-trap actions to VCAP IS2 lookup 0f9674c52a1net: mscc: ocelot: fix VCAP IS2 filters matching on both lookupsc1184d2888net: mscc: ocelot: fix last VCAP IS1/IS2 filter persisting in hardware when deletede2cdde89d2net: Fix features skip in for_each_netdev_feature()c420d66047mac80211: Reset MBSSID parameters upon connection9cbf2a7d5dhwmon: (tmp401) Add OF device ID table85eba08be2iwlwifi: iwl-dbg: Use del_timer_sync() before freeinga6a73781b4batman-adv: Don't skb_split skbuffs with frag_list85cac60500ANDROID: fix up abi issue with struct snd_pcm_runtime, again7d94299466ANDROID: GKI: fix crc issue with commitce1927b8cf("block: don't merge across cgroup boundaries if blkcg is enabled")07a4d3649aLinux 5.10.116d1ac096f88mm: userfaultfd: fix missing cache flush in mcopy_atomic_pte() and __mcopy_atomic()c6cbf5431amm: hugetlb: fix missing cache flush in copy_huge_page_from_user()308ff6a6e7mm: fix missing cache flush for all tail pages of compound page185fa5984dBluetooth: Fix the creation of hdev->name9ff4a6b806arm: remove CONFIG_ARCH_HAS_HOLES_MEMORYMODELdfb55dcf9dnfp: bpf: silence bitwise vs. logical OR warningf89f76f4b0drm/amd/display/dc/gpio/gpio_service: Pass around correct dce_{version, environment} typesefd1429fa9block: drbd: drbd_nl: Make conversion to 'enum drbd_ret_code' explicita71658c7dbregulator: consumer: Add missing stubs to regulator/consumer.h7648f42d1aMIPS: Use address-of operator on section symbolsbaaf34359dRevert "coredump: Snapshot the vmas in do_coredump"1ad18c9235Revert "coredump: Remove the WARN_ON in dump_vma_snapshot"e64fed6577Revert "coredump: Use the vma snapshot in fill_files_note"5a0cd73f55Revert "pstore: Don't use semaphores in always-atomic-context code"95002a201fRevert "PCI: Reduce warnings on possible RW1C corruption"15136f3380ANDROID: remove CONFIG_HW_RANDOM_CAVIUM from arm64 gki_defconfig74d428eb6bUPSTREAM: Linux 5.10.110a352ccd683ANDROID: fix up abi issue with struct snd_pcm_runtimec31dae74edUPSTREAM: Linux 5.10.109359ee5274bBACKPORT: vsock: each transport cycles only on its own sockets4a29d82a6dRevert "vsock: each transport cycles only on its own sockets"279ff602d6UPSTREAM: Linux 5.10.1081f7d764785ANDROID: reset android13-5.10-lts branch back to android13-5.10 statee61686bb77Linux 5.10.1158528806abemmc: rtsx: add 74 Clocks in power on flowe1ab92302bPCI: aardvark: Fix reading MSI interrupt number49143c9ed2PCI: aardvark: Clear all MSIs at setup7676a5b99fdm: interlock pending dm_io and dm_wait_for_bios_completiona439819f47block-map: add __GFP_ZERO flag for alloc_page in function bio_copy_kerna22d66eb51rcu: Apply callbacks processing time limit only on softirq40fb3812d9rcu: Fix callbacks processing time limit retaining cond_resched()43dbc3edadKVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised9c8474fa34KVM: x86/mmu: avoid NULL-pointer dereference on page freeing bugsa474ee5eceKVM: x86: Do not change ICR on write to APIC_SELF_IPI64e3e16dbcx86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume5f884e0c2enet/mlx5: Fix slab-out-of-bounds while reading resource dump menu599fc32e74kvm: x86/cpuid: Only provide CPUID leaf 0xA if host has architectural PMU0a960a3672net: igmp: respect RCU rules in ip_mc_source() and ip_mc_msfilter()4fd45ef704btrfs: always log symlinks in full mode687167eef9smsc911x: allow using IRQ0b280877eabselftests: ocelot: tc_flower_chains: specify conform-exceed action for policera9fd5d6cd5bnxt_en: Fix unnecessary dropping of RX packets72e4fc1a4ebnxt_en: Fix possible bnxt_open() failure caused by wrong RFS flag9ac9f07f0fselftests: mirror_gre_bridge_1q: Avoid changing PVID while interface is operational475237e807hinic: fix bug of wq out of bound access1b9f1f455dnet: emaclite: Add error handling for of_address_to_resource()8459485db7net: cpsw: add missing of_node_put() in cpsw_probe_dt()4eee980950net: stmmac: dwmac-sun8i: add missing of_node_put() in sun8i_dwmac_register_mdio_mux()2347e9c922net: dsa: mt7530: add missing of_node_put() in mt7530_setup()1092656cc4net: ethernet: mediatek: add missing of_node_put() in mtk_sgmii_init()408fb2680eNFSv4: Don't invalidate inode attributes on delegation returnc1b480e6beRDMA/siw: Fix a condition race issue in MPA request processing5bf2a45e33selftests/seccomp: Don't call read() on TTY from background pgrp3ea0b44c01net/mlx5: Avoid double clear or set of sync reset requested2455331591net/mlx5e: Fix the calling of update_buffer_lossy() APIe07c13fbddnet/mlx5e: CT: Fix queued up restore put() executing after relevant ft released8338a7a09net/mlx5e: Don't match double-vlan packets if cvlan is not setc7f87ad115net/mlx5e: Fix trust state reset in reload87f0d9a518ASoC: dmaengine: Restore NULL prepare_slave_config() callbackad87f8498ehwmon: (adt7470) Fix warning on module removal997b8605e8gpio: pca953x: fix irq_stat not updated when irq is disabled (irq_mask not set)879b075a9aNFC: netlink: fix sleep in atomic bug when firmware download timeout1961c5a688nfc: nfcmrvl: main: reorder destructive operations in nfcmrvl_nci_unregister_dev to avoid bugs8a9e7c64f4nfc: replace improper check device_is_registered() in netlink related functions11adc9ab3ecan: grcan: only use the NAPI poll budget for RX4df5e498e0can: grcan: grcan_probe(): fix broken system id check for errata workaround needsdd973c0185can: grcan: use ofdev->dev when allocating DMA memory45bdcb5ca4can: isotp: remove re-binding of bound socket13959b9117can: grcan: grcan_close(): fix deadlock6c7c0e131es390/dasd: Fix read inconsistency for ESE DASD devices6e02c0413as390/dasd: Fix read for ESE with blksize < 4kecc8396827s390/dasd: prevent double format of tracks for ESE devices30e008ab3fs390/dasd: fix data corruption for ESE devicesd53d47faddASoC: meson: Fix event generation for AUI CODEC mux93a1f0755eASoC: meson: Fix event generation for G12A tohdmi muxe8b08e2f17ASoC: meson: Fix event generation for AUI ACODEC mux954d55170fASoC: wm8958: Fix change notifications for DSP controlsf45359824aASoC: da7219: Fix change notifications for tone generator frequencye6e61aab49genirq: Synchronize interrupt thread startupdcf1150f2enet: stmmac: disable Split Header (SPH) for Intel platforms68f35987d4firewire: core: extend card->lock in fw_core_handle_bus_reset629b4003a7firewire: remove check of list iterator against head past the loop bodye757ff4bbcfirewire: fix potential uaf in outbound_phy_packet_callback()70d25d4fbaRevert "SUNRPC: attempt AF_LOCAL connect on setup"466721d767drm/amd/display: Avoid reading audio pattern past AUDIO_CHANNELS_COUNT2e6f3d665aiommu/vt-d: Calculate mask for non-aligned flushesfbb7c61e76KVM: x86/svm: Account for family 17h event renumberings in amd_pmc_perf_hw_idb085afe226gpiolib: of: fix bounds check for 'gpio-reserved-ranges'2b7cb072d0mmc: core: Set HS clock speed before sending HS CMD1366651d7199mmc: sdhci-msm: Reset GCC_SDCC_BCR register for SDHC2906c73632ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes03ab174805ALSA: hda/realtek: Add quirk for Yoga Duet 7 13ITL6 speakersa196f277c5parisc: Merge model and model name into one line in /proc/cpuinfo326f02f172MIPS: Fix CP0 counter erratum detection for R4k CPUsf40e35e79cLinux 5.10.1142d74f61787perf symbol: Remove arch__symbols__fixup_end()bf98302e68tty: n_gsm: fix software flow control handling95b267271atty: n_gsm: fix incorrect UA handling70b045d9aetty: n_gsm: fix reset fifo race condition320a24c4eftty: n_gsm: fix wrong command frame length field encoding935f314b6ftty: n_gsm: fix wrong command retry handling17b86db43ctty: n_gsm: fix missing explicit ldisc flusha2baa907c2tty: n_gsm: fix wrong DLCI release order705925e693tty: n_gsm: fix insufficient txframe size842a9bbbefnetfilter: nft_socket: only do sk lookups when indev is available7346e54dbftty: n_gsm: fix malformed counter for out of frame datad19613895etty: n_gsm: fix wrong signal octet encoding in convergence layer type 226f127f6d9tty: n_gsm: fix mux cleanup after unregister tty devicef26c271492tty: n_gsm: fix decoupled mux resource47132f9f7ftty: n_gsm: fix restart handling via CLD commandb3c88d46dbperf symbol: Update symbols__fixup_end()3d0a3168a3perf symbol: Pass is_kallsyms to symbols__fixup_end()2ab14625b8x86/cpu: Load microcode during restore_processor_state()795afbe8b4thermal: int340x: Fix attr.show callback prototype11d16498d7net: ethernet: stmmac: fix write to sgmii_adapter_base236dd62230drm/i915: Fix SEL_FETCH_PLANE_*(PIPE_B+) register addresses78d4dccf16kasan: prevent cpu_quarantine corruption when CPU offline and cache shrink occur at same time5fef6df273zonefs: Clear inode information flags on inode creation92ed64a920zonefs: Fix management of open zones42e8ec3b4bpowerpc/perf: Fix 32bit compileac3d077043drivers: net: hippi: Fix deadlock in rr_close()5399e7b80ccifs: destage any unwritten data to the server before calling copychunk_write80fc45377fx86: __memcpy_flushcache: fix wrong alignment if size > 2^32585ef03c9eext4: fix bug_on in start_this_handle during umount filesystem07da0be588ASoC: wm8731: Disable the regulator when probing fails1b1747ad7eASoC: Intel: soc-acpi: correct device endpoints for max98373aa138efd2btcp: fix F-RTO may not work correctly when receiving DSACK9d56e369bdRevert "ibmvnic: Add ethtool private flag for driver-defined queue limits"96904c8289ibmvnic: fix miscellaneous checks17f71272efixgbe: ensure IPsec VF<->PF compatibilityc33d717e06net: fec: add missing of_node_put() in fec_enet_init_stop_mode()9591967ac4bnx2x: fix napi API usage sequence1781beb879tls: Skip tls_append_frag on zero copy size77b922683edrm/amd/display: Fix memory leak in dcn21_clock_source_create18068e0527drm/amdkfd: Fix GWS queue countc0396f5e5bnet: dsa: lantiq_gswip: Don't set GSWIP_MII_CFG_RMII_CLK1204386e26net: phy: marvell10g: fix return value on errore974c730f0net: bcmgenet: hide status block before TX timestampingee71b47da5clk: sunxi: sun9i-mmc: check return value after calling platform_get_resource()8dacbef4febus: sunxi-rsb: Fix the return value of sunxi_rsb_device_create()9f29f6f8datcp: make sure treq->af_specific is initialized8a9d6ca360tcp: fix potential xmit stalls caused by TCP_NOTSENT_LOWAT720b6ced85ip_gre, ip6_gre: Fix race condition on o_seqno in collect_md mode41661b4c1aip6_gre: Make o_seqno start from 0 in native mode7b187fbd7eip_gre: Make o_seqno start from 0 in native mode83d128daffnet/smc: sync err code when tcp connection was refused9eb25e00f5net: hns3: add return value for mailbox handling in PF929c30c02dnet: hns3: add validity check for message data lengthe3ec78d82dnet: hns3: modify the return code of hclge_get_ring_chain_from_mbx06a40e7105cpufreq: fix memory leak in sun50i_cpufreq_nvmem_probefb172e93f8pinctrl: pistachio: fix use of irq_of_parse_and_map()8f042884afarm64: dts: imx8mn-ddr4-evk: Describe the 32.768 kHz PMIC clock73c35379dbARM: dts: imx6ull-colibri: fix vqmmc regulator61a89d0a5bsctp: check asoc strreset_chunk in sctp_generate_reconf_event41d6ac687dwireguard: device: check for metadata_dst with skb_valid_dst()3c464db03ctcp: ensure to use the most recently sent skb when filling the rate samplece4c3f7087pinctrl: stm32: Keep pinctrl block clock enabled when LEVEL IRQ requested0c60271df0tcp: md5: incorrect tcp_header_len for incoming connectionsf4dad5a48dpinctrl: rockchip: fix RK3308 pinmux bits9ef33d23f8bpf, lwt: Fix crash when using bpf_skb_set_tunnel_key() from bpf_xmit lwt hook6ac03e6dddnetfilter: nft_set_rbtree: overlap detection with element re-addition after deletion72ae15d5cenet: dsa: Add missing of_node_put() in dsa_port_link_register_of14cc2044c1memory: renesas-rpc-if: Fix HF/OSPI data transfer in Manual Mode690c1bc4bfpinctrl: stm32: Do not call stm32_gpio_get() for edge triggered IRQs in EOI6f2bf9c5ddmtd: fix 'part' field data corruption in mtd_info4da421035bmtd: rawnand: Fix return value check of wait_for_completion_timeout94ca69b702pinctrl: mediatek: moore: Fix build error123b7e0388ipvs: correctly print the memory size of ip_vs_conn_tabf4446f2136ARM: dts: logicpd-som-lv: Fix wrong pinmuxing on OMAP354a526cc29cARM: dts: am3517-evm: Fix misc pinmuxingb622bca852ARM: dts: Fix mmc order for omap3-gta049419d27fe1phy: ti: Add missing pm_runtime_disable() in serdes_am654_probe9e00a6e1fdphy: mapphone-mdm6600: Fix PM error handling in phy_mdm6600_probeeb659608e6ARM: dts: at91: sama5d4_xplained: fix pinctrl phandle namebb524f5a95ARM: dts: at91: Map MCLK for wm8731 on at91sam9g20ek4691ce8f28phy: ti: omap-usb2: Fix error handling in omap_usb2_enable_clocks76d1591a38bus: ti-sysc: Make omap3 gpt12 quirk handling SoC specific1b9855bf31ARM: OMAP2+: Fix refcount leak in omap_gic_of_init93cc8f184ephy: samsung: exynos5250-sata: fix missing device put in probe error paths3ca7491570phy: samsung: Fix missing of_node_put() in exynos_sata_phy_probe8f7644ac24ARM: dts: imx6qdl-apalis: Fix sgtl5000 detection issue23b0711fcdUSB: Fix xhci event ring dequeue pointer ERDP update issue712302aed1mtd: rawnand: fix ecc parameters for mt7622207c7af341iio:imu:bmi160: disable regulator in error path70d2df257earm64: dts: meson: remove CPU opps below 1GHz for SM1 boards2d320609bearm64: dts: meson: remove CPU opps below 1GHz for G12B boardsc4fb41bdf4video: fbdev: udlfb: properly check endpoint type0967830e72iocost: don't reset the inuse weight of under-weighted debtorsad604cbd1dx86/pci/xen: Disable PCI/MSI[-X] masking for XEN_HVM guests8fcce58c59riscv: patch_text: Fixup last cpu should be master51477d3b38hex2bin: fix access beyond string end616d354fb9hex2bin: make the function hex_to_bin constant-time1633cb2d4apinctrl: samsung: fix missing GPIOLIB on ARM64 Exynos configbdc3ad9251arch_topology: Do not set llc_sibling if llc_id is invalidaaee3f6617serial: 8250: Correct the clock for EndRun PTP/1588 PCIe device662f945a20serial: 8250: Also set sticky MCR bits in console restoration8be962c89dserial: imx: fix overrun interrupts in DMA moded22d92230fusb: phy: generic: Get the vbus supplyb820764c64usb: cdns3: Fix issue for clear halt endpointbd7f84708eusb: dwc3: gadget: Return proper request statusa633b8c341usb: dwc3: core: Only handle soft-reset in DCTL5fa59bb867usb: dwc3: core: Fix tx/rx threshold settings140801d3fbusb: dwc3: Try usb-role-switch first in dwc3_drd_init4dd5feb279usb: gadget: configfs: clear deactivation flag in configfs_composite_unbind()6c3da0e19cusb: gadget: uvc: Fix crash when encoding data for usb requestfb1fe1a455usb: typec: ucsi: Fix role swapping06826eb063usb: typec: ucsi: Fix reuse of completion structure7b510d4bb4usb: misc: fix improper handling of refcount in uss720_probe()bb8ecca2ddiio: imu: inv_icm42600: Fix I2C init possible nackca2b54b6adiio: magnetometer: ak8975: Fix the error handling in ak8975_power_on()1060604fc7iio: dac: ad5446: Fix read_raw not returning set value6ff33c01beiio: dac: ad5592r: Fix the missing return value.06ada9487fxhci: increase usb U3 -> U0 link resume timeout from 100ms to 500mse1be000166xhci: stop polling roothubs after shutdown2eb6c86891xhci: Enable runtime PM on second Alderlake controller63eda431b2USB: serial: option: add Telit 0x1057, 0x1058, 0x1075 compositionse9971dac69USB: serial: option: add support for Cinterion MV32-WA/MV32-WB34ff5455eeUSB: serial: cp210x: add PIDs for Kamstrup USB Meter Reader729a81ae10USB: serial: whiteheat: fix heap overflow in WHITEHEAT_GET_DTR_RTS008ba29f33USB: quirks: add STRING quirk for VCOM deviceac6ad0ef83USB: quirks: add a Realtek card reader8ba02cebb7usb: mtu3: fix USB 3.0 dual-role-switch from device to host549209caablightnvm: disable the subsystem54c028cfc4floppy: disable FDRAWCMD by default54af9dd2b9Linux 5.10.1137992fdb045Revert "net: micrel: fix KS8851_MLL Kconfig"8bedbc8f7fblock/compat_ioctl: fix range check in BLKGETSIZEfea24b07edstaging: ion: Prevent incorrect reference counting behavourdccee748afspi: atmel-quadspi: Fix the buswidth adjustment between spi-mem and controller572761645bjbd2: fix a potential race while discarding reserved buffers after an abort50aac44273can: isotp: stop timeout monitoring when no first frame was sente1e96e3727ext4: force overhead calculation if the s_overhead_cluster makes no sense4789149b9eext4: fix overhead calculation to account for the reserved gdt blocks0c54b09376ext4, doc: fix incorrect h_reserved size22c450d39fext4: limit length to bitmap_maxbytes - blocksize in punch_hole75ac724684ext4: fix use-after-free in ext4_search_dira46b3d8498ext4: fix symlink file size not match to file contentf6038d43b2ext4: fix fallocate to use file_modified to update permissions consistently19590bbc69perf report: Set PERF_SAMPLE_DATA_SRC bit for Arm SPE evente012f9d1afpowerpc/perf: Fix power9 event alternatives0a2cef65b3drm/vc4: Use pm_runtime_resume_and_get to fix pm_runtime_get_sync() usagef8f8b3124bKVM: PPC: Fix TCE handling for VFIO405d984274drm/panel/raspberrypi-touchscreen: Initialise the bridge in prepare231381f521drm/panel/raspberrypi-touchscreen: Avoid NULL deref if not initialised51d9cbbb0fperf/core: Fix perf_mmap fail when CONFIG_PERF_USE_VMALLOC enabled88fcfd6ee6sched/pelt: Fix attach_entity_load_avg() corner casec55327bc37arm_pmu: Validate single/group leader events5580b974a8ARC: entry: fix syscall_trace_exit argument7082650eb8e1000e: Fix possible overflow in LTR decoding43a2a3734aASoC: soc-dapm: fix two incorrect uses of list iterator54e6180c8cgpio: Request interrupts after IRQ is initialized0837ff17d0openvswitch: fix OOB access in reserve_sfa_size()19f6dcb1f0xtensa: fix a7 clobbering in coprocessor context load/storef399ab11ddxtensa: patch_text: Fixup last cpu should be masterba2716da23net: atlantic: invert deep par in pm functions, preventing null derefs358a3846f6dma: at_xdmac: fix a missing check on list iteratorcf23a960c5ata: pata_marvell: Check the 'bmdma_addr' beforing reading9ca66d7914mm/mmu_notifier.c: fix race in mmu_interval_notifier_remove()ed5d4efb4doom_kill.c: futex: delay the OOM reaper to allow time for proper futex cleanup6b932920b9mm, hugetlb: allow for "high" userspace addresses50cbc583faEDAC/synopsys: Read the error count from the correct register7ec6e06ee4nvme-pci: disable namespace identifiers for Qemu controllers316bd86c22nvme: add a quirk to disable namespace identifiers76101c8e0cstat: fix inconsistency between struct stat and struct compat_statbf28bba304scsi: qedi: Fix failed disconnect handlinga284cca3d8net: macb: Restart tx only if queue pointer is lagging9581e07b54drm/msm/mdp5: check the return of kzalloc()8d71edabb0dpaa_eth: Fix missing of_node_put in dpaa_get_ts_info()b3afe5a7fdbrcmfmac: sdio: Fix undefined behavior due to shift overflowing the constant202748f441mt76: Fix undefined behavior due to shift overflowing the constant0de9c104d0net: atlantic: Avoid out-of-bounds indexing5bef9fc38fcifs: Check the IOCB_DIRECT flag, not O_DIRECTe129c55153vxlan: fix error return code in vxlan_fdb_append8e7ea11364arm64: dts: imx: Fix imx8*-var-som touchscreen property sizescd227ac03fALSA: usb-audio: Fix undefined behavior due to shift overflowing the constant490815f0b5platform/x86: samsung-laptop: Fix an unsigned comparison which can never be negativecb17b56a9breset: tegra-bpmp: Restore Handle errors in BPMP responsed513ea9b7eARM: vexpress/spc: Avoid negative array index when !SMP052e4a661farm64: mm: fix p?d_leaf()18ff7a2efaarm64/mm: Remove [PUD|PMD]_TABLE_BIT from [pud|pmd]_bad()3bf8ca3501selftests: mlxsw: vxlan_flooding: Prevent flooding of unwanted packets520aab8b72dmaengine: idxd: add RO check for wq max_transfer_size write9a3c026dc3dmaengine: idxd: add RO check for wq max_batch_size writef593f49fcdnet: stmmac: Use readl_poll_timeout_atomic() in atomic state3d55b19574netlink: reset network and mac headers in netlink_dump()49516e6ed9ipv6: make ip6_rt_gc_expire an atomic_t078d839f11l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu0ac8f83d8fnet/sched: cls_u32: fix possible leak in u32_init_knode()93366275beip6_gre: Fix skb_under_panic in __gre6_xmit()200f96ebb3ip6_gre: Avoid updating tunnel->tun_hlen in __gre6_xmit()8fb76adb89net/packet: fix packet_sock xmit return value checkinga499cb5f3enet/smc: Fix sock leak when release after smc_shutdown()60592f16a4rxrpc: Restore removed timer deletionfc7116a79aigc: Fix BUG: scheduling while atomic46b0e4f998igc: Fix infinite loop in release_swfw_syncc075c3ea03esp: limit skb_page_frag_refill use to a single page3f7914dbeaspi: spi-mtk-nor: initialize spi controller after resumef714abf28fdmaengine: mediatek:Fix PM usage reference leak of mtk_uart_apdma_alloc_chan_resources9bc949a181dmaengine: imx-sdma: Fix error checking in sdma_event_remap12aa8021c7ASoC: codecs: wcd934x: do not switch off SIDO Buck when codec is in useb6f474cd30ASoC: msm8916-wcd-digital: Check failure for devm_snd_soc_register_component608fc58858ASoC: atmel: Remove system clock tree configuration for at91sam9g20ekd29c78d3f9dm: fix mempool NULL pointer race when completing IOcf9b195464ALSA: hda/realtek: Add quirk for Clevo NP70PNP8ce3820fc9ALSA: usb-audio: Clear MIDI port active flag after draining43ce33a68enet/sched: cls_u32: fix netns refcount changes in u32_change()04dd45d977gfs2: assign rgrp glock before compute_bitstructs378061c9b8perf tools: Fix segfault accessing sample_id xyarray5e8446e382tracing: Dump stacktrace trigger to the corresponding instance69848f9488mm: page_alloc: fix building error on -Werror=array-compare08ad7a770eetherdevice: Adjust ether_addr* prototypes to silence -Wstringop-overead95c07d1955ANDROID: Suppress build.sh deprecation warnings.d7beefb20aANDROID: Update the ABI symbol list1052f9bce6Linux 5.10.1125c62d3bf14ax25: Fix UAF bugs in ax25 timersf934fa478dax25: Fix NULL pointer dereferences in ax25 timers145ea8d213ax25: fix NPD bug in ax25_disconnecta4942c6feaax25: fix UAF bug in ax25_send_control()b20a5ab0f5ax25: Fix refcount leaks caused by ax25_cb_del()57cc15f5fdax25: fix UAF bugs of net_device caused by rebinding operation5ddae8d064ax25: fix reference count leaks of ax25_dev5ea00fc606ax25: add refcount in ax25_dev to avoid UAF bugs361288633bscsi: iscsi: Fix unbound endpoint error handling129db30599scsi: iscsi: Fix endpoint reuse regression26f827e095dma-direct: avoid redundant memory sync for swiotlb9a5a4d23e2timers: Fix warning condition in __run_timers()84837f43e5i2c: pasemi: Wait for write xfers to finish89496d80bfsmp: Fix offline cpu check in flush_smp_call_function_queue()cd02b2687ddm integrity: fix memory corruption when tag_size is less than digest size0a312ec66aARM: davinci: da850-evm: Avoid NULL pointer dereference0806f19305tick/nohz: Use WARN_ON_ONCE() to prevent console saturation0275c75955genirq/affinity: Consider that CPUs on nodes can be unbalanced1fcfe37d17drm/amdgpu: Enable gfxoff quirk on MacBook Pro68ae52efa1drm/amd/display: don't ignore alpha property on pre-multiplied modea263712ba8ipv6: fix panic when forwarding a pkt with no in6 dev659214603bnl80211: correctly check NL80211_ATTR_REG_ALPHA2 size912797e54cALSA: pcm: Test for "silence" field in struct "pcm_format_data"48d070ca5eALSA: hda/realtek: add quirk for Lenovo Thinkpad X12 speakers163e162471ALSA: hda/realtek: Add quirk for Clevo PD50PNT5e4dd17998btrfs: mark resumed async balance as writing1d2eda18f6btrfs: fix root ref counts in error handling in btrfs_get_root_ref9b7ec35253ath9k: Fix usage of driver-private space in tx_info0f65cedae5ath9k: Properly clear TX status area before reporting to mac80211cc21ae9326gcc-plugins: latent_entropy: use /dev/urandomc089ffc846memory: renesas-rpc-if: fix platform-device leak in error path342454231eKVM: x86/mmu: Resolve nx_huge_pages when kvm.ko is loaded06c348fde5mm: kmemleak: take a full lowmem check in kmemleak_*_phys()20ed94f818mm: fix unexpected zeroed page mapping with zram swap192e507ef8mm, page_alloc: fix build_zonerefs_node()000b3921b4perf/imx_ddr: Fix undefined behavior due to shift overflowing the constantca24c5e8f0drivers: net: slip: fix NPD bug in sl_tx_timeout()e8cf1e4d95scsi: megaraid_sas: Target with invalid LUN ID is deleted during scan5b7ce74b6bscsi: mvsas: Add PCI ID of RocketRaid 26404b44cd5840drm/amd/display: Fix allocate_mst_payload assert on resume34ea097fb6drm/amd/display: Revert FEC check in validationfa5ee7c423myri10ge: fix an incorrect free for skb in myri10ge_sw_tsod90df6da50net: usb: aqc111: Fix out-of-bounds accesses in RX fixup9c12fcf1d8net: axienet: setup mdio unconditionallyb643807a73tlb: hugetlb: Add more sizes to tlb_remove_huge_tlb_entry98973d2bddarm64: alternatives: mark patch_alternative() as `noinstr`2462faffbfregulator: wm8994: Add an off-on delay for WM8994 variantaa8cdedaf7gpu: ipu-v3: Fix dev_dbg frequency output150fe861c5ata: libata-core: Disable READ LOG DMA EXT for Samsung 840 EVOs1ff5359afanet: micrel: fix KS8851_MLL Kconfigd3478709edscsi: ibmvscsis: Increase INITIAL_SRP_LIMIT to 1024b9a110fa75scsi: lpfc: Fix queue failures when recovering from PCI parity erroraec36b98a1scsi: target: tcmu: Fix possible page UAF4366679805Drivers: hv: vmbus: Prevent load re-ordering when reading ring buffer1d7a5aae88drm/amdkfd: Check for potential null return of kmalloc_array()e5afacc826drm/amdgpu/vcn: improve vcn dpg stop procedured2e0931e6ddrm/amdkfd: Fix Incorrect VMIDs passed to HWS7fc0610ad8drm/amd/display: Update VTEM Infopacket definition6906e05cf3drm/amd/display: FEC check in timing validation756c61c168drm/amd/display: fix audio format not updated after edid updated76e086ce7bbtrfs: do not warn for free space inode in cow_file_range217190dc66btrfs: fix fallocate to use file_modified to update permissions consistently9b5d1b3413drm/amd: Add USBC connector ID6f9c06501dnet: bcmgenet: Revert "Use stronger register read/writes to assure ordering"504c15f07fdm mpath: only use ktime_get_ns() in historical selector4e166a4118cifs: potential buffer overflow in handling symlinks67677050cenfc: nci: add flush_workqueue to prevent uafbfba9722cfperf tools: Fix misleading add event PMU debug message280f721edctesting/selftests/mqueue: Fix mq_perf_tests to free the allocated cpu seteb8873b324sctp: Initialize daddr on peeled off socket45226fac4dscsi: iscsi: Fix conn cleanup and stop race during iscsid restart73805795c9scsi: iscsi: Fix offload conn cleanup when iscsid restarts699bd835c3scsi: iscsi: Move iscsi_ep_disconnect()46f37a34a5scsi: iscsi: Fix in-kernel conn failure handling8125738967scsi: iscsi: Rel ref after iscsi_lookup_endpoint()22608545b8scsi: iscsi: Use system_unbound_wq for destroy_work4029a1e992scsi: iscsi: Force immediate failure during shutdown17d14456f6scsi: iscsi: Stop queueing during ep_disconnectda9cf24aa7scsi: pm80xx: Enable upper inbound, outbound queuese08d269712scsi: pm80xx: Mask and unmask upper interrupt vectors 32-6335b91e49bcnet/smc: Fix NULL pointer dereference in smc_pnet_find_ib()98a7f6c4addrm/msm/dsi: Use connector directly in msm_dsi_manager_connector_init()5f78ad9383drm/msm: Fix range size vs end confusion5513f9a0b0cfg80211: hold bss_lock while updating nontrans_lista44938950enet/sched: taprio: Check if socket flags are valid08d5e3e954net: ethernet: stmmac: fix altr_tse_pcs function when using a fixed-link2ad9d890d8net: dsa: felix: suppress -EPROBE_DEFER errorsf2cc341fccnet/sched: fix initialization order when updating chain 0 head7a7cf84148mlxsw: i2c: Fix initialization error flow43e58e119anet: mdio: Alphabetically sort header inclusion9709c8b5cdgpiolib: acpi: use correct format charactersd67c900f19veth: Ensure eth header is in skb's linear part845f44ce3dnet/sched: flower: fix parsing of ethertype following VLAN header85ee17ca21SUNRPC: Fix the svc_deferred_event trace classaf12dd7123media: rockchip/rga: do proper error checking in probe5637129712firmware: arm_scmi: Fix sorting of retrieved clock rates16c628b0c6memory: atmel-ebi: Fix missing of_node_put in atmel_ebi_probecb66641f81drm/msm: Add missing put_task_struct() in debugfs path921fdc45a0btrfs: remove unused variable in btrfs_{start,write}_dirty_block_groups()5d131318bbACPI: processor idle: Check for architectural support for LPI503934df31cpuidle: PSCI: Move the `has_lpi` check to the beginning of the functioncfa98ffc42hamradio: remove needs_free_netdev to avoid UAF80a4df1464hamradio: defer 6pack kfree after unregister_netdevf0c31f192fdrm/amdkfd: Use drm_priv to pass VM from KFD to amdgpu232d82176fANDROID: Move BRANCH from build.config.common to .constants.6c8e5cb264Linux 5.10.111d36febbcd5powerpc: Fix virt_addr_valid() for 64-bit Book3E & 32-bit5c672073bcmm/sparsemem: fix 'mem_section' will never be NULL gcc 12 warning5973f7507airqchip/gic, gic-v3: Prevent GSI to SGI translations000e09462fDrivers: hv: vmbus: Replace smp_store_mb() with virt_store_mb()e1f540b752arm64: module: remove (NOLOAD) from linker script919823bd67selftests: cgroup: Test open-time cgroup namespace usage for migration checks637eca44b8selftests: cgroup: Test open-time credential usage for migration checks9dd39d2c65selftests: cgroup: Make cg_create() use 0755 for permission instead of 0644e74da71e66selftests/cgroup: Fix build on older distros4665722d36cgroup: Use open-time credentials for process migraton perm checksf089471d1bmm: don't skip swap entry even if zap_details specified58823a9b09ubsan: remove CONFIG_UBSAN_OBJECT_SIZE03b39bbbecdmaengine: Revert "dmaengine: shdma: Fix runtime PM imbalance on error"40e00885a6tools build: Use $(shell ) instead of `` to get embedded libperl's ccopts75c8558d41tools build: Filter out options and warnings not supported by clang6374faf49eperf python: Fix probing for some clang command line options79abc219baperf build: Don't use -ffat-lto-objects in the python feature test when building with clang-1382e4395014drm/amdkfd: Create file descriptor after client is added to smi_clients list326b408e7edrm/nouveau/pmu: Add missing callbacks for Tegra devices786ae8de3adrm/amdgpu/smu10: fix SoC/fclk units in auto modeff24114bb0irqchip/gic-v3: Fix GICR_CTLR.RWP polling451214b266perf: qcom_l2_pmu: fix an incorrect NULL check on list iteratorfc629224aaata: sata_dwc_460ex: Fix crash due to OOB write7e88a50704gpio: Restrict usage of GPIO chip irq members before initialization5f54364ff6RDMA/hfi1: Fix use-after-free bug for mm struct8bb4168291arm64: patch_text: Fixup last cpu should be mastera044bca8efbtrfs: prevent subvol with swapfile from being deleted82ae73ac96btrfs: fix qgroup reserve overflow the qgroup limitfc4bdaed4dx86/speculation: Restore speculation related MSRs during S3 resume8c9e26c890x86/pm: Save the MSR validity status at context setup2827328e64io_uring: fix race between timeout flush and removalf7e183b0a7mm/mempolicy: fix mpol_new leak in shared_policy_replace7d659cb176mmmremap.c: avoid pointless invalidate_range_start/end on mremap(old_size=0)6adc01a7aalz4: fix LZ4_decompress_safe_partial read out of bound8b6f04b4c9mmc: renesas_sdhi: don't overwrite TAP settings when HS400 tuning is complete029b417073mmc: mmci: stm32: correctly check all elements of sg list41a519c05bRevert "mmc: sdhci-xenon: fix annoying 1.8V regulator warning"9de98470dbarm64: Add part number for Arm Cortex-A78AE4604b5738dperf session: Remap buf if there is no space for event362ced3769perf tools: Fix perf's libperf_print callback65210fac63perf: arm-spe: Fix perf report --mem-modebd905fed87iommu/omap: Fix regression in probe for NULL pointer dereferenceb3c00be2ffSUNRPC: svc_tcp_sendmsg() should handle errors from xdr_alloc_bvec()9a45e08636SUNRPC: Handle low memory situations in call_status()132cbe2f18SUNRPC: Handle ENOMEM in call_transmit_status()aed30a2054io_uring: don't touch scm_fp_list after queueing skb594205b493drbd: Fix five use after free bugs in get_initial_state970a6bb729bpf: Support dual-stack sockets in bpf_tcp_check_syncookie6c17f4ef3cspi: bcm-qspi: fix MSPI only access with bcm_qspi_exec_mem_op()8928239e5eqede: confirm skb is allocated before usingb7893388bbnet: phy: mscc-miim: reject clause 45 register accesses08ff0e74farxrpc: fix a race in rxrpc_exit_net()5ae05b5eb5net: openvswitch: fix leak of nested actions42ab401d22net: openvswitch: don't send internal clone attribute to the userspace.e54ea8fc51ice: synchronize_rcu() when terminating ringse3dd1202abipv6: Fix stats accounting in ip6_pkt_dropffce126c95ice: Do not skip not enabled queues in ice_vc_dis_qs_msgb003fc4913ice: Set txq_teid to ICE_INVAL_TEID on ring creationebd1e3458ddpaa2-ptp: Fix refcount leak in dpaa2_ptp_probe43c2d7890eIB/rdmavt: add lock to call to rvt_error_qp to prevent a race condition3a57babfb6RDMA/mlx5: Don't remove cache MRs when a delay is neededd8992b393fsfc: Do not free an empty page_ring0ac74169ebbnxt_en: reserve space inside receive page for skb_shared_infof8b0ef0a58drm/imx: Fix memory leak in imx_pd_connector_get_modes25bc9fd4c8drm/imx: imx-ldb: Check for null pointer after calling kmemdup02ab4abe5bnet: stmmac: Fix unset max_speed difference between DT and non-DT platforms63ea57478anet: ipv4: fix route with nexthop object delete warning4be6ed0310ice: Clear default forwarding VSI during VSI release589154d0f1net/tls: fix slab-out-of-bounds bug in decrypt_internalc5f77b5953scsi: zorro7xx: Fix a resource leak in zorro7xx_remove_one()45b9932b4dNFSv4: fix open failure with O_ACCMODE flagc688705a39Revert "NFSv4: Handle the special Linux file open access mode"cf580d2e38Drivers: hv: vmbus: Fix potential crash on module unload0c122eb3a1drm/amdgpu: fix off by one in amdgpu_gfx_kiq_acquire()84e5dfc05fRevert "hv: utils: add PTP_1588_CLOCK to Kconfig to fix build"3c3fbfa6ddmm: fix race between MADV_FREE reclaim and blkdev direct IO read1753a49e26parisc: Fix patch code locking and flushingf7c3522030parisc: Fix CPU affinity for Lasi, WAX and Dino chipsc74e2f6eccNFS: Avoid writeback threads getting stuck in mempool_alloc()34681aeddcNFS: nfsiod should not block forever in mempool_alloc()7a506fabcfSUNRPC: Fix socket waits for write buffer spaceb9c5ac0a15jfs: prevent NULL deref in diFreec69b442125virtio_console: eliminate anonymous module_init & module_exit3309b32217serial: samsung_tty: do not unlock port->lock for uart_write_wakeup()9cb90f9ad5x86/Kconfig: Do not allow CONFIG_X86_X32_ABI=y with llvm-objcopyb3882e78aaNFS: swap-out must always use STABLE writes.d4170a2821NFS: swap IO handling is slightly different for O_DIRECT IO4b6f122bdfSUNRPC: remove scheduling boost for "SWAPPER" tasks.f4fc47e71eSUNRPC/xprt: async tasks mustn't block waiting for memoryf9244d31e0SUNRPC/call_alloc: async tasks mustn't block waiting for memorye2b2542f74clk: Enforce that disjoints limits are invalid1e9b5538cfclk: ti: Preserve node in ti_dt_clocks_register()a2a0e04f64xen: delay xen_hvm_init_time_ops() if kdump is boot on vcpu>=324a2544ce24NFSv4: Protect the state recovery thread against direct reclaim9b9feec97cNFSv4.2: fix reference count leaks in _nfs42_proc_copy_notify()2e16895d06w1: w1_therm: fixes w1_seq for ds28ea00 sensors93498c6e77staging: wfx: fix an error handling in wfx_init_common()8f1d24f85fphy: amlogic: meson8b-usb2: Use dev_err_probe()aa0b729678staging: vchiq_core: handle NULL result of find_service_by_handlebe4ecca958clk: si5341: fix reported clk_rate when output divider is 2c9cf6baabfminix: fix bug when opening a file with O_DIRECT8d9efd4434init/main.c: return 1 from handled __setup() functionsf442978612ceph: fix memory leak in ceph_readdir when note_last_dentry returns errord745512d54netlabel: fix out-of-bounds memory accesses2cc803804eBluetooth: Fix use after free in hci_send_acl789621df19MIPS: ingenic: correct unit node address61e25021e6xtensa: fix DTC warning unit_address_formatf6b9550f53usb: dwc3: omap: fix "unbalanced disables for smps10_out1" on omap5evma4dd3e9e5anet: sfp: add 2500base-X quirk for Lantech SFP module278b652f0anet: limit altnames to 64k total423e7107f6net: account alternate interface name memory74c4d50255can: isotp: set default value for N_As to 50 micro seconds1d7effe5ffscsi: libfc: Fix use after free in fc_exch_abts_resp()02222bf4f0powerpc/secvar: fix refcount leak in format_show()fd416c3f5aMIPS: fix fortify panic when copying asm exception handlers7c657c0694PCI: endpoint: Fix misused goto label79cfc0052fbnxt_en: Eliminate unintended link toggle during FW reset9567d54e70Bluetooth: use memset avoid memory leaksf9b183f133Bluetooth: Fix not checking for valid hdev on bt_dev_{info,warn,err,dbg}647b35aaf4tuntap: add sanity checks about msg_controllen in sendmsg797b4ea951macvtap: advertise link netns via netlink142ae7d4f2mips: ralink: fix a refcount leak in ill_acc_of_setup()f2565cb40enet/smc: correct settings of RMB window update limit224903cc60scsi: hisi_sas: Free irq vectors in order for v3 HWf49ffaa85dscsi: aha152x: Fix aha152x_setup() __setup handler return value91ee8a14efmt76: mt7615: Fix assigning negative values to unsigned variabled83574666bscsi: pm8001: Fix memory leak in pm8001_chip_fw_flash_update_req()a0bb65eadbscsi: pm8001: Fix tag leaks on error2051044d79scsi: pm8001: Fix task leak in pm8001_send_abort_all()3bd9a28798scsi: pm8001: Fix pm8001_mpi_task_abort_resp()ef969095c4scsi: pm8001: Fix pm80xx_pci_mem_copy() interfacefe4b6d5a0ddrm/amdkfd: make CRAT table missing message informational only2f2f017ea8dm: requeue IO if mapping table not yet available71c8df33fddm ioctl: prevent potential spectre v1 gadgetf655b724b4ipv4: Invalidate neighbour for broadcast address upon address additionbae03957e8iwlwifi: mvm: Correctly set fragmented EBS9538563d31power: supply: axp288-charger: Set Vhold to 4.4Vc66cc04043PCI: pciehp: Add Qualcomm quirk for Command Completed erratumb1b27b0e8dtcp: Don't acquire inet_listen_hashbucket::lock with disabled BH.b02a1a6502PCI: endpoint: Fix alignment fault error in copy tests4820847e8busb: ehci: add pci device support for Aspeed platforms0b9cf0b599iommu/arm-smmu-v3: fix event handling soft lockupe07e420a00PCI: aardvark: Fix support for MSI interrupts6694b8643bdrm/amdgpu: Fix recursive locking warningea21eaea7fpowerpc: Set crashkernel offset to mid of RMA regionfb5ac62fbeipv6: make mc_forwarding atomic5baf92a2c4libbpf: Fix build issue with llvm-readelf26a1e4739ecfg80211: don't add non transmitted BSS to 6GHz scanned channels9a56e2b271mt76: dma: initialize skip_unmap in mt76_dma_rx_fillb42b6d0ec3power: supply: axp20x_battery: properly report current when dischargingde9505936cscsi: bfa: Replace snprintf() with sysfs_emit()ed7db95920scsi: mvsas: Replace snprintf() with sysfs_emit()995f517888bpf: Make dst_port field in struct bpf_sock 16-bit wide339bd0b55eath11k: mhi: use mhi_sync_power_up()c6a815f5abath11k: fix kernel panic during unload/load ath11k modulese4d2d72013powerpc: dts: t104xrdb: fix phy type for FMAN 4/502e2ee8619ptp: replace snprintf with sysfs_emit9ea17b9f1dusb: gadget: tegra-xudc: Fix control endpoint's definitions07971b818eusb: gadget: tegra-xudc: Do not program SPARAM927beb05aadrm/amd/amdgpu/amdgpu_cs: fix refcount leak of a dma_fence obj85313d9bc7drm/amd/display: Add signal type check when verify stream backends same9d7d83d039ath5k: fix OOB in ath5k_eeprom_read_pcal_info_5111850c4351e8drm: Add orientation quirk for GPD Win Maxa24479c5e9KVM: x86/emulator: Emulate RDPID only if it is enabled in guest66b0fa6b22KVM: x86/svm: Clear reserved bits written to PerfEvtSeln MSRs2e52a29470rtc: wm8350: Handle error for wm8350_register_irq0777fe98a4gfs2: gfs2_setattr_size error path fixf349d7f9eegfs2: Fix gfs2_release for non-writers regression3f53715fd5gfs2: Check for active reservation in gfs2_release2dc49f58a2ubifs: Rectify space amount budget for mkdir/tmpfile operations65eadb5fc4Merge 5.10.110 into android13-5.10-lts35ce455788ANDROID: Update the ABI symbol list3238bffaf9Linux 5.10.110cf342cbfb3PCI: xgene: Revert "PCI: xgene: Use inbound resources for setup"a25864c5bcarm64: Do not defer reserve_crashkernel() for platforms with no DMA memory zones558564db44coredump: Use the vma snapshot in fill_files_noteb7933f145acoredump/elf: Pass coredump_params into fill_note_infob043ae637acoredump: Remove the WARN_ON in dump_vma_snapshot936c8be4d1coredump: Snapshot the vmas in do_coredump5318cdf4fdcan: usb_8dev: usb_8dev_start_xmit(): fix double dev_kfree_skb() in error path869016a293can: m_can: m_can_tx_handler(): fix use after free of skbe90518d10cKVM: x86/mmu: do compare-and-exchange of gPTE via the user addresse36c45263aopenvswitch: Fixed nd target mask field in the flow dump.415edc68b6docs: sysctl/kernel: add missing bit to panic_print272c74323dum: Fix uml_mconsole stop/goc0a6a54738ARM: dts: spear13xx: Update SPI dma propertiesea3912af8bARM: dts: spear1340: Update serial node properties74f7971985ASoC: topology: Allow TLV control to be either read or write3ca47556d9ubi: fastmap: Return error code if memory allocation fails in add_aeb()7704f243cbdt-bindings: spi: mxic: The interrupt property is not mandatory648ab1dcc1dt-bindings: mtd: nand-controller: Fix a comment in the examples71917e45e1dt-bindings: mtd: nand-controller: Fix the reg property description73f2f37417bpf: Fix comment for helper bpf_current_task_under_cgroup()90805175a2bpf: Adjust BPF stack helper functions to accommodate skip > 086489492e8mm/usercopy: return 1 from hardened_usercopy __setup() handler81a04b9a32mm/memcontrol: return 1 from cgroup.memory __setup() handlerf321621f5cARM: 9187/1: JIVE: fix return value of __setup handlerd57feed3b1mm/mmap: return 1 from stack_guard_gap __setup() handler73f7cbb151batman-adv: Check ptr for NULL before reducing its refcntf6da750bfaASoC: soc-compress: Change the check for codec_daid3f786b7cfstaging: mt7621-dts: fix pinctrl-0 items to be size-1 items on ethernet12e380bb6fproc: bootconfig: Add null pointer check90ec1b1538can: isotp: restore accidentally removed MSG_PEEK feature16960ac92bplatform/chrome: cros_ec_typec: Check for EC devicee5b681822cACPI: CPPC: Avoid out of bounds access when parsing _CPC data785a53373criscv module: remove (NOLOAD)b27de7011cio_uring: fix memory leak of uid in files registration20499ed3c0ARM: iop32x: offset IRQ numbers by 1432b057f8eubi: Fix race condition between ctrl_cdev_ioctl and ubi_cdev_ioctlf28a857a61ASoC: mediatek: mt6358: add missing EXPORT_SYMBOLsecfc3f8a63pinctrl: nuvoton: npcm7xx: Use %zu printk format for ARRAY_SIZE()503868a7c0pinctrl: nuvoton: npcm7xx: Rename DS() macro to DSTR()d9afc5146bwatchdog: rti-wdt: Add missing pm_runtime_disable() in probe function402b53dc7cpinctrl: pinconf-generic: Print arguments for bias-pull-*7169f60110watch_queue: Free the page array when watch_queue is dismantlede64dc94990crypto: arm/aes-neonbs-cbc - Select generic cbc and aesa16f5ae8admailbox: imx: fix wakeup failure from freeze mode051360e513rxrpc: Fix call timer start racing with call destructiona94d98e06enet: hns3: fix software vlan talbe of vlan 0 inconsistent with hardwarec73af4bc8agfs2: Make sure FITRIM minlen is rounded up to fs block size33c204266crtc: check if __rtc_read_time was successful381636f33fXArray: Update the LRU list in xas_split()3b9fabe8f6can: mcp251xfd: mcp251xfd_register_get_dev_id(): fix return of error valueef0acc5141can: mcba_usb: properly check endpoint type0801a51d79can: mcba_usb: mcba_usb_start_xmit(): fix double dev_kfree_skb in error path1ac49c8fd4XArray: Fix xas_create_range() when multi-order entry present49f77ab50awireguard: socket: ignore v6 endpoints when ipv6 is disabled096f9d35cawireguard: socket: free skb in send6 when ipv6 is disabledcd032f218cwireguard: queueing: use CFI-safe ptr_ring cleanup function8a0c70c238ubifs: rename_whiteout: correct old_dir size computingc34ae24a25ubifs: Fix to add refcount once page is set private07a209fadeubifs: Fix read out-of-bounds in ubifs_wbuf_write_nolock()d07a242169ubifs: setflags: Make dirtied_ino_d 8 bytes aligned13b2a8151eubifs: Add missing iput if do_tmpfile() failed in rename whiteout83e42a7842ubifs: Fix deadlock in concurrent rename whiteout and inode writebacka90e2dbe66ubifs: rename_whiteout: Fix double free for whiteout_ui->data0c307349feASoC: SOF: Intel: Fix NULL ptr dereference when ENOMEM0fb470eb48KVM: SVM: fix panic on out-of-bounds guest IRQcd8c2d7c7cKVM: x86: fix sending PV IPIeccfee4494KVM: Prevent module exit until all VMs are freed09c771c45cKVM: x86: Forbid VMM to set SYNIC/STIMER MSRs when SynIC wasn't activatedaea4ffdcf3platform: chrome: Split trace include filed3a913ba1fscsi: qla2xxx: Use correct feature type field during RFF_ID processing633450063cscsi: qla2xxx: Reduce false trigger to logindd48727cabscsi: qla2xxx: Fix N2N inconsistent PLOGI0910a791a6scsi: qla2xxx: Fix missed DMA unmap for NVMe ls requestsf296e888e9scsi: qla2xxx: Fix hang due to session stuckedea037716scsi: qla2xxx: Fix incorrect reporting of task management failure9dc104edd7scsi: qla2xxx: Fix disk failure to rediscoverf97316dd39scsi: qla2xxx: Suppress a kernel complaint in qla_create_qpair()0e4a89efc2scsi: qla2xxx: Check for firmware dump already collectedef10a7530cscsi: qla2xxx: Add devids and conditionals for 28xxbad77c9a47scsi: qla2xxx: Fix device reconnect in loop topology8b52e20c22scsi: qla2xxx: Fix warning for missing error code7c9745421dscsi: qla2xxx: Fix wrong FDMI data for 64G adapter7fef50214dscsi: qla2xxx: Fix scheduling while atomicc45147018dscsi: qla2xxx: Fix stuck session in gpdb031547f4c6powerpc: Fix build errors with newer binutils68fa67e939powerpc/lib/sstep: Fix build errors with newer binutilsad806b4022powerpc/lib/sstep: Fix 'sthcx' instructionf39a330939powerpc/kasan: Fix early region not updated correctly89e5a42687KVM: x86/mmu: Check for present SPTE when clearing dirty bit in TDP MMUa3ad453008ALSA: hda/realtek: Add alc256-samsung-headphone fixupaa2ad067cdmedia: atomisp: fix bad usage at error handling logic2412a5d294mmc: host: Return an error when ->enable_sdio_irq() ops is missing808990afd8media: hdpvr: initialize dev->worker at hdpvr_register_videodev32582f82dfmedia: Revert "media: em28xx: add missing em28xx_close_extension"b1c2857752video: fbdev: sm712fb: Fix crash in smtcfb_write()e7bb29df2aARM: mmp: Fix failure to remove sram deviceadd823a9a5ARM: tegra: tamonten: Fix I2C3 pad setting08ec8450f3lib/test_lockup: fix kernel pointer check for separate address spaces40a5c93a74uaccess: fix type mismatch warnings from access_ok()a49b687a75media: cx88-mpeg: clear interrupt status register before streaming video4606350268ASoC: soc-core: skip zero num_dai component in searching dai namea840fc067eARM: dts: bcm2711: Add the missing L1/L2 cache information681a317034video: fbdev: udlfb: replace snprintf in show functions with sysfs_emita7c624abf6video: fbdev: omapfb: panel-tpo-td043mtea1: Use sysfs_emit() instead of snprintf()543dae0a46video: fbdev: omapfb: panel-dsi-cm: Use sysfs_emit() instead of snprintf()910715c4b4arm64: defconfig: build imx-sdma as a module14df2556a1ARM: dts: imx7: Use audio_mclk_post_div instead audio_mclk_root_clkc241cfd0a5ARM: ftrace: avoid redundant loads or clobbering IP41082d6432media: atomisp: fix dummy_ptr check to avoid duplicate active_bob554196e6dmedia: atomisp_gmin_platform: Add DMI quirk to not turn AXP ELDO2 regulator off on some boards370b50492eASoC: madera: Add dependencies on MFD0020667edcARM: dts: bcm2837: Add the missing L1/L2 cache informationf040c08102ARM: dts: qcom: fix gic_irq_domain_translate warnings for msm8960da210b1b55video: fbdev: omapfb: acx565akm: replace snprintf with sysfs_emit8c7e2141fbvideo: fbdev: cirrusfb: check pixclock to avoid divide by zero1e33f19746video: fbdev: w100fb: Reset global state08dff48201video: fbdev: nvidiafb: Use strscpy() to prevent buffer overflow99e3f83539media: ir_toy: free before error exitingd658178b5amedia: staging: media: zoran: fix various V4L2 compliance errorsbafec1a6bamedia: staging: media: zoran: calculate the right buffer number for zoran_reap_stat_combd01629315media: staging: media: zoran: move videodev allocb230f2d944ntfs: add sanity check on allocation sizef7e8aff062f2fs: compress: fix to print raw data size in error path of lz4 decompressiond91d1e681cNFSD: Fix nfsd_breaker_owns_lease() return values498b7088dbf2fs: fix to do sanity check on curseg->alloc_type330d0e44fcext4: don't BUG if someone dirty pages without asking ext4 firstcd6d719534ext4: fix ext4_mb_mark_bb() with flex_bg with fast_commit69d2421b55ext4: correct cluster len and clusters changed accounting in ext4_mb_mark_bbecd384c436locking/lockdep: Iterate lock_classes directly when reading lockdep files3ad817f1bdspi: tegra20: Use of_device_get_match_data()1c200c8bcenvme-tcp: lockdep: annotate in-kernel sockets7e4967e913parisc: Fix handling off probe non-access faultsede1ef1a7dPM: core: keep irq flags in device_pm_check_callbacks()227718c8bbACPI/APEI: Limit printable size of BERT table datacc051f497eRevert "Revert "block, bfq: honor already-setup queue merges""1b69302bfalib/raid6/test/Makefile: Use $(pound) instead of \# for Make 4.31b87ce6a77ACPICA: Avoid walking the ACPI Namespace if it is not theredf6e00b1a5bfq: fix use-after-free in bfq_dispatch_requestdd85ed4af8fs/binfmt_elf: Fix AT_PHDR for unusual ELF files9fc899ce5airqchip/nvic: Release nvic_base upon failure4bbd910de1irqchip/qcom-pdc: Fix broken lockingf038185b6aFix incorrect type in assignment of ipv6 port for audit012c572007loop: use sysfs_emit() in the sysfs xxx show()448857f580selinux: allow FIOCLEX and FIONCLEX with policy capability4b9b60b5bfselinux: use correct type for context length7507ead1e9block, bfq: don't move oom_bfqq79b16d00depinctrl: npcm: Fix broken references to chip->parent_device9d1d8e5e42gcc-plugins/stackleak: Exactly match strings instead of prefixesb0f2f89d74regulator: rpi-panel: Handle I2C errors/timing to the Atmel2784604c8cLSM: general protection fault in legacy_parse_parame600b5973efs: fix fd table size alignment properly327f07e370lib/test: use after free in register_test_dev_kmod()00d2b9fe5efs: fd tables have to be multiples of BITS_PER_LONG1752fcd404net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iteratoredb91a475dNFSv4/pNFS: Fix another issue with a list iterator pointing to the head5c94b6205enet/x25: Fix null-ptr-deref caused by x25_disconnect4896c308a5qlcnic: dcb: default to returning -EOPNOTSUPP2165d0ebfbselftests: test_vxlan_under_vrf: Fix broken test casef98dc124a4net: phy: broadcom: Fix brcm_fet_config_init()3e7a483af3net: hns3: fix bug when PF set the duplicate MAC address for VFs3eb92660e6net: enetc: report software timestamping via SO_TIMESTAMPINGe9445a7a59xen: fix is_xen_pmu()af0c3ced24clk: Initialize orphan req_rate845e734f97clk: qcom: gcc-msm8994: Fix gpll4 widthe2a2625392kdb: Fix the putarea helper functiona9fa7d48a1NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error8cd30d28danetfilter: nf_conntrack_tcp: preserve liberal flag in tcp optionsfbd56a61cejfs: fix divide error in dbNextAGacb96e62e6driver core: dd: fix return value of __setup handler89748be18ffirmware: google: Properly state IOMEM dependency3d934d7b90kgdbts: fix return value of __setup handlerf65ba8b988serial: 8250: fix XOFF/XON sending when DMA is used45e95a7bf8kgdboc: fix return value of __setup handler96038b1cf4tty: hvc: fix return value of __setup handler566e30289dpinctrl/rockchip: Add missing of_node_put() in rockchip_pinctrl_probe669b05ff43pinctrl: nomadik: Add missing of_node_put() in nmk_pinctrl_probe9d095fe2fbpinctrl: mediatek: paris: Skip custom extra pin config dump for virtual GPIOs861946289dpinctrl: mediatek: paris: Fix pingroup pin config state readback7675fb2aafpinctrl: mediatek: paris: Fix "argument" argument type for mtk_pinconf_get()901e192ac9pinctrl: mediatek: paris: Fix PIN_CONFIG_BIAS_* readback72ea0fefeapinctrl: mediatek: Fix missing of_node_put() in mtk_pctrl_initfddbfe43bfstaging: mt7621-dts: fix GB-PC2 devicetree00e0739ca1staging: mt7621-dts: fix pinctrl properties for ethernet47c31fe8castaging: mt7621-dts: fix formatting59ec187d7cstaging: mt7621-dts: fix LEDs and pinctrl on GB-PC1 devicetree942f68bf29NFS: remove unneeded check in decode_devicenotify_args()e025c66387clk: tegra: tegra124-emc: Fix missing put_device() call in emc_ensure_emc_driver54c8128297clk: clps711x: Terminate clk_div_table with sentinel element9ff533033dclk: loongson1: Terminate clk_div_table with sentinel elementbb680cabf2clk: actions: Terminate clk_div_table with sentinel element431f8a9cecnvdimm/region: Fix default alignment for small regionsf7210ca29aremoteproc: qcom_q6v5_mss: Fix some leaks in q6v5_alloc_memory_region7a494580a8remoteproc: qcom_wcnss: Add missing of_node_put() in wcnss_alloc_memory_region5c1d484d96remoteproc: qcom: Fix missing of_node_put in adsp_alloc_memory_regionf95fd61dd8dmaengine: hisi_dma: fix MSI allocate fail when reload hisi_dmad047d68ff0clk: qcom: clk-rcg2: Update the frac table for pixel clock334720f418clk: qcom: clk-rcg2: Update logic to calculate D value for RCG639744b242clk: at91: sama7g5: fix parents of PDMCs' GCLK0553ecbce9clk: imx7d: Remove audio_mclk_root_clk867258d3f3dma-debug: fix return value of __setup handlers2f3885514eNFS: Return valid errors from nfs2/3_decode_dirent()7b59afe84ahabanalabs: Add check for pci_enable_deviceafcbc63752iio: adc: Add check for devm_request_threaded_irqdf2dc4cf71serial: 8250: Fix race condition in RTS-after-send handling469ce5119fNFS: Use of mapping_set_error() results in spurious errors659fe4d653serial: 8250_lpss: Balance reference count for PCI DMA device0aebb3944aserial: 8250_mid: Balance reference count for PCI DMA devicec92bd51313phy: dphy: Correct lpx parameter and its derivatives(ta_{get,go,sure})80805f555eclk: qcom: ipq8074: Use floor ops for SDCC1 clockfd2601e366pinctrl: renesas: checker: Fix miscalculation of number of statesc5cf977515pinctrl: renesas: r8a77470: Reduce size for narrow VIN1 channelb5db33a81estaging:iio:adc:ad7280a: Fix handing of device address bit reversing.f5b01abf5fiio: mma8452: Fix probe failing when an i2c_device_id is used8b89c9e68aclk: qcom: ipq8074: fix PCI-E clock oopsa70d5dbe2esoundwire: intel: fix wrong register name in intel_shim_wake091704a9a7cpufreq: qcom-cpufreq-nvmem: fix reading of PVS Valid fusef90ad94322misc: alcor_pci: Fix an error handling path553541c453fsi: Aspeed: Fix a potential double freecb212c3f0dfsi: aspeed: convert to devm_platform_ioremap_resourcec0b3c06414pwm: lpc18xx-sct: Initialize driver data and hardware before pwmchip_add()2cd05c38a2mxser: fix xmit_buf leak in activate when LSR == 0xff8513c93eadmfd: asic3: Add missing iounmap() on error asic3_mfd_probe084be6309ftipc: fix the timer expires after interval 100ms5d8162371copenvswitch: always update flow key after nat4593c76a65tcp: ensure PMTU updates are processed during fastopenb26091a020net: bcmgenet: Use stronger register read/writes to assure ordering9088614323PCI: Avoid broken MSI on SB600 USB devices75a4a97b74selftests/bpf/test_lirc_mode2.sh: Exit with proper code0d3ad6142ai2c: mux: demux-pinctrl: do not deactivate a master that is not activec483f8002di2c: meson: Fix wrong speed use from probeb089836218af_netlink: Fix shift out of bounds in group mask calculation40f3b8dadaipv4: Fix route lookups when handling ICMP redirects and PMTU updates70a6cf749dBluetooth: btmtksdio: Fix kernel oops in btmtksdio_interruptb441fcdff2Bluetooth: call hci_le_conn_failed with hdev lock in hci_le_conn_failed876cfe1380selftests/bpf: Fix error reporting from sock_fields programsac1ec6f319bareudp: use ipv6_mod_enabled to check if IPv6 enabledc037e13539can: isotp: support MSG_TRUNC flag when reading from socketf402c49865can: isotp: return -EADDRNOTAVAIL when reading from unbound socket8a9d996d4eUSB: storage: ums-realtek: fix error code in rts51x_read_mem()f9a6661009samples/bpf, xdpsock: Fix race when running for fix duration of timecd84ea3920bpf, sockmap: Fix double uncharge the mem of sk_msg7b812a369ebpf, sockmap: Fix more uncharged while msg has more_databec34a91ebbpf, sockmap: Fix memleak in tcp_bpf_sendmsg while sk msg is fullc98d903ff9RDMA/mlx5: Fix memory leak in error flow for subscribe event routinea3587259aemtd: rawnand: atmel: fix refcount issue in atmel_nand_controller_initfa3d444245MIPS: pgalloc: fix memory leak caused by pgd_free()8c4808ff9eMIPS: RB532: fix return value of __setup handleref1728e3cbmips: cdmm: Fix refcount leak in mips_cdmm_phys_base315772133aath10k: Fix error handling in ath10k_setup_msa_resources71f311b123vxcan: enable local echo for sent CAN frames3c2a397849powerpc: 8xx: fix a return value error in mpc8xx_pic_init956fab99adplatform/x86: huawei-wmi: check the return value of device_create_file()1ba28cb692selftests/bpf: Make test_lwt_ip_encap more stable and faster08ab406781libbpf: Unmap rings when umem deleted6fa8edfc90mfd: mc13xxx: Add check for mc13xxx_irq_requestbcf93175edpowerpc/sysdev: fix incorrect use to determine if list is emptyab0a335b54mips: DEC: honor CONFIG_MIPS_FP_SUPPORT=nbbd91cdb62net: axienet: fix RX ring refill allocation failure handling9ec698984dPCI: Reduce warnings on possible RW1C corruptiona84cb039d2IB/hfi1: Allow larger MTU without AIP48d23ef901power: supply: wm8350-power: Add missing free in free_charger_irq9d3dab40afpower: supply: wm8350-power: Handle error for wm8350_register_irq5cf1371628i2c: xiic: Make bus names uniquef01e08083chv_balloon: rate-limit "Unhandled message" warningba2c6e353bKVM: x86/emulator: Defer not-present segment check in __load_segment_descriptor()fa9089949dKVM: x86: Fix emulation in writing cr83e7e73ae2bpowerpc/Makefile: Don't pass -mcpu=powerpc64 when building 32-bit05abd49972powerpc/mm/numa: skip NUMA_NO_NODE onlining in parse_numa_properties()3e04a837dblibbpf: Skip forward declaration when counting duplicated type names6bb107332dgpu: host1x: Fix a memory leak in 'host1x_remove()'d1c7759304bpf, arm64: Feed byte-offset into bpf line info694398af5fbpf, arm64: Call build_prologue() first in first JIT pass06a0001366drm/bridge: cdns-dsi: Make sure to to create proper aliases for dta3d53f0005scsi: hisi_sas: Change permission of parameter prot_mask705c70399epower: supply: bq24190_charger: Fix bq24190_vbus_is_enabled() wrong false return1e06710c43drm/tegra: Fix reference leak in tegra_dsi_ganged_probe9ffa07c699ext2: correct max file size computing60605acf5bTOMOYO: fix __setup handlers return valuesadb7c8d1dedrm/amd/display: Remove vupdate_int_entry definitione462b0f518RDMA/mlx5: Fix the flow of a miss in the allocation of a cache ODP MR279f318bd7scsi: pm8001: Fix abort all task initialization780c668a2dscsi: pm8001: Fix NCQ NON DATA command completion handlingf7a3f9e4e8scsi: pm8001: Fix NCQ NON DATA command task initializationf76bbee39escsi: pm8001: Fix le32 values handling in pm80xx_chip_sata_req()6bc86bca35scsi: pm8001: Fix le32 values handling in pm80xx_chip_ssp_io_req()27ccdcaa01scsi: pm8001: Fix payload initialization in pm80xx_encrypt_update()6c0e850c22scsi: pm8001: Fix le32 values handling in pm80xx_set_sas_protocol_timer_config()edde1ede76scsi: pm8001: Fix payload initialization in pm80xx_set_thermal_config()257a55622cscsi: pm8001: Fix command initialization in pm8001_chip_ssp_tm_req()f55a7bc38fscsi: pm8001: Fix command initialization in pm80XX_send_read_log()5349cde1dfdm crypt: fix get_key_size compiler warning if !CONFIG_KEYSd4862bea08drm/msm/dpu: fix dp audio condition7b52fb813cdrm/msm/dpu: add DSPP blocks teardown413c62697bdrm/msm/dp: populate connector of struct dp_panel441a83ff27iwlwifi: mvm: Fix an error code in iwl_mvm_up()c12692c3e9iwlwifi: Fix -EIO error code that is never returnedec376f5c11dax: make sure inodes are flushed before destroy cache5e6b030ac3IB/cma: Allow XRC INI QPs to set their local ACK timeout9c384e1afadrm/amd/display: Add affected crtcs to atomic state for dsc mst unplug80b96ac9d2drm/amd/pm: enable pm sysfs write for one VF mode06e778d184iommu/ipmmu-vmsa: Check for error num after setting maskab63b24ae6HID: i2c-hid: fix GET/SET_REPORT for unnumbered reports879356a6a0power: supply: ab8500: Fix memory leak in ab8500_fg_sysfs_initf03ef518c1drm/bridge: dw-hdmi: use safe format when first in bridge chaine0e25e131dPCI: aardvark: Fix reading PCI_EXP_RTSTA_PME bit on emulated bridgeb1af8b9ec0livepatch: Fix build failure on 32 bits processors6f095441f8scripts/dtc: Call pkg-config POSIXly correct080822563bnet: dsa: mv88e6xxx: Enable port policy support on 60972ac4f049dbmt76: mt7615: check sta_rates pointer in mt7615_sta_rate_tbl_update2430af1241mt76: mt7603: check sta_rates pointer in mt7603_sta_rate_tbl_update232c1cc986mt76: mt7915: use proper aid value in mt7915_mcu_sta_basic_tlv253cc4aafcmt76: mt7915: use proper aid value in mt7915_mcu_wtbl_generic_tlv in sta modeb5d363ff17powerpc/perf: Don't use perf_hw_context for trace IMC PMUc18b538617KVM: PPC: Book3S HV: Check return value of kvmppc_radix_init8b64c158a0powerpc: dts: t1040rdb: fix ports names for Seville Ethernet switchbe703360edray_cs: Check ioremap return value43f2fe2a69power: reset: gemini-poweroff: Fix IRQ check in gemini_poweroff_probeda71a1483bi40e: respect metadata on XSK Rx to skbb2e48cd141i40e: don't reserve excessive XDP_PACKET_HEADROOM on XSK Rx to skbe8fe653fa7KVM: PPC: Fix vmx/vsx mixup in mmio emulation11cb9eba06RDMA/core: Set MR type in ib_reg_user_mr11f11ac281ath9k_htc: fix uninit value bugs6e669baa33drm/amd/pm: return -ENOTSUPP if there is no get_dpm_ultimate_freq function19a7eba284drm/amd/display: Fix a NULL pointer dereference in amdgpu_dm_connector_add_common_modes()9abee51534drm/nouveau/acr: Fix undefined behavior in nvkm_acr_hsfw_load_bl()47402eaf88ionic: fix type complaint in ionic_dev_cmd_clean()1ba10e5c39drm/edid: Don't clear formats if using deep colord99e7feaedmtd: rawnand: gpmi: fix controller timings setting364b2eee62mtd: onenand: Check for error irq96ea88eb9bBluetooth: hci_serdev: call init_rwsem() before p->open()b267a8118cudmabuf: validate ubuf->pagecount56722aa77blibbpf: Fix possible NULL pointer dereference when destroying skeleton4a9c268a40drm/panfrost: Check for error num after setting mask5d1114ede5ath10k: fix memory overwrite of the WoWLAN wakeup packet patternfb2be762a4drm: bridge: adv7511: Fix ADV7535 HPD enablementd9d61beb21drm/bridge: nwl-dsi: Fix PM disable depth imbalance in nwl_dsi_probe064e7f7532drm/bridge: Add missing pm_runtime_disable() in __dw_mipi_dsi_probed8db734df6drm/bridge: Fix free wrong object in sii8620_init_rcp_input_devec3924eab5drm/meson: osd_afbcd: Add an exit callback to struct meson_afbcd_opsa1c665f5b7ARM: configs: multi_v5_defconfig: re-enable CONFIG_V4L_PLATFORM_DRIVERS1f24716e38ASoC: codecs: wcd934x: Add missing of_node_put() in wcd934x_codec_parse_dataabefbf602cASoC: msm8916-wcd-analog: Fix error handling in pm8916_wcd_analog_spmi_probe90ac679aa6ASoC: atmel: Fix error handling in sam9x5_wm8731_driver_probeec26e3ce3cASoC: atmel: sam9x5_wm8731: use devm_snd_soc_register_card()541251b903mmc: davinci_mmc: Handle error for clk_enable19eb5c7957ASoC: msm8916-wcd-digital: Fix missing clk_disable_unprepare() in msm8916_wcd_digital_probe42042c7a3dASoC: imx-es8328: Fix error return code in imx_es8328_probe()fe4db4ea21ASoC: fsl_spdif: Disable TX clock when stop86b6cf9894ASoC: mxs: Fix error handling in mxs_sgtl5000_probec8c981cfc0ASoC: dmaengine: do not use a NULL prepare_slave_config() callbackf452cff025ASoC: SOF: Add missing of_node_put() in imx8m_probe0d82401d46ASoC: rockchip: i2s: Fix missing clk_disable_unprepare() in rockchip_i2s_probe7e8b0fd0ebASoC: rockchip: i2s: Use devm_platform_get_and_ioremap_resource()b5664a584eivtv: fix incorrect device_caps for ivtvfbebd4f1501emedia: saa7134: fix incorrect use to determine if list is emptydd67315994media: saa7134: convert list_for_each to entry variant066d9b48f9video: fbdev: omapfb: Add missing of_node_put() in dvic_probe_of20da8404e4ASoC: fsi: Add check for clk_enabledb1c00a025ASoC: wm8350: Handle error for wm8350_register_irq662ee5ac6bASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe663e7a7287media: vidtv: Check for null return of vzalloc4d68603cc4media: stk1160: If start stream fails, return buffers with VB2_BUF_STATE_QUEUEDb02752d753m68k: coldfire/device.c: only build for MCF_EDMA when h/w macros are defined9ca3635a0aarm64: dts: rockchip: Fix SDIO regulator supply properties on rk3399-firefly7e6f578662ALSA: firewire-lib: fix uninitialized flag for AV/C deferred transaction64eee4127cmemory: emif: check the pointer temp in get_device_details()330a9b0d38memory: emif: Add check for setup_interrupts4639c1d97fASoC: soc-compress: prevent the potentially use of null pointera6ee60d4a9ASoC: dwc-i2s: Handle errors for clk_enable39bee81e30ASoC: atmel_ssc_dai: Handle errors for clk_enabledc947d175cASoC: mxs-saif: Handle errors for clk_enablea754ea0de3printk: fix return value of printk.devkmsg __setup handler87a265e292arm64: dts: broadcom: Fix sata nodenamef63122803darm64: dts: ns2: Fix spi-cpol and spi-cpha property5d6a0dc6baALSA: spi: Add check for clk_enable()039fae34f8ASoC: ti: davinci-i2s: Add check for clk_enable()94cb9fe5d8ASoC: rt5663: check the return value of devm_kzalloc() in rt5663_parse_dp()7ce3e6e103uaccess: fix nios2 and microblaze get_user_8()19894751f6ASoC: codecs: wcd934x: fix return value of wcd934x_rx_hph_mode_putf126dcbe70media: cedrus: h264: Fix neighbour info buffer sizec011ae1665media: cedrus: H265: Fix neighbour info buffer size44973633b0media: usb: go7007: s2250-board: fix leak in probe()ec8a37b2d9media: em28xx: initialize refcount before kref_get1b46f57d51media: video/hdmi: handle short reads of hdmi info frame.170ad3942bARM: dts: imx: Add missing LVDS decoder on M53Menlo2a0eb50d9aARM: dts: sun8i: v3s: Move the csi1 block to follow address order77406ac6efsoc: ti: wkup_m3_ipc: Fix IRQ check in wkup_m3_ipc_probe18b2ec361afirmware: ti_sci: Fix compilation failure when CONFIG_TI_SCI_PROTOCOL is not defined8395a17ef6arm64: dts: qcom: sm8150: Correct TCS configuration for apps rscd19248e23farm64: dts: qcom: sdm845: fix microphone bias properties and values2042c6fbfbsoc: qcom: aoss: remove spurious IRQF_ONESHOT flags5a990a65d4soc: qcom: ocmem: Fix missing put_device() call in of_get_ocmemb5d6eba719soc: qcom: rpmpd: Check for null return of devm_kcalloc0c11cb8db4ARM: dts: qcom: ipq4019: fix sleep clock22474dfd0cfirmware: qcom: scm: Remove reassignment to desc following initializerbf4bad1114video: fbdev: fbcvt.c: fix printing in fb_cvt_print_name()6de6a64f23video: fbdev: atmel_lcdfb: fix an error code in atmel_lcdfb_probe()64ec3e678dvideo: fbdev: smscufx: Fix null-ptr-deref in ufx_usb_probe()0dff86aeb1video: fbdev: controlfb: Fix COMPILE_TEST buildec1c20b02avideo: fbdev: controlfb: Fix set but not used warningsf8bf19f7f3video: fbdev: matroxfb: set maxvram of vbG200eW to the same as vbG200 to avoid black screen3187a1d4d5media: aspeed: Correct value for h-total-pixels245561612bmedia: hantro: Fix overfill bottom register field name032b141a91media: meson: vdec: potential dereference of null pointerd3e5106c67media: coda: Fix missing put_device() call in coda_get_vdoa_datac9f4586d99ASoC: generic: simple-card-utils: remove useless assignment2c357e0277ASoC: xilinx: xlnx_formatter_pcm: Handle sysclk setting712dd2ac26media: bttv: fix WARNING regression on tunerless devicesbc2573abc6media: mtk-vcodec: potential dereference of null pointer8a83731a09media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctlsc76188715dmedia: staging: media: zoran: fix usage of vb2_dma_contig_set_max_seg_sizef622bd0758kunit: make kunit_test_timeout compatible with comment9e63bcb71dselftests, x86: fix how check_cc.sh is being invokedd2c53e77b0f2fs: fix compressed file start atomic write may cause data corruption1c4d94e4f0f2fs: compress: remove unneeded read when rewrite whole cluster2c4741d1b0btrfs: fix unexpected error path when reflinking an inline extent3ef3bc75cdf2fs: fix to avoid potential deadlock85cc399b65nfsd: more robust allocation failure handling in nfsd_file_cache_init1a11a87374f2fs: fix missing free nid in f2fs_handle_failed_inodec0cffc1fb3perf/x86/intel/pt: Fix address filter config for 32-bit kernel13c8e37e1fperf/core: Fix address filter parser for multiple filtersa9faa5bedarseq: Remove broken uapi field layout on 32-bit little endianf0250e05e5rseq: Optimise rseq_get_rseq_cs() and clear_rseq_cs()ecc17de4b9sched/core: Export pelt_thermal_tp40732cab51sched/debug: Remove mpol_get/put and task_lock/unlock from sched_show_numa2b5d41bcf2f2fs: fix to enable ATGC correctly via gc_idle sysfs interface9d92be1a09watch_queue: Actually free the watch5ae75b4ed3watch_queue: Fix NULL dereference in error cleanup509565faedio_uring: terminate manual loop iterator loop correctly for non-vecs44a77e52bdclocksource: acpi_pm: fix return value of __setup handlerd678f002f0hwmon: (pmbus) Add Vin unit off handling7ca525b4cchwrng: nomadik - Change clk_disable to clk_disable_unpreparee4c777fd8camba: Make the remove callback return void1c6ac39763vfio: platform: simplify device removalc93017c8d5crypto: ccree - Fix use after free in cc_cipher_exit()78622926fecrypto: ccp - ccp_dmaengine_unregister release dma channels9eeee6f684ACPI: APEI: fix return value of __setup handlers0b45bf1659clocksource/drivers/timer-of: Check return value of of_iomap in timer_of_base_init()b33c753cffclocksource/drivers/timer-microchip-pit64b: Use notracedb9d00461bclocksource/drivers/exynos_mct: Handle DTS with higher number of interruptsd4e13c4a6fclocksource/drivers/exynos_mct: Refactor resources allocation42d331a279clocksource/drivers/timer-ti-dm: Fix regression from errata i940 fixaedff03da4crypto: vmx - add missing dependencies51939008cacrypto: amlogic - call finalize with bh disabled24857d87cccrypto: sun8i-ce - call finalize with bh disabledbf4814d58bcrypto: sun8i-ss - call finalize with bh disableda4067ccb97hwrng: atmel - disable trng on failure pathb7940bef6fspi: spi-zynqmp-gqspi: Handle error for dma_set_mask3928a04bc6PM: suspend: fix return value of __setup handler052a218db0PM: hibernate: fix __setup handler error handling0b5924a14dblock: don't delete queue kobject before its children40b288a861nvme: cleanup __nvme_check_ids32c4db2a52hwmon: (sch56xx-common) Replace WDOG_ACTIVE with WDOG_HW_RUNNINGec8536f701hwmon: (pmbus) Add mutex to regulator ops18a18594aespi: pxa2xx-pci: Balance reference count for PCI DMA device55259cb374crypto: ccree - don't attempt 0 len DMA mappingsd788ad472fEVM: fix the evm= __setup handler return valuea137f93ae5audit: log AUDIT_TIME_* records only from rules5e9501e60bcrypto: rockchip - ECB does not need IV8265bea7d8selftests/x86: Add validity check and allow field splittingf7d9249af3arm64/mm: avoid fixmap race condition when create pud mapping99a8dfce7cspi: tegra114: Add missing IRQ check in tegra_spi_probe71dba67138thermal: int340x: Check for NULL after calling kmemdup()8e57117142crypto: mxs-dcp - Fix scatterlist processingec1d372974crypto: authenc - Fix sleep in atomic context in decrypt_tailfdfaafeb4bcrypto: sun8i-ss - really disable hash on A8019693838c8hwrng: cavium - HW_RANDOM_CAVIUM should depend on ARCH_THUNDERbc20294cc8hwrng: cavium - Check health status while reading random data962d1f59d5selinux: check return value of sel_make_avc_files1ae9b020ddregulator: qcom_smd: fix for_each_child.cocci warningsc20975954ePCI: xgene: Revert "PCI: xgene: Fix IB window setup"0f56f24015PCI: pciehp: Clear cmd_busy bit in polling mode89ddcc8191drm/i915/gem: add missing boundary check in vm_accessb84857c06edrm/i915/opregion: check port number bounds for SWSCI display power state88975951d4brcmfmac: pcie: Fix crashes due to early IRQs1cbcf93a93brcmfmac: pcie: Replace brcmf_pcie_copy_mem_todev with memcpy_toiof3820ddaf4brcmfmac: pcie: Release firmwares in the brcmf_pcie_setup error pathdaa07f2902brcmfmac: firmware: Allocate space for default boardrev in nvram1dd031eb99xtensa: fix xtensa_wsr always writing 0dac518bbcextensa: fix stop_machine_cpuslocked call in patch_text20f974dce5media: davinci: vpif: fix unbalanced runtime PM enable7c9b915b94media: davinci: vpif: fix unbalanced runtime PM getcde90e8291media: gpio-ir-tx: fix transmit with long spaces on Orange Pi PC785ffce44aDEC: Limit PMAX memory probing to R3k systems8dde2296ecbcache: fixup multiple threads crash37d2b4fa5ccrypto: rsa-pkcs1pad - fix buffer overread in pkcs1pad_verify_complete()b89fb8b882crypto: rsa-pkcs1pad - restore signature length checkf38c318068crypto: rsa-pkcs1pad - correctly get hash from source scatterlistc1db3f44f2crypto: rsa-pkcs1pad - only allow with rsa27a6f495b6exec: Force single empty string when argv is emptyb02d33171dlib/raid6/test: fix multiple definition linking errorbf057eac9athermal: int340x: Increase bitmap size86a926c3f0pstore: Don't use semaphores in always-atomic-context codeb26f400e4fcarl9170: fix missing bit-wise or operator for tx_params3aef4df6e1mgag200 fix memmapsl configuration in GCTL6 registeref1df91685ARM: dts: exynos: add missing HDMI supplies on SMDK54203cde68a1ebARM: dts: exynos: add missing HDMI supplies on SMDK52505ac205c414ARM: dts: exynos: fix UART3 pins configuration in Exynos52507187c9beb7ARM: dts: at91: sama5d2: Fix PMERRLOC resource size2ca2a5552avideo: fbdev: atari: Atari 2 bpp (STe) palette bugfix72af881092video: fbdev: sm712fb: Fix crash in smtcfb_read()ba09b04173drm/edid: check basic audio support on CEA extension blockce1927b8cfblock: don't merge across cgroup boundaries if blkcg is enabled6e0d24598cblock: limit request dispatch loop duration958e9b56demailbox: tegra-hsp: Flush whole channelf67a140078drivers: hamradio: 6pack: fix UAF bug caused by mod_timer()b35eb48471ext4: fix fs corruption when tring to remove a non-empty directory with IO errora1e6884b2dext4: fix ext4_fc_stats trace pointc119fb65f6coredump: Also dump first pages of non-executable ELF libraries7ad5ccc3daACPI: properties: Consistently return -ENOENT if there are no more referencesef3a87e0c4arm64: dts: ti: k3-j7200: Fix gic-v3 compatible regs18864e8b83arm64: dts: ti: k3-j721e: Fix gic-v3 compatible regse85fa9f4e9arm64: dts: ti: k3-am65: Fix gic-v3 compatible regs7ce550a01barm64: signal: nofpsimd: Do not allocate fp/simd context when not available210e7b43d4udp: call udp_encap_enable for v6 sockets when enabling encape1a58498efpowerpc/kvm: Fix kvm_use_magic_paged72866a7f5can: isotp: sanitize CAN ID checks in isotp_bind()fde8c5cad0drbd: fix potential silent data corruptionb101e74f9adm integrity: set journal entry unused when shrinking deviced5d5804accmm/kmemleak: reset tag when compare object pointerbc2f58b8e4mm,hwpoison: unmap poisoned page before invalidation608c501d70Revert "mm: madvise: skip unmapped vma holes passed to process_madvise"8b354e3032mm: madvise: return correct bytes advised with process_madvise928c06c114mm: madvise: skip unmapped vma holes passed to process_madvise51f7557c3cALSA: hda/realtek: Fix audio regression on Mi Notebook Pro 20209017201e8dALSA: pcm: Fix potential AB/BA lock with buffer_mutex and mmap_lock7b7a03d8b5ALSA: hda: Avoid unsol event during RPM suspendinga55e2d7423ALSA: cs4236: fix an incorrect NULL check on list iteratoredefc4b2a8cifs: fix NULL ptr dereference in smb2_ioctl_query_info()9963ccea60cifs: prevent bad output lengths in smb2_ioctl_query_info()b75198eddaRevert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"34bc1f69bfriscv: Increase stack size under KASAN24b9b8e95criscv: Fix fill_callchain return value0f8c0bd0a4qed: validate and restrict untrusted VFs vlan promisc modea3af3d4319qed: display VF trust configaa28075f06scsi: libsas: Fix sas_ata_qc_issue() handling of NCQ NON DATA commands4bcefc78c8mempolicy: mbind_range() set_policy() after vma_merge()fa37c17143mm: invalidate hwpoison page cache page in fault path7188e7c96fmm/pages_alloc.c: don't create ZONE_MOVABLE beyond the end of a node51dbb5e36djffs2: fix memory leak in jffs2_scan_medium607d3aab73jffs2: fix memory leak in jffs2_do_mount_fs7bb7428dd7jffs2: fix use-after-free in jffs2_clear_xattr_subsystemb417f9c505can: ems_usb: ems_usb_start_xmit(): fix double dev_kfree_skb() in error path3a21ee89bcmtd: rawnand: protect access to rawnand devices while in suspend145a63201dspi: mxic: Fix the transmit pathbe22ebe79epinctrl: samsung: drop pin banks references on error pathsb97b305656remoteproc: Fix count check in rproc_coredump_write()784630df17f2fs: fix to do sanity check on .cp_pack_total_block_counte58ee6bd93f2fs: quota: fix loop condition at f2fs_quota_sync()ec67040703f2fs: fix to unlock page correctly in error path of is_alive()7af164fa2fNFSD: prevent integer overflow on 32 bit systems65e21cc042NFSD: prevent underflow in nfssvc_decode_writeargs()b7b430104aSUNRPC: avoid race between mod_timer() and del_timer_sync()f51ab2f60aHID: intel-ish-hid: Use dma_alloc_coherent for firmware updatea1df8e60f2firmware: stratix10-svc: add missing callback parameter on RSUe94f5fbe7aDocumentation: update stable tree linkf4bab992eeDocumentation: add link to stable release candidate tree10ee5662d5KEYS: fix length validation in keyctl_pkey_params_get_2()5a41a3033aptrace: Check PTRACE_O_SUSPEND_SECCOMP permission on PTRACE_SEIZE2775d8e364clk: uniphier: Fix fixed-rate initialization25cd5872d9greybus: svc: fix an error handling bug in gb_svc_hello()9f0cd81174iio: inkern: make a best effort on offset calculation19e533452fiio: inkern: apply consumer scale when no channel scale is availablee10dbe7f6aiio: inkern: apply consumer scale on IIO_VAL_INT cases9f4fffc2abiio: afe: rescale: use s64 for temporary scale calculations9cd1b02655coresight: Fix TRCCONFIGR.QE sysfs interface7b478cb67bmei: avoid iterator usage outside of list_for_each_entryec8975417dmei: me: add Alder Lake N device id.0a0c61dd07xhci: fix uninitialized string returned by xhci_decode_ctrl_ctx()811f403519xhci: make xhci_handshake timeout for xhci_reset() adjustable3a820d1ca1xhci: fix runtime PM imbalance in USB2 resumec41387f96axhci: fix garbage USBSTS being logged in some cases1e0f089f70USB: usb-storage: Fix use of bitfields for hardware data in ene_ub6250.c39a70732ebvirtio-blk: Use blk_validate_block_size() to validate block size290e05f346tpm: fix reference counting for struct tpm_chipfcd3c31dd1iommu/iova: Improve 32-bit free space estimate68c80088f5locking/lockdep: Avoid potential access of invalid memory in lock_classf19d8dfad6net: dsa: microchip: add spi_device_id tables8d3f4ad430af_key: add __GFP_ZERO flag for compose_sadb_supported in function pfkey_registeref1a6ab36dInput: zinitix - do not report shadow fingers21680aabc4spi: Fix erroneous sgs value with min_t()8fb7af1b5aRevert "gpio: Revert regression in sysfs-gpio (gpiolib.c)"18a4417a19net:mcf8390: Use platform_get_irq() to get the interrupt102d7f6c2espi: Fix invalid sgs valuea4f4ce3deegpio: Revert regression in sysfs-gpio (gpiolib.c)fc9a35627cethernet: sun: Free the coherent when failing in probing3c84471925tools/virtio: fix virtio_test execution6d98dc2369vdpa/mlx5: should verify CTRL_VQ feature exists for MQc97ffb4184virtio_console: break out of buf poll on remove0c00d38337ARM: mstar: Select HAVE_ARM_ARCH_TIMERa7e75e5ed4xfrm: fix tunnel model fragmentation behaviore05ae08ea8HID: logitech-dj: add new lightspeed receiver idff919a7ad9netdevice: add the case if dev is NULLc4dc584a2dhv: utils: add PTP_1588_CLOCK to Kconfig to fix buildd136a2574aUSB: serial: simple: add Nokia phone driver38e3d48ffeUSB: serial: pl2303: add IBM device IDsd4d975e792swiotlb: fix info leak with DMA_FROM_DEVICEe2faffea7fMerge 5.10.109 into android13-5.10-ltsd9c5818a0bLinux 5.10.109163960a7dellc: only change llc->dev when bind() succeeds2b5a6d7714nds32: fix access_ok() checks in get/put_userc064268eb8wcn36xx: Differentiate wcn3660 from wcn362095193d12f1tpm: use try_get_ops() in tpm-space.c5d3ff9542amac80211: fix potential double free on mesh joinfcc9797d0drcu: Don't deboost before reporting expedited quiescent state87f7ed7c36Revert "ath: add support for special 0x0 regulatory domain"c971e6a1c8crypto: qat - disable registration of algorithms9f4e64611eACPI: video: Force backlight native for Clevo NL5xRU and NL5xNU0b2ffba2deACPI: battery: Add device HID and quirk for Microsoft Surface Go 32724b72b22ACPI / x86: Work around broken XSDT on Advantech DAC-BJ01 board2c74374c2enetfilter: nf_tables: initialize registers in nft_do_chain()eb1ba8d1c3drivers: net: xgene: Fix regression in CRC strippinga2368d10b7ALSA: pci: fix reading of swapped values from pcmreg in AC97 codec6936d2ecf8ALSA: cmipci: Restore aux vol on suspend/resumecbd27127afALSA: usb-audio: Add mute TLV for playback volumes on RODE NT-USB0ae81ef3eaALSA: pcm: Add stream lock during PCM reset ioctl operationsb560d670c8ALSA: pcm: Fix races among concurrent prealloc proc writesa38440f006ALSA: pcm: Fix races among concurrent prepare and hw_params/hw_free calls8527c8f052ALSA: pcm: Fix races among concurrent read/write and buffer changes0f6947f5f5ALSA: pcm: Fix races among concurrent hw_params and hw_free calls014c81dfb3ALSA: hda/realtek: Add quirk for ASUS GA40205256f3fd6ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671ca8247b4dfALSA: hda/realtek: Add quirk for Clevo NP50PNJ26fe8f3103ALSA: hda/realtek: Add quirk for Clevo NP70PNJ80eab86a86ALSA: usb-audio: add mapping for new Corsair Virtuoso SE5ce74ff705ALSA: oss: Fix PCM OSS buffer allocation overflowdb03abd0daASoC: sti: Fix deadlock via snd_pcm_stop_xrun() call571df3393fllc: fix netdevice reference leaks in llc_ui_bind()56dc187b35staging: fbtft: fb_st7789v: reset display before initialization351493858etpm: Fix error handling in async workea21245cdccgroup-v1: Correct privileges check in release_agent writes824a950c3fcgroup: Use open-time cgroup namespace for process migration perm checksf28364fe38cgroup: Allocate cgroup_file_ctx for kernfs_open_file->priv9eeaa2d7d5exfat: avoid incorrectly releasing for root inodeae8ec5eabbnet: ipv6: fix skb_over_panic in __ip6_append_data25c23fe40enfc: st21nfca: Fix potential buffer overflows in EVT_TRANSACTIONf0c4090040Merge 5.10.108 into android13-5.10-lts9940314ebfLinux 5.10.10837119edab8Revert "selftests/bpf: Add test for bpf_timer overwriting crash"9248694dacesp: Fix possible buffer overflow in ESP transformation96340cdd55smsc95xx: Ignore -ENODEV errors when device is unpluggede27b51af54net: usb: Correct reset handling of smsc95xxb54daeafc1net: usb: Correct PHY handling of smsc95xx204d38dc6aperf symbols: Fix symbol size calculation conditionf0d43d22d2Input: aiptek - properly check endpoint type98e7a654a5scsi: mpt3sas: Page fault in reply q processing10a805334ausb: usbtmc: Fix bug in pipe direction for control transfers00bdd9bf1ausb: gadget: Fix use-after-free bug by not setting udc->dev.driver28bc026739usb: gadget: rndis: prevent integer overflow in rndis_set_response()2c010c61e6arm64: fix clang warning about TRAMP_VALIAS277b7f6394net: mscc: ocelot: fix backwards compatibility with single-chain tc-flower offload2550afba2anet: bcmgenet: skip invalid partial checksumsbf5b7aae86bnx2x: fix built-in kernel driver load failurec07fdba12fnet: phy: mscc: Add MODULE_FIRMWARE macrosba50073cf4net: dsa: Add missing of_node_put() in dsa_port_parse_ofa630ad5e8bnet: handle ARPHRD_PIMREG in dev_is_mac_header_xmit()336b6be6addrm/panel: simple: Fix Innolux G070Y2-L01 BPP settings9d45aec02fdrm/imx: parallel-display: Remove bus flags check in imx_pd_bridge_atomic_check()9b763ceda6hv_netvsc: Add check for kvmalloc_array09a7264fb0atm: eni: Add check for dma_map_single70b7b3c055net/packet: fix slab-out-of-bounds access in packet_recvmsg()169add82d2net: phy: marvell: Fix invalid comparison in the resume and suspend functions01fac1ca8aesp6: fix check on ipv6_skip_exthdr's return valued9fe590970vsock: each transport cycles only on its own socketsac7dd60946efi: fix return value of __setup handlersfa3aa103e7mm: swap: get rid of livelock in swapin readaheaddf3301dc60ocfs2: fix crash when initialize filecheck kobj fails0f9b7b8df1crypto: qcom-rng - ensure buffer for generate is completely filled Change-Id: Iacc484b0ea31dd8f14ab254d6978b189acddc4d9 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
704 lines
17 KiB
C
704 lines
17 KiB
C
// SPDX-License-Identifier: GPL-2.0
|
|
/* Watch queue and general notification mechanism, built on pipes
|
|
*
|
|
* Copyright (C) 2020 Red Hat, Inc. All Rights Reserved.
|
|
* Written by David Howells (dhowells@redhat.com)
|
|
*
|
|
* See Documentation/watch_queue.rst
|
|
*/
|
|
|
|
#define pr_fmt(fmt) "watchq: " fmt
|
|
#include <linux/module.h>
|
|
#include <linux/init.h>
|
|
#include <linux/sched.h>
|
|
#include <linux/slab.h>
|
|
#include <linux/printk.h>
|
|
#include <linux/miscdevice.h>
|
|
#include <linux/fs.h>
|
|
#include <linux/mm.h>
|
|
#include <linux/pagemap.h>
|
|
#include <linux/poll.h>
|
|
#include <linux/uaccess.h>
|
|
#include <linux/vmalloc.h>
|
|
#include <linux/file.h>
|
|
#include <linux/security.h>
|
|
#include <linux/cred.h>
|
|
#include <linux/sched/signal.h>
|
|
#include <linux/watch_queue.h>
|
|
#include <linux/pipe_fs_i.h>
|
|
|
|
MODULE_DESCRIPTION("Watch queue");
|
|
MODULE_AUTHOR("Red Hat, Inc.");
|
|
MODULE_LICENSE("GPL");
|
|
|
|
#define WATCH_QUEUE_NOTE_SIZE 128
|
|
#define WATCH_QUEUE_NOTES_PER_PAGE (PAGE_SIZE / WATCH_QUEUE_NOTE_SIZE)
|
|
|
|
/*
|
|
* This must be called under the RCU read-lock, which makes
|
|
* sure that the wqueue still exists. It can then take the lock,
|
|
* and check that the wqueue hasn't been destroyed, which in
|
|
* turn makes sure that the notification pipe still exists.
|
|
*/
|
|
static inline bool lock_wqueue(struct watch_queue *wqueue)
|
|
{
|
|
spin_lock_bh(&wqueue->lock);
|
|
if (unlikely(wqueue->defunct)) {
|
|
spin_unlock_bh(&wqueue->lock);
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
static inline void unlock_wqueue(struct watch_queue *wqueue)
|
|
{
|
|
spin_unlock_bh(&wqueue->lock);
|
|
}
|
|
|
|
static void watch_queue_pipe_buf_release(struct pipe_inode_info *pipe,
|
|
struct pipe_buffer *buf)
|
|
{
|
|
struct watch_queue *wqueue = (struct watch_queue *)buf->private;
|
|
struct page *page;
|
|
unsigned int bit;
|
|
|
|
/* We need to work out which note within the page this refers to, but
|
|
* the note might have been maximum size, so merely ANDing the offset
|
|
* off doesn't work. OTOH, the note must've been more than zero size.
|
|
*/
|
|
bit = buf->offset + buf->len;
|
|
if ((bit & (WATCH_QUEUE_NOTE_SIZE - 1)) == 0)
|
|
bit -= WATCH_QUEUE_NOTE_SIZE;
|
|
bit /= WATCH_QUEUE_NOTE_SIZE;
|
|
|
|
page = buf->page;
|
|
bit += page->index;
|
|
|
|
set_bit(bit, wqueue->notes_bitmap);
|
|
generic_pipe_buf_release(pipe, buf);
|
|
}
|
|
|
|
// No try_steal function => no stealing
|
|
#define watch_queue_pipe_buf_try_steal NULL
|
|
|
|
/* New data written to a pipe may be appended to a buffer with this type. */
|
|
static const struct pipe_buf_operations watch_queue_pipe_buf_ops = {
|
|
.release = watch_queue_pipe_buf_release,
|
|
.try_steal = watch_queue_pipe_buf_try_steal,
|
|
.get = generic_pipe_buf_get,
|
|
};
|
|
|
|
/*
|
|
* Post a notification to a watch queue.
|
|
*
|
|
* Must be called with the RCU lock for reading, and the
|
|
* watch_queue lock held, which guarantees that the pipe
|
|
* hasn't been released.
|
|
*/
|
|
static bool post_one_notification(struct watch_queue *wqueue,
|
|
struct watch_notification *n)
|
|
{
|
|
void *p;
|
|
struct pipe_inode_info *pipe = wqueue->pipe;
|
|
struct pipe_buffer *buf;
|
|
struct page *page;
|
|
unsigned int head, tail, mask, note, offset, len;
|
|
bool done = false;
|
|
|
|
if (!pipe)
|
|
return false;
|
|
|
|
spin_lock_irq(&pipe->rd_wait.lock);
|
|
|
|
mask = pipe->ring_size - 1;
|
|
head = pipe->head;
|
|
tail = pipe->tail;
|
|
if (pipe_full(head, tail, pipe->ring_size))
|
|
goto lost;
|
|
|
|
note = find_first_bit(wqueue->notes_bitmap, wqueue->nr_notes);
|
|
if (note >= wqueue->nr_notes)
|
|
goto lost;
|
|
|
|
page = wqueue->notes[note / WATCH_QUEUE_NOTES_PER_PAGE];
|
|
offset = note % WATCH_QUEUE_NOTES_PER_PAGE * WATCH_QUEUE_NOTE_SIZE;
|
|
get_page(page);
|
|
len = n->info & WATCH_INFO_LENGTH;
|
|
p = kmap_atomic(page);
|
|
memcpy(p + offset, n, len);
|
|
kunmap_atomic(p);
|
|
|
|
buf = &pipe->bufs[head & mask];
|
|
buf->page = page;
|
|
buf->private = (unsigned long)wqueue;
|
|
buf->ops = &watch_queue_pipe_buf_ops;
|
|
buf->offset = offset;
|
|
buf->len = len;
|
|
buf->flags = PIPE_BUF_FLAG_WHOLE;
|
|
smp_store_release(&pipe->head, head + 1); /* vs pipe_read() */
|
|
|
|
if (!test_and_clear_bit(note, wqueue->notes_bitmap)) {
|
|
spin_unlock_irq(&pipe->rd_wait.lock);
|
|
BUG();
|
|
}
|
|
wake_up_interruptible_sync_poll_locked(&pipe->rd_wait, EPOLLIN | EPOLLRDNORM);
|
|
done = true;
|
|
|
|
out:
|
|
spin_unlock_irq(&pipe->rd_wait.lock);
|
|
if (done)
|
|
kill_fasync(&pipe->fasync_readers, SIGIO, POLL_IN);
|
|
return done;
|
|
|
|
lost:
|
|
buf = &pipe->bufs[(head - 1) & mask];
|
|
buf->flags |= PIPE_BUF_FLAG_LOSS;
|
|
goto out;
|
|
}
|
|
|
|
/*
|
|
* Apply filter rules to a notification.
|
|
*/
|
|
static bool filter_watch_notification(const struct watch_filter *wf,
|
|
const struct watch_notification *n)
|
|
{
|
|
const struct watch_type_filter *wt;
|
|
unsigned int st_bits = sizeof(wt->subtype_filter[0]) * 8;
|
|
unsigned int st_index = n->subtype / st_bits;
|
|
unsigned int st_bit = 1U << (n->subtype % st_bits);
|
|
int i;
|
|
|
|
if (!test_bit(n->type, wf->type_filter))
|
|
return false;
|
|
|
|
for (i = 0; i < wf->nr_filters; i++) {
|
|
wt = &wf->filters[i];
|
|
if (n->type == wt->type &&
|
|
(wt->subtype_filter[st_index] & st_bit) &&
|
|
(n->info & wt->info_mask) == wt->info_filter)
|
|
return true;
|
|
}
|
|
|
|
return false; /* If there is a filter, the default is to reject. */
|
|
}
|
|
|
|
/**
|
|
* __post_watch_notification - Post an event notification
|
|
* @wlist: The watch list to post the event to.
|
|
* @n: The notification record to post.
|
|
* @cred: The creds of the process that triggered the notification.
|
|
* @id: The ID to match on the watch.
|
|
*
|
|
* Post a notification of an event into a set of watch queues and let the users
|
|
* know.
|
|
*
|
|
* The size of the notification should be set in n->info & WATCH_INFO_LENGTH and
|
|
* should be in units of sizeof(*n).
|
|
*/
|
|
void __post_watch_notification(struct watch_list *wlist,
|
|
struct watch_notification *n,
|
|
const struct cred *cred,
|
|
u64 id)
|
|
{
|
|
const struct watch_filter *wf;
|
|
struct watch_queue *wqueue;
|
|
struct watch *watch;
|
|
|
|
if (((n->info & WATCH_INFO_LENGTH) >> WATCH_INFO_LENGTH__SHIFT) == 0) {
|
|
WARN_ON(1);
|
|
return;
|
|
}
|
|
|
|
rcu_read_lock();
|
|
|
|
hlist_for_each_entry_rcu(watch, &wlist->watchers, list_node) {
|
|
if (watch->id != id)
|
|
continue;
|
|
n->info &= ~WATCH_INFO_ID;
|
|
n->info |= watch->info_id;
|
|
|
|
wqueue = rcu_dereference(watch->queue);
|
|
wf = rcu_dereference(wqueue->filter);
|
|
if (wf && !filter_watch_notification(wf, n))
|
|
continue;
|
|
|
|
if (security_post_notification(watch->cred, cred, n) < 0)
|
|
continue;
|
|
|
|
if (lock_wqueue(wqueue)) {
|
|
post_one_notification(wqueue, n);
|
|
unlock_wqueue(wqueue);
|
|
}
|
|
}
|
|
|
|
rcu_read_unlock();
|
|
}
|
|
EXPORT_SYMBOL(__post_watch_notification);
|
|
|
|
/*
|
|
* Allocate sufficient pages to preallocation for the requested number of
|
|
* notifications.
|
|
*/
|
|
long watch_queue_set_size(struct pipe_inode_info *pipe, unsigned int nr_notes)
|
|
{
|
|
struct watch_queue *wqueue = pipe->watch_queue;
|
|
struct page **pages;
|
|
unsigned long *bitmap;
|
|
unsigned long user_bufs;
|
|
unsigned int bmsize;
|
|
int ret, i, nr_pages;
|
|
|
|
if (!wqueue)
|
|
return -ENODEV;
|
|
if (wqueue->notes)
|
|
return -EBUSY;
|
|
|
|
if (nr_notes < 1 ||
|
|
nr_notes > 512) /* TODO: choose a better hard limit */
|
|
return -EINVAL;
|
|
|
|
nr_pages = (nr_notes + WATCH_QUEUE_NOTES_PER_PAGE - 1);
|
|
nr_pages /= WATCH_QUEUE_NOTES_PER_PAGE;
|
|
user_bufs = account_pipe_buffers(pipe->user, pipe->nr_accounted, nr_pages);
|
|
|
|
if (nr_pages > pipe->max_usage &&
|
|
(too_many_pipe_buffers_hard(user_bufs) ||
|
|
too_many_pipe_buffers_soft(user_bufs)) &&
|
|
pipe_is_unprivileged_user()) {
|
|
ret = -EPERM;
|
|
goto error;
|
|
}
|
|
|
|
nr_notes = nr_pages * WATCH_QUEUE_NOTES_PER_PAGE;
|
|
ret = pipe_resize_ring(pipe, roundup_pow_of_two(nr_notes));
|
|
if (ret < 0)
|
|
goto error;
|
|
|
|
pages = kcalloc(sizeof(struct page *), nr_pages, GFP_KERNEL);
|
|
if (!pages)
|
|
goto error;
|
|
|
|
for (i = 0; i < nr_pages; i++) {
|
|
pages[i] = alloc_page(GFP_KERNEL);
|
|
if (!pages[i])
|
|
goto error_p;
|
|
pages[i]->index = i * WATCH_QUEUE_NOTES_PER_PAGE;
|
|
}
|
|
|
|
bmsize = (nr_notes + BITS_PER_LONG - 1) / BITS_PER_LONG;
|
|
bmsize *= sizeof(unsigned long);
|
|
bitmap = kmalloc(bmsize, GFP_KERNEL);
|
|
if (!bitmap)
|
|
goto error_p;
|
|
|
|
memset(bitmap, 0xff, bmsize);
|
|
wqueue->notes = pages;
|
|
wqueue->notes_bitmap = bitmap;
|
|
wqueue->nr_pages = nr_pages;
|
|
wqueue->nr_notes = nr_notes;
|
|
return 0;
|
|
|
|
error_p:
|
|
while (--i >= 0)
|
|
__free_page(pages[i]);
|
|
kfree(pages);
|
|
error:
|
|
(void) account_pipe_buffers(pipe->user, nr_pages, pipe->nr_accounted);
|
|
return ret;
|
|
}
|
|
|
|
/*
|
|
* Set the filter on a watch queue.
|
|
*/
|
|
long watch_queue_set_filter(struct pipe_inode_info *pipe,
|
|
struct watch_notification_filter __user *_filter)
|
|
{
|
|
struct watch_notification_type_filter *tf;
|
|
struct watch_notification_filter filter;
|
|
struct watch_type_filter *q;
|
|
struct watch_filter *wfilter;
|
|
struct watch_queue *wqueue = pipe->watch_queue;
|
|
int ret, nr_filter = 0, i;
|
|
|
|
if (!wqueue)
|
|
return -ENODEV;
|
|
|
|
if (!_filter) {
|
|
/* Remove the old filter */
|
|
wfilter = NULL;
|
|
goto set;
|
|
}
|
|
|
|
/* Grab the user's filter specification */
|
|
if (copy_from_user(&filter, _filter, sizeof(filter)) != 0)
|
|
return -EFAULT;
|
|
if (filter.nr_filters == 0 ||
|
|
filter.nr_filters > 16 ||
|
|
filter.__reserved != 0)
|
|
return -EINVAL;
|
|
|
|
tf = memdup_user(_filter->filters, filter.nr_filters * sizeof(*tf));
|
|
if (IS_ERR(tf))
|
|
return PTR_ERR(tf);
|
|
|
|
ret = -EINVAL;
|
|
for (i = 0; i < filter.nr_filters; i++) {
|
|
if ((tf[i].info_filter & ~tf[i].info_mask) ||
|
|
tf[i].info_mask & WATCH_INFO_LENGTH)
|
|
goto err_filter;
|
|
/* Ignore any unknown types */
|
|
if (tf[i].type >= WATCH_TYPE__NR)
|
|
continue;
|
|
nr_filter++;
|
|
}
|
|
|
|
/* Now we need to build the internal filter from only the relevant
|
|
* user-specified filters.
|
|
*/
|
|
ret = -ENOMEM;
|
|
wfilter = kzalloc(struct_size(wfilter, filters, nr_filter), GFP_KERNEL);
|
|
if (!wfilter)
|
|
goto err_filter;
|
|
wfilter->nr_filters = nr_filter;
|
|
|
|
q = wfilter->filters;
|
|
for (i = 0; i < filter.nr_filters; i++) {
|
|
if (tf[i].type >= WATCH_TYPE__NR)
|
|
continue;
|
|
|
|
q->type = tf[i].type;
|
|
q->info_filter = tf[i].info_filter;
|
|
q->info_mask = tf[i].info_mask;
|
|
q->subtype_filter[0] = tf[i].subtype_filter[0];
|
|
__set_bit(q->type, wfilter->type_filter);
|
|
q++;
|
|
}
|
|
|
|
kfree(tf);
|
|
set:
|
|
pipe_lock(pipe);
|
|
wfilter = rcu_replace_pointer(wqueue->filter, wfilter,
|
|
lockdep_is_held(&pipe->mutex));
|
|
pipe_unlock(pipe);
|
|
if (wfilter)
|
|
kfree_rcu(wfilter, rcu);
|
|
return 0;
|
|
|
|
err_filter:
|
|
kfree(tf);
|
|
return ret;
|
|
}
|
|
|
|
static void __put_watch_queue(struct kref *kref)
|
|
{
|
|
struct watch_queue *wqueue =
|
|
container_of(kref, struct watch_queue, usage);
|
|
struct watch_filter *wfilter;
|
|
int i;
|
|
|
|
for (i = 0; i < wqueue->nr_pages; i++)
|
|
__free_page(wqueue->notes[i]);
|
|
kfree(wqueue->notes);
|
|
bitmap_free(wqueue->notes_bitmap);
|
|
|
|
wfilter = rcu_access_pointer(wqueue->filter);
|
|
if (wfilter)
|
|
kfree_rcu(wfilter, rcu);
|
|
kfree_rcu(wqueue, rcu);
|
|
}
|
|
|
|
/**
|
|
* put_watch_queue - Dispose of a ref on a watchqueue.
|
|
* @wqueue: The watch queue to unref.
|
|
*/
|
|
void put_watch_queue(struct watch_queue *wqueue)
|
|
{
|
|
kref_put(&wqueue->usage, __put_watch_queue);
|
|
}
|
|
EXPORT_SYMBOL(put_watch_queue);
|
|
|
|
static void free_watch(struct rcu_head *rcu)
|
|
{
|
|
struct watch *watch = container_of(rcu, struct watch, rcu);
|
|
|
|
put_watch_queue(rcu_access_pointer(watch->queue));
|
|
atomic_dec(&watch->cred->user->nr_watches);
|
|
put_cred(watch->cred);
|
|
kfree(watch);
|
|
}
|
|
|
|
static void __put_watch(struct kref *kref)
|
|
{
|
|
struct watch *watch = container_of(kref, struct watch, usage);
|
|
|
|
call_rcu(&watch->rcu, free_watch);
|
|
}
|
|
|
|
/*
|
|
* Discard a watch.
|
|
*/
|
|
static void put_watch(struct watch *watch)
|
|
{
|
|
kref_put(&watch->usage, __put_watch);
|
|
}
|
|
|
|
/**
|
|
* init_watch_queue - Initialise a watch
|
|
* @watch: The watch to initialise.
|
|
* @wqueue: The queue to assign.
|
|
*
|
|
* Initialise a watch and set the watch queue.
|
|
*/
|
|
void init_watch(struct watch *watch, struct watch_queue *wqueue)
|
|
{
|
|
kref_init(&watch->usage);
|
|
INIT_HLIST_NODE(&watch->list_node);
|
|
INIT_HLIST_NODE(&watch->queue_node);
|
|
rcu_assign_pointer(watch->queue, wqueue);
|
|
}
|
|
|
|
static int add_one_watch(struct watch *watch, struct watch_list *wlist, struct watch_queue *wqueue)
|
|
{
|
|
const struct cred *cred;
|
|
struct watch *w;
|
|
|
|
hlist_for_each_entry(w, &wlist->watchers, list_node) {
|
|
struct watch_queue *wq = rcu_access_pointer(w->queue);
|
|
if (wqueue == wq && watch->id == w->id)
|
|
return -EBUSY;
|
|
}
|
|
|
|
cred = current_cred();
|
|
if (atomic_inc_return(&cred->user->nr_watches) > task_rlimit(current, RLIMIT_NOFILE)) {
|
|
atomic_dec(&cred->user->nr_watches);
|
|
return -EAGAIN;
|
|
}
|
|
|
|
watch->cred = get_cred(cred);
|
|
rcu_assign_pointer(watch->watch_list, wlist);
|
|
|
|
kref_get(&wqueue->usage);
|
|
kref_get(&watch->usage);
|
|
hlist_add_head(&watch->queue_node, &wqueue->watches);
|
|
hlist_add_head_rcu(&watch->list_node, &wlist->watchers);
|
|
return 0;
|
|
}
|
|
|
|
/**
|
|
* add_watch_to_object - Add a watch on an object to a watch list
|
|
* @watch: The watch to add
|
|
* @wlist: The watch list to add to
|
|
*
|
|
* @watch->queue must have been set to point to the queue to post notifications
|
|
* to and the watch list of the object to be watched. @watch->cred must also
|
|
* have been set to the appropriate credentials and a ref taken on them.
|
|
*
|
|
* The caller must pin the queue and the list both and must hold the list
|
|
* locked against racing watch additions/removals.
|
|
*/
|
|
int add_watch_to_object(struct watch *watch, struct watch_list *wlist)
|
|
{
|
|
struct watch_queue *wqueue;
|
|
int ret = -ENOENT;
|
|
|
|
rcu_read_lock();
|
|
|
|
wqueue = rcu_access_pointer(watch->queue);
|
|
if (lock_wqueue(wqueue)) {
|
|
spin_lock(&wlist->lock);
|
|
ret = add_one_watch(watch, wlist, wqueue);
|
|
spin_unlock(&wlist->lock);
|
|
unlock_wqueue(wqueue);
|
|
}
|
|
|
|
rcu_read_unlock();
|
|
return ret;
|
|
}
|
|
EXPORT_SYMBOL(add_watch_to_object);
|
|
|
|
/**
|
|
* remove_watch_from_object - Remove a watch or all watches from an object.
|
|
* @wlist: The watch list to remove from
|
|
* @wq: The watch queue of interest (ignored if @all is true)
|
|
* @id: The ID of the watch to remove (ignored if @all is true)
|
|
* @all: True to remove all objects
|
|
*
|
|
* Remove a specific watch or all watches from an object. A notification is
|
|
* sent to the watcher to tell them that this happened.
|
|
*/
|
|
int remove_watch_from_object(struct watch_list *wlist, struct watch_queue *wq,
|
|
u64 id, bool all)
|
|
{
|
|
struct watch_notification_removal n;
|
|
struct watch_queue *wqueue;
|
|
struct watch *watch;
|
|
int ret = -EBADSLT;
|
|
|
|
rcu_read_lock();
|
|
|
|
again:
|
|
spin_lock(&wlist->lock);
|
|
hlist_for_each_entry(watch, &wlist->watchers, list_node) {
|
|
if (all ||
|
|
(watch->id == id && rcu_access_pointer(watch->queue) == wq))
|
|
goto found;
|
|
}
|
|
spin_unlock(&wlist->lock);
|
|
goto out;
|
|
|
|
found:
|
|
ret = 0;
|
|
hlist_del_init_rcu(&watch->list_node);
|
|
rcu_assign_pointer(watch->watch_list, NULL);
|
|
spin_unlock(&wlist->lock);
|
|
|
|
/* We now own the reference on watch that used to belong to wlist. */
|
|
|
|
n.watch.type = WATCH_TYPE_META;
|
|
n.watch.subtype = WATCH_META_REMOVAL_NOTIFICATION;
|
|
n.watch.info = watch->info_id | watch_sizeof(n.watch);
|
|
n.id = id;
|
|
if (id != 0)
|
|
n.watch.info = watch->info_id | watch_sizeof(n);
|
|
|
|
wqueue = rcu_dereference(watch->queue);
|
|
|
|
if (lock_wqueue(wqueue)) {
|
|
post_one_notification(wqueue, &n.watch);
|
|
|
|
if (!hlist_unhashed(&watch->queue_node)) {
|
|
hlist_del_init_rcu(&watch->queue_node);
|
|
put_watch(watch);
|
|
}
|
|
|
|
unlock_wqueue(wqueue);
|
|
}
|
|
|
|
if (wlist->release_watch) {
|
|
void (*release_watch)(struct watch *);
|
|
|
|
release_watch = wlist->release_watch;
|
|
rcu_read_unlock();
|
|
(*release_watch)(watch);
|
|
rcu_read_lock();
|
|
}
|
|
put_watch(watch);
|
|
|
|
if (all && !hlist_empty(&wlist->watchers))
|
|
goto again;
|
|
out:
|
|
rcu_read_unlock();
|
|
return ret;
|
|
}
|
|
EXPORT_SYMBOL(remove_watch_from_object);
|
|
|
|
/*
|
|
* Remove all the watches that are contributory to a queue. This has the
|
|
* potential to race with removal of the watches by the destruction of the
|
|
* objects being watched or with the distribution of notifications.
|
|
*/
|
|
void watch_queue_clear(struct watch_queue *wqueue)
|
|
{
|
|
struct watch_list *wlist;
|
|
struct watch *watch;
|
|
bool release;
|
|
|
|
rcu_read_lock();
|
|
spin_lock_bh(&wqueue->lock);
|
|
|
|
/* Prevent new notifications from being stored. */
|
|
wqueue->defunct = true;
|
|
|
|
while (!hlist_empty(&wqueue->watches)) {
|
|
watch = hlist_entry(wqueue->watches.first, struct watch, queue_node);
|
|
hlist_del_init_rcu(&watch->queue_node);
|
|
/* We now own a ref on the watch. */
|
|
spin_unlock_bh(&wqueue->lock);
|
|
|
|
/* We can't do the next bit under the queue lock as we need to
|
|
* get the list lock - which would cause a deadlock if someone
|
|
* was removing from the opposite direction at the same time or
|
|
* posting a notification.
|
|
*/
|
|
wlist = rcu_dereference(watch->watch_list);
|
|
if (wlist) {
|
|
void (*release_watch)(struct watch *);
|
|
|
|
spin_lock(&wlist->lock);
|
|
|
|
release = !hlist_unhashed(&watch->list_node);
|
|
if (release) {
|
|
hlist_del_init_rcu(&watch->list_node);
|
|
rcu_assign_pointer(watch->watch_list, NULL);
|
|
|
|
/* We now own a second ref on the watch. */
|
|
}
|
|
|
|
release_watch = wlist->release_watch;
|
|
spin_unlock(&wlist->lock);
|
|
|
|
if (release) {
|
|
if (release_watch) {
|
|
rcu_read_unlock();
|
|
/* This might need to call dput(), so
|
|
* we have to drop all the locks.
|
|
*/
|
|
(*release_watch)(watch);
|
|
rcu_read_lock();
|
|
}
|
|
put_watch(watch);
|
|
}
|
|
}
|
|
|
|
put_watch(watch);
|
|
spin_lock_bh(&wqueue->lock);
|
|
}
|
|
|
|
spin_unlock_bh(&wqueue->lock);
|
|
rcu_read_unlock();
|
|
}
|
|
|
|
/**
|
|
* get_watch_queue - Get a watch queue from its file descriptor.
|
|
* @fd: The fd to query.
|
|
*/
|
|
struct watch_queue *get_watch_queue(int fd)
|
|
{
|
|
struct pipe_inode_info *pipe;
|
|
struct watch_queue *wqueue = ERR_PTR(-EINVAL);
|
|
struct fd f;
|
|
|
|
f = fdget(fd);
|
|
if (f.file) {
|
|
pipe = get_pipe_info(f.file, false);
|
|
if (pipe && pipe->watch_queue) {
|
|
wqueue = pipe->watch_queue;
|
|
kref_get(&wqueue->usage);
|
|
}
|
|
fdput(f);
|
|
}
|
|
|
|
return wqueue;
|
|
}
|
|
EXPORT_SYMBOL(get_watch_queue);
|
|
|
|
/*
|
|
* Initialise a watch queue
|
|
*/
|
|
int watch_queue_init(struct pipe_inode_info *pipe)
|
|
{
|
|
struct watch_queue *wqueue;
|
|
|
|
wqueue = kzalloc(sizeof(*wqueue), GFP_KERNEL);
|
|
if (!wqueue)
|
|
return -ENOMEM;
|
|
|
|
wqueue->pipe = pipe;
|
|
kref_init(&wqueue->usage);
|
|
spin_lock_init(&wqueue->lock);
|
|
INIT_HLIST_HEAD(&wqueue->watches);
|
|
|
|
pipe->watch_queue = wqueue;
|
|
return 0;
|
|
}
|