Files
Greg Kroah-Hartman ba4942c83d Merge tag 'android11-5.4.161_r00' into android11-5.4
This is the merge of the upstream LTS release of 5.4.1161 into the
android11-5.4 branch.

It contains the following commits:

b52fb22557 ANDROID: GKI: disable CONFIG_FORTIFY_SOURCE
26b09f181d Merge 5.4.161 into android11-5.4-lts
5c088fba39 Linux 5.4.161
b786cb3236 erofs: fix unsafe pagevec reuse of hooked pclusters
83de35ae27 erofs: remove the occupied parameter from z_erofs_pagevec_enqueue()
b37f6da8c3 PCI: Add MSI masking quirk for Nvidia ION AHCI
db1390b60e PCI/MSI: Deal with devices lying about their MSI mask capability
49b55a7792 PCI/MSI: Destroy sysfs before freeing entries
7186be970c parisc/entry: fix trace test in syscall exit path
258c42a8fb fortify: Explicitly disable Clang support
4f9a3cda16 scsi: ufs: Fix tm request when non-fatal error happens
c468f9249d ext4: fix lazy initialization next schedule time computation in more granular unit
307c6f7287 MIPS: Fix assembly error from MIPSr2 code used within MIPS_ISA_ARCH_LEVEL
7be773a028 scsi: ufs: Fix interrupt error message for shared interrupts
e3c97ba4a6 soc/tegra: pmc: Fix imbalanced clock disabling in error code path
ebd1ef6eae Revert "net: sched: update default qdisc visibility after Tx queue cnt changes"
9084a8ecc9 Revert "serial: core: Fix initializing and restoring termios speed"
91a7552bea Merge 5.4.160 into android11-5.4-lts
17efa1a44c Linux 5.4.160
66bd28d6be selftests/bpf: Fix also no-alu32 strobemeta selftest
e7ea088cd0 ath10k: fix invalid dma_addr_t token assignment
20a951afb7 SUNRPC: Partial revert of commit 6f9f17287e78
5b7a0a4f7c PCI: Add PCI_EXP_DEVCTL_PAYLOAD_* macros
256a1e009b powerpc/powernv/prd: Unregister OPAL_MSG_PRD2 notifier during module unload
fe02d37870 s390/cio: make ccw_device_dma_* more robust
8a8d007bae s390/tape: fix timer initialization in tape_std_assign()
5ef14af166 s390/cio: check the subchannel validity for dev_busid
b0989ae51d video: backlight: Drop maximum brightness override for brightness zero
66938ba128 mm, oom: do not trigger out_of_memory from the #PF
d6648b55ed mm, oom: pagefault_out_of_memory: don't force global OOM for dying tasks
c6f9a5c11a powerpc/bpf: Emit stf barrier instruction sequences for BPF_NOSPEC
453b779d2b powerpc/security: Add a helper to query stf_barrier type
84b3fbfd8e powerpc/bpf: Fix BPF_SUB when imm == 0x80000000
7edda4bd9e powerpc/bpf: Validate branch ranges
0347c001c9 powerpc/lib: Add helper to check if offset is within conditional branch range
c4461ca7a8 ovl: fix deadlock in splice write
8d750efc8d 9p/net: fix missing error check in p9_check_errors
aba12bb38b net, neigh: Enable state migration between NUD_PERMANENT and NTF_USE
223985fa1b f2fs: should use GFP_NOFS for directory inodes
af73b240e0 irqchip/sifive-plic: Fixup EOI failed when masked
53014c1c41 parisc: Fix set_fixmap() on PA1.x CPUs
645d6dfdcb parisc: Fix backtrace to always include init funtion names
62c4e0a3d8 ARM: 9156/1: drop cc-option fallbacks for architecture selection
61a5e446bb ARM: 9155/1: fix early early_iounmap()
dc33574246 selftests/net: udpgso_bench_rx: fix port argument
dd3a418ba5 cxgb4: fix eeprom len when diagnostics not implemented
1800c9eecd net/smc: fix sk_refcnt underflow on linkdown and fallback
b2d1b6624b vsock: prevent unnecessary refcnt inc for nonblocking connect
72aca95f95 net: hns3: allow configure ETS bandwidth of all TCs
07b218db54 net/sched: sch_taprio: fix undefined behavior in ktime_mono_to_any
18f2809441 bpf: sockmap, strparser, and tls are reusing qdisc_skb_cb and colliding
180a9b539c arm64: pgtable: make __pte_to_phys/__phys_to_pte_val inline functions
572599cbf1 nfc: pn533: Fix double free when pn533_fill_fragment_skbs() fails
c1d5f943bb llc: fix out-of-bound array index in llc_sk_dev_hash()
bdf94057aa perf bpf: Add missing free to bpf_event__print_bpf_prog_info()
23def86bbf zram: off by one in read_block_state()
d26835de40 mm/zsmalloc.c: close race window between zs_pool_dec_isolated() and zs_unregister_migration()
46d695e870 bonding: Fix a use-after-free problem when bond_sysfs_slave_add() failed
dce69e0a06 ACPI: PMIC: Fix intel_pmic_regs_handler() read accesses
700602b662 net: vlan: fix a UAF in vlan_dev_real_dev()
98e0ab88f4 net: davinci_emac: Fix interrupt pacing disable
70ecaadb49 xen-pciback: Fix return in pm_ctrl_init()
7f57b9bc8e i2c: xlr: Fix a resource leak in the error handling path of 'xlr_i2c_probe()'
53ad06ff3b NFSv4: Fix a regression in nfs_set_open_stateid_locked()
c9dcb51ae4 scsi: qla2xxx: Turn off target reset during issue_lip
211f08d1ff scsi: qla2xxx: Fix gnl list corruption
9b180f3c2d ar7: fix kernel builds for compiler test
59e97c74d1 watchdog: f71808e_wdt: fix inaccurate report in WDIOC_GETTIMEOUT
162a1cfcd5 m68k: set a default value for MEMORY_RESERVE
9770f8c29f signal/sh: Use force_sig(SIGKILL) instead of do_group_exit(SIGKILL)
9e6985190f dmaengine: dmaengine_desc_callback_valid(): Check for `callback_result`
fd1de35901 netfilter: nfnetlink_queue: fix OOB when mac header was cleared
15351d5e8b soc: fsl: dpaa2-console: free buffer before returning from dpaa2_console_read
be832f781d auxdisplay: ht16k33: Fix frame buffer device blanking
c441943075 auxdisplay: ht16k33: Connect backlight to fbdev
1fa9803de9 auxdisplay: img-ascii-lcd: Fix lock-up when displaying empty string
e63507ea43 dmaengine: at_xdmac: fix AT_XDMAC_CC_PERID() macro
04317e7474 mtd: core: don't remove debugfs directory if device is in use
59929f9a57 mtd: spi-nor: hisi-sfc: Remove excessive clk_disable_unprepare()
a83aaf1507 fs: orangefs: fix error return code of orangefs_revalidate_lookup()
c79c37c775 NFS: Fix deadlocks in nfs_scan_commit_list()
5a893e0eab opp: Fix return in _opp_add_static_v2()
98ac698216 PCI: aardvark: Fix preserving PCI_EXP_RTCTL_CRSSVE flag on emulated bridge
819925eff0 PCI: aardvark: Don't spam about PIO Response Status
bab1cfec7a drm/plane-helper: fix uninitialized variable reference
4b48c6ede3 pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds
2b2fdb6f48 rpmsg: Fix rpmsg_create_ept return when RPMSG config is not defined
bd48bdbfd9 apparmor: fix error check
a7b2947649 power: supply: bq27xxx: Fix kernel crash on IRQ handler register error
3f698d97f7 mips: cm: Convert to bitfield API to fix out-of-bounds access
fb7b73cd94 powerpc/44x/fsp2: add missing of_node_put
d3dd1a057c HID: u2fzero: properly handle timeouts in usb_submit_urb
b216a39b32 HID: u2fzero: clarify error check and length calculations
fae0552d83 serial: xilinx_uartps: Fix race condition causing stuck TX
818e100c2b phy: qcom-qusb2: Fix a memory leak on probe
de43e75917 ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER
f00ff5357b ASoC: cs42l42: Correct some register default values
baf5c1225e ARM: dts: stm32: fix SAI sub nodes register range
bb74ce1feb staging: ks7010: select CRYPTO_HASH/CRYPTO_MICHAEL_MIC
73aaa6222a RDMA/mlx4: Return missed an error if device doesn't support steering
20dfad97db scsi: csiostor: Uninitialized data in csio_ln_vnp_read_cbfn()
5ead6f4fea power: supply: rt5033_battery: Change voltage values to µV
fdbe8e8a08 usb: gadget: hid: fix error code in do_config()
15355466cd serial: 8250_dw: Drop wrong use of ACPI_PTR()
d8241e7a21 video: fbdev: chipsfb: use memset_io() instead of memset()
e7df004eb1 clk: at91: check pmc node status before registering syscore ops
44a2dcd146 memory: fsl_ifc: fix leak of irq and nand_irq in fsl_ifc_ctrl_probe
03fe35ce9a soc/tegra: Fix an error handling path in tegra_powergate_power_up()
543d85602f arm: dts: omap3-gta04a4: accelerometer irq fix
7cf7d9b83d ALSA: hda: Reduce udelay() at SKL+ position reporting
d1cf71d79e JFS: fix memleak in jfs_mount
56911ee537 MIPS: loongson64: make CPU_LOONGSON64 depends on MIPS_FP_SUPPORT
ee49b6598c scsi: dc395: Fix error case unwinding
dd49dee254 ARM: dts: at91: tse850: the emac<->phy interface is rmii
1df7102f26 arm64: dts: meson-g12a: Fix the pwm regulator supply properties
681c58f344 RDMA/bnxt_re: Fix query SRQ failure
50eca29537 ARM: dts: qcom: msm8974: Add xo_board reference clock to DSI0 PHY
863e71a3af arm64: dts: rockchip: Fix GPU register width for RK3328
6694960195 ARM: s3c: irq-s3c24xx: Fix return value check for s3c24xx_init_intc()
d27580c1b0 clk: mvebu: ap-cpu-clk: Fix a memory leak in error handling paths
9212ebb1c6 RDMA/rxe: Fix wrong port_cap_flags
cf234bc5fb ibmvnic: Process crqs after enabling interrupts
bc40616481 ibmvnic: don't stop queue in xmit
a91c8ee2ed udp6: allow SO_MARK ctrl msg to affect routing
9ff14503f4 selftests/bpf: Fix fclose/pclose mismatch in test_progs
af51aa2b85 crypto: pcrypt - Delay write to padata->info
9be9cb2a2b net: phylink: avoid mvneta warning when setting pause parameters
077410c790 net: amd-xgbe: Toggle PLL settings during rate change
63a3b1af04 drm/amdgpu/gmc6: fix DMA mask from 44 to 40 bits
9ca0d10742 wcn36xx: add proper DMA memory barriers in rx path
a3256ae45b libertas: Fix possible memory leak in probe and disconnect
427583b93d libertas_tf: Fix possible memory leak in probe and disconnect
2339ff4162 KVM: s390: Fix handle_sske page fault handling
3f3b4054e2 samples/kretprobes: Fix return value if register_kretprobe() failed
9435b2f9c0 tcp: don't free a FIN sk_buff in tcp_remove_empty_skb()
a8226599cb irq: mips: avoid nested irq_enter()
ae5a244648 s390/gmap: don't unconditionally call pte_unmap_unlock() in __gmap_zap()
8fb436d146 libbpf: Fix BTF data layout checks and allow empty BTF
03a818c096 smackfs: use netlbl_cfg_cipsov4_del() for deleting cipso_v4_doi
12ccb57379 drm/msm: Fix potential NULL dereference in DPU SSPP
dc18f08062 clocksource/drivers/timer-ti-dm: Select TIMER_OF
c523474f2a PM: hibernate: fix sparse warnings
0d22f55014 nvme-rdma: fix error code in nvme_rdma_setup_ctrl
67ba6c8e71 phy: micrel: ksz8041nl: do not use power down mode
ae213c059a mwifiex: Send DELBA requests according to spec
3a781e2131 rsi: stop thread firstly in rsi_91x_init() error handling
ad4cd01307 mt76: mt76x02: fix endianness warnings in mt76x02_mac.c
bdbc9311f1 platform/x86: thinkpad_acpi: Fix bitwise vs. logical warning
3446e5ecdf block: ataflop: fix breakage introduced at blk-mq refactoring
2918a29fc8 mmc: mxs-mmc: disable regulator on error and in the remove function
b631c603b5 net: stream: don't purge sk_error_queue in sk_stream_kill_queues()
f27fbff862 drm/msm: uninitialized variable in msm_gem_import()
32ac072c24 ath10k: fix max antenna gain unit
218fb43fff hwmon: (pmbus/lm25066) Let compiler determine outer dimension of lm25066_coeff
8384c4a7bc hwmon: Fix possible memleak in __hwmon_device_register()
f7fd072039 net, neigh: Fix NTF_EXT_LEARNED in combination with NTF_USE
9498f5272a memstick: jmb38x_ms: use appropriate free function in jmb38x_ms_alloc_host()
5f462b38ce memstick: avoid out-of-range warning
3a7525d5d7 mmc: sdhci-omap: Fix NULL pointer exception if regulator is not configured
dc73f7cae1 b43: fix a lower bounds test
1b6365fdae b43legacy: fix a lower bounds test
c51ac7fd02 hwrng: mtk - Force runtime pm ops for sleep ops
52d2cdab52 crypto: qat - disregard spurious PFVF interrupts
4d7881430f crypto: qat - detect PFVF collision after ACK
a3d3f9c5dc media: dvb-frontends: mn88443x: Handle errors of clk_prepare_enable()
73dd601bec netfilter: nft_dynset: relax superfluous check on set updates
62f6260f70 EDAC/amd64: Handle three rank interleaving mode
f399e650c0 ath9k: Fix potential interrupt storm on queue reset
843ff688eb media: em28xx: Don't use ops->suspend if it is NULL
e577924b70 cpuidle: Fix kobject memory leaks in error paths
18fdbdbecf crypto: ecc - fix CRYPTO_DEFAULT_RNG dependency
a993159a2a kprobes: Do not use local variable when creating debugfs file
71411bd79e media: cx23885: Fix snd_card_free call on null card pointer
1c2c8030e7 media: tm6000: Avoid card name truncation
61266f852f media: si470x: Avoid card name truncation
4e65b9ec21 media: radio-wl1273: Avoid card name truncation
8eeec127d5 media: mtk-vpu: Fix a resource leak in the error handling path of 'mtk_vpu_probe()'
2b9ae7bac9 media: TDA1997x: handle short reads of hdmi info frame.
23b65152a0 media: dvb-usb: fix ununit-value in az6027_rc_query
e2b2d221a4 media: cxd2880-spi: Fix a null pointer dereference on error handling path
f46da0c6af media: em28xx: add missing em28xx_close_extension
14f3d77c77 drm/amdgpu: fix warning for overflow check
465dc8a1b1 ath10k: Fix missing frame timestamp for beacon/probe-resp
7c12c2fe45 net: dsa: rtl8366rb: Fix off-by-one bug
674637270e rxrpc: Fix _usecs_to_jiffies() by using usecs_to_jiffies()
d4cd7a167c crypto: caam - disable pkc for non-E SoCs
555fe5734d Bluetooth: btmtkuart: fix a memleak in mtk_hci_wmt_sync
8c68d12f1a wilc1000: fix possible memory leak in cfg_scan_result()
1713b85634 cgroup: Make rebind_subsystems() disable v2 controllers all at once
bd76ec43f1 net: net_namespace: Fix undefined member in key_remove_domain()
3a37742128 virtio-gpu: fix possible memory allocation failure
606c95078a drm/v3d: fix wait for TMU write combiner flush
6a93d8ebb8 rcu: Fix existing exp request check in sync_sched_exp_online_cleanup()
6237a1685c Bluetooth: fix init and cleanup of sco_conn.timeout_work
28c1d96562 selftests/bpf: Fix strobemeta selftest regression
f2c04d46c8 netfilter: conntrack: set on IPS_ASSURED if flows enters internal stream state
0c2acfede5 parisc/kgdb: add kgdb_roundup() to make kgdb work with idle polling
cbe2872427 parisc/unwind: fix unwinder when CONFIG_64BIT is enabled
a9a411adca task_stack: Fix end_of_stack() for architectures with upwards-growing stack
c06cf3b1d0 parisc: fix warning in flush_tlb_all
7324419233 x86/hyperv: Protect set_hv_tscchange_cb() against getting preempted
ad67a7e2ab spi: bcm-qspi: Fix missing clk_disable_unprepare() on error in bcm_qspi_probe()
a15fc58933 btrfs: do not take the uuid_mutex in btrfs_rm_device
aba1db41dd net: annotate data-race in neigh_output()
2f78cb7ecc vrf: run conntrack only in context of lower/physdev for locally generated packets
5919f02e18 ARM: 9136/1: ARMv7-M uses BE-8, not BE-32
d99f320a1b gre/sit: Don't generate link-local addr if addr_gen_mode is IN6_ADDR_GEN_MODE_NONE
9929b3db46 ARM: clang: Do not rely on lr register for stacktrace
681a426e6b smackfs: use __GFP_NOFAIL for smk_cipso_doi()
4752a9c3a0 iwlwifi: mvm: disable RX-diversity in powersave
41e583edb1 selftests: kvm: fix mismatched fclose() after popen()
4411d0d8df PM: hibernate: Get block device exclusively in swsusp_check()
a528d3aac3 nvme: drop scan_lock and always kick requeue list when removing namespaces
209c39b3f5 nvmet-tcp: fix use-after-free when a port is removed
81d11e40fd nvmet: fix use-after-free when a port is removed
1ec1ca2be9 block: remove inaccurate requeue check
bfde056402 mwl8k: Fix use-after-free in mwl8k_fw_state_machine()
e4af3e42ba tracing/cfi: Fix cmp_entries_* functions signature mismatch
caeb6bae75 workqueue: make sysfs of unbound kworker cpumask more clever
58b4e0c075 lib/xz: Validate the value before assigning it to an enum variable
8cdab20660 lib/xz: Avoid overlapping memcpy() with invalid input with in-place decompression
eb8f087201 memstick: r592: Fix a UAF bug when removing the driver
2226ad0314 leaking_addresses: Always print a trailing newline
63c3c7b699 ACPI: battery: Accept charges over the design capacity as full
2efb81b22d iov_iter: Fix iov_iter_get_pages{,_alloc} page fault return value
d5fb057f23 ath: dfs_pattern_detector: Fix possible null-pointer dereference in channel_detector_create()
e2c27194fc tracefs: Have tracefs directories not set OTH permission bits by default
ace6e7fe96 net-sysfs: try not to restart the syscall if it will fail eventually
d8d1d35405 media: usb: dvd-usb: fix uninit-value bug in dibusb_read_eeprom_byte()
382e7b6458 media: ipu3-imgu: VIDIOC_QUERYCAP: Fix bus_info
e5f9be4869 media: ipu3-imgu: imgu_fmt: Handle properly try
cdf338e1db ACPICA: Avoid evaluating methods too early during system resume
9ff00d0b1d ipmi: Disable some operations during a panic
4bba26f89e media: rcar-csi2: Add checking to rcsi2_start_receiver()
c08a655ed9 brcmfmac: Add DMI nvram filename quirk for Cyberbook T116 tablet
f64551db52 ia64: don't do IA64_CMPXCHG_DEBUG without CONFIG_PRINTK
31b7848647 media: mceusb: return without resubmitting URB in case of -EPROTO error.
e419469adf media: imx: set a media_device bus_info string
b2b2f91782 media: s5p-mfc: Add checking to s5p_mfc_probe().
6b8ab552e2 media: s5p-mfc: fix possible null-pointer dereference in s5p_mfc_probe()
bc4af8c782 media: uvcvideo: Set unique vdev name based in type
7a646855d6 media: uvcvideo: Return -EIO for control errors
ab7fca0eae media: uvcvideo: Set capability in s_param
bff0833e2b media: stm32: Potential NULL pointer dereference in dcmi_irq_thread()
cede36511c media: netup_unidvb: handle interrupt properly according to the firmware
3fe3d04354 media: mt9p031: Fix corrupted frame after restarting stream
08743f9c48 ath10k: high latency fixes for beacon buffer
fadb4cd750 mwifiex: Properly initialize private structure on interface type changes
7d3e6635c2 mwifiex: Run SET_BSS_MODE when changing from P2P to STATION vif-type
480c240ab6 x86: Increase exception stack sizes
91b9c23b6d smackfs: Fix use-after-free in netlbl_catmap_walk()
31df731c87 net: sched: update default qdisc visibility after Tx queue cnt changes
a82f379378 locking/lockdep: Avoid RCU-induced noinstr fail
f14eca60bf MIPS: lantiq: dma: reset correct number of channel
ca07aff257 MIPS: lantiq: dma: add small delay after reset
e5ea3dca94 platform/x86: wmi: do not fail if disabling fails
b57df4d6fc drm/panel-orientation-quirks: add Valve Steam Deck
67bd269a84 Bluetooth: fix use-after-free error in lock_sock_nested()
d416020f1a Bluetooth: sco: Fix lock_sock() blockage by memcpy_from_msg()
a52bd11b24 drm: panel-orientation-quirks: Add quirk for the Samsung Galaxy Book 10.6
e5ca76568a drm: panel-orientation-quirks: Add quirk for KD Kurio Smart C15200 2-in-1
c19cabfa55 drm: panel-orientation-quirks: Update the Lenovo Ideapad D330 quirk (v2)
46a25b7a25 dma-buf: WARN on dmabuf release with pending attachments
1bee9e59c6 USB: chipidea: fix interrupt deadlock
8a643c0f95 USB: iowarrior: fix control-message timeouts
3285811674 USB: serial: keyspan: fix memleak on probe errors
8ce0bc6962 iio: dac: ad5446: Fix ad5622_write() return value
f01e16d324 pinctrl: core: fix possible memory leak in pinctrl_enable()
270541cbc0 quota: correct error number in free_dqentry()
10b808307d quota: check block number when reading the block in quota file
a509a515f3 PCI: aardvark: Read all 16-bits from PCIE_MSI_PAYLOAD_REG
0ea58b9bb9 PCI: aardvark: Fix return value of MSI domain .alloc() method
ee9cdca4d6 PCI: aardvark: Fix reporting Data Link Layer Link Active
6f99c7a51e PCI: aardvark: Do not unmask unused interrupts
d964886327 PCI: aardvark: Fix checking for link up via LTSSM state
e0269c0c81 PCI: aardvark: Do not clear status bits of masked interrupts
50b0ce94fb PCI: pci-bridge-emul: Fix emulation of W1C bits
3d995568c9 xen/balloon: add late_initcall_sync() for initial ballooning done
3f6255a91b ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume
6225a31b2e ALSA: mixer: oss: Fix racy access to slots
e9adf72bdb serial: core: Fix initializing and restoring termios speed
b535b63464 powerpc/85xx: Fix oops when mpc85xx_smp_guts_ids node cannot be found
bfefc5d6f9 can: j1939: j1939_can_recv(): ignore messages with invalid source address
94a3f521e3 can: j1939: j1939_tp_cmd_recv(): ignore abort message in the BAM transport
8e61c799c8 KVM: nVMX: Query current VMCS when determining if MSR bitmaps are in use
654a824816 power: supply: max17042_battery: use VFSOC for capacity when no rsns
11129762e3 power: supply: max17042_battery: Prevent int underflow in set_soc_threshold
625c3ed247 signal/mips: Update (_save|_restore)_fp_context to fail with -EFAULT
ec5ef8d4d7 signal: Remove the bogus sigkill_pending in ptrace_stop
28c70d5036 RDMA/qedr: Fix NULL deref for query_qp on the GSI QP
91a29609bd rsi: Fix module dev_oper_mode parameter description
9defe9b1ab rsi: fix rate mask set leading to P2P failure
2f1f06be3e rsi: fix key enabled check causing unwanted encryption for vap_id > 0
1fa1da8a60 rsi: fix occasional initialisation failure with BT coex
398e7e5add wcn36xx: handle connection loss indication
4a67355383 libata: fix checking of DMA state
6f2f91b9df mwifiex: Read a PCI register after writing the TX ring write pointer
3991cdc40f wcn36xx: Fix HT40 capability for 2Ghz band
301d33c954 evm: mark evm_fixmode as __ro_after_init
e1f71a3289 rtl8187: fix control-message timeouts
76d2ce7ca9 PCI: Mark Atheros QCA6174 to avoid bus reset
3110371c7a ath10k: fix division by zero in send path
2b94d10056 ath10k: fix control-message timeout
cfbe74d8b1 ath6kl: fix control-message timeout
1a2fe1c3d8 ath6kl: fix division by zero in send path
78ebff828a mwifiex: fix division by zero in fw download path
08501eb9ff EDAC/sb_edac: Fix top-of-high-memory value for Broadwell/Haswell
a147922924 regulator: dt-bindings: samsung,s5m8767: correct s5m8767,pmic-buck-default-dvs-idx property
c9e5a00596 regulator: s5m8767: do not use reset value as DVS voltage if GPIO DVS is disabled
3baa5886d1 hwmon: (pmbus/lm25066) Add offset coefficients
98bea92379 ia64: kprobes: Fix to pass correct trampoline address to the handler
ddb54bf3b7 btrfs: call btrfs_check_rw_degradable only if there is a missing device
5223324ed1 btrfs: fix lost error handling when replaying directory deletes
c25984fa18 btrfs: clear MISSING device status bit in btrfs_close_one_device
87a87c82f7 net/smc: Correct spelling mistake to TCPF_SYN_RECV
cc14499b9d nfp: bpf: relax prog rejection for mtu check through max_pkt_offset
a62d430841 vmxnet3: do not stop tx queues after netif_device_detach()
17dcecf20c r8169: Add device 10ec:8162 to driver r8169
e84b38e578 nvmet-tcp: fix header digest verification
2804181e1b drm: panel-orientation-quirks: Add quirk for GPD Win3
7273488fd3 watchdog: Fix OMAP watchdog early handling
5ffdddcf28 net: multicast: calculate csum of looped-back and forwarded packets
9420e2496d spi: spl022: fix Microwire full duplex mode
1a667bc329 nvmet-tcp: fix a memory leak when releasing a queue
2f3860ba60 xen/netfront: stop tx queues during live migration
de649ec7ad bpf: Prevent increasing bpf_jit_limit above max
df8665c398 bpf: Define bpf_jit_alloc_exec_limit for arm64 JIT
8dd688ba67 drm: panel-orientation-quirks: Add quirk for Aya Neo 2021
c4282bb805 mmc: winbond: don't build on M68K
05f0a97e2f reset: socfpga: add empty driver allowing consumers to probe
dfa8fb782b ARM: dts: sun7i: A20-olinuxino-lime2: Fix ethernet phy-mode
f09014e8be hyperv/vmbus: include linux/bitops.h
054fe50d26 sfc: Don't use netif_info before net_device setup
82005afbb3 cavium: Fix return values of the probe function
9f5fd5aab8 scsi: qla2xxx: Fix unmap of already freed sgl
96183337e9 scsi: qla2xxx: Return -ENOMEM if kzalloc() fails
8e3a0d28ed cavium: Return negative value when pci_alloc_irq_vectors() fails
58608e80d6 x86/irq: Ensure PI wakeup handler is unregistered before module unload
7252cb96e4 x86/cpu: Fix migration safety with X86_BUG_NULL_SEL
e3d4ba338b x86/sme: Use #define USE_EARLY_PGTABLE_L5 in mem_encrypt_identity.c
ccc4e5e60b fuse: fix page stealing
9505d48721 ALSA: timer: Unconditionally unlink slave instances, too
2c6446168f ALSA: timer: Fix use-after-free problem
246c6a1fe3 ALSA: synth: missing check for possible NULL after the call to kstrdup
ce9f7535ec ALSA: usb-audio: Add registration quirk for JBL Quantum 400
7da6f4c5c2 ALSA: line6: fix control and interrupt message timeouts
4a12e624e5 ALSA: 6fire: fix control and bulk message timeouts
ab3f823af2 ALSA: ua101: fix division by zero at probe
a3bb6e0db7 ALSA: hda/realtek: Add quirk for HP EliteBook 840 G7 mute LED
40243342d2 ALSA: hda/realtek: Add quirk for ASUS UX550VE
8af6ade7ac ALSA: hda/realtek: Add a quirk for Acer Spin SP513-54N
809416fe0a ALSA: hda/realtek: Add quirk for Clevo PC70HS
638b53d67f media: v4l2-ioctl: Fix check_ext_ctrls
8c11269bd6 media: ir-kbd-i2c: improve responsiveness of hauppauge zilog receivers
bbd62d2fca media: ite-cir: IR receiver stop working after receive overflow
eef6cb3d3c crypto: s5p-sss - Add error handling in s5p_aes_probe()
d7a5d872b4 firmware/psci: fix application of sizeof to pointer
18f0fb57a9 tpm: Check for integer overflow in tpm2_map_response_body()
f38f3da360 parisc: Fix ptrace check on syscall return
acbc2a08ea mmc: dw_mmc: Dont wait for DRTO on Write RSP error
5ee76475f8 scsi: qla2xxx: Fix use after free in eh_abort path
cc5b139488 scsi: qla2xxx: Fix kernel crash when accessing port_speed sysfs file
617d2fd48d ocfs2: fix data corruption on truncate
c20eb9551c libata: fix read log timeout value
69c2199f49 Input: i8042 - Add quirk for Fujitsu Lifebook T725
17ec1c6b45 Input: elantench - fix misreporting trackpoint coordinates
ce4bec0a54 Input: iforce - fix control-message timeout
db39f49ee7 binder: use cred instead of task for getsecid
fc9c470cd5 binder: use cred instead of task for selinux checks
28a1e470b0 binder: use euid from cred instead of using task
3e87c4996d usb: xhci: Enable runtime-pm by default on AMD Yellow Carp platform
3fa7efd1fa xhci: Fix USB 3.1 enumeration issues by increasing roothub power-on-good delay
f911d1ad48 Merge 5.4.159 into android11-5.4-lts
5915b0ea67 Linux 5.4.159
abc49cc45d rsi: fix control-message timeout
64e6632ab4 media: staging/intel-ipu3: css: Fix wrong size comparison imgu_css_fw_init
6c382b6365 staging: rtl8192u: fix control-message timeouts
f66258cb60 staging: r8712u: fix control-message timeout
88a252ff78 comedi: vmk80xx: fix bulk and interrupt message timeouts
1ae4715121 comedi: vmk80xx: fix bulk-buffer overflow
199acd8c11 comedi: vmk80xx: fix transfer-buffer overflows
b0156b7c96 comedi: ni_usb6501: fix NULL-deref in command paths
3efb7af8ac comedi: dt9812: fix DMA buffers on stack
6e80e9314f isofs: Fix out of bound access for corrupted isofs image
adc56dbfc4 printk/console: Allow to disable console output by using console="" or console=null
589ac131b3 binder: don't detect sender/target during buffer cleanup
b60e89b63e usb-storage: Add compatibility quirk flags for iODD 2531/2541
5c3eba2904 usb: musb: Balance list entry in musb_gadget_queue
161571745d usb: gadget: Mark USB_FSL_QE broken on 64-bit
d6013265a7 usb: ehci: handshake CMD_RUN instead of STS_HALT
6d000e1c16 Revert "x86/kvm: fix vcpu-id indexed array sizes"
3197361248 Merge branch 'android11-5.4' into 'android11-5.4-lts'
7cd388bad4 Merge 5.4.158 into android11-5.4-lts
c65356f0f7 Linux 5.4.158
e31d51f8a4 ARM: 9120/1: Revert "amba: make use of -1 IRQs warn"
960b1fdfc3 Revert "drm/ttm: fix memleak in ttm_transfered_destroy"
a73ebe514a sfc: Fix reading non-legacy supported link modes
6789e4b759 Revert "usb: core: hcd: Add support for deferring roothub registration"
049849492b Revert "xhci: Set HCD flag to defer primary roothub registration"
2461f38384 media: firewire: firedtv-avc: fix a buffer overflow in avc_ca_pmt()
21fc2bb836 net: ethernet: microchip: lan743x: Fix skb allocation failure
e02fdd7db4 vrf: Revert "Reset skb conntrack connection..."
1ce287eff9 scsi: core: Put LLD module refcnt after SCSI device is released
553d3c4173 Merge 5.4.157 into android11-5.4-lts
e6de9a8b5b Linux 5.4.157
39fb393e21 perf script: Check session->header.env.arch before using it
472d9354a9 KVM: s390: preserve deliverable_mask in __airqs_kick_single_vcpu
07e9a4e1ab KVM: s390: clear kicked_mask before sleeping again
5919a07d71 cfg80211: correct bridge/4addr mode check
dba9e632ed net: use netif_is_bridge_port() to check for IFF_BRIDGE_PORT
0f5b4c57dc sctp: add vtag check in sctp_sf_ootb
df52776407 sctp: add vtag check in sctp_sf_do_8_5_1_E_sa
0aa322b5fe sctp: add vtag check in sctp_sf_violation
d6470c2200 sctp: fix the processing for COOKIE_ECHO chunk
5fe74d5e4d sctp: fix the processing for INIT_ACK chunk
5953ee99ba sctp: use init_tag from inithdr for ABORT chunk
5395650d15 phy: phy_start_aneg: Add an unlocked version
c85b696270 phy: phy_ethtool_ksettings_get: Lock the phy for consistency
0dea6379e2 net/tls: Fix flipped sign in async_wait.err assignment
e12b8f3c2b net: nxp: lpc_eth.c: avoid hang when bringing interface down
b232898c1d net: ethernet: microchip: lan743x: Fix dma allocation failure by using dma_set_mask_and_coherent
92507dc1ef net: ethernet: microchip: lan743x: Fix driver crash when lan743x_pm_resume fails
3708aa267d nios2: Make NIOS2_DTB_SOURCE_BOOL depend on !COMPILE_TEST
b1c76f97ad RDMA/sa_query: Use strscpy_pad instead of memcpy to copy a string
18a012869f net: Prevent infinite while loop in skb_tx_hash()
6422e84718 net: batman-adv: fix error handling
1cead23c1c regmap: Fix possible double-free in regcache_rbtree_exit()
207e6e93e7 arm64: dts: allwinner: h5: NanoPI Neo 2: Fix ethernet node
c29c3295e0 RDMA/mlx5: Set user priority for DCT
13ad93a42c nvme-tcp: fix data digest pointer calculation
b597b0e2e8 nvmet-tcp: fix data digest pointer calculation
d997d4e436 IB/hfi1: Fix abba locking issue with sc_disable()
0f8cdfff06 IB/qib: Protect from buffer overflow in struct qib_user_sdma_pkt fields
5f0bfe21c8 tcp_bpf: Fix one concurrency problem in the tcp_bpf_send_verdict function
bd99782f3c drm/ttm: fix memleak in ttm_transfered_destroy
d2c64ebcc7 net: lan78xx: fix division by zero in send path
a37c5e70ac cfg80211: scan: fix RCU in cfg80211_add_nontrans_list()
590abe5bec mmc: sdhci-esdhc-imx: clear the buffer_read_ready to reset standard tuning circuit
07da44b086 mmc: sdhci: Map more voltage level to SDHCI_POWER_330
0821c5608d mmc: dw_mmc: exynos: fix the finding clock sample value
08328d65cb mmc: cqhci: clear HALT state after CQE enable
55a3870f4a mmc: vub300: fix control-message timeouts
e0cfd5159f net/tls: Fix flipped sign in tls_err_abort() calls
6a18d155d5 Revert "net: mdiobus: Fix memory leak in __mdiobus_register"
9fdcf66ee4 nfc: port100: fix using -ERRNO as command type mask
853f22623d ata: sata_mv: Fix the error handling of mv_chip_id()
6d0b30784f Revert "pinctrl: bcm: ns: support updated DT binding as syscon subnode"
b7dfc536db usbnet: fix error return code in usbnet_probe()
492140e45d usbnet: sanity check for maxpacket
4ba6c163fe ipv4: use siphash instead of Jenkins in fnhe_hashfun()
3f439c231a ipv6: use siphash in rt6_exception_hash()
1cad781ecf powerpc/bpf: Fix BPF_MOD when imm == 1
ca10ddbbab ARM: 9141/1: only warn about XIP address when not compile testing
40cd329455 ARM: 9139/1: kprobes: fix arch_init_kprobes() prototype
2f7647cc13 ARM: 9134/1: remove duplicate memcpy() definition
9f44f66396 ARM: 9133/1: mm: proc-macros: ensure *_tlb_fns are 4B aligned
5f1f361447 Merge 5.4.156 into android11-5.4-lts
3a7a77d783 Merge branch 'android11-5.4' into 'android11-5.4-lts'
89b6869b94 Linux 5.4.156
7cdcaa7c76 pinctrl: stm32: use valid pin identifier in stm32_pinctrl_resume()
a9c4e246f7 ARM: 9122/1: select HAVE_FUTEX_CMPXCHG
a98c81ab17 tracing: Have all levels of checks prevent recursion
b0feaa8376 net: mdiobus: Fix memory leak in __mdiobus_register
0ab35e7074 scsi: core: Fix shost->cmd_per_lun calculation in scsi_add_host_with_dma()
9068beaa04 Input: snvs_pwrkey - add clk handling
8de335e819 ALSA: hda: avoid write to STATESTS if controller is in reset
570bc60dcd platform/x86: intel_scu_ipc: Update timeout value in comment
4054b869dc isdn: mISDN: Fix sleeping function called from invalid context
5001160d3e ARM: dts: spear3xx: Fix gmac node
e9d9ffa193 net: stmmac: add support for dwmac 3.40a
044fa2afd6 btrfs: deal with errors when checking if a dir entry exists during log replay
d49a293b94 gcc-plugins/structleak: add makefile var for disabling structleak
e8ef998441 selftests: netfilter: remove stray bash debug line
b7fdebde2c netfilter: Kconfig: use 'default y' instead of 'm' for bool config option
285e9210b1 isdn: cpai: check ctr->cnr to avoid array index out of bound
1f75f8883b nfc: nci: fix the UAF of rf_conn_info object
4f5d1c29cf mm, slub: fix potential memoryleak in kmem_cache_open()
a1ec195a19 mm, slub: fix mismatch between reconstructed freelist depth and cnt
8e25a62e8d powerpc/idle: Don't corrupt back chain when going idle
d0148cfaf8 KVM: PPC: Book3S HV: Make idle_kvm_start_guest() return 0 if it went to guest
80bbb0bc3a KVM: PPC: Book3S HV: Fix stack handling in idle_kvm_start_guest()
722e6f6ac8 powerpc64/idle: Fix SP offsets when saving GPRs
d6f451f1f6 audit: fix possible null-pointer dereference in audit_filter_rules
c974f2f92c ASoC: DAPM: Fix missing kctl change notifications
5307a77b71 ALSA: hda/realtek: Add quirk for Clevo PC50HS
50fc52e5ca ALSA: usb-audio: Provide quirk for Sennheiser GSP670 Headset
0f218ba4c8 vfs: check fd has read access in kernel_read_file_from_fd()
f439d2bcb6 elfcore: correct reference to CONFIG_UML
d3a8357637 ocfs2: mount fails with buffer overflow in strlen
b05caf023b ocfs2: fix data corruption after conversion from inline format
bce53fbee9 ceph: fix handling of "meta" errors
151c72bba1 can: j1939: j1939_xtp_rx_rts_session_new(): abort TP less than 9 bytes
0ddf781882 can: j1939: j1939_xtp_rx_dat_one(): cancel session if receive TP.DT with error length
a0e47d2833 can: j1939: j1939_netdev_start(): fix UAF for rx_kref of j1939_priv
7e66cfed66 can: j1939: j1939_tp_rxtimer(): fix errant alert in j1939_tp_rxtimer
1248582e47 can: peak_pci: peak_pci_remove(): fix UAF
ea82c2463e can: peak_usb: pcan_usb_fd_decode_status(): fix back to ERROR_ACTIVE state notification
c26dcd1cb8 can: rcar_can: fix suspend/resume
8c5585eae3 net: enetc: fix ethtool counter name for PM0_TERR
c0b0baade9 net: stmmac: Fix E2E delay mechanism
c4b64011e4 net: hns3: disable sriov before unload hclge layer
472acf1582 net: hns3: add limit ets dwrr bandwidth cannot be 0
b1f9380ee2 net: hns3: reset DWRR of unused tc to zero
12bdcbc043 NIOS2: irqflags: rename a redefined register name
599766696f net: dsa: lantiq_gswip: fix register definition
f49ce82f9b lan78xx: select CRC32
83094f8c44 netfilter: ipvs: make global sysctl readonly in non-init netns
ce70ee94dd ASoC: wm8960: Fix clock configuration on slave mode
0f5b08ca22 dma-debug: fix sg checks in debug_dma_map_sg()
50aefa9acc NFSD: Keep existing listeners on portlist error
4a5bf3e729 xtensa: xtfpga: Try software restart before simulating CPU reset
31137288b9 xtensa: xtfpga: use CONFIG_USE_OF instead of CONFIG_OF
d946a39bad ARM: dts: at91: sama5d2_som1_ek: disable ISC node by default
e7c4819c0b tee: optee: Fix missing devices unregister during optee_remove
b1e9b4e0f6 net: switchdev: do not propagate bridge updates across bridges
2d22cd0482 parisc: math-emu: Fix fall-through warnings
ff9005a69e Merge branch 'android11-5.4' into 'android11-5.4-lts'
fa6db42758 Merge 5.4.155 into android11-5.4-lts
4f508aa9dd Linux 5.4.155
32d2ce0b94 ionic: don't remove netdev->dev_addr when syncing uc list
abaf8e8b90 r8152: select CRC32 and CRYPTO/CRYPTO_HASH/CRYPTO_SHA256
a4f7d2246e qed: Fix missing error code in qed_slowpath_start()
62d96bb68b mqprio: Correct stats in mqprio_dump_class_stats().
fa272e8353 acpi/arm64: fix next_platform_timer() section mismatch error
32ac4ed32b drm/msm/dsi: fix off by one in dsi_bus_clk_enable error handling
4620098958 drm/msm/dsi: Fix an error code in msm_dsi_modeset_init()
f302be08e3 drm/msm: Fix null pointer dereference on pointer edp
0d5ef1e875 drm/panel: olimex-lcd-olinuxino: select CRC32
9225d57f51 platform/mellanox: mlxreg-io: Fix argument base in kstrtou32() call
ae0993739e mlxsw: thermal: Fix out-of-bounds memory accesses
97e6dcb416 ata: ahci_platform: fix null-ptr-deref in ahci_platform_enable_regulators()
b9352ed9b9 pata_legacy: fix a couple uninitialized variable bugs
2bde4aca56 NFC: digital: fix possible memory leak in digital_in_send_sdd_req()
7ab488d722 NFC: digital: fix possible memory leak in digital_tg_listen_mdaa()
69b3a13f0d nfc: fix error handling of nfc_proto_register()
2731eaac19 ethernet: s2io: fix setting mac address during resume
4c2eb80fc9 net: encx24j600: check error in devm_regmap_init_encx24j600
0904e1be2a net: stmmac: fix get_hw_feature() on old hardware
06251ea8d1 net/mlx5e: Mutually exclude RX-FCS and RX-port-timestamp
19a01522c5 net: korina: select CRC32
32b57d897e net: arc: select CRC32
2880dc1302 gpio: pca953x: Improve bias setting
d887745395 sctp: account stream padding length for reconf chunk
232c485c6b iio: dac: ti-dac5571: fix an error code in probe()
69696951de iio: ssp_sensors: fix error code in ssp_print_mcu_debug()
10ecff1522 iio: ssp_sensors: add more range checking in ssp_parse_dataframe()
ac0688bcd1 iio: light: opt3001: Fixed timeout error when 0 lux
3c00d93297 iio: mtk-auxadc: fix case IIO_CHAN_INFO_PROCESSED
cf4b39907a iio: adc128s052: Fix the error handling path of 'adc128_probe()'
580c09a9ef iio: adc: aspeed: set driver data when adc probe.
1904050cac powerpc/xive: Discard disabled interrupts in get_irqchip_state()
5683ed468f x86/Kconfig: Do not enable AMD_MEM_ENCRYPT_ACTIVE_BY_DEFAULT automatically
0594f1d048 nvmem: Fix shift-out-of-bound (UBSAN) with byte size cells
d07571672c EDAC/armada-xp: Fix output of uncorrectable error counter
dba8834bae virtio: write back F_VERSION_1 before validate
1b39a67856 USB: serial: option: add prod. id for Quectel EG91
41e178c138 USB: serial: option: add Telit LE910Cx composition 0x1204
848eac2cb7 USB: serial: option: add Quectel EC200S-CN module support
958e98ca52 USB: serial: qcserial: add EM9191 QDL support
733dcc08e9 Input: xpad - add support for another USB ID of Nacon GC-100
9ab5d539bc usb: musb: dsps: Fix the probe error path
278e483dc7 efi: Change down_interruptible() in virt_efi_reset_system() to down_trylock()
27a847dbc9 efi/cper: use stack buffer for error record decoding
6e35a5e926 cb710: avoid NULL pointer subtraction
e71ce4a81e xhci: Enable trust tx length quirk for Fresco FL11 USB controller
01c2dcb67e xhci: Fix command ring pointer corruption while aborting a command
7ce7d4a46d xhci: guard accesses to ep_state in xhci_endpoint_reset()
783579057c mei: me: add Ice Lake-N device id.
9264bd22d7 x86/resctrl: Free the ctrlval arrays when domain_setup_mon_state() fails
10b77e16b3 watchdog: orion: use 0 for unset heartbeat
9acf1c10f1 btrfs: check for error when looking up inode during dir entry replay
625565fd80 btrfs: deal with errors when adding inode reference during log replay
6e2ac49b21 btrfs: deal with errors when replaying dir entry during log replay
005a07c9ac btrfs: unlock newly allocated extent buffer after error
e9f457f056 csky: Fixup regs.sr broken in ptrace
a6f4ea748a csky: don't let sigreturn play with priveleged bits of status register
98544ca6cb s390: fix strrchr() implementation
5959e22e07 nds32/ftrace: Fix Error: invalid operands (*UND* and *UND* sections) for `^'
2e41b9c846 ALSA: hda/realtek: Fix the mic type detection issue for ASUS G551JW
90cf96afa3 ALSA: hda/realtek - ALC236 headset MIC recording issue
33627fa4db ALSA: hda/realtek: Add quirk for Clevo X170KM-G
e96079ab1c ALSA: hda/realtek: Complete partial device name to avoid ambiguity
dd3f048315 ALSA: seq: Fix a potential UAF by wrong private_free call order
825786f723 ALSA: usb-audio: Add quirk for VF0770
43d9332526 ovl: simplify file splice
615b28244c Merge 5.4.154 into android11-5.4-lts
ce061ef43f Linux 5.4.154
291a48871e sched: Always inline is_percpu_thread()
3e105ecc4a scsi: virtio_scsi: Fix spelling mistake "Unsupport" -> "Unsupported"
1ff5ee9d39 scsi: ses: Fix unsigned comparison with less than zero
83d857d6b0 drm/amdgpu: fix gart.bo pin_count leak
1843ae8c4b net: sun: SUNVNET_COMMON should depend on INET
6d1d7acb10 mac80211: check return value of rhashtable_init
2aaf3fd5e1 net: prevent user from passing illegal stab size
1e66a472b5 m68k: Handle arrivals of multiple signals correctly
be191c8e68 mac80211: Drop frames from invalid MAC address in ad-hoc mode
fffad5988f netfilter: nf_nat_masquerade: defer conntrack walk to work queue
b3cb063034 netfilter: nf_nat_masquerade: make async masq_inet6_event handling generic
a9d8aa2d3c HID: wacom: Add new Intuos BT (CTL-4100WL/CTL-6100WL) device IDs
8c6680025b netfilter: ip6_tables: zero-initialize fragment offset
744b908a7f HID: apple: Fix logical maximum and usage maximum of Magic Keyboard JIS
b6bccc978e ext4: correct the error path of ext4_write_inline_data_end()
de4a28b718 net: phy: bcm7xxx: Fixed indirect MMD operations
57f5a5a9ae UPSTREAM: ovl: simplify file splice
65d414cb38 Merge branch 'android11-5.4' into 'android11-5.4-lts'
ffab1c7d7c Merge 5.4.153 into android11-5.4-lts
940a14a7d8 Linux 5.4.153
6a89b1e0c2 x86/Kconfig: Correct reference to MWINCHIP3D
5b3b400741 x86/hpet: Use another crystalball to evaluate HPET usability
367f643191 x86/platform/olpc: Correct ifdef symbol to intended CONFIG_OLPC_XO15_SCI
9e2a9da532 RISC-V: Include clone3() on rv32
a326f9c01c bpf, s390: Fix potential memory leak about jit_data
60bacf259e i2c: acpi: fix resource leak in reconfiguration device addition
b723b34a98 net: prefer socket bound to interface when not in VRF
17063cac40 i40e: Fix freeing of uninitialized misc IRQ vector
0a1fcc981d i40e: fix endless loop under rtnl
d6c0668119 gve: fix gve_get_stats()
d83787c26d rtnetlink: fix if_nlmsg_stats_size() under estimation
0311d97753 gve: Correct available tx qpl check
11cd944bb8 drm/nouveau/debugfs: fix file release memory leak
cb7e651879 video: fbdev: gbefb: Only instantiate device when built for IP32
04f981251e bus: ti-sysc: Use CLKDM_NOAUTO for dra7 dcan1 for errata i893
809aa82ac6 netlink: annotate data races around nlk->bound
fd73c2e64b net: sfp: Fix typo in state machine debug string
c951c08a59 net/sched: sch_taprio: properly cancel timer from taprio_destroy()
c2c45102ae net: bridge: use nla_total_size_64bit() in br_get_linkxstats_size()
8af0c7d3fb ARM: imx6: disable the GIC CPU interface before calling stby-poweroff sequence
ebe58e1c1a arm64: dts: ls1028a: add missing CAN nodes
1b9f0d242a arm64: dts: freescale: Fix SP805 clock-names
27e53e23a3 ptp_pch: Load module automatically if ID matches
a7b441a2e2 powerpc/fsl/dts: Fix phy-connection-type for fm1mac3
c951a3be5e net_sched: fix NULL deref in fifo_set_limit()
414bb4ead1 phy: mdio: fix memory leak
b14f28126c bpf: Fix integer overflow in prealloc_elems_and_freelist()
a3d68a4245 bpf, arm: Fix register clobbering in div/mod implementation
e0c6e864d2 xtensa: call irqchip_init only when CONFIG_USE_OF is selected
d10a2a8f88 xtensa: use CONFIG_USE_OF instead of CONFIG_OF
73711563f5 xtensa: move XCHAL_KIO_* definitions to kmem_layout.h
c82cffe171 arm64: dts: qcom: pm8150: use qcom,pm8998-pon binding
14c9c75d48 ARM: dts: imx: Fix USB host power regulator polarity on M53Menlo
720a4dceee ARM: dts: imx: Add missing pinctrl-names for panel on M53Menlo
6b2855ac7e soc: qcom: mdt_loader: Drop PT_LOAD check on hash segment
1179cd690a ARM: dts: qcom: apq8064: Use 27MHz PXO clock as DSI PLL reference
bdc189d6b6 soc: qcom: socinfo: Fixed argument passed to platform_set_data()
1a0fe45501 bpf, mips: Validate conditional branch offsets
7ed0402445 MIPS: BPF: Restore MIPS32 cBPF JIT
4239cd380a ARM: dts: qcom: apq8064: use compatible which contains chipid
30d68bf74d ARM: dts: omap3430-sdp: Fix NAND device node
2abb4077fa xen/balloon: fix cancelled balloon action
42fbcbaa8a nfsd4: Handle the NFSv4 READDIR 'dircount' hint being zero
f88420197a nfsd: fix error handling of register_pernet_subsys() in init_nfsd()
fab338f33c ovl: fix missing negative dentry check in ovl_rename()
4920aae61b mmc: meson-gx: do not use memcpy_to/fromio for dram-access-quirk
47f7bb3dc2 xen/privcmd: fix error handling in mmap-resource processing
9d93cfdaf8 usb: typec: tcpm: handle SRC_STARTUP state if cc changes
b53aa224ad USB: cdc-acm: fix break reporting
3135935b7f USB: cdc-acm: fix racy tty buffer accesses
7c2392f03f Partially revert "usb: Kconfig: using select for USB_COMMON dependency"
cc109ff104 ANDROID: Different fix for KABI breakage in 5.4.151 in struct sock
17eb597c8b Merge 5.4.152 into android11-5.4-lts
faaca480fd Linux 5.4.152
caff281e20 libata: Add ATA_HORKAGE_NO_NCQ_ON_ATI for Samsung 860 and 870 SSD.
fecbe957ef silence nfscache allocation warnings with kvzalloc
5546e3987d perf/x86: Reset destroy callback on event init failure
2787cde6cb kvm: x86: Add AMD PMU MSRs to msrs_to_save_all[]
ba58770c14 KVM: do not shrink halt_poll_ns below grow_start
d67e01e5e0 tools/vm/page-types: remove dependency on opt_file for idle page tracking
65c7e3c973 scsi: ses: Retry failed Send/Receive Diagnostic commands
e4e756054d selftests:kvm: fix get_warnings_count() ignoring fscanf() return warn
1f830ab345 selftests: be sure to make khdr before other targets
8b9c1c33e5 usb: dwc2: check return value after calling platform_get_resource()
5d124ee0d2 usb: testusb: Fix for showing the connection speed
350d048cc5 scsi: sd: Free scsi_disk device via put_device()
4f194b5769 ext2: fix sleeping in atomic bugs on error
2d8eb45674 sparc64: fix pci_iounmap() when CONFIG_PCI is not set
61504f62bb xen-netback: correct success/error reporting for the SKB-with-fraglist case
2ecca3b282 net: mdio: introduce a shutdown method to mdio device drivers
4659036941 ANDROID: Fix up KABI breakage in 5.4.151 in struct sock
0454b0c925 Merge 5.4.151 into android11-5.4-lts
31cdcb6d43 Linux 5.4.151
965147067f HID: usbhid: free raw_report buffers in usbhid_stop
6f2f68640b netfilter: ipset: Fix oversized kvmalloc() calls
fe9bb925e7 HID: betop: fix slab-out-of-bounds Write in betop_probe
24f3d26091 crypto: ccp - fix resource leaks in ccp_run_aes_gcm_cmd()
62c5cacb09 usb: hso: remove the bailout parameter
fe57d53dd9 usb: hso: fix error handling code of hso_create_net_device
d29c7a1a32 hso: fix bailout in error case of probe
1f2b324e82 libnvdimm/pmem: Fix crash triggered when I/O in-flight during unbind
dd336267d8 PCI: Fix pci_host_bridge struct device release/free handling
e81f3b7e71 net: stmmac: don't attach interface until resume finishes
f8ffde0bb9 net: udp: annotate data race around udp_sk(sk)->corkflag
9dbf7e343b HID: u2fzero: ignore incomplete packets without data
d518ea0314 ext4: fix potential infinite loop in ext4_dx_readdir()
59c19fdcde ext4: fix reserved space counter leakage
c4b8db2b47 ext4: fix loff_t overflow in ext4_max_bitmap_size()
3253c87e1e ipack: ipoctal: fix module reference leak
9c802a0574 ipack: ipoctal: fix missing allocation-failure check
3fd682d461 ipack: ipoctal: fix tty-registration error handling
e6a71c173e ipack: ipoctal: fix tty registration race
8657158a3b ipack: ipoctal: fix stack information leak
91d5de0b71 debugfs: debugfs_create_file_size(): use IS_ERR to check for error
98574c91e3 elf: don't use MAP_FIXED_NOREPLACE for elf interpreter mappings
9356e4dceb perf/x86/intel: Update event constraints for ICX
0fcfaa8ed9 af_unix: fix races in sk_peer_pid and sk_peer_cred accesses
694b0cee7f net: sched: flower: protect fl_walk() with rcu
5a31d4e73a net: hns3: do not allow call hns3_nic_net_open repeatedly
87de237b0b scsi: csiostor: Add module softdep on cxgb4
1b6ccfcec6 Revert "block, bfq: honor already-setup queue merges"
753096c38a selftests, bpf: test_lwt_ip_encap: Really disable rp_filter
897d1401d1 e100: fix buffer overrun in e100_get_regs
93372e02f9 e100: fix length calculation in e100_get_regs_len
a2624e0934 net: ipv4: Fix rtnexthop len when RTA_FLOW is present
c37d3287e7 hwmon: (tmp421) fix rounding for negative values
8a07d5aba3 hwmon: (tmp421) report /PVLD condition as fault
ec018021cf sctp: break out if skb_header_pointer returns NULL in sctp_rcv_ootb
9bee85de2c mac80211-hwsim: fix late beacon hrtimer handling
21c3a84493 mac80211: mesh: fix potentially unaligned access
ab85997465 mac80211: limit injected vht mcs/nss in ieee80211_parse_tx_radiotap
87e06c4428 mac80211: Fix ieee80211_amsdu_aggregate frag_tail bug
a6c42ae153 hwmon: (mlxreg-fan) Return non-zero value when fan current state is enforced from sysfs
2c30592255 ipvs: check that ip_vs_conn_tab_bits is between 8 and 20
9a571d83ac drm/amd/display: Pass PCI deviceid into DC
3443eb443f x86/kvmclock: Move this_cpu_pvti into kvmclock.h
50149e0866 mac80211: fix use-after-free in CCMP/GCMP RX
956bc3ee31 scsi: ufs: Fix illegal offset in UPIU event trace
44d3c480e4 hwmon: (w83791d) Fix NULL pointer dereference by removing unnecessary structure field
200ced5ba7 hwmon: (w83792d) Fix NULL pointer dereference by removing unnecessary structure field
6cb01fe630 hwmon: (w83793) Fix NULL pointer dereference by removing unnecessary structure field
504cf969d5 fs-verity: fix signed integer overflow with i_size near S64_MAX
b2fb6ce06c usb: cdns3: fix race condition before setting doorbell
e2370e1935 cpufreq: schedutil: Destroy mutex before kobject_put() frees the memory
67c98e0231 cpufreq: schedutil: Use kobject release() method to free sugov_tunables
883f7897a2 tty: Fix out-of-bound vmalloc access in imageblit
ec298edf02 Merge 5.4.150 into android11-5.4-lts
2abce4ec2a Merge 5.4.149 into android11-5.4-lts
5785e5360a Revert "crypto: public_key: fix overflow during implicit conversion"
3a7dc5b4cf Linux 5.4.150
27f8c4402c qnx4: work around gcc false positive warning bug
3a0f951e37 xen/balloon: fix balloon kthread freezing
f80b679381 arm64: dts: marvell: armada-37xx: Extend PCIe MEM space
04783de9c0 thermal/drivers/int340x: Do not set a wrong tcc offset on resume
de1c350680 EDAC/synopsys: Fix wrong value type assignment for edac_mode
8ede848bc9 spi: Fix tegra20 build with CONFIG_PM=n
d193f7dbf4 net: 6pack: Fix tx timeout and slot time
fa56f2c987 alpha: Declare virt_to_phys and virt_to_bus parameter as pointer to volatile
af4a142ab7 arm64: Mark __stack_chk_guard as __ro_after_init
aeb19da46c parisc: Use absolute_pointer() to define PAGE0
8cd34eb616 qnx4: avoid stringop-overread errors
1214ace614 sparc: avoid stringop-overread errors
113a8edfb9 net: i825xx: Use absolute_pointer for memcpy from fixed memory location
2397ea2db2 compiler.h: Introduce absolute_pointer macro
d12ddd843f blk-cgroup: fix UAF by grabbing blkcg lock before destroying blkg pd
9d77988232 sparc32: page align size in arch_dma_alloc
ec49f3f7f6 nvme-multipath: fix ANA state updates when a namespace is not present
29917bbb07 xen/balloon: use a kernel thread instead a workqueue
93937596e0 bpf: Add oversize check before call kvcalloc()
7273cb182f ipv6: delay fib6_sernum increase in fib6_add
7432ecc55f m68k: Double cast io functions to unsigned long
29c70b0d33 net: stmmac: allow CSR clock of 300MHz
1da750d1e2 net: macb: fix use after free on rmmod
ebb8d26d93 blktrace: Fix uaf in blk_trace access after removing by sysfs
2b5befcd40 md: fix a lock order reversal in md_alloc
42d3711c23 irqchip/gic-v3-its: Fix potential VPE leak on error
71f323f605 irqchip/goldfish-pic: Select GENERIC_IRQ_CHIP to fix build
1b59625da6 scsi: lpfc: Use correct scnprintf() limit
30d373dc35 scsi: qla2xxx: Restore initiator in dual mode
d140ccb140 cifs: fix a sign extension bug
1c1062c5cf thermal/core: Potential buffer overflow in thermal_build_list_of_policies()
b869901cab fpga: machxo2-spi: Fix missing error code in machxo2_write_complete()
0ebc3e688f fpga: machxo2-spi: Return an error on failure
5bcead7cde tty: synclink_gt: rename a conflicting function name
c5f27aedf6 tty: synclink_gt, drop unneeded forward declarations
1deb94d37a scsi: iscsi: Adjust iface sysfs attr detection
d0f4a2eeeb net/mlx4_en: Don't allow aRFS for encapsulated packets
ae7b957ef0 qed: rdma - don't wait for resources under hw error recovery flow
23716d7153 gpio: uniphier: Fix void functions to remove return value
f7fb7dbdfb net/smc: add missing error check in smc_clc_prfx_set()
363438ed5d bnxt_en: Fix TX timeout when TX ring size is set to the smallest
4c4c305291 enetc: Fix illegal access when reading affinity_hint
cf9138c966 platform/x86/intel: punit_ipc: Drop wrong use of ACPI_PTR()
a8e8b14819 afs: Fix incorrect triggering of sillyrename on 3rd-party invalidation
acce91ba0d net: hso: fix muxed tty registration
494260e20a serial: mvebu-uart: fix driver's tx_empty callback
2d7c20db72 xhci: Set HCD flag to defer primary roothub registration
381c8ce0ab btrfs: prevent __btrfs_dump_space_info() to underflow its free space
d4ec140e71 erofs: fix up erofs_lookup tracepoint
7751f609ea mcb: fix error handling in mcb_alloc_bus()
406ff5bf72 USB: serial: option: add device id for Foxconn T99W265
4b2cf0faff USB: serial: option: remove duplicate USB device ID
59564b0183 USB: serial: option: add Telit LN920 compositions
5cc674a3f1 USB: serial: mos7840: remove duplicated 0xac24 device ID
20c9fdde30 usb: core: hcd: Add support for deferring roothub registration
a6c7d3c2d1 Re-enable UAS for LaCie Rugged USB3-FW with fk quirk
4dc56951a8 staging: greybus: uart: fix tty use after free
aa2c274c27 binder: make sure fd closes complete
93fa08e9a3 USB: cdc-acm: fix minor-number release
0dc1cfa7b9 USB: serial: cp210x: add ID for GW Instek GDM-834x Digital Multimeter
85d3493085 usb-storage: Add quirk for ScanLogic SL11R-IDE older than 2.6c
d4e7647695 xen/x86: fix PV trap handling on secondary processors
8b06b0f17f cifs: fix incorrect check for null pointer in header_assemble
b1f6efa27b usb: musb: tusb6010: uninitialized data in tusb_fifo_write_unaligned()
b8c8060651 usb: dwc2: gadget: Fix ISOC transfer complete handling for DDMA
ff275c870e usb: dwc2: gadget: Fix ISOC flow for BDMA and Slave
f013a5001b usb: gadget: r8a66597: fix a loop in set_feature()
aa40438c71 ocfs2: drop acl cache for directories too
e74e2950a0 Linux 5.4.149
3825263486 drm/nouveau/nvkm: Replace -ENOSYS with -ENODEV
409cb0b3d4 rtc: rx8010: select REGMAP_I2C
43832bf763 blk-throttle: fix UAF by deleteing timer in blk_throtl_exit()
c37a34d797 pwm: stm32-lp: Don't modify HW state in .remove() callback
8a29e68ea8 pwm: rockchip: Don't modify HW state in .remove() callback
ed60d2db31 pwm: img: Don't modify HW state in .remove() callback
b16f4acf6b nilfs2: fix memory leak in nilfs_sysfs_delete_snapshot_group
594addd436 nilfs2: fix memory leak in nilfs_sysfs_create_snapshot_group
237ca37ca5 nilfs2: fix memory leak in nilfs_sysfs_delete_##name##_group
288c8b5ba5 nilfs2: fix memory leak in nilfs_sysfs_create_##name##_group
dc70f0c8c3 nilfs2: fix NULL pointer in nilfs_##name##_attr_release
9c3ba40488 nilfs2: fix memory leak in nilfs_sysfs_create_device_group
fb4c7d2923 btrfs: fix lockdep warning while mounting sprout fs
3f2d5c11be ceph: lockdep annotations for try_nonblocking_invalidate
3bbb11261a ceph: request Fw caps before updating the mtime in ceph_write_iter
2c89a856fa dmaengine: xilinx_dma: Set DMA mask for coherent APIs
2f3206199d dmaengine: ioat: depends on !UML
644f1e87fe dmaengine: sprd: Add missing MODULE_DEVICE_TABLE
445a3379f6 parisc: Move pci_dev_is_behind_card_dino to where it is used
2f7bfc07e3 drivers: base: cacheinfo: Get rid of DEFINE_SMP_CALL_CACHE_FUNCTION()
a12743d072 thermal/core: Fix thermal_cooling_device_register() prototype
c7b9a866ee Kconfig.debug: drop selecting non-existing HARDLOCKUP_DETECTOR_ARCH
3c1d9b650c net: stmmac: reset Tx desc base address before restarting Tx
729f9d5ee3 phy: avoid unnecessary link-up delay in polling mode
81e6b51709 pwm: lpc32xx: Don't modify HW state in .probe() after the PWM chip was registered
b94def8a47 profiling: fix shift-out-of-bounds bugs
7e98111cb2 nilfs2: use refcount_dec_and_lock() to fix potential UAF
5607b1bae1 prctl: allow to setup brk for et_dyn executables
b40301607c 9p/trans_virtio: Remove sysfs file on probe failure
c3b45ea0a3 thermal/drivers/exynos: Fix an error code in exynos_tmu_probe()
e106080303 dmaengine: acpi: Avoid comparison GSI with Linux vIRQ
93f8a98ad8 um: virtio_uml: fix memory leak on init failures
4cd05e390a staging: rtl8192u: Fix bitwise vs logical operator in TranslateRxSignalStuff819xUsb()
2f4b67bceb sctp: add param size validation for SCTP_PARAM_SET_PRIMARY
cbd10b1189 sctp: validate chunk size in __rcv_asconf_lookup
6a12918e90 ARM: 9098/1: ftrace: MODULE_PLT: Fix build problem without DYNAMIC_FTRACE
2f7974cd7b ARM: 9079/1: ftrace: Add MODULE_PLTS support
1b27a03d12 ARM: 9078/1: Add warn suppress parameter to arm_gen_branch_link()
490be340c8 ARM: 9077/1: PLT: Move struct plt_entries definition to header
278df06460 apparmor: remove duplicate macro list_entry_is_head()
f23763ab46 ARM: Qualify enabling of swiotlb_init()
6bfdc3056c s390/pci_mmio: fully validate the VMA before calling follow_pte()
bd292c6873 console: consume APC, DM, DCS
b0c813fbbf KVM: remember position in kvm->vcpus array
5163578e9d PCI/ACPI: Add Ampere Altra SOC MCFG quirk
ec29e33e5c PCI: aardvark: Fix reporting CRS value
3f0e275e43 PCI: pci-bridge-emul: Add PCIe Root Capabilities Register
296895c4f0 PCI: aardvark: Indicate error in 'val' when config read fails
2fcb7b7a1d PCI: pci-bridge-emul: Fix big-endian support
c4f92aff87 Merge 5.4.148 into android11-5.4-lts
07e5f23d3f Linux 5.4.148
54ac8339ae s390/bpf: Fix 64-bit subtraction of the -0x80000000 constant
a5fc48000b s390/bpf: Fix optimizing out zero-extensions
f7f1bac898 net: renesas: sh_eth: Fix freeing wrong tx descriptor
3d32ce5472 ip_gre: validate csum_start only on pull
f9b308f730 qlcnic: Remove redundant unlock in qlcnic_pinit_from_rom
93f54354cc fq_codel: reject silly quantum parameters
d448b240b1 netfilter: socket: icmp6: fix use-after-scope
b79204169d net: dsa: b53: Fix calculating number of switch ports
d5c0f016ae perf unwind: Do not overwrite FEATURE_CHECK_LDFLAGS-libunwind-{x86,aarch64}
114bf5776f ARC: export clear_user_page() for modules
9b63c27d6b mtd: rawnand: cafe: Fix a resource leak in the error handling path of 'cafe_nand_probe()'
14e0fdc43d PCI: Sync __pci_register_driver() stub for CONFIG_PCI=n
810f9b6f0a KVM: arm64: Handle PSCI resets before userspace touches vCPU state
5f289dcf0b mfd: tqmx86: Clear GPIO IRQ resource when no IRQ is set
e1746c27c3 PCI: Fix pci_dev_str_match_path() alloc while atomic bug
beaf65f0fe mfd: axp20x: Update AXP288 volatile ranges
4a6c7c818b NTB: perf: Fix an error code in perf_setup_inbuf()
5a16141949 NTB: Fix an error code in ntb_msit_probe()
0980697969 ethtool: Fix an error code in cxgb2.c
f336aa92b4 PCI: ibmphp: Fix double unmap of io_mem
0f9550c4f4 block, bfq: honor already-setup queue merges
b61a99dda3 net: usb: cdc_mbim: avoid altsetting toggling for Telit LN920
79b584d859 Set fc_nlinfo in nh_create_ipv4, nh_create_ipv6
cf4168c4e0 PCI: Add ACS quirks for Cavium multi-function devices
b3435cd968 tracing/probes: Reject events which have the same name of existing one
32280649f0 mfd: Don't use irq_create_mapping() to resolve a mapping
e904621ae0 fuse: fix use after free in fuse_read_interrupt()
a1eaaa6b7d PCI: Add ACS quirks for NXP LX2xx0 and LX2xx2 platforms
47c4490617 mfd: db8500-prcmu: Adjust map to reality
88834a6253 dt-bindings: mtd: gpmc: Fix the ECC bytes vs. OOB bytes equation
8656566821 mm/memory_hotplug: use "unsigned long" for PFN in zone_for_pfn_range()
d291cca2c4 net: hns3: fix the timing issue of VF clearing interrupt sources
65bcb8f73a net: hns3: disable mac in flr process
d8fe64c351 net: hns3: change affinity_mask to numa node range
dede0381da net: hns3: pad the short tunnel frame before sending to hardware
4bf2c9605d KVM: PPC: Book3S HV: Tolerate treclaim. in fake-suspend mode changing registers
235f782d5e ibmvnic: check failover_pending in login response
d3939844eb dt-bindings: arm: Fix Toradex compatible typo
c642afd17a qed: Handle management FW error
9ebbb8b964 tcp: fix tp->undo_retrans accounting in tcp_sacktag_one()
baf4504771 net: dsa: destroy the phylink instance on any error in dsa_slave_phy_setup
498e765b85 net/af_unix: fix a data-race in unix_dgram_poll
e7332a1ac1 vhost_net: fix OoB on sendmsg() failure.
172749c879 events: Reuse value read using READ_ONCE instead of re-reading it
cd78d9c996 net/mlx5: Fix potential sleeping in atomic context
48e79555c2 net/mlx5: FWTrace, cancel work on alloc pd error flow
4655f8a5af perf machine: Initialize srcline string member in add_location struct
6808e70a77 tipc: increase timeout in tipc_sk_enqueue()
678787dcfe r6040: Restore MDIO clock frequency after MAC reset
efe35db948 net/l2tp: Fix reference count leak in l2tp_udp_recv_core
5ab04a4ffe dccp: don't duplicate ccid when cloning dccp sock
6c4b7a87ba ptp: dp83640: don't define PAGE0
faf9d46542 net-caif: avoid user-triggerable WARN_ON(1)
79ab38864d tipc: fix an use-after-free issue in tipc_recvmsg
08f33350ed x86/mm: Fix kern_addr_valid() to cope with existing but not present entries
fde4caf6fe s390/sclp: fix Secure-IPL facility detection
15b674b1e5 drm/etnaviv: add missing MMU context put when reaping MMU mapping
b2ec1e6f1d drm/etnaviv: reference MMU context when setting up hardware state
5827dbac41 drm/etnaviv: fix MMU context leak on GPU reset
5e67b38435 drm/etnaviv: exec and MMU state is lost when resetting the GPU
7068030d5e drm/etnaviv: keep MMU context across runtime suspend/resume
a7970d4f00 drm/etnaviv: stop abusing mmu_context as FE running marker
ee52ccecfe drm/etnaviv: put submit prev MMU context when it exists
a9bacefda0 drm/etnaviv: return context from etnaviv_iommu_context_get
b56b6c51a9 drm/amd/amdgpu: Increase HWIP_MAX_INSTANCE to 10
c221eb008a PCI: Add AMD GPU multi-function power dependencies
d180a373a0 PM: base: power: don't try to use non-existing RTC for storing data
484fbe9cc0 arm64/sve: Use correct size when reinitialising SVE state
2f72542033 bnx2x: Fix enabling network interfaces without VFs
66c88a4793 xen: reset legacy rtc flag for PV domU
c7fab1f536 btrfs: fix upper limit for max_inline for page size 64K
b9cc70e3dc drm/panfrost: Clamp lock region to Bifrost minimum
9a6c885489 drm/panfrost: Use u64 for size in lock_region
6c635129bf drm/panfrost: Simplify lock_region calculation
825ba38dfd drm/amdgpu: Fix BUG_ON assert
d7a936da63 drm/msi/mdp4: populate priv->kms in mdp4_kms_init
90358cb02a net: dsa: lantiq_gswip: fix maximum frame length
c1f12f440c lib/test_stackinit: Fix static initializer test
3c232895b8 platform/chrome: cros_ec_proto: Send command again when timeout occurs
0569920e43 memcg: enable accounting for pids in nested pid namespaces
d0ddb80bbf mm,vmscan: fix divide by zero in get_scan_count
22b11dbbf9 mm/hugetlb: initialize hugetlb_usage in mm_init
1dc6df795c s390/pv: fix the forcing of the swiotlb
f3b57cf090 cpufreq: powernv: Fix init_chip_info initialization in numa=off
b5eb54c4a9 scsi: qla2xxx: Sync queue idx with queue_pair_map idx
f499a9e9ed scsi: qla2xxx: Changes to support kdump kernel
cfa4591328 scsi: BusLogic: Fix missing pr_cont() use
a701ae9a0d ovl: fix BUG_ON() in may_delete() when called from ovl_cleanup()
1a2f728b03 parisc: fix crash with signals and alloca
76bebc93e1 net: w5100: check return value after calling platform_get_resource()
3179dd79db fix array-index-out-of-bounds in taprio_change
ef9a7867b2 net: fix NULL pointer reference in cipso_v4_doi_free
88a4ed85e8 ath9k: fix sleeping in atomic context
99b950d55e ath9k: fix OOB read ar9300_eeprom_restore_internal
5f70ea4a5c parport: remove non-zero check on count
c30ea33b03 net/mlx5: DR, Enable QP retransmission
c9095f788d iwlwifi: mvm: fix access to BSS elements
f950996d64 iwlwifi: mvm: avoid static queue number aliasing
2db5ae5b28 iwlwifi: mvm: fix a memory leak in iwl_mvm_mac_ctxt_beacon_changed
3da13a1e2a drm/amdkfd: Account for SH/SE count when setting up cu masks.
2af60889c8 ASoC: rockchip: i2s: Fixup config for DAIFMT_DSP_A/B
98381f840f ASoC: rockchip: i2s: Fix regmap_ops hang
a1c7bc02e1 usbip:vhci_hcd USB port can get stuck in the disabled state
4f6095b0c9 usbip: give back URBs for unsent unlink requests during cleanup
9a4a680529 usb: musb: musb_dsps: request_irq() after initializing musb
d24381e5a7 Revert "USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set"
aa40cf19bf cifs: fix wrong release in sess_alloc_buffer() failed path
39111cbb7b mmc: core: Return correct emmc response in case of ioctl error
26f55b60f2 selftests/bpf: Enlarge select() timeout for test_maps
48f5a5f027 mmc: rtsx_pci: Fix long reads when clock is prescaled
4e773c5553 mmc: sdhci-of-arasan: Check return value of non-void funtions
a73bbfabfe of: Don't allow __of_attached_node_sysfs() without CONFIG_SYSFS
2fdf7d38ee ASoC: Intel: Skylake: Fix passing loadable flag for module
f6ff4d5609 ASoC: Intel: Skylake: Fix module configuration for KPB and MIXER
736f60bd48 btrfs: tree-log: check btrfs_lookup_data_extent return value
53a72858bc m68knommu: only set CONFIG_ISA_DMA_API for ColdFire sub-arch
3710cff57d drm/exynos: Always initialize mapping in exynos_drm_register_dma()
727c973ffe lockd: lockd server-side shouldn't set fl_ops
a18cfd715e usb: chipidea: host: fix port index underflow and UBSAN complains
8deedce385 gfs2: Don't call dlm after protocol is unmounted
50cf8f1b6c staging: rts5208: Fix get_ms_information() heap buffer size
8dfd785ae1 rpc: fix gss_svc_init cleanup on failure
0bc818e023 tcp: enable data-less, empty-cookie SYN with TFO_SERVER_COOKIE_NOT_REQD
2918eca497 serial: sh-sci: fix break handling for sysrq
d02a1c5fd7 opp: Don't print an error if required-opps is missing
d772d993b0 Bluetooth: Fix handling of LE Enhanced Connection Complete
fb8593e8ed nvme-tcp: don't check blk_mq_tag_to_rq when receiving pdu data
072660f6c6 arm64: dts: ls1046a: fix eeprom entries
08825a784e arm64: tegra: Fix compatible string for Tegra132 CPUs
a6b69a76c3 ARM: tegra: tamonten: Fix UART pad setting
a66049c5ff mac80211: Fix monitor MTU limit so that A-MSDUs get through
1e2842fb7e drm/display: fix possible null-pointer dereference in dcn10_set_clock()
cf82fe45be gpu: drm: amd: amdgpu: amdgpu_i2c: fix possible uninitialized-variable access in amdgpu_i2c_router_select_ddc_port()
bbaa21da55 net/mlx5: Fix variable type to match 64bit
0d563020b8 Bluetooth: avoid circular locks in sco_sock_connect
37d7ae2b05 Bluetooth: schedule SCO timeouts with delayed_work
c408efcb8a selftests/bpf: Fix xdp_tx.c prog section name
350e7501ee drm/msm: mdp4: drop vblank get/put from prepare/complete_commit
e545080477 net: ethernet: stmmac: Do not use unreachable() in ipq806x_gmac_probe()
ed3400f22b arm64: dts: qcom: sdm660: use reg value for memory node
52f8a30730 ARM: dts: imx53-ppd: Fix ACHC entry
e15afa6747 media: tegra-cec: Handle errors of clk_prepare_enable()
53d02b0409 media: TDA1997x: fix tda1997x_query_dv_timings() return value
71de2779e5 media: v4l2-dv-timings.c: fix wrong condition in two for-loops
d785cef384 media: imx258: Limit the max analogue gain to 480
33bd83fe3f media: imx258: Rectify mismatch of VTS value
8d179746b3 ASoC: Intel: bytcr_rt5640: Move "Platform Clock" routes to the maps for the matching in-/output
37414bd6ec arm64: tegra: Fix Tegra194 PCIe EP compatible string
5a24034ad8 bonding: 3ad: fix the concurrency between __bond_release_one() and bond_3ad_state_machine_handler()
b6cee35839 workqueue: Fix possible memory leaks in wq_numa_init()
9b4f0170e0 Bluetooth: skip invalid hci_sync_conn_complete_evt
7b1718666f ata: sata_dwc_460ex: No need to call phy_exit() befre phy_init()
76cbc142a5 samples: bpf: Fix tracex7 error raised on the missing argument
917eb0bbb8 staging: ks7010: Fix the initialization of the 'sleep_status' structure
44fd61a8bd serial: 8250_pci: make setup_port() parameters explicitly unsigned
4beadefea8 hvsi: don't panic on tty_register_driver failure
af0bd97b9d xtensa: ISS: don't panic in rs_init
5418023f81 serial: 8250: Define RX trigger levels for OxSemi 950 devices
b050848bba s390: make PCI mio support a machine flag
0dd8da8ad0 s390/jump_label: print real address in a case of a jump label bug
91b4d44c7c flow_dissector: Fix out-of-bounds warnings
8076709052 ipv4: ip_output.c: Fix out-of-bounds warning in ip_copy_addrs()
faf0749c90 video: fbdev: riva: Error out if 'pixclock' equals zero
ae0d210aa7 video: fbdev: kyro: Error out if 'pixclock' equals zero
98551f0a7b video: fbdev: asiliantfb: Error out if 'pixclock' equals zero
9dff06c505 bpf/tests: Do not PASS tests without actually testing the result
58831317c9 bpf/tests: Fix copy-and-paste error in double word test
a23430e79e drm/amd/amdgpu: Update debugfs link_settings output link_rate field in hex
9baa552b2f drm/amd/display: Fix timer_per_pixel unit error
6c78ee1aec tty: serial: jsm: hold port lock when reporting modem line changes
7993ee1733 staging: board: Fix uninitialized spinlock when attaching genpd
995567ded0 usb: gadget: composite: Allow bMaxPower=0 if self-powered
44bbd4e636 USB: EHCI: ehci-mv: improve error handling in mv_ehci_enable()
7b96de5c30 usb: gadget: u_ether: fix a potential null pointer dereference
e1480bcb40 usb: host: fotg210: fix the actual_length of an iso packet
33109bdf2c usb: host: fotg210: fix the endpoint's transactional opportunities calculation
b190fdb93a igc: Check if num of q_vectors is smaller than max before array access
f4bf2fdfe3 drm: avoid blocking in drm_clients_info's rcu section
a1d12196c3 Smack: Fix wrong semantics in smk_access_entry()
c454b1a215 netlink: Deal with ESRCH error in nlmsg_notify()
5adbbb27bb video: fbdev: kyro: fix a DoS bug by restricting user input
4ee6cc0f52 ARM: dts: qcom: apq8064: correct clock names
b9707a9504 iavf: fix locking of critical sections
35429d3aa3 iavf: do not override the adapter state in the watchdog task
ab03f15c1d iio: dac: ad5624r: Fix incorrect handling of an optional regulator.
0de0c16739 tipc: keep the skb in rcv queue until the whole data is read
fe14f10c07 PCI: Use pci_update_current_state() in pci_enable_device_flags()
7d35690974 crypto: mxs-dcp - Use sg_mapping_iter to copy data
80bec14b4e media: dib8000: rewrite the init prbs logic
4cab14bcff ASoC: atmel: ATMEL drivers don't need HAS_DMA
4a7c6e9159 drm/amdgpu: Fix amdgpu_ras_eeprom_init()
d766826eee userfaultfd: prevent concurrent API initialization
7bf2913a5b kbuild: Fix 'no symbols' warning when CONFIG_TRIM_UNUSD_KSYMS=y
0ac2ecb915 MIPS: Malta: fix alignment of the devicetree buffer
debdff9600 f2fs: fix to unmap pages from userspace process in punch_hole()
1c28c23dc8 f2fs: fix unexpected ENOENT comes from f2fs_map_blocks()
1ca5b00782 f2fs: fix to account missing .skipped_gc_rwsem
ec5cab3798 KVM: PPC: Fix clearing never mapped TCEs in realmode
e46ce5a8ab clk: at91: clk-generated: Limit the requested rate to our range
557f6445e3 clk: at91: clk-generated: pass the id of changeable parent at registration
d93a37889e clk: at91: sam9x60: Don't use audio PLL
57188e2cac fscache: Fix cookie key hashing
e2e3758a2c platform/x86: dell-smbios-wmi: Add missing kfree in error-exit from run_smbios_call
ba5d4dc003 KVM: PPC: Book3S HV Nested: Reflect guest PMU in-use to L0 when guest SPRs are live
a02309beb2 HID: i2c-hid: Fix Elan touchpad regression
f934961bf4 scsi: target: avoid per-loop XCOPY buffer allocations
389946024f powerpc/config: Renable MTD_PHYSMAP_OF
db16408d52 scsi: qedf: Fix error codes in qedf_alloc_global_queues()
5e56c8d843 scsi: qedi: Fix error codes in qedi_alloc_global_queues()
a90ef02f01 scsi: smartpqi: Fix an error code in pqi_get_raid_map()
3365d41c04 pinctrl: single: Fix error return code in pcs_parse_bits_in_pinctrl_entry()
ef476b8d5a scsi: fdomain: Fix error return code in fdomain_probe()
9ee7b45edd SUNRPC: Fix potential memory corruption
be09cbd6a3 dma-debug: fix debugfs initialization order
9315497b17 openrisc: don't printk() unconditionally
f56ee9af23 f2fs: reduce the scope of setting fsck tag when de->name_len is zero
2a2afb6d26 f2fs: show f2fs instance in printk_ratelimited
25ed049891 RDMA/efa: Remove double QP type assignment
b8bb4b2839 powerpc/stacktrace: Include linux/delay.h
02889ac588 vfio: Use config not menuconfig for VFIO_NOIOMMU
b900cc4816 pinctrl: samsung: Fix pinctrl bank pin count
e69c283621 docs: Fix infiniband uverbs minor number
fb42b9801e RDMA/iwcm: Release resources if iw_cm module initialization fails
7930b1f98d IB/hfi1: Adjust pkey entry in index 0
2b1addd585 scsi: bsg: Remove support for SCSI_IOCTL_SEND_COMMAND
a02982545e f2fs: quota: fix potential deadlock
bd74d6de0b HID: input: do not report stylus battery state as "full"
0656eb5e7e PCI: aardvark: Fix masking and unmasking legacy INTx interrupts
2b58db229e PCI: aardvark: Increase polling delay to 1.5s while waiting for PIO response
0f39f8429c PCI: aardvark: Fix checking for PIO status
d810fa6f5f PCI: xilinx-nwl: Enable the clock through CCF
d43ad02ad3 PCI: Return ~0 data on pciconfig_read() CAP_SYS_ADMIN failure
3aa6d023c6 PCI: Restrict ASMedia ASM1062 SATA Max Payload Size Supported
4d2bc69df9 PCI/portdrv: Enable Bandwidth Notification only if port supports it
0445da50b7 ARM: 9105/1: atags_to_fdt: don't warn about stack size
8ec08f1431 libata: add ATA_HORKAGE_NO_NCQ_TRIM for Samsung 860 and 870 SSDs
7cfbf391e8 dmaengine: imx-sdma: remove duplicated sdma_load_context
788122c99d Revert "dmaengine: imx-sdma: refine to load context only once"
86e1abcd14 media: rc-loopback: return number of emitters rather than error
9d91046f6b media: uvc: don't do DMA on stack
1ccb1fa41f VMCI: fix NULL pointer dereference when unmapping queue pair
80d1675903 dm crypt: Avoid percpu_counter spinlock contention in crypt_page_alloc()
a6d4ac3f86 power: supply: max17042: handle fails of reading status register
668370dd4c block: bfq: fix bfq_set_next_ioprio_data()
cfdd25cd42 crypto: public_key: fix overflow during implicit conversion
3411b481ed arm64: head: avoid over-mapping in map_memory
991b64b89b soc: aspeed: p2a-ctrl: Fix boundary check for mmap
2712f29c44 soc: aspeed: lpc-ctrl: Fix boundary check for mmap
24c245de17 soc: qcom: aoss: Fix the out of bound usage of cooling_devs
603dbb1fa2 pinctrl: ingenic: Fix incorrect pull up/down info
eda59ca42f pinctrl: stmfx: Fix hazardous u8[] to unsigned long cast
d4acec5e94 tools/thermal/tmon: Add cross compiling support
8a964aa6ed 9p/xen: Fix end of loop tests for list_for_each_entry
7d81fcc203 include/linux/list.h: add a macro to test if entry is pointing to the head
4bc0d1b535 xen: fix setting of max_pfn in shared_info
27f3b7f5c6 powerpc/perf/hv-gpci: Fix counter value parsing
7e9e6d0e07 PCI/MSI: Skip masking MSI-X on Xen PV
2edc06fa38 blk-zoned: allow BLKREPORTZONE without CAP_SYS_ADMIN
8da22cc41a blk-zoned: allow zone management send operations without CAP_SYS_ADMIN
cd7b39e7c4 btrfs: reset replace target device to allocation state on close
8554095328 btrfs: wake up async_delalloc_pages waiters after submit
d609c63a71 rtc: tps65910: Correct driver module alias
4076dc42c4 Merge branch 'android11-5.4' into 'android11-5.4-lts'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Idd628e993b6566952e119bfe31f4c8fe87d818a8
2022-01-21 08:26:49 +01:00

379 lines
8.0 KiB
C

// SPDX-License-Identifier: GPL-2.0
/*
* U2F Zero LED and RNG driver
*
* Copyright 2018 Andrej Shadura <andrew@shadura.me>
* Loosely based on drivers/hid/hid-led.c
* and drivers/usb/misc/chaoskey.c
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
* published by the Free Software Foundation, version 2.
*/
#include <linux/hid.h>
#include <linux/hidraw.h>
#include <linux/hw_random.h>
#include <linux/leds.h>
#include <linux/module.h>
#include <linux/mutex.h>
#include <linux/usb.h>
#include "usbhid/usbhid.h"
#include "hid-ids.h"
#define DRIVER_SHORT "u2fzero"
#define HID_REPORT_SIZE 64
/* We only use broadcast (CID-less) messages */
#define CID_BROADCAST 0xffffffff
struct u2f_hid_msg {
u32 cid;
union {
struct {
u8 cmd;
u8 bcnth;
u8 bcntl;
u8 data[HID_REPORT_SIZE - 7];
} init;
struct {
u8 seq;
u8 data[HID_REPORT_SIZE - 5];
} cont;
};
} __packed;
struct u2f_hid_report {
u8 report_type;
struct u2f_hid_msg msg;
} __packed;
#define U2F_HID_MSG_LEN(f) (size_t)(((f).init.bcnth << 8) + (f).init.bcntl)
/* Custom extensions to the U2FHID protocol */
#define U2F_CUSTOM_GET_RNG 0x21
#define U2F_CUSTOM_WINK 0x24
struct u2fzero_device {
struct hid_device *hdev;
struct urb *urb; /* URB for the RNG data */
struct led_classdev ldev; /* Embedded struct for led */
struct hwrng hwrng; /* Embedded struct for hwrng */
char *led_name;
char *rng_name;
u8 *buf_out;
u8 *buf_in;
struct mutex lock;
bool present;
};
static int u2fzero_send(struct u2fzero_device *dev, struct u2f_hid_report *req)
{
int ret;
mutex_lock(&dev->lock);
memcpy(dev->buf_out, req, sizeof(struct u2f_hid_report));
ret = hid_hw_output_report(dev->hdev, dev->buf_out,
sizeof(struct u2f_hid_msg));
mutex_unlock(&dev->lock);
if (ret < 0)
return ret;
return ret == sizeof(struct u2f_hid_msg) ? 0 : -EMSGSIZE;
}
struct u2fzero_transfer_context {
struct completion done;
int status;
};
static void u2fzero_read_callback(struct urb *urb)
{
struct u2fzero_transfer_context *ctx = urb->context;
ctx->status = urb->status;
complete(&ctx->done);
}
static int u2fzero_recv(struct u2fzero_device *dev,
struct u2f_hid_report *req,
struct u2f_hid_msg *resp)
{
int ret;
struct hid_device *hdev = dev->hdev;
struct u2fzero_transfer_context ctx;
mutex_lock(&dev->lock);
memcpy(dev->buf_out, req, sizeof(struct u2f_hid_report));
dev->urb->context = &ctx;
init_completion(&ctx.done);
ret = usb_submit_urb(dev->urb, GFP_NOIO);
if (unlikely(ret)) {
hid_err(hdev, "usb_submit_urb failed: %d", ret);
goto err;
}
ret = hid_hw_output_report(dev->hdev, dev->buf_out,
sizeof(struct u2f_hid_msg));
if (ret < 0) {
hid_err(hdev, "hid_hw_output_report failed: %d", ret);
goto err;
}
ret = (wait_for_completion_timeout(
&ctx.done, msecs_to_jiffies(USB_CTRL_SET_TIMEOUT)));
if (ret == 0) {
usb_kill_urb(dev->urb);
hid_err(hdev, "urb submission timed out");
} else {
ret = dev->urb->actual_length;
memcpy(resp, dev->buf_in, ret);
}
err:
mutex_unlock(&dev->lock);
return ret;
}
static int u2fzero_blink(struct led_classdev *ldev)
{
struct u2fzero_device *dev = container_of(ldev,
struct u2fzero_device, ldev);
struct u2f_hid_report req = {
.report_type = 0,
.msg.cid = CID_BROADCAST,
.msg.init = {
.cmd = U2F_CUSTOM_WINK,
.bcnth = 0,
.bcntl = 0,
.data = {0},
}
};
return u2fzero_send(dev, &req);
}
static int u2fzero_brightness_set(struct led_classdev *ldev,
enum led_brightness brightness)
{
ldev->brightness = LED_OFF;
if (brightness)
return u2fzero_blink(ldev);
else
return 0;
}
static int u2fzero_rng_read(struct hwrng *rng, void *data,
size_t max, bool wait)
{
struct u2fzero_device *dev = container_of(rng,
struct u2fzero_device, hwrng);
struct u2f_hid_report req = {
.report_type = 0,
.msg.cid = CID_BROADCAST,
.msg.init = {
.cmd = U2F_CUSTOM_GET_RNG,
.bcnth = 0,
.bcntl = 0,
.data = {0},
}
};
struct u2f_hid_msg resp;
int ret;
size_t actual_length;
/* valid packets must have a correct header */
int min_length = offsetof(struct u2f_hid_msg, init.data);
if (!dev->present) {
hid_dbg(dev->hdev, "device not present");
return 0;
}
ret = u2fzero_recv(dev, &req, &resp);
/* ignore errors or packets without data */
if (ret < min_length)
return 0;
/* only take the minimum amount of data it is safe to take */
actual_length = min3((size_t)ret - min_length,
U2F_HID_MSG_LEN(resp), max);
memcpy(data, resp.init.data, actual_length);
return actual_length;
}
static int u2fzero_init_led(struct u2fzero_device *dev,
unsigned int minor)
{
dev->led_name = devm_kasprintf(&dev->hdev->dev, GFP_KERNEL,
"%s%u", DRIVER_SHORT, minor);
if (dev->led_name == NULL)
return -ENOMEM;
dev->ldev.name = dev->led_name;
dev->ldev.max_brightness = LED_ON;
dev->ldev.flags = LED_HW_PLUGGABLE;
dev->ldev.brightness_set_blocking = u2fzero_brightness_set;
return devm_led_classdev_register(&dev->hdev->dev, &dev->ldev);
}
static int u2fzero_init_hwrng(struct u2fzero_device *dev,
unsigned int minor)
{
dev->rng_name = devm_kasprintf(&dev->hdev->dev, GFP_KERNEL,
"%s-rng%u", DRIVER_SHORT, minor);
if (dev->rng_name == NULL)
return -ENOMEM;
dev->hwrng.name = dev->rng_name;
dev->hwrng.read = u2fzero_rng_read;
dev->hwrng.quality = 1;
return devm_hwrng_register(&dev->hdev->dev, &dev->hwrng);
}
static int u2fzero_fill_in_urb(struct u2fzero_device *dev)
{
struct hid_device *hdev = dev->hdev;
struct usb_device *udev;
struct usbhid_device *usbhid = hdev->driver_data;
unsigned int pipe_in;
struct usb_host_endpoint *ep;
if (dev->hdev->bus != BUS_USB)
return -EINVAL;
udev = hid_to_usb_dev(hdev);
if (!usbhid->urbout || !usbhid->urbin)
return -ENODEV;
ep = usb_pipe_endpoint(udev, usbhid->urbin->pipe);
if (!ep)
return -ENODEV;
dev->urb = usb_alloc_urb(0, GFP_KERNEL);
if (!dev->urb)
return -ENOMEM;
pipe_in = (usbhid->urbin->pipe & ~(3 << 30)) | (PIPE_INTERRUPT << 30);
usb_fill_int_urb(dev->urb,
udev,
pipe_in,
dev->buf_in,
HID_REPORT_SIZE,
u2fzero_read_callback,
NULL,
ep->desc.bInterval);
return 0;
}
static int u2fzero_probe(struct hid_device *hdev,
const struct hid_device_id *id)
{
struct u2fzero_device *dev;
unsigned int minor;
int ret;
if (!hid_is_usb(hdev))
return -EINVAL;
dev = devm_kzalloc(&hdev->dev, sizeof(*dev), GFP_KERNEL);
if (dev == NULL)
return -ENOMEM;
dev->buf_out = devm_kmalloc(&hdev->dev,
sizeof(struct u2f_hid_report), GFP_KERNEL);
if (dev->buf_out == NULL)
return -ENOMEM;
dev->buf_in = devm_kmalloc(&hdev->dev,
sizeof(struct u2f_hid_msg), GFP_KERNEL);
if (dev->buf_in == NULL)
return -ENOMEM;
ret = hid_parse(hdev);
if (ret)
return ret;
dev->hdev = hdev;
hid_set_drvdata(hdev, dev);
mutex_init(&dev->lock);
ret = hid_hw_start(hdev, HID_CONNECT_HIDRAW);
if (ret)
return ret;
u2fzero_fill_in_urb(dev);
dev->present = true;
minor = ((struct hidraw *) hdev->hidraw)->minor;
ret = u2fzero_init_led(dev, minor);
if (ret) {
hid_hw_stop(hdev);
return ret;
}
hid_info(hdev, "U2F Zero LED initialised\n");
ret = u2fzero_init_hwrng(dev, minor);
if (ret) {
hid_hw_stop(hdev);
return ret;
}
hid_info(hdev, "U2F Zero RNG initialised\n");
return 0;
}
static void u2fzero_remove(struct hid_device *hdev)
{
struct u2fzero_device *dev = hid_get_drvdata(hdev);
mutex_lock(&dev->lock);
dev->present = false;
mutex_unlock(&dev->lock);
hid_hw_stop(hdev);
usb_poison_urb(dev->urb);
usb_free_urb(dev->urb);
}
static const struct hid_device_id u2fzero_table[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_CYGNAL,
USB_DEVICE_ID_U2F_ZERO) },
{ }
};
MODULE_DEVICE_TABLE(hid, u2fzero_table);
static struct hid_driver u2fzero_driver = {
.name = "hid-" DRIVER_SHORT,
.probe = u2fzero_probe,
.remove = u2fzero_remove,
.id_table = u2fzero_table,
};
module_hid_driver(u2fzero_driver);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Andrej Shadura <andrew@shadura.me>");
MODULE_DESCRIPTION("U2F Zero LED and RNG driver");