Merge tag 'android11-5.4.210_r00' into android11-5.4

This is the merge of the upstream LTS release of 5.4.210 into the
android11-5.4 branch.

It contains the following commits:

ab6cb81d83 Merge 5.4.210 into android11-5.4-lts
de0cd3ea70 Linux 5.4.210
b58882c69f x86/speculation: Add LFENCE to RSB fill sequence
f2f41ef035 x86/speculation: Add RSB VM Exit protections
3a0ef79c6a macintosh/adb: fix oob read in do_adb_query() function
54e1abbe85 media: v4l2-mem2mem: Apply DST_QUEUE_OFF_BASE on MMAP buffers across ioctls
17c2356e46 selftests: KVM: Handle compiler optimizations in ucall
170465715a KVM: Don't null dereference ops->destroy
6098562ed9 selftests/bpf: Fix "dubious pointer arithmetic" test
6a9b3f0f3b selftests/bpf: Fix test_align verifier log patterns
9d6f67365d bpf: Test_verifier, #70 error message updates for 32-bit right shift
751f05bc6f selftests/bpf: Extend verifier and bpf_sock tests for dst_port loads
7c1134c7da bpf: Verifer, adjust_scalar_min_max_vals to always call update_reg_bounds()
a8ba72bbed ACPI: APEI: Better fix to avoid spamming the console with old error logs
fa829bd4af ACPI: video: Shortening quirk list by identifying Clevo by board_name only
8ed6e5c5e2 ACPI: video: Force backlight native for some TongFang devices
828f4c3168 thermal: Fix NULL pointer dereferences in of_thermal_ functions
cc62c7de3d ANDROID: GKI: db845c: Update symbols list and ABI
60bba945eb Merge 5.4.209 into android11-5.4-lts
8d8935e76f Linux 5.4.209
0b0088e475 scsi: core: Fix race between handling STS_RESOURCE and completion
85fe8623f0 mt7601u: add USB device ID for some versions of XiaoDu WiFi Dongle.
d5a596c148 ARM: crypto: comment out gcc warning that breaks clang builds
8d6dab81ee sctp: leave the err path free in sctp_stream_init to sctp_stream_free
a49282eca8 sfc: disable softirqs for ptp TX
7799f742f2 perf symbol: Correct address for bss symbols
388b3f14ff virtio-net: fix the race between refill work and close
52be29e8b6 netfilter: nf_queue: do not allow packet truncation below transport header offset
8e0ed463db sctp: fix sleep in atomic context bug in timer handlers
bc135e464d i40e: Fix interface init with MSI interrupts (no MSI-X)
46462e26e6 tcp: Fix a data-race around sysctl_tcp_comp_sack_nr.
d42f68a9ce tcp: Fix a data-race around sysctl_tcp_comp_sack_delay_ns.
c2b57a4d3f Documentation: fix sctp_wmem in ip-sysctl.rst
2d30375343 tcp: Fix a data-race around sysctl_tcp_invalid_ratelimit.
5d235c2fc2 tcp: Fix a data-race around sysctl_tcp_autocorking.
e02c7ee5a4 tcp: Fix a data-race around sysctl_tcp_min_rtt_wlen.
558a294960 tcp: Fix a data-race around sysctl_tcp_min_tso_segs.
fb200869ea net: sungem_phy: Add of_node_put() for reference returned by of_get_parent()
e20dd1b0e0 igmp: Fix data-races around sysctl_igmp_qrv.
73e5a0b591 ipv6/addrconf: fix a null-ptr-deref bug for ip6_ptr
421e5dd1f1 net: ping6: Fix memleak in ipv6_renew_options().
3d492b008b tcp: Fix a data-race around sysctl_tcp_challenge_ack_limit.
dfdc635d55 tcp: Fix a data-race around sysctl_tcp_limit_output_bytes.
d62e255ecc scsi: ufs: host: Hold reference returned by of_parse_phandle()
b1343528c7 ice: do not setup vlan for loopback VSI
15d0198601 ice: check (DD | EOF) bits on Rx descriptor rather than (EOP | RS)
cd23a2ad7b tcp: Fix a data-race around sysctl_tcp_nometrics_save.
f9a03fd8ed tcp: Fix a data-race around sysctl_tcp_frto.
3be498bcf6 tcp: Fix a data-race around sysctl_tcp_adv_win_scale.
f4b83df011 tcp: Fix a data-race around sysctl_tcp_app_win.
f240d0cad2 tcp: Fix data-races around sysctl_tcp_dsack.
b9f937d3d5 s390/archrandom: prevent CPACF trng invocations in interrupt context
911904c577 ntfs: fix use-after-free in ntfs_ucsncmp()
098e07ef00 Bluetooth: L2CAP: Fix use-after-free caused by l2cap_chan_put
5b72a540b0 ANDROID: restore some removed refcount functions
380aec8a64 ANDROID: add tty_schedule_flip() back to the kernel
b1e3be07f2 Merge 5.4.208 into android11-5.4-lts
77ba2b9b46 Linux 5.4.208
ca5762c589 x86: drop bogus "cc" clobber from __try_cmpxchg_user_asm()
f88d8c1882 net: usb: ax88179_178a needs FLAG_SEND_ZLP
f7785092cb tty: use new tty_insert_flip_string_and_push_buffer() in pty_write()
815d936e92 tty: extract tty_flip_buffer_commit() from tty_flip_buffer_push()
2ea77b0b6d tty: drop tty_schedule_flip()
f20912215c tty: the rest, stop using tty_schedule_flip()
aa60c0cce8 tty: drivers/tty/, stop using tty_schedule_flip()
126137a53d Bluetooth: Fix bt_skb_sendmmsg not allocating partial chunks
836b47e643 Bluetooth: SCO: Fix sco_send_frame returning skb->len
aa2d34cab3 Bluetooth: Fix passing NULL to PTR_ERR
10bacb8917 Bluetooth: RFCOMM: Replace use of memcpy_from_msg with bt_skb_sendmmsg
bf46574d46 Bluetooth: SCO: Replace use of memcpy_from_msg with bt_skb_sendmsg
f00b06003b Bluetooth: Add bt_skb_sendmmsg helper
55bf99849b Bluetooth: Add bt_skb_sendmsg helper
015af30d37 ALSA: memalloc: Align buffer allocations in page size
352affc31e bitfield.h: Fix "type of reg too small for mask" test
0a0fbbd6cb x86/mce: Deduplicate exception handling
b524137fa1 mmap locking API: initial implementation as rwsem wrappers
592a1c6066 x86/uaccess: Implement macros for CMPXCHG on user addresses
1d778b54a5 x86: get rid of small constant size cases in raw_copy_{to,from}_user()
d0d583484d locking/refcount: Consolidate implementations of refcount_t
dab787c73f locking/refcount: Consolidate REFCOUNT_{MAX,SATURATED} definitions
0d3182fbe6 locking/refcount: Move saturation warnings out of line
809554147d locking/refcount: Improve performance of generic REFCOUNT_FULL code
9c9269977f locking/refcount: Move the bulk of the REFCOUNT_FULL implementation into the <linux/refcount.h> header
04bff7d7b8 locking/refcount: Remove unused refcount_*_checked() variants
513b19a43b locking/refcount: Ensure integer operands are treated as signed
68b4ee68e8 locking/refcount: Define constants for saturation and max refcount values
3f71d0e292 ima: remove the IMA_TEMPLATE Kconfig option
bc7581e36d dlm: fix pending remove if msg allocation fails
4f1d21c77b bpf: Make sure mac_header was set before using it
a1f8765f68 mm/mempolicy: fix uninit-value in mpol_rebind_policy()
76668d2a2f spi: bcm2835: bcm2835_spi_handle_err(): fix NULL pointer deref for non DMA transfers
50a1d3d097 tcp: Fix data-races around sysctl_tcp_max_reordering.
c64b99819d tcp: Fix a data-race around sysctl_tcp_rfc1337.
6cc566df68 tcp: Fix a data-race around sysctl_tcp_stdurg.
7f68bed16c tcp: Fix a data-race around sysctl_tcp_retrans_collapse.
369d99c2b8 tcp: Fix data-races around sysctl_tcp_slow_start_after_idle.
492f3713b2 tcp: Fix a data-race around sysctl_tcp_thin_linear_timeouts.
92c35113c6 tcp: Fix data-races around sysctl_tcp_recovery.
83767fe800 tcp: Fix a data-race around sysctl_tcp_early_retrans.
795aee11fd tcp: Fix data-races around sysctl knobs related to SYN option.
f39b03bd72 udp: Fix a data-race around sysctl_udp_l3mdev_accept.
6727f39e99 ipv4: Fix a data-race around sysctl_fib_multipath_use_neigh.
a8569f76df be2net: Fix buffer overflow in be_get_module_eeprom
91d6aa19dd gpio: pca953x: only use single read/write for No AI mode
031af9e617 ixgbe: Add locking to prevent panic when setting sriov_numvfs to zero
55a2a28b32 i40e: Fix erroneous adapter reinitialization during recovery process
d88d59faf4 iavf: Fix handling of dummy receive descriptors
25d53d858a tcp: Fix data-races around sysctl_tcp_fastopen.
78420d8e46 tcp: Fix data-races around sysctl_max_syn_backlog.
dc58e68d1e tcp: Fix a data-race around sysctl_tcp_tw_reuse.
e9362a9938 tcp: Fix a data-race around sysctl_tcp_notsent_lowat.
b0d9f04c87 tcp: Fix data-races around some timeout sysctl knobs.
ea309c467d tcp: Fix data-races around sysctl_tcp_reordering.
b222de2560 tcp: Fix data-races around sysctl_tcp_syncookies.
ff55c025e6 igmp: Fix a data-race around sysctl_igmp_max_memberships.
1656ecaddf igmp: Fix data-races around sysctl_igmp_llm_reports.
2aad2c5745 net/tls: Fix race in TLS device down flow
573768dede net: stmmac: fix dma queue left shift overflow issue
911b81fca2 i2c: cadence: Change large transfer count reset logic to be unconditional
73a1158875 tcp: Fix a data-race around sysctl_tcp_probe_interval.
b04817c94f tcp: Fix a data-race around sysctl_tcp_probe_threshold.
033963b220 tcp: Fix a data-race around sysctl_tcp_mtu_probe_floor.
fdb96b69f5 tcp: Fix data-races around sysctl_tcp_min_snd_mss.
30b73edc1d tcp: Fix data-races around sysctl_tcp_base_mss.
f966773e13 tcp: Fix data-races around sysctl_tcp_mtu_probing.
a7386602a2 tcp/dccp: Fix a data-race around sysctl_tcp_fwmark_accept.
25a635a67c ip: Fix a data-race around sysctl_fwmark_reflect.
281de37199 ip: Fix data-races around sysctl_ip_nonlocal_bind.
7828309df0 ip: Fix data-races around sysctl_ip_fwd_use_pmtu.
5af6d92263 ip: Fix data-races around sysctl_ip_no_pmtu_disc.
16cb6717f4 igc: Reinstate IGC_REMOVED logic and implement it properly
98c3c8fd0d perf/core: Fix data race between perf_event_set_output() and perf_mmap_close()
6194c02149 pinctrl: ralink: Check for null return of devm_kcalloc
78bdf732cf power/reset: arm-versatile: Fix refcount leak in versatile_reboot_probe
f4248bdb7d xfrm: xfrm_policy: fix a possible double xfrm_pols_put() in xfrm_bundle_lookup()
c68f6e2e4f serial: mvebu-uart: correctly report configured baudrate value
2230428fb8 PCI: hv: Fix interrupt mapping for multi-MSI
7121d7120f PCI: hv: Reuse existing IRTE allocation in compose_msi_msg()
584c9d4180 PCI: hv: Fix hv_arch_irq_unmask() for multi-MSI
8e94cc8830 PCI: hv: Fix multi-MSI to allow more than one MSI vector
3048666143 xen/gntdev: Ignore failure to unmap INVALID_GRANT_HANDLE
ed3fea5506 lockdown: Fix kexec lockdown bypass with ima policy
c3856fe718 mlxsw: spectrum_router: Fix IPv4 nexthop gateway indication
c3dc751184 riscv: add as-options for modules with assembly compontents
e5a6b05d0c pinctrl: stm32: fix optional IRQ support to gpios
06f012f2c0 Merge branch 'android11-5.4' into branch 'android11-5.4-lts'
d3891851c5 Revert "cgroup: Use separate src/dst nodes when preloading css_sets for migration"
836d95bfdc Merge 5.4.207 into android11-5.4-lts
002c3bbb47 Linux 5.4.207
08d90846e4 can: m_can: m_can_tx_handler(): fix use after free of skb
579c8a2e63 serial: pl011: UPSTAT_AUTORTS requires .throttle/unthrottle
0c8649a497 serial: stm32: Clear prev values before setting RTS delays
f4c7f5028b serial: 8250: fix return error code in serial8250_request_std_resource()
07379bd79d tty: serial: samsung_tty: set dma burst_size to 1
edcb261221 usb: dwc3: gadget: Fix event pending check
40034fe6b8 usb: typec: add missing uevent when partner support PD
42373b717a USB: serial: ftdi_sio: add Belimo device ids
cbc98dcc38 signal handling: don't use BUG_ON() for debugging
172cd32ada ARM: dts: stm32: use the correct clock source for CEC on stm32mp151
c7d4b3ec63 soc: ixp4xx/npe: Fix unused match warning
a3c7c1a726 x86: Clear .brk area at early boot
549f70b299 irqchip: or1k-pic: Undefine mask_ack for level triggered hardware
b0f41db500 ASoC: madera: Fix event generation for rate controls
79067a6632 ASoC: madera: Fix event generation for OUT1 demux
0e7e515a67 ASoC: cs47l15: Fix event generation for low power mux control
20b921f22a ASoC: wm5110: Fix DRE control
f298d2e4c6 ASoC: ops: Fix off by one in range control validation
ede990cfc4 net: sfp: fix memory leak in sfp_probe()
555cee1bc4 nvme: fix regression when disconnect a recovering ctrl
08082a642a NFC: nxp-nci: don't print header length mismatch on i2c error
4919d82f70 net: tipc: fix possible refcount leak in tipc_sk_create()
70d8aee1de platform/x86: hp-wmi: Ignore Sanitization Mode event
8dda30f81c cpufreq: pmac32-cpufreq: Fix refcount leak bug
b749af1b8f netfilter: br_netfilter: do not skip all hooks with 0 priority
0c9203e75d virtio_mmio: Restore guest page size on resume
569f1ee032 virtio_mmio: Add missing PM calls to freeze/restore
70433d9ea6 mm: sysctl: fix missing numa_stat when !CONFIG_HUGETLB_PAGE
da346adcf5 sfc: fix kernel panic when creating VF
ba60ca0ed1 seg6: bpf: fix skb checksum in bpf_push_seg6_encap()
de7849d9de seg6: fix skb checksum in SRv6 End.B6 and End.B6.Encaps behaviors
487f0f77f1 seg6: fix skb checksum evaluation in SRH encapsulation/insertion
bcad880865 sfc: fix use after free when disabling sriov
b8d77f2396 net: ftgmac100: Hold reference returned by of_get_child_by_name()
9b61d3f6df ipv4: Fix data-races around sysctl_ip_dynaddr.
cc9540ba5b raw: Fix a data-race around sysctl_raw_l3mdev_accept.
df691b9910 icmp: Fix a data-race around sysctl_icmp_ratemask.
8bc1f68714 icmp: Fix a data-race around sysctl_icmp_ratelimit.
3093a6fe31 drm/i915/gt: Serialize TLB invalidates with GT resets
40d58aad2f ARM: dts: sunxi: Fix SPI NOR campatible on Orange Pi Zero
bf676c9408 ARM: dts: at91: sama5d2: Fix typo in i2s1 node
7c1acd98fb ipv4: Fix a data-race around sysctl_fib_sync_mem.
0cba7ca667 icmp: Fix data-races around sysctl.
0e41a0f73c cipso: Fix data-races around sysctl.
861f1852af net: Fix data-races around sysctl_mem.
8d2daf565f inetpeer: Fix data-races around sysctl.
2968830c9b net: stmmac: dwc-qos: Disable split header for Tegra194
1273fd5153 ASoC: sgtl5000: Fix noise on shutdown/remove
388f3df7c3 ima: Fix a potential integer overflow in ima_appraise_measurement
72f231b9a8 drm/i915: fix a possible refcount leak in intel_dp_add_mst_connector()
0f02e7c02b ARM: 9210/1: Mark the FDT_FIXED sections as shareable
41ea241fb3 ARM: 9209/1: Spectre-BHB: avoid pr_info() every time a CPU comes out of idle
851730a198 ARM: dts: imx6qdl-ts7970: Fix ngpio typo and count
18881d7e51 ext4: fix race condition between ext4_write and ext4_convert_inline_data
423f269500 sched/rt: Disable RT_RUNTIME_SHARE by default
31e99fa969 Revert "evm: Fix memleak in init_desc"
d85d19f3b6 nilfs2: fix incorrect masking of permission flags for symlinks
393594aad5 drm/panfrost: Fix shrinker list corruption by madvise IOCTL
ad44e05f3e cgroup: Use separate src/dst nodes when preloading css_sets for migration
444be5a02b wifi: mac80211: fix queue selection for mesh/OCB interfaces
dba5484769 ARM: 9214/1: alignment: advance IT state after emulating Thumb instruction
b4d99aa5ae ARM: 9213/1: Print message about disabled Spectre workarounds only once
2c1cc40fb2 ip: fix dflt addr selection for connected nexthop
fb5a7f1548 net: sock: tracing: Fix sock_exceed_buf_limit not to dereference stale pointer
ecc6dec12c tracing/histograms: Fix memory leak problem
7425479d20 xen/netback: avoid entering xenvif_rx_next_skb() with an empty rx queue
9026b280eb ALSA: hda/realtek - Enable the headset-mic on a Xiaomi's laptop
bbb82d4d9b ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc221
7e2fbf2d9b ALSA: hda/realtek - Fix headset mic problem for a HP machine with alc671
33d33a66e3 ALSA: hda/conexant: Apply quirk for another HP ProDesk 600 G3 model
5e7cc47ab9 ALSA: hda - Add fixup for Dell Latitidue E5430
f0aba2ea80 Merge 5.4.206 into android11-5.4-lts
6584107915 Linux 5.4.206
15a3adfe75 Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting"
a5112e9833 Merge 5.4.205 into android11-5.4-lts
0ec831fa97 Linux 5.4.205
1be11d7f3c dmaengine: ti: Add missing put_device in ti_dra7_xbar_route_allocate
b31ab13256 dmaengine: ti: Fix refcount leak in ti_dra7_xbar_route_allocate
f19026ede2 dmaengine: at_xdma: handle errors of at_xdmac_alloc_desc() correctly
164e88024f dmaengine: pl330: Fix lockdep warning about non-static key
5af3f2a697 ida: don't use BUG_ON() for debugging
d88022b41e dt-bindings: dma: allwinner,sun50i-a64-dma: Fix min/max typo
aaf875578f misc: rtsx_usb: set return value in rsp_buf alloc err path
29612c43a2 misc: rtsx_usb: use separate command and response buffers
0e517d0d7f misc: rtsx_usb: fix use of dma mapped buffer for usb bulk transfer
858c2d0708 dmaengine: imx-sdma: Allow imx8m for imx7 FW revs
6758690689 i2c: cadence: Unregister the clk notifier in error path
acb72388ae selftests: forwarding: fix error message in learning_test
7adf3d45c4 selftests: forwarding: fix learning_test when h1 supports IFF_UNICAST_FLT
681738560b selftests: forwarding: fix flood_unicast_test when h2 supports IFF_UNICAST_FLT
0711d15ccb ibmvnic: Properly dispose of all skbs during a failover.
aa698affa6 ARM: at91: pm: use proper compatibles for sam9x60's rtc and rtt
6b4747d5af ARM: at91: pm: use proper compatible for sama5d2's rtc
1235402750 pinctrl: sunxi: sunxi_pconf_set: use correct offset
12a6905369 pinctrl: sunxi: a83t: Fix NAND function name for some pins
3cf8ece911 ARM: meson: Fix refcount leak in meson_smp_prepare_cpus
c465bbcd3c xfs: remove incorrect ASSERT in xfs_rename
845dac0276 can: kvaser_usb: kvaser_usb_leaf: fix bittiming limits
9afdff9dd8 can: kvaser_usb: kvaser_usb_leaf: fix CAN clock frequency regression
93f228fcbe can: kvaser_usb: replace run-time checks with struct kvaser_usb_driver_info
0adb049bac powerpc/powernv: delay rng platform device creation until later in boot
782b65ee7b video: of_display_timing.h: include errno.h
af93e82197 fbcon: Prevent that screen size is smaller than font size
4f34f380f9 fbcon: Disallow setting font bigger than screen size
997d86cd3e fbmem: Check virtual screen sizes in fb_set_var()
407c1b491f fbdev: fbmem: Fix logo center image dx issue
14ff118431 iommu/vt-d: Fix PCI bus rescan device hot add
800bb66ab2 net: rose: fix UAF bug caused by rose_t0timer_expiry
04894ab34f usbnet: fix memory leak in error case
6f655b5e13 can: gs_usb: gs_usb_open/close(): fix memory leak
eb7bbd7728 can: grcan: grcan_probe(): remove extra of_node_get()
5b48f5711f can: bcm: use call_rcu() instead of costly synchronize_rcu()
e7e3e90d67 mm/slub: add missing TID updates on slab deactivation
3defefd22a esp: limit skb_page_frag_refill use to a single page
63b83aede5 Merge 5.4.204 into android11-5.4-lts
49286fbdad Linux 5.4.204
0ac2845937 clocksource/drivers/ixp4xx: remove EXPORT_SYMBOL_GPL from ixp4xx_timer_setup()
d40057538b net: usb: qmi_wwan: add Telit 0x1070 composition
ea89a522b4 net: usb: qmi_wwan: add Telit 0x1060 composition
5c03cad51b xen/arm: Fix race in RB-tree based P2M accounting
60ac50daad xen/blkfront: force data bouncing when backend is untrusted
ede57be88a xen/netfront: force data bouncing when backend is untrusted
04945b5beb xen/netfront: fix leaking data in shared pages
42112e8f94 xen/blkfront: fix leaking data in shared pages
b7c996abe5 selftests/rseq: Change type of rseq_offset to ptrdiff_t
dc28252880 selftests/rseq: x86-32: use %gs segment selector for accessing rseq thread area
f89d15c986 selftests/rseq: x86-64: use %fs segment selector for accessing rseq thread area
618da2318e selftests/rseq: Fix: work-around asm goto compiler bugs
58082d4e81 selftests/rseq: Remove arm/mips asm goto compiler work-around
1c9f13880f selftests/rseq: Fix warnings about #if checks of undefined tokens
6f87493c3a selftests/rseq: Fix ppc32 offsets by using long rather than off_t
4e9c8fd7f7 selftests/rseq: Fix ppc32 missing instruction selection "u" and "x" for load/store
d0ca70238f selftests/rseq: Fix ppc32: wrong rseq_cs 32-bit field pointer on big endian
20e2f01085 selftests/rseq: Uplift rseq selftests for compatibility with glibc-2.35
71c04fdf59 selftests/rseq: Introduce thread pointer getters
f491e073b9 selftests/rseq: Introduce rseq_get_abi() helper
158d91ffe0 selftests/rseq: Remove volatile from __rseq_abi
7037c511f6 selftests/rseq: Remove useless assignment to cpu variable
9aa134cb66 selftests/rseq: introduce own copy of rseq uapi header
8417f44759 selftests/rseq: remove ARRAY_SIZE define from individual tests
b131190070 rseq/selftests,x86_64: Add rseq_offset_deref_addv()
7b6bffcfb9 ipv6/sit: fix ipip6_tunnel_get_prl return value
05387c4ff5 sit: use min
e99a986161 net: dsa: bcm_sf2: force pause link settings
ac9cd4f66a hwmon: (ibmaem) don't call platform_device_del() if platform_device_add() fails
ee25841221 xen/gntdev: Avoid blocking in unmap_grant_pages()
5eac00ef2a net: tun: avoid disabling NAPI twice
8f968872ec NFC: nxp-nci: Don't issue a zero length i2c_master_read()
37287fd28f nfc: nfcmrvl: Fix irq_of_parse_and_map() return value
893825289b net: bonding: fix use-after-free after 802.3ad slave unbind
6fdef80e7e net: bonding: fix possible NULL deref in rlb code
bb1dc7cc57 net/sched: act_api: Notify user space if any actions were flushed before error
3b2ddeb89f netfilter: nft_dynset: restore set element counter when failing to update
5b3a1c6bca s390: remove unneeded 'select BUILD_BIN2C'
bdecd912e9 PM / devfreq: exynos-ppmu: Fix refcount leak in of_get_devfreq_events
e1284ec4a6 caif_virtio: fix race between virtio_device_ready() and ndo_open()
9204bc3e87 net: ipv6: unexport __init-annotated seg6_hmac_net_init()
7a79f71f69 usbnet: fix memory allocation in helpers
5af106f8e0 linux/dim: Fix divide by 0 in RDMA DIM
85d7d672e8 RDMA/qedr: Fix reporting QP timeout attribute
ea0519bc57 net: tun: stop NAPI when detaching queues
a8cf919022 net: tun: unlink NAPI from device on destruction
22e7546101 selftests/net: pass ipv6_args to udpgso_bench's IPv6 TCP test
1d877327da virtio-net: fix race between ndo_open() and virtio_device_ready()
7f89bb5d71 net: usb: ax88179_178a: Fix packet receiving
bb91556d2a net: rose: fix UAF bugs caused by timer handler
76a477d398 SUNRPC: Fix READ_PLUS crasher
13816057ea s390/archrandom: simplify back to earlier design and initialize earlier
f157bd9cf3 dm raid: fix KASAN warning in raid5_add_disks
90de153575 dm raid: fix accesses beyond end of raid member array
b6125c5dc3 powerpc/bpf: Fix use of user_pt_regs in uapi
1ef2e87736 powerpc/prom_init: Fix kernel config grep
d5e32f08e7 nvdimm: Fix badblocks clear off-by-one error
53fb996f27 ipv6: take care of disable_policy when restoring routes
15a9d795eb Merge 5.4.203 into android11-5.4-lts
871cbc208b Linux 5.4.203
572cc34503 crypto: arm/ghash-ce - define fpu before fpu registers are referenced
3bf992f9d9 crypto: arm - use Kconfig based compiler checks for crypto opcodes
1b43c30cd5 ARM: 9029/1: Make iwmmxt.S support Clang's integrated assembler
9e00e5d195 ARM: OMAP2+: drop unnecessary adrl
3657432a75 ARM: 8929/1: use APSR_nzcv instead of r15 as mrc operand
02c200fdba ARM: 8933/1: replace Sun/Solaris style flag on section directive
54e6ecd5b7 crypto: arm/sha512-neon - avoid ADRL pseudo instruction
5e6f800332 crypto: arm/sha256-neon - avoid ADRL pseudo instruction
e120403c0e ARM: 8971/1: replace the sole use of a symbol with its definition
0a43679016 ARM: 8990/1: use VFP assembler mnemonics in register load/store macros
472671eec9 ARM: 8989/1: use .fpu assembler directives instead of assembler arguments
2bfb0d43a4 net: mscc: ocelot: allow unregistered IP multicast flooding
223d551a66 kexec_file: drop weak attribute from arch_kexec_apply_relocations[_add]
ab3ed204a1 powerpc/ftrace: Remove ftrace init tramp once kernel init is complete
77e2ad0918 drm: remove drm_fb_helper_modinit
476819f502 Merge branch 'android11-5.4' into branch 'android11-5.4-lts'
8e932637c7 Merge 5.4.202 into android11-5.4-lts
9ef3ad40a8 Linux 5.4.202
ceda71d49f powerpc/pseries: wire up rng during setup_arch()
ece9838902 kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt)
2a81e81314 random: update comment from copy_to_user() -> copy_to_iter()
80f0038d75 modpost: fix section mismatch check for exported init/exit sections
d1359e4129 ARM: cns3xxx: Fix refcount leak in cns3xxx_init
29ca9c4efa ARM: Fix refcount leak in axxia_boot_secondary
734a4d1514 soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe
f9b77a5293 ARM: exynos: Fix refcount leak in exynos_map_pmu
615907ccc4 ARM: dts: imx6qdl: correct PU regulator ramp delay
93e6137d2a powerpc/powernv: wire up rng during setup_arch
97808c7817 powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address
b623297932 powerpc: Enable execve syscall exit tracepoint
e0701f150b parisc: Enable ARCH_HAS_STRICT_MODULE_RWX
e5234a9d64 xtensa: Fix refcount leak bug in time.c
a52972ee70 xtensa: xtfpga: Fix refcount leak bug in setup
f0fc7cdf5f iio: adc: axp288: Override TS pin bias current for some models
11c7ea38be iio: adc: stm32: fix maximum clock rate for stm32mp15x
5e39397d60 iio: trigger: sysfs: fix use-after-free on remove
6d2e68d021 iio: gyro: mpu3050: Fix the error handling in mpu3050_power_up()
1ad6d66854 iio: accel: mma8452: ignore the return value of reset operation
a391bced84 iio:accel:mxc4005: rearrange iio trigger get and register
23c158caa0 iio:accel:bma180: rearrange iio trigger get and register
8ea16a64aa iio:chemical:ccs811: rearrange iio trigger get and register
2333db14d8 usb: chipidea: udc: check request status before setting device address
47e41b4dab xhci: turn off port power in shutdown
d62d1c606d iio: adc: vf610: fix conversion mode sysfs node name
741b6c8363 s390/cpumf: Handle events cycles and instructions identical
4837d1c812 gpio: winbond: Fix error code in winbond_gpio_get()
bb18ad00c0 Revert "net/tls: fix tls_sk_proto_close executed repeatedly"
8c7a32b7c1 virtio_net: fix xdp_rxq_info bug after suspend/resume
28a78414f2 igb: Make DMA faster when CPU is active on the PCIe link
a5ed066bc2 regmap-irq: Fix a bug in regmap_irq_enable() for type_in_mask chips
844168a5da ice: ethtool: advertise 1000M speeds properly
e3a232e576 afs: Fix dynamic root getattr
cacab1e620 MIPS: Remove repetitive increase irq_err_count
788c954f19 x86/xen: Remove undefined behavior in setup_features()
c7bdaad9cb udmabuf: add back sanity check
05c6c36c79 net/tls: fix tls_sk_proto_close executed repeatedly
02da602bc2 erspan: do not assume transport header is always set
d1592d3e36 drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf
f1f9c2a5a3 net/sched: sch_netem: Fix arithmetic in netem_dump() for 32-bit platforms
47d31b97bf bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers
104a59b745 phy: aquantia: Fix AN when higher speeds than 1G are not advertised
8ffe2e50e9 bpf: Fix request_sock leak in sk lookup helpers
f074ab2539 USB: serial: option: add Quectel RM500K module support
ea7b23eade USB: serial: option: add Quectel EM05-G modem
613c849d73 USB: serial: option: add Telit LE910Cx 0x1250 composition
ae183969bd random: quiet urandom warning ratelimit suppression message
06a24ddba9 dm mirror log: clear log bits up to BITS_PER_LONG boundary
1f350f3cf0 dm era: commit metadata in postsuspend after worker stops
0e75acbe1b ata: libata: add qc->flags in ata_qc_complete_template tracepoint
71c76f56b9 mtd: rawnand: gpmi: Fix setting busy timeout setting
c8d37e6ca1 mmc: sdhci-pci-o2micro: Fix card detect by dealing with debouncing
af28f602df net: openvswitch: fix parsing of nw_proto for IPv6 fragments
6fda65dabd ALSA: hda/realtek: Add quirk for Clevo PD70PNT
5fbad99e76 ALSA: hda/realtek - ALC897 headset MIC no sound
cf81f367cf ALSA: hda/conexant: Fix missing beep setup
eca9b5e36e ALSA: hda/via: Fix missing beep setup
1df5178fde random: schedule mix_interrupt_randomness() less often
c87e851b23 vt: drop old FONT ioctls
d7a5d91fa5 Merge 5.4.201 into android11-5.4-lts
23db944f75 Linux 5.4.201
3994d2ee55 Revert "hwmon: Make chip parameter for with_info API mandatory"
7b9c3bfbad arm64: mm: Don't invalidate FROM_DEVICE buffers at start of DMA transfer
2e1591c27b tcp: drop the hash_32() part from the index calculation
c26e1addf1 tcp: increase source port perturb table to 2^16
77d29f3b18 tcp: dynamically allocate the perturb table used by source ports
7c0a777b7d tcp: add small random increments to the source port
53c5de3092 tcp: use different parts of the port_offset for index and offset
95921a3bab tcp: add some entropy in __inet_hash_connect()
bdcbf2602f usb: gadget: u_ether: fix regression in setting fixed MAC address
2577d67a9a dm: remove special-casing of bio-based immutable singleton target on NVMe
4143503b48 s390/mm: use non-quiescing sske for KVM switch to keyed guest
1dd92ce7e8 UPSTREAM: ext4: verify dir block before splitting it
1765fa5267 UPSTREAM: ext4: fix use-after-free in ext4_rename_dir_prepare
24ee3133e7 BACKPORT: ext4: Only advertise encrypted_casefold when encryption and unicode are enabled
4adf828284 BACKPORT: ext4: fix no-key deletion for encrypt+casefold
7f4133a55e BACKPORT: ext4: optimize match for casefolded encrypted dirs
ce3b26019c BACKPORT: ext4: handle casefolding with encryption
8515bb68ee Revert "ANDROID: ext4: Handle casefolding with encryption"
91b58da1b3 Revert "ANDROID: ext4: Optimize match for casefolded encrypted dirs"
467eb53acd ANDROID: cpu/hotplug: avoid breaking Android ABI by fusing cpuhp steps
c566c065e8 ANDROID: change function signatures for some random functions.
b2351c2368 Merge 5.4.200 into android11-5.4-lts
4c5060a549 Merge 5.4.199 into android11-5.4-lts
bba1b765b9 Revert "mailbox: forward the hrtimer if not queued and under a lock"
829ffaa71c Revert "drm: fix EDID struct for old ARM OABI format"
864659cb5f Revert "ALSA: jack: Access input_dev under mutex"
f0c280af0e Linux 5.4.200
ab8dff4b71 powerpc/mm: Switch obsolete dssall to .long
1a48a41f14 riscv: Less inefficient gcc tishift helpers (and export their symbols)
2464a1c0de RISC-V: fix barrier() use in <vdso/processor.h>
490a02cd82 arm64: kprobes: Use BRK instead of single-step when executing instructions out-of-line
ef6f9ce0a7 net: openvswitch: fix leak of nested actions
6bb3c77c74 net: openvswitch: fix misuse of the cached connection on tuple changes
b47319b4aa net/sched: act_police: more accurate MTU policing
13fbdea118 virtio-pci: Remove wrong address verification in vp_del_vqs()
80e4d8a274 ALSA: hda/realtek: fix right sounds and mute/micmute LEDs for HP machine
119e0268cc ALSA: hda/realtek: fix mute/micmute LEDs for HP 440 G8
fba5428917 ext4: add reserved GDT blocks check
4ca0d2f1e0 ext4: make variable "count" signed
a6b31616e5 ext4: fix bug_on ext4_mb_use_inode_pa
ae46031287 dm mirror log: round up region bitmap size to BITS_PER_LONG
64d2df6480 serial: 8250: Store to lsr_save_flags after lsr read
b75bddfcc1 usb: gadget: lpc32xx_udc: Fix refcount leak in lpc32xx_udc_probe
6506aff2dc usb: dwc2: Fix memory leak in dwc2_hcd_init
940653b51c USB: serial: io_ti: add Agilent E5805A support
31363b2b86 USB: serial: option: add support for Cinterion MV31 with new baseline
d0c3730f27 comedi: vmk80xx: fix expression for tx buffer size
bf833c4848 i2c: designware: Use standard optional ref clock implementation
8d884c08ee irqchip/gic-v3: Fix refcount leak in gic_populate_ppi_partitions
58e67c81e2 irqchip/gic-v3: Fix error handling in gic_populate_ppi_partitions
56526c3883 irqchip/gic/realview: Fix refcount leak in realview_gic_of_init
4695bafabf faddr2line: Fix overlapping text section failures, the sequel
1b34d6a938 certs/blacklist_hashes.c: fix const confusion in certs blacklist
fb775ee3cf arm64: ftrace: fix branch range checks
0e21311ba4 net: bgmac: Fix an erroneous kfree() in bgmac_remove()
c19cdd72b3 mlxsw: spectrum_cnt: Reorder counter pools
c03304dc42 misc: atmel-ssc: Fix IRQ check in ssc_probe
f7183c76d5 tty: goldfish: Fix free_irq() on remove
ff6e03fe84 i40e: Fix call trace in setup_tx_descriptors
4b94408e16 i40e: Fix calculating the number of queue pairs
43f65970ee i40e: Fix adding ADQ filter to TC0
cff3a7ce6e clocksource: hyper-v: unexport __init-annotated hv_init_clocksource()
11c870c0b5 pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
e32fe87afc random: credit cpu and bootloader seeds by default
9e4cab02b7 net: ethernet: mtk_eth_soc: fix misuse of mem alloc interface netdev[napi]_alloc_frag
2f42389d27 ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg
6b4d8b44e7 nfc: nfcmrvl: Fix memory leak in nfcmrvl_play_deferred
786428a1de virtio-mmio: fix missing put_device() when vm_cmdline_parent registration failed
aacb264d54 ALSA: hda/realtek - Add HW8326 support
ff882404df scsi: pmcraid: Fix missing resource cleanup in error case
c481192236 scsi: ipr: Fix missing/incorrect resource cleanup in error case
fe0855944a scsi: lpfc: Allow reduced polling rate for nvme_admin_async_event cmd completion
1f1be79189 scsi: lpfc: Fix port stuck in bypassed state after LIP in PT2PT topology
001de3d8ce scsi: vmw_pvscsi: Expand vcpuHint to 16 bits
9e3a0d3fc7 ASoC: wm_adsp: Fix event generation for wm_adsp_fw_put()
bc046649c5 ASoC: es8328: Fix event generation for deemphasis control
a81f5a7f7a ASoC: wm8962: Fix suspend while playing music
253334f84c ata: libata-core: fix NULL pointer deref in ata_host_alloc_pinfo()
052cd621ac ASoC: cs42l56: Correct typo in minimum level for SX volume controls
6d180913b3 ASoC: cs42l52: Correct TLV for Bypass Volume
385a031c56 ASoC: cs53l30: Correct number of volume levels on SX controls
675b6a49cf ASoC: cs35l36: Update digital volume TLV
b00f63dba5 ASoC: cs42l52: Fix TLV scales for mixer controls
cd8c1e6c01 dma-debug: make things less spammy under memory pressure
a45e19fd6e ASoC: nau8822: Add operation for internal PLL off and on
348831a9e8 powerpc/kasan: Silence KASAN warnings in __get_wchan()
5624055c8f random: account for arch randomness in bits
c0bf6bfce7 random: mark bootloader randomness code as __init
f96250197b random: avoid checking crng_ready() twice in random_init()
072cd87d12 crypto: drbg - make reseeding from get_random_bytes() synchronous
e9eb0c4741 crypto: drbg - always try to free Jitter RNG instance
f284afc3a9 crypto: drbg - move dynamic ->reseed_threshold adjustments to __drbg_seed()
babba4bf53 crypto: drbg - track whether DRBG was seeded with !rng_is_initialized()
1b93b302e9 crypto: drbg - prepare for more fine-grained tracking of seeding state
98e574a734 crypto: drbg - always seeded with SP800-90B compliant noise source
61f87ea3f9 Revert "random: use static branch for crng_ready()"
3faf33a856 random: check for signals after page of pool writes
2177cef53e random: wire up fops->splice_{read,write}_iter()
35db2a0731 random: convert to using fops->write_iter()
43e62db84a random: convert to using fops->read_iter()
c23188facd random: unify batched entropy implementations
1aeedbe02b random: move randomize_page() into mm where it belongs
ceaf1feefe random: move initialization functions out of hot pages
d3bf98d61f random: make consistent use of buf and len
70fce7f105 random: use proper return types on get_random_{int,long}_wait()
d05948dc23 random: remove extern from functions in header
d8b4296417 random: use static branch for crng_ready()
087a14b9cf random: credit architectural init the exact amount
ac48f7bee1 random: handle latent entropy and command line from random_init()
736a22645d random: use proper jiffies comparison macro
3266fba206 random: remove ratelimiting for in-kernel unseeded randomness
c5373bd6e4 random: move initialization out of reseeding hot path
0747ad152f random: avoid initializing twice in credit race
0baeec0eff random: use symbolic constants for crng_init states
55d64df3ad siphash: use one source of truth for siphash permutations
e4e8a9f8a6 random: help compiler out with fast_mix() by using simpler arguments
bf3b51eb0f random: do not use input pool from hard IRQs
6d4203a2cd random: order timer entropy functions below interrupt functions
58da574f10 random: do not pretend to handle premature next security model
e739d5bd14 random: use first 128 bits of input as fast init
c44f8b3863 random: do not use batches when !crng_ready()
e247ea8d97 random: insist on random_get_entropy() existing in order to simplify
9bfbcb37e5 xtensa: use fallback for random_get_entropy() instead of zero
fa15650b51 sparc: use fallback for random_get_entropy() instead of zero
9dfc14590c um: use fallback for random_get_entropy() instead of zero
0cc41e2c73 x86/tsc: Use fallback for random_get_entropy() instead of zero
f2a6e87270 nios2: use fallback for random_get_entropy() instead of zero
db1d13fe4c arm: use fallback for random_get_entropy() instead of zero
6fa912f987 mips: use fallback for random_get_entropy() instead of just c0 random
36f38f838c m68k: use fallback for random_get_entropy() instead of zero
a7d04ca9da timekeeping: Add raw clock fallback for random_get_entropy()
eb2f9d72f3 powerpc: define get_cycles macro for arch-override
10455a367c alpha: define get_cycles macro for arch-override
5f0b77ca19 parisc: define get_cycles macro for arch-override
80459abc9f s390: define get_cycles macro for arch-override
7338564449 ia64: define get_cycles macro for arch-override
5fac866639 init: call time_init() before rand_initialize()
b88ae87b10 random: fix sysctl documentation nits
4654257483 random: document crng_fast_key_erasure() destination possibility
ec07b34945 random: make random_get_entropy() return an unsigned long
fe156368f9 random: allow partial reads if later user copies fail
70788723da random: check for signals every PAGE_SIZE chunk of /dev/[u]random
2ce859d91f random: check for signal_pending() outside of need_resched() check
0e8030c9e0 random: do not allow user to keep crng key around on stack
95aed891f7 random: do not split fast init input in add_hwgenerator_randomness()
1d53d5a097 random: mix build-time latent entropy into pool at init
0aba75c617 random: re-add removed comment about get_random_{u32,u64} reseeding
81ea8a609b random: treat bootloader trust toggle the same way as cpu trust toggle
a08d52a608 random: skip fast_init if hwrng provides large chunk of entropy
8320bc665c random: check for signal and try earlier when generating entropy
3a53b818bb random: reseed more often immediately after booting
905759e0fc random: make consistent usage of crng_ready()
ad4c6bd98c random: use SipHash as interrupt entropy accumulator
631503001c random: replace custom notifier chain with standard one
1ae73fb2a6 random: don't let 644 read-only sysctls be written to
ed40975710 random: give sysctl_random_min_urandom_seed a more sensible value
75d95c1b5d random: do crng pre-init loading in worker rather than irq
219c84fe93 random: unify cycles_t and jiffies usage and types
673637c4c9 random: cleanup UUID handling
4d5151cc28 random: only wake up writers after zap if threshold was passed
ac0081dec7 random: round-robin registers as ulong, not u32
62cd795e46 random: clear fast pool, crng, and batches in cpuhp bring up
a7f8f385bb random: pull add_hwgenerator_randomness() declaration into random.h
ff607fc760 random: check for crng_init == 0 in add_device_randomness()
20788eb4ce random: unify early init crng load accounting
49567f9477 random: do not take pool spinlock at boot
4a61bf7f9b random: defer fast pool mixing to worker
944d1bd0e5 random: rewrite header introductory comment
c0e35949c7 random: group sysctl functions
d946084180 random: group userspace read/write functions
565a66043b random: group entropy collection functions
f2d587c493 random: group entropy extraction functions
a8786d5476 random: group crng functions
c12dfec1aa random: group initialization wait functions
22e3db57ab random: remove whitespace and reorder includes
cee64be605 random: remove useless header comment
904e6123c4 random: introduce drain_entropy() helper to declutter crng_reseed()
47c56790d5 random: deobfuscate irq u32/u64 contributions
e280b79c31 random: add proper SPDX header
776927dfd4 random: remove unused tracepoints
d68883956d random: remove ifdef'd out interrupt bench
4a14a5a696 random: tie batched entropy generation to base_crng generation
d8a6684950 random: fix locking for crng_init in crng_reseed()
b1d5611381 random: zero buffer after reading entropy from userspace
21da00f8cb random: remove outdated INT_MAX >> 6 check in urandom_read()
b530684129 random: make more consistent use of integer types
3eed6af93e random: use hash function for crng_slow_load()
cee3c70569 random: use simpler fast key erasure flow on per-cpu keys
ea9941fd6e random: absorb fast pool into input pool after fast load
a3562bf4e8 random: do not xor RDRAND when writing into /dev/random
574c883950 random: ensure early RDSEED goes through mixer on init
d3d3c1c214 random: inline leaves of rand_initialize()
817315517a random: get rid of secondary crngs
c15fc80b7d random: use RDSEED instead of RDRAND in entropy extraction
72db8151c8 random: fix locking in crng_fast_load()
7229c6d90a random: remove batched entropy locking
6c89115792 random: remove use_input_pool parameter from crng_reseed()
4ef908fb81 random: make credit_entropy_bits() always safe
42a9a7e807 random: always wake up entropy writers after extraction
373ef51f3e random: use linear min-entropy accumulation crediting
a1a2bae5ef random: simplify entropy debiting
4e5814bd2e random: use computational hash for entropy extraction
99a0f8e22d random: only call crng_finalize_init() for primary_crng
88609b892f random: access primary_pool directly rather than through pointer
0b9f9b94f1 random: continually use hwgenerator randomness
811e333c4e random: simplify arithmetic function flow in account()
56de23dcf9 random: selectively clang-format where it makes sense
86eac12b1c random: access input_pool_data directly rather than through pointer
4f5400ca7f random: cleanup fractional entropy shift constants
1b6f1d32a8 random: prepend remaining pool constants with POOL_
0fe4a64fd9 random: de-duplicate INPUT_POOL constants
e35576c4cb random: remove unused OUTPUT_POOL constants
74cb3093f2 random: rather than entropy_store abstraction, use global
14652d8642 random: remove unused extract_entropy() reserved argument
12f17e3f3a random: remove incomplete last_data logic
adcbbb44cc random: cleanup integer types
4ac4c7f057 random: cleanup poolinfo abstraction
5c3818e3bd random: fix typo in comments
0a7e658102 random: don't reset crng_init_cnt on urandom_read()
8d7c55563e random: avoid superfluous call to RDRAND in CRNG extraction
8b4695640b random: early initialization of ChaCha constants
cfc6906500 random: initialize ChaCha20 constants with correct endianness
922d082e33 random: use IS_ENABLED(CONFIG_NUMA) instead of ifdefs
565b3af168 random: harmonize "crng init done" messages
346c4a697c random: mix bootloader randomness into pool
afce74c0c0 random: do not re-init if crng_reseed completes before primary init
d76758c712 random: do not sign extend bytes for rotation when mixing
c2f0a89cd1 random: use BLAKE2s instead of SHA1 in extraction
6e6ae70c1e random: remove unused irq_flags argument from add_interrupt_randomness()
2580b0b3fd random: document add_hwgenerator_randomness() with other input functions
3cc36a4aa1 crypto: blake2s - adjust include guard naming
09342a544c crypto: blake2s - include <linux/bug.h> instead of <asm/bug.h>
f850f3643d MAINTAINERS: co-maintain random.c
967e3a136f random: remove dead code left over from blocking pool
610f0b439a random: avoid arch_get_random_seed_long() when collecting IRQ randomness
ad3fce6691 random: add arch_get_random_*long_early()
41b0d3e86c powerpc: Use bool in archrandom.h
89533373e1 linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check
0222f9f1d1 linux/random.h: Use false with bool
15f93060b7 linux/random.h: Remove arch_has_random, arch_has_random_seed
a95ed04e21 s390: Remove arch_has_random, arch_has_random_seed
aab52172d9 powerpc: Remove arch_has_random, arch_has_random_seed
35e28a05f6 x86: Remove arch_has_random, arch_has_random_seed
98f749e297 random: avoid warnings for !CONFIG_NUMA builds
c13b9c3627 random: split primary/secondary crng init paths
c070b07aaf random: remove some dead code of poolinfo
898498bb44 random: fix typo in add_timer_randomness()
2c53d6d6a7 random: Add and use pr_fmt()
f3375cfe31 random: convert to ENTROPY_BITS for better code readability
9f757cad20 random: remove unnecessary unlikely()
4431c366fe random: remove kernel.random.read_wakeup_threshold
ec134003cc random: delete code to pull data into pools
a9564e14c6 random: remove the blocking pool
940cbc47b3 random: make /dev/random be almost like /dev/urandom
c4edc1055c random: ignore GRND_RANDOM in getentropy(2)
7f9f864af0 random: add GRND_INSECURE to return best-effort non-cryptographic bytes
479d39707f random: Add a urandom_read_nowait() for random APIs that don't warn
69441ba56f random: Don't wake crng_init_wait when crng_init == 1
69ef3109d4 random: don't forget compat_ioctl on urandom
927fc225af compat_ioctl: remove /dev/random commands
996fba14fa lib/crypto: sha1: re-roll loops to reduce code size
c4f4837440 lib/crypto: blake2s: move hmac construction into wireguard
97126d2f65 crypto: blake2s - generic C library implementation and selftest
76101f1b7f nfc: st21nfca: fix incorrect sizing calculations in EVT_TRANSACTION
e804587ecd bpf: Fix incorrect memory charge cost calculation in stack_map_alloc()
f91da317e6 9p: missing chunk of "fs/9p: Don't update file type when updating file attributes"
cf729493b6 Revert "ext4: fix use-after-free in ext4_rename_dir_prepare"
10f5759c4e Revert "ext4: verify dir block before splitting it"
a778a36923 Merge 5.4.198 into android11-5.4-lts
a31bd36611 Linux 5.4.199
4cc40b1022 x86/speculation/mmio: Print SMT warning
d49c22094e KVM: x86/speculation: Disable Fill buffer clear within guests
d961592635 x86/speculation/mmio: Reuse SRBDS mitigation for SBDS
bc64f38b5a x86/speculation/srbds: Update SRBDS mitigation selection
020ce7495c x86/speculation/mmio: Add sysfs reporting for Processor MMIO Stale Data
8d25482fc9 x86/speculation/mmio: Enable CPU Fill buffer clearing on idle
7f898baa20 x86/bugs: Group MDS, TAA & Processor MMIO Stale Data mitigations
0800f1b45b x86/speculation/mmio: Add mitigation for Processor MMIO Stale Data
ae649e0cbf x86/speculation: Add a common function for MD_CLEAR mitigation update
814ccb6730 x86/speculation/mmio: Enumerate Processor MMIO Stale Data bug
91f8147c83 Documentation: Add documentation for Processor MMIO Stale Data
1e9f4e8a7a x86/cpu: Add another Alder Lake CPU to the Intel family
45e744de25 x86/cpu: Add Lakefield, Alder Lake and Rocket Lake models to the to Intel CPU family
79568d5515 x86/cpu: Add Jasper Lake to Intel family
9e2efaa5dd cpu/speculation: Add prototype for cpu_show_srbds()
9d6e67bf50 Linux 5.4.198
602b338e3c tcp: fix tcp_mtup_probe_success vs wrong snd_cwnd
b35e08edb2 mtd: cfi_cmdset_0002: Use chip_ready() for write on S29GL064N
0c12d76255 md/raid0: Ignore RAID0 layout if the second zone has only one device
0c4bc0a2f8 powerpc/32: Fix overread/overwrite of thread_struct via ptrace
3c953d47eb Input: bcm5974 - set missing URB_NO_TRANSFER_DMA_MAP urb flag
6ec537c500 ixgbe: fix unexpected VLAN Rx in promisc mode on VF
24030768a7 ixgbe: fix bcast packets Rx on VF after promisc removal
3eca2c42da nfc: st21nfca: fix memory leaks in EVT_TRANSACTION handling
31f9c39b4a nfc: st21nfca: fix incorrect validating logic in EVT_TRANSACTION
4f4ab50046 mmc: block: Fix CQE recovery reset success
0245434e38 ata: libata-transport: fix {dma|pio|xfer}_mode sysfs files
b651f70ed3 cifs: return errors during session setup during reconnects
850965edc8 ALSA: hda/conexant - Fix loopback issue with CX20632
6c04a2ae03 scripts/gdb: change kernel config dumping method
1a36f77dc2 vringh: Fix loop descriptors check in the indirect cases
a3f9b0afd8 nodemask: Fix return values to be unsigned
9b306339a5 cifs: version operations for smb20 unneeded when legacy support disabled
5cb13cdc18 s390/gmap: voluntarily schedule during key setting
69893d6d7f nbd: fix io hung while disconnecting device
8a7da4ced2 nbd: fix race between nbd_alloc_config() and module removal
1be608e1ee nbd: call genl_unregister_family() first in nbd_cleanup()
045045b522 x86/cpu: Elide KCSAN for cpu_has() and friends
460083de66 modpost: fix undefined behavior of is_arm_mapping_symbol()
28fd384c78 drm/radeon: fix a possible null pointer dereference
9223144fdd ceph: allow ceph.dir.rctime xattr to be updatable
7df12bee54 Revert "net: af_key: add check for pfkey_broadcast in function pfkey_process"
0331d261c3 scsi: myrb: Fix up null pointer access on myrb_cleanup()
cf6b931687 md: protect md_unregister_thread from reentrancy
99e4c67a55 watchdog: wdat_wdt: Stop watchdog when rebooting the system
6fd031799e kernfs: Separate kernfs_pr_cont_buf and rename_lock.
19f4b51b83 serial: msm_serial: disable interrupts in __msm_console_write()
52a0d88c32 staging: rtl8712: fix uninit-value in r871xu_drv_init()
58762f1c63 staging: rtl8712: fix uninit-value in usb_read8() and friends
1bcfb95de1 clocksource/drivers/sp804: Avoid error on multiple instances
d472c78cc8 extcon: Modify extcon device to be created after driver data is set
fa0b2dd682 misc: rtsx: set NULL intfdata when probe fails
d232ca0bbc usb: dwc2: gadget: don't reset gadget's driver->bus
3a7170a3de USB: hcd-pci: Fully suspend across freeze/thaw cycle
2dcec0bc14 drivers: usb: host: Fix deadlock in oxu_bus_suspend()
09a5958a24 drivers: tty: serial: Fix deadlock in sa1100_set_termios()
c91a74b1f0 USB: host: isp116x: check return value after calling platform_get_resource()
64b05fa212 drivers: staging: rtl8192e: Fix deadlock in rtllib_beacons_stop()
1fbe033c52 drivers: staging: rtl8192u: Fix deadlock in ieee80211_beacons_stop()
8c014373f1 tty: Fix a possible resource leak in icom_probe
f6e07eb7eb tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()
1b04c934e1 lkdtm/usercopy: Expand size of "out of frame" object
ca2498cce8 iio: st_sensors: Add a local lock for protecting odr
ab75e02366 iio: dummy: iio_simple_dummy: check the return value of kstrdup()
36acb4d9ce drm: imx: fix compiler warning with gcc-12
8174acbef8 net: altera: Fix refcount leak in altera_tse_mdio_create
3d08bc3a5d ip_gre: test csum_start instead of transport header
957d298526 net/mlx5: fs, fail conflicting actions
8a6740fdc5 net/mlx5: Rearm the FW tracer after each tracer event
317260b3eb net: ipv6: unexport __init-annotated seg6_hmac_init()
ef6d2354de net: xfrm: unexport __init-annotated xfrm4_protocol_init()
6a90a44d53 net: mdio: unexport __init-annotated mdio_bus_init()
978dcc55cf SUNRPC: Fix the calculation of xdr->end in xdr_get_next_encode_buffer()
180473e8e4 net/mlx4_en: Fix wrong return value on ioctl EEPROM query failure
7c8df6fad4 net: dsa: lantiq_gswip: Fix refcount leak in gswip_gphy_fw_list
e412b3d178 bpf, arm64: Clear prog->jited_len along prog->jited
556720013c af_unix: Fix a data-race in unix_dgram_peer_wake_me().
b49c884146 xen: unexport __init-annotated xen_xlate_map_ballooned_pages()
5b8d63489c netfilter: nf_tables: memleak flow rule from commit path
d5a1e7f33c ata: pata_octeon_cf: Fix refcount leak in octeon_cf_probe
e0212033ff netfilter: nat: really support inet nat without l3 address
da99331fa6 xprtrdma: treat all calls not a bcall when bc_serv is NULL
48dea4d3a1 video: fbdev: pxa3xx-gcu: release the resources correctly in pxa3xx_gcu_probe/remove()
a2b3be930e NFSv4: Don't hold the layoutget locks across multiple RPC calls
83960276ff dmaengine: zynqmp_dma: In struct zynqmp_dma_chan fix desc_size data type
4917e43bca m68knommu: fix undefined reference to `_init_sp'
f6bdafbb9b m68knommu: set ZERO_PAGE() to the allocated zeroed page
27fdb45723 i2c: cadence: Increase timeout per message if necessary
0a7a1fc7e7 f2fs: remove WARN_ON in f2fs_is_valid_blkaddr
23b2163b88 tracing: Avoid adding tracer option before update_tracer_options
48c6ee7d6c tracing: Fix sleeping function called from invalid context on RT kernel
cc0aed22d3 mips: cpc: Fix refcount leak in mips_cpc_default_phys_base
ff66ae4359 perf c2c: Fix sorting in percent_rmt_hitm_cmp()
8b91d0dfc8 tipc: check attribute length for bearer name
c2eba68d18 afs: Fix infinite loop found by xfstest generic/676
d05c2fdf8e tcp: tcp_rtx_synack() can be called from process context
1bd2f7f38b net: sched: add barrier to fix packet stuck problem for lockless qdisc
77b954ce2d net/mlx5e: Update netdev features after changing XDP state
a4c52440ac net/mlx5: Don't use already freed action pointer
00803d3051 nfp: only report pause frame configuration for physical device
8302620aeb ubi: ubi_create_volume: Fix use-after-free when volume creation failed
d3a4fff1e7 jffs2: fix memory leak in jffs2_do_fill_super
acf92b5257 modpost: fix removing numeric suffixes
a101793994 net: dsa: mv88e6xxx: Fix refcount leak in mv88e6xxx_mdios_register
2bd1faedb7 net: ethernet: mtk_eth_soc: out of bounds read in mtk_hwlro_get_fdir_entry()
be73e3bf68 net: sched: fixed barrier to prevent skbuff sticking in qdisc backlog
51ed32c1cf s390/crypto: fix scatterwalk_unmap() callers in AES-GCM
80f6712f24 clocksource/drivers/oxnas-rps: Fix irq_of_parse_and_map() return value
e5d479d73f ASoC: fsl_sai: Fix FSL_SAI_xDR/xFR definition
5b110d9404 watchdog: ts4800_wdt: Fix refcount leak in ts4800_wdt_probe
593b595332 driver core: fix deadlock in __device_attach
5d709f58c7 driver: base: fix UAF when driver_attach failed
3157118c17 bus: ti-sysc: Fix warnings for unbind for serial
a724634b2a firmware: dmi-sysfs: Fix memory leak in dmi_sysfs_register_handle
c3a16e7c86 serial: stm32-usart: Correct CSIZE, bits, and parity
29d963635e serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
5c01c19f64 serial: sifive: Sanitize CSIZE and c_iflag
841cab744c serial: sh-sci: Don't allow CS5-6
942aa88467 serial: txx9: Don't allow CS5-6
eb8de4bac3 serial: rda-uart: Don't allow CS5-6
0de3d2344e serial: digicolor-usart: Don't allow CS5-6
035bc3b734 serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
1b3ae6d850 serial: meson: acquire port->lock in startup()
d77f28c1bc rtc: mt6397: check return value after calling platform_get_resource()
d041e88574 clocksource/drivers/riscv: Events are stopped during CPU suspend
69a30b2ed6 soc: rockchip: Fix refcount leak in rockchip_grf_init
0f91755514 coresight: cpu-debug: Replace mutex with mutex_trylock on panic notifier
47e4c42faa serial: sifive: Report actual baud base rather than fixed 115200
f2a16af2ee phy: qcom-qmp: fix pipe-clock imbalance on power-on failure
b6b0f8904b rpmsg: qcom_smd: Fix returning 0 if irq_of_parse_and_map() fails
088f449d9d iio: adc: sc27xx: Fine tune the scale calibration values
e5d48301d1 iio: adc: sc27xx: fix read big scale voltage not right
0f57d13930 iio: adc: stmpe-adc: Fix wait_for_completion_timeout return value check
bec18bb00f firmware: stratix10-svc: fix a missing check on list iterator
8ad7b3d9f8 usb: dwc3: pci: Fix pm_runtime_get_sync() error checking
1026ee392b rpmsg: qcom_smd: Fix irq_of_parse_and_map() return value
89d1b9dfcc pwm: lp3943: Fix duty calculation in case period was clamped
8e9f3f508a staging: fieldbus: Fix the error handling path in anybuss_host_common_probe()
67c2aa77b4 usb: musb: Fix missing of_node_put() in omap2430_probe
b78499772f USB: storage: karma: fix rio_karma_init return
72ab0f6f2b usb: usbip: add missing device lock on tweak configuration cmd
2f0ae93ec3 usb: usbip: fix a refcount leak in stub_probe()
077f58e469 tty: serial: fsl_lpuart: fix potential bug when using both of_alias_get_id and ida_simple_get
7320308b18 tty: serial: owl: Fix missing clk_disable_unprepare() in owl_uart_probe
9ae3d073f7 tty: goldfish: Use tty_port_destroy() to destroy port
d88fdea147 iio: adc: ad7124: Remove shift from scan_type
1aa30dc883 staging: greybus: codecs: fix type confusion of list iterator variable
6c8c536e00 pcmcia: db1xxx_ss: restrict to MIPS_DB1XXX boards
4faa6308e1 md: bcache: check the return value of kzalloc() in detached_dev_do_request()
5f62b21b7c block: fix bio_clone_blkg_association() to associate with proper blkcg_gq
ccddf8cd41 bfq: Make sure bfqg for which we are queueing requests is online
8afc13b958 bfq: Get rid of __bio_blkcg() usage
be1b78f949 bfq: Remove pointless bfq_init_rq() calls
f885f55033 bfq: Drop pointless unlock-lock pair
97be7d13fb bfq: Avoid merging queues with different parents
5407341053 MIPS: IP27: Remove incorrect `cpu_has_fpu' override
427c3c7ebd RDMA/rxe: Generate a completion for unsupported/invalid opcode
4946cfd1c8 Kconfig: add config option for asm goto w/ outputs
7ac21b24af phy: qcom-qmp: fix reset-controller leak on probe errors
d19fa8f252 blk-iolatency: Fix inflight count imbalances and IO hangs on offline
8a068913d1 dt-bindings: gpio: altera: correct interrupt-cells
3b8c37780d docs/conf.py: Cope with removal of language=None in Sphinx 5.0.0
da9634374d ARM: pxa: maybe fix gpio lookup tables
1668ad1036 phy: qcom-qmp: fix struct clk leak on probe errors
2040b60765 arm64: dts: qcom: ipq8074: fix the sleep clock frequency
8dd2e5f9c1 gma500: fix an incorrect NULL check on list iterator
a62591e361 tilcdc: tilcdc_external: fix an incorrect NULL check on list iterator
77ec584d3d serial: pch: don't overwrite xmit->buf[0] by x_char
f6cb1470ba carl9170: tx: fix an incorrect use of list iterator
2ea49d6310 ASoC: rt5514: Fix event generation for "DSP Voice Wake Up" control
b8ce58ab80 rtl818x: Prevent using not initialized queues
6f4a489d84 hugetlb: fix huge_pmd_unshare address update
73bdb2359d nodemask.h: fix compilation error with GCC12
6e071eaf50 iommu/msm: Fix an incorrect NULL check on list iterator
9caad70819 um: Fix out-of-bounds read in LDT setup
6cbe83680f um: chan_user: Fix winch_tramp() return value
3466e42652 mac80211: upgrade passive scan to active scan on DFS channels after beacon rx
cf465ecfe3 irqchip: irq-xtensa-mx: fix initial IRQ affinity
36bab24bb8 irqchip/armada-370-xp: Do not touch Performance Counter Overflow on A375, A38x, A39x
8858284dd7 RDMA/hfi1: Fix potential integer multiplication overflow errors
6462323626 Kconfig: Add option for asm goto w/ tied outputs to workaround clang-13 bug
532aa3f7a5 media: coda: Add more H264 levels for CODA960
adcea1c8ee media: coda: Fix reported H264 profile
f2c2ad538e mtd: cfi_cmdset_0002: Move and rename chip_check/chip_ready/chip_good_for_write
16e993ac7c md: fix an incorrect NULL check in md_reload_sb
d0bdc809f7 md: fix an incorrect NULL check in does_sb_need_changing
3623f833e1 drm/bridge: analogix_dp: Grab runtime PM reference for DP-AUX
8fa6eb03e3 drm/nouveau/clk: Fix an incorrect NULL check on list iterator
19323b3671 drm/etnaviv: check for reaped mapping in etnaviv_iommu_unmap_gem
c12984cdb0 drm/amdgpu/cs: make commands with 0 chunks illegal behaviour.
8e105178c2 scsi: ufs: qcom: Add a readl() to make sure ref_clk gets enabled
494685db00 scsi: dc395x: Fix a missing check on list iterator
82bf8e7271 ocfs2: dlmfs: fix error handling of user_dlm_destroy_lock
17ea634849 dlm: fix missing lkb refcount handling
49cd9eb7b9 dlm: fix plock invalid read
f160e7b4b0 mm, compaction: fast_find_migrateblock() should return pfn in the target zone
665602c837 PCI: qcom: Fix unbalanced PHY init on probe errors
c3919b10c4 PCI: qcom: Fix runtime PM imbalance on probe errors
c99306cf59 PCI/PM: Fix bridge_d3_blacklist[] Elo i2 overwrite of Gigabyte X299
c27f744cee tracing: Fix potential double free in create_var_ref()
742736dc9c ACPI: property: Release subnode properties with data nodes
e157c8f87e ext4: avoid cycles in directory h-tree
17034d45ec ext4: verify dir block before splitting it
73fd5b1928 ext4: fix bug_on in ext4_writepages
0ab308d72a ext4: fix warning in ext4_handle_inode_extension
eaecf7ebfd ext4: fix use-after-free in ext4_rename_dir_prepare
f36736fbd4 netfilter: nf_tables: disallow non-stateful expression in sets earlier
28a8060a0b bfq: Track whether bfq_group is still online
da9f3025d5 bfq: Update cgroup information before merging bio
31326bf551 bfq: Split shared queues on move between cgroups
b1cda6dd2c efi: Do not import certificates from UEFI Secure Boot for T2 Macs
440d345d02 fs-writeback: writeback_sb_inodes:Recalculate 'wrote' according skipped pages
e0dddab01f iwlwifi: mvm: fix assert 1F04 upon reconfig
265bec4779 wifi: mac80211: fix use-after-free in chanctx code
9259227605 f2fs: fix fallocate to use file_modified to update permissions consistently
1f926457c3 f2fs: don't need inode lock for system hidden quota
12ffc0044a f2fs: fix deadloop in foreground GC
54c116615c f2fs: fix to clear dirty inode in f2fs_evict_inode()
7361c9f2bd f2fs: fix to do sanity check on block address in f2fs_do_zero_range()
f8b3c3fcf3 f2fs: fix to avoid f2fs_bug_on() in dec_valid_node_count()
7f51f27345 perf jevents: Fix event syntax error caused by ExtSel
9eb684dc41 perf c2c: Use stdio interface if slang is not supported
e23eb2f43f iommu/amd: Increase timeout waiting for GA log enablement
db7ea8b261 dmaengine: stm32-mdma: remove GISR1 register
8db59df7f5 video: fbdev: clcdfb: Fix refcount leak in clcdfb_of_vram_setup
dcc00106c3 NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
3d216510f8 NFS: Don't report errors from nfs_pageio_complete() more than once
55f0fc32b2 NFS: Do not report flush errors in nfs_write_end()
59137943af NFS: Do not report EINTR/ERESTARTSYS as mapping errors
4826af9a07 i2c: at91: Initialize dma_buf in at91_twi_xfer()
d77a0f2842 i2c: at91: use dma safe buffers
e4db5f4b68 iommu/mediatek: Add list_del in mtk_iommu_remove
5e47a7add3 f2fs: fix dereference of stale list iterator after loop body
c8735252f9 Input: stmfts - do not leave device disabled in stmfts_input_open
addb192000 RDMA/hfi1: Prevent use of lock before it is initialized
6d8b9f574b mailbox: forward the hrtimer if not queued and under a lock
49c1e32e7b mfd: davinci_voicecodec: Fix possible null-ptr-deref davinci_vc_probe()
bcb6c4c5eb powerpc/fsl_rio: Fix refcount leak in fsl_rio_setup
2631fe5b53 macintosh: via-pmu and via-cuda need RTC_LIB
bc21634ce4 powerpc/perf: Fix the threshold compare group constraint for power9
cf0b52858f powerpc/64: Only WARN if __pa()/__va() called with bad addresses
bbc2b0ce60 Input: sparcspkr - fix refcount leak in bbc_beep_probe
6d7b2cf5c7 crypto: cryptd - Protect per-CPU resource by disabling BH.
3219ac364a tty: fix deadlock caused by calling printk() under tty_port->lock
ded067f24b PCI: imx6: Fix PERST# start-up sequence
0b35a685d9 ipc/mqueue: use get_tree_nodev() in mqueue_get_tree()
203537caad proc: fix dentry/inode overinstantiating under /proc/${pid}/net
6cdb6582b5 powerpc/4xx/cpm: Fix return value of __setup() handler
337eef19aa powerpc/idle: Fix return value of __setup() handler
1d83f30421 powerpc/8xx: export 'cpm_setbrg' for modules
662b70a45b dax: fix cache flush on PMD-mapped pages
386e69e068 drivers/base/node.c: fix compaction sysfs file leak
d1f908bd01 pinctrl: mvebu: Fix irq_of_parse_and_map() return value
9282496aac nvdimm: Allow overwrite in the presence of disabled dimms
b0e4bafac8 firmware: arm_scmi: Fix list protocols enumeration in the base protocol
ffd3bed66b scsi: fcoe: Fix Wstringop-overflow warnings in fcoe_wwn_from_mac()
829ea47487 mfd: ipaq-micro: Fix error check return value of platform_get_irq()
8c4eeab726 powerpc/fadump: fix PT_LOAD segment for boot memory area
bbf58e9742 arm: mediatek: select arch timer for mt7629
e7a0d0c280 crypto: marvell/cesa - ECB does not IV
de65c32ace misc: ocxl: fix possible double free in ocxl_file_register_afu
7f287d0c70 ARM: dts: bcm2835-rpi-b: Fix GPIO line names
3a37022d48 ARM: dts: bcm2837-rpi-3-b-plus: Fix GPIO line name of power LED
fd1c098b3b ARM: dts: bcm2837-rpi-cm3-io3: Fix GPIO line names for SMPS I2C
e0bf7f0844 ARM: dts: bcm2835-rpi-zero-w: Fix GPIO line name for Wifi/BT
e4594ca90b can: xilinx_can: mark bit timing constants as const
6077a1e637 KVM: nVMX: Leave most VM-Exit info fields unmodified on failed VM-Entry
9cccb3f6ed PCI: rockchip: Fix find_first_zero_bit() limit
f063429ac3 PCI: cadence: Fix find_first_zero_bit() limit
5543752a48 soc: qcom: smsm: Fix missing of_node_put() in smsm_parse_ipc
6695755216 soc: qcom: smp2p: Fix missing of_node_put() in smp2p_parse_ipc
56b8d748ec ARM: dts: suniv: F1C100: fix watchdog compatible
754ef324b7 arm64: dts: rockchip: Move drive-impedance-ohm to emmc phy on rk3399
60546c0b4b net/smc: postpone sk_refcnt increment in connect()
91121ee574 rxrpc: Fix decision on when to generate an IDLE ACK
d7b16ee15f rxrpc: Don't let ack.previousPacket regress
2fd958ae29 rxrpc: Fix overlapping ACK accounting
5aa14dafd2 rxrpc: Don't try to resend the request if we're receiving the reply
91b34bf040 rxrpc: Fix listen() setting the bar too high for the prealloc rings
0bfaff00d1 NFC: hci: fix sleep in atomic context bugs in nfc_hci_hcp_message_tx
9934025c4d ASoC: wm2000: fix missing clk_disable_unprepare() on error in wm2000_anc_transition()
b3461ccaa5 thermal/drivers/broadcom: Fix potential NULL dereference in sr_thermal_probe
449374565f drm: msm: fix possible memory leak in mdp5_crtc_cursor_set()
6832e36f15 drm/msm/a6xx: Fix refcount leak in a6xx_gpu_init
48d331a03b ext4: reject the 'commit' option on ext2 filesystems
3dc0323755 media: ov7670: remove ov7670_power_off from ov7670_remove
dc794fa2b3 sctp: read sk->sk_bound_dev_if once in sctp_rcv()
d43a87d660 m68k: math-emu: Fix dependencies of math emulation support
6f55fac0af Bluetooth: fix dangling sco_conn and use-after-free in sco_sock_timeout
c3c8c7e409 media: vsp1: Fix offset calculation for plane cropping
1310fc3538 media: pvrusb2: fix array-index-out-of-bounds in pvr2_i2c_core_init
83345b5365 media: exynos4-is: Change clk_disable to clk_disable_unprepare
b87d3a043b media: st-delta: Fix PM disable depth imbalance in delta_probe
12480f7578 media: aspeed: Fix an error handling path in aspeed_video_probe()
d2b1dc3a04 scripts/faddr2line: Fix overlapping text section failures
0be5d9da57 regulator: pfuze100: Fix refcount leak in pfuze_parse_regulators_dt
18b907ff0a ASoC: mxs-saif: Fix refcount leak in mxs_saif_probe
96fc3da618 ASoC: fsl: Fix refcount leak in imx_sgtl5000_probe
ddb1a77f94 perf/amd/ibs: Use interrupt regs ip for stack unwinding
f2e2e934d2 Revert "cpufreq: Fix possible race in cpufreq online error path"
1253811c71 iomap: iomap_write_failed fix
6b8291e574 media: uvcvideo: Fix missing check to determine if element is found in list
ab888b1a9a drm/msm: return an error pointer in msm_gem_prime_get_sg_table()
22d8424913 drm/msm/mdp5: Return error code in mdp5_mixer_release when deadlock is detected
b2aa2c4efe drm/msm/mdp5: Return error code in mdp5_pipe_release when deadlock is detected
cd4cfd99ec regulator: core: Fix enable_count imbalance with EXCLUSIVE_GET
db5a21f2dd x86/mm: Cleanup the control_va_addr_alignment() __setup handler
d2476a1fc5 irqchip/aspeed-i2c-ic: Fix irq_of_parse_and_map() return value
b97eb924a2 irqchip/exiu: Fix acknowledgment of edge triggered interrupts
9777de28cf x86: Fix return value of __setup handlers
ee3901d7c7 virtio_blk: fix the discard_granularity and discard_alignment queue limits
a9b4599665 drm/rockchip: vop: fix possible null-ptr-deref in vop_bind()
35d9a84e3b drm/msm/hdmi: fix error check return value of irq_of_parse_and_map()
2b3ed7547b drm/msm/hdmi: check return value after calling platform_get_resource_byname()
11709592b3 drm/msm/dsi: fix error checks and return values for DSI xmit functions
ef10d0c68e drm/msm/disp/dpu1: set vbif hw config to NULL to avoid use after memory free during pm runtime resume
db681127e9 perf tools: Add missing headers needed by util/data.h
31de06ef06 ASoC: rk3328: fix disabling mclk on pclk probe failure
ed8d5cf1dc x86/speculation: Add missing prototype for unpriv_ebpf_notify()
1d0c4bc628 x86/pm: Fix false positive kmemleak report in msr_build_context()
b889619eba scsi: ufs: core: Exclude UECxx from SFR dump list
e120d31d04 of: overlay: do not break notify on NOTIFY_{OK|STOP}
b0be017bc5 fsnotify: fix wrong lockdep annotations
60d159e0d0 inotify: show inotify mask flags in proc fdinfo
2326d398cc ath9k_htc: fix potential out of bounds access with invalid rxstatus->rs_keyix
cd1f386120 cpufreq: Fix possible race in cpufreq online error path
e7f0fd6f25 spi: img-spfi: Fix pm_runtime_get_sync() error checking
735b57a960 sched/fair: Fix cfs_rq_clock_pelt() for throttled cfs_rq
55fddbb1e2 drm/bridge: Fix error handling in analogix_dp_probe
f1d4f19a79 HID: elan: Fix potential double free in elan_input_configured
75a89bc1ba HID: hid-led: fix maximum brightness for Dream Cheeky
3caa2d7943 drbd: fix duplicate array initializer
65065f96d5 efi: Add missing prototype for efi_capsule_setup_info
fbf9c4c714 NFC: NULL out the dev->rfkill to prevent UAF
2c59535b6b spi: spi-ti-qspi: Fix return value handling of wait_for_completion_timeout
fa0d7ba25a drm: mali-dp: potential dereference of null pointer
797f8ee35f drm/komeda: Fix an undefined behavior bug in komeda_plane_add()
1a994f1f18 nl80211: show SSID for P2P_GO interfaces
93c0f9d78d bpf: Fix excessive memory allocation in stack_map_alloc()
c398c2149b drm/vc4: txp: Force alpha to be 0xff if it's disabled
8a60b54e41 drm/vc4: txp: Don't set TXP_VSTART_AT_EOF
a0c890c0ae drm/mediatek: Fix mtk_cec_mask()
ea8b2ecc92 x86/delay: Fix the wrong asm constraint in delay_loop()
c71494f5f2 ASoC: mediatek: Fix missing of_node_put in mt2701_wm8960_machine_probe
23f340ed90 ASoC: mediatek: Fix error handling in mt8173_max98090_dev_probe
e92b927fff drm/bridge: adv7511: clean up CEC adapter when probe fails
224e1eef03 drm/edid: fix invalid EDID extension block filtering
6577348668 ath9k: fix ar9003_get_eepmisc
ebede9aadf drm: fix EDID struct for old ARM OABI format
e60ad83f64 RDMA/hfi1: Prevent panic when SDMA is disabled
cb4f2dc513 powerpc/iommu: Add missing of_node_put in iommu_init_early_dart
6557555a86 macintosh/via-pmu: Fix build failure when CONFIG_INPUT is disabled
793b82d1c4 powerpc/powernv: fix missing of_node_put in uv_init()
537a317e5f powerpc/xics: fix refcount leak in icp_opal_init()
a910e96131 tracing: incorrect isolate_mote_t cast in mm_vmscan_lru_isolate
c9a81f9ed6 PCI: Avoid pci_dev_lock() AB/BA deadlock with sriov_numvfs_store()
e109058165 ARM: hisi: Add missing of_node_put after of_find_compatible_node
2f46a955b6 ARM: dts: exynos: add atmel,24c128 fallback to Samsung EEPROM
fcd1999ba9 ARM: versatile: Add missing of_node_put in dcscb_init
fd48cf8f97 fat: add ratelimit to fat*_ent_bread()
60ce637c19 powerpc/fadump: Fix fadump to work with a different endian capture kernel
41c7096286 ARM: OMAP1: clock: Fix UART rate reporting algorithm
e54fd01178 fs: jfs: fix possible NULL pointer dereference in dbFree()
a0180e324a PM / devfreq: rk3399_dmc: Disable edev on remove()
1995a60be7 ARM: dts: ox820: align interrupt controller node name with dtschema
58e55f4f5a IB/rdmavt: add missing locks in rvt_ruc_loopback
56fd9dcfe1 selftests/bpf: fix btf_dump/btf_dump due to recent clang change
063d945795 eth: tg3: silence the GCC 12 array-bounds warning
88d730463e rxrpc: Return an error to sendmsg if call failed
1ec0bc72f5 hwmon: Make chip parameter for with_info API mandatory
a7a41dd473 ASoC: max98357a: remove dependency on GPIOLIB
3cf43978ff media: exynos4-is: Fix compile warning
1e5fbfc2a6 net: phy: micrel: Allow probing without .driver_data
9d1764b926 nbd: Fix hung on disconnect request if socket is closed before
abe7554da6 ASoC: rt5645: Fix errorenous cleanup order
f767296626 nvme-pci: fix a NULL pointer dereference in nvme_alloc_admin_tags
69edf28d2c openrisc: start CPU timer early in boot
67fb494388 media: cec-adap.c: fix is_configuring state
4172a34ef9 media: coda: limit frame interval enumeration to supported encoder frame sizes
8f2a5721cd rtlwifi: Use pr_warn instead of WARN_ONCE
2d966c94ad ipmi: Fix pr_fmt to avoid compilation issues
2064a1eab2 ipmi:ssif: Check for NULL msg when handling events and messages
17cfc94558 ACPI: PM: Block ASUS B1400CEAE from suspend to idle by default
5a71f14a9b dma-debug: change allocation mode from GFP_NOWAIT to GFP_ATIOMIC
6583d0d6ad spi: stm32-qspi: Fix wait_cmd timeout in APM mode
1651a95517 s390/preempt: disable __preempt_count_add() optimization for PROFILE_ALL_BRANCHES
890b16b470 ASoC: tscs454: Add endianness flag in snd_soc_component_driver
00771de7cc HID: bigben: fix slab-out-of-bounds Write in bigben_probe
0d7074792b drm/amdgpu/ucode: Remove firmware load type check in amdgpu_ucode_free_bo
2317f3bfda mlxsw: spectrum_dcb: Do not warn about priority changes
121f56a9a8 ASoC: dapm: Don't fold register value changes into notifications
430af81135 net/mlx5: fs, delete the FTE when there are no rules attached to it
f857855a8a ipv6: Don't send rs packets to the interface of ARPHRD_TUNNEL
b507f067e9 drm: msm: fix error check return value of irq_of_parse_and_map()
efd183d988 arm64: compat: Do not treat syscall number as ESR_ELx for a bad syscall
a610cfe56c drm/amd/pm: fix the compile warning
1e29d829ad drm/plane: Move range check for format_count earlier
e1599ced6b scsi: megaraid: Fix error check return value of register_chrdev()
7923f95997 mmc: jz4740: Apply DMA engine limits to maximum segment size
0959aa00f9 md/bitmap: don't set sb values if can't pass sanity check
222292930c media: cx25821: Fix the warning when removing the module
fa636e9ee4 media: pci: cx23885: Fix the error handling in cx23885_initdev()
0ac84ab507 media: venus: hfi: avoid null dereference in deinit
de16cdf0b7 ath9k: fix QCA9561 PA bias level
af832028af drm/amd/pm: fix double free in si_parse_power_table()
7bd0ac1e23 tools/power turbostat: fix ICX DRAM power numbers
6266ab1f31 spi: spi-rspi: Remove setting {src,dst}_{addr,addr_width} based on DMA direction
f68bed124c ALSA: jack: Access input_dev under mutex
aea748501d drm/komeda: return early if drm_universal_plane_init() fails.
8ded0af90e ACPICA: Avoid cache flush inside virtual machines
c7b41fd76c fbcon: Consistently protect deferred_takeover with console_lock()
4460066eb2 ipv6: fix locking issues with loops over idev->addr_list
8fb1b9beb0 ipw2x00: Fix potential NULL dereference in libipw_xmit()
303380919d b43: Fix assigning negative value to unsigned variable
60d515fd87 b43legacy: Fix assigning negative value to unsigned variable
92225d3c22 mwifiex: add mutex lock for call in mwifiex_dfs_chan_sw_work_queue
f85cb059fa drm/virtio: fix NULL pointer dereference in virtio_gpu_conn_get_modes
670f5e40d7 btrfs: repair super block num_devices automatically
622ced791e btrfs: add "0x" prefix for unsupported optional features
0ca5112047 ptrace: Reimplement PTRACE_KILL by always sending SIGKILL
f5faa24137 ptrace/xtensa: Replace PT_SINGLESTEP with TIF_SINGLESTEP
e10356eae1 ptrace/um: Replace PT_DTRACE with TIF_SINGLESTEP
00c93ce266 perf/x86/intel: Fix event constraints for ICL
1b767500d1 usb: core: hcd: Add support for deferring roothub registration
1147908763 USB: new quirk for Dell Gen 2 devices
7c5a52dd4d USB: serial: option: add Quectel BG95 modem
6b3ecb2d92 ALSA: hda/realtek - Fix microphone noise on ASUS TUF B550M-PLUS
1c6cfb9e8a binfmt_flat: do not stop relocating GOT entries prematurely on riscv

ABI .xml file was updated to add a new function that is now tracked:

1 Added function:

  [A] 'function void refcount_warn_saturate(refcount_struct*, refcount_saturation_type)'

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I93ce4a950729a57206f775a11adeec35b7b30fca
This commit is contained in:
Greg Kroah-Hartman
2022-09-27 12:15:53 +02:00
921 changed files with 95679 additions and 89826 deletions

View File

@@ -107,13 +107,14 @@ Description:
described in ATA8 7.16 and 7.17. Only valid if
the device is not a PM.
pio_mode: (RO) Transfer modes supported by the device when
in PIO mode. Mostly used by PATA device.
pio_mode: (RO) PIO transfer mode used by the device.
Mostly used by PATA devices.
xfer_mode: (RO) Current transfer mode
xfer_mode: (RO) Current transfer mode. Mostly used by
PATA devices.
dma_mode: (RO) Transfer modes supported by the device when
in DMA mode. Mostly used by PATA device.
dma_mode: (RO) DMA transfer mode used by the device.
Mostly used by PATA devices.
class: (RO) Device class. Can be "ata" for disk,
"atapi" for packet device, "pmp" for PM, or

View File

@@ -1,4 +1,4 @@
What: /sys/bus/iio/devices/iio:deviceX/conversion_mode
What: /sys/bus/iio/devices/iio:deviceX/in_conversion_mode
KernelVersion: 4.2
Contact: linux-iio@vger.kernel.org
Description:

View File

@@ -489,6 +489,7 @@ What: /sys/devices/system/cpu/vulnerabilities
/sys/devices/system/cpu/vulnerabilities/srbds
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
Date: January 2018
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: Information about CPU vulnerabilities

View File

@@ -15,3 +15,4 @@ are configurable at compile, boot or run time.
tsx_async_abort
multihit.rst
special-register-buffer-data-sampling.rst
processor_mmio_stale_data.rst

View File

@@ -0,0 +1,246 @@
=========================================
Processor MMIO Stale Data Vulnerabilities
=========================================
Processor MMIO Stale Data Vulnerabilities are a class of memory-mapped I/O
(MMIO) vulnerabilities that can expose data. The sequences of operations for
exposing data range from simple to very complex. Because most of the
vulnerabilities require the attacker to have access to MMIO, many environments
are not affected. System environments using virtualization where MMIO access is
provided to untrusted guests may need mitigation. These vulnerabilities are
not transient execution attacks. However, these vulnerabilities may propagate
stale data into core fill buffers where the data can subsequently be inferred
by an unmitigated transient execution attack. Mitigation for these
vulnerabilities includes a combination of microcode update and software
changes, depending on the platform and usage model. Some of these mitigations
are similar to those used to mitigate Microarchitectural Data Sampling (MDS) or
those used to mitigate Special Register Buffer Data Sampling (SRBDS).
Data Propagators
================
Propagators are operations that result in stale data being copied or moved from
one microarchitectural buffer or register to another. Processor MMIO Stale Data
Vulnerabilities are operations that may result in stale data being directly
read into an architectural, software-visible state or sampled from a buffer or
register.
Fill Buffer Stale Data Propagator (FBSDP)
-----------------------------------------
Stale data may propagate from fill buffers (FB) into the non-coherent portion
of the uncore on some non-coherent writes. Fill buffer propagation by itself
does not make stale data architecturally visible. Stale data must be propagated
to a location where it is subject to reading or sampling.
Sideband Stale Data Propagator (SSDP)
-------------------------------------
The sideband stale data propagator (SSDP) is limited to the client (including
Intel Xeon server E3) uncore implementation. The sideband response buffer is
shared by all client cores. For non-coherent reads that go to sideband
destinations, the uncore logic returns 64 bytes of data to the core, including
both requested data and unrequested stale data, from a transaction buffer and
the sideband response buffer. As a result, stale data from the sideband
response and transaction buffers may now reside in a core fill buffer.
Primary Stale Data Propagator (PSDP)
------------------------------------
The primary stale data propagator (PSDP) is limited to the client (including
Intel Xeon server E3) uncore implementation. Similar to the sideband response
buffer, the primary response buffer is shared by all client cores. For some
processors, MMIO primary reads will return 64 bytes of data to the core fill
buffer including both requested data and unrequested stale data. This is
similar to the sideband stale data propagator.
Vulnerabilities
===============
Device Register Partial Write (DRPW) (CVE-2022-21166)
-----------------------------------------------------
Some endpoint MMIO registers incorrectly handle writes that are smaller than
the register size. Instead of aborting the write or only copying the correct
subset of bytes (for example, 2 bytes for a 2-byte write), more bytes than
specified by the write transaction may be written to the register. On
processors affected by FBSDP, this may expose stale data from the fill buffers
of the core that created the write transaction.
Shared Buffers Data Sampling (SBDS) (CVE-2022-21125)
----------------------------------------------------
After propagators may have moved data around the uncore and copied stale data
into client core fill buffers, processors affected by MFBDS can leak data from
the fill buffer. It is limited to the client (including Intel Xeon server E3)
uncore implementation.
Shared Buffers Data Read (SBDR) (CVE-2022-21123)
------------------------------------------------
It is similar to Shared Buffer Data Sampling (SBDS) except that the data is
directly read into the architectural software-visible state. It is limited to
the client (including Intel Xeon server E3) uncore implementation.
Affected Processors
===================
Not all the CPUs are affected by all the variants. For instance, most
processors for the server market (excluding Intel Xeon E3 processors) are
impacted by only Device Register Partial Write (DRPW).
Below is the list of affected Intel processors [#f1]_:
=================== ============ =========
Common name Family_Model Steppings
=================== ============ =========
HASWELL_X 06_3FH 2,4
SKYLAKE_L 06_4EH 3
BROADWELL_X 06_4FH All
SKYLAKE_X 06_55H 3,4,6,7,11
BROADWELL_D 06_56H 3,4,5
SKYLAKE 06_5EH 3
ICELAKE_X 06_6AH 4,5,6
ICELAKE_D 06_6CH 1
ICELAKE_L 06_7EH 5
ATOM_TREMONT_D 06_86H All
LAKEFIELD 06_8AH 1
KABYLAKE_L 06_8EH 9 to 12
ATOM_TREMONT 06_96H 1
ATOM_TREMONT_L 06_9CH 0
KABYLAKE 06_9EH 9 to 13
COMETLAKE 06_A5H 2,3,5
COMETLAKE_L 06_A6H 0,1
ROCKETLAKE 06_A7H 1
=================== ============ =========
If a CPU is in the affected processor list, but not affected by a variant, it
is indicated by new bits in MSR IA32_ARCH_CAPABILITIES. As described in a later
section, mitigation largely remains the same for all the variants, i.e. to
clear the CPU fill buffers via VERW instruction.
New bits in MSRs
================
Newer processors and microcode update on existing affected processors added new
bits to IA32_ARCH_CAPABILITIES MSR. These bits can be used to enumerate
specific variants of Processor MMIO Stale Data vulnerabilities and mitigation
capability.
MSR IA32_ARCH_CAPABILITIES
--------------------------
Bit 13 - SBDR_SSDP_NO - When set, processor is not affected by either the
Shared Buffers Data Read (SBDR) vulnerability or the sideband stale
data propagator (SSDP).
Bit 14 - FBSDP_NO - When set, processor is not affected by the Fill Buffer
Stale Data Propagator (FBSDP).
Bit 15 - PSDP_NO - When set, processor is not affected by Primary Stale Data
Propagator (PSDP).
Bit 17 - FB_CLEAR - When set, VERW instruction will overwrite CPU fill buffer
values as part of MD_CLEAR operations. Processors that do not
enumerate MDS_NO (meaning they are affected by MDS) but that do
enumerate support for both L1D_FLUSH and MD_CLEAR implicitly enumerate
FB_CLEAR as part of their MD_CLEAR support.
Bit 18 - FB_CLEAR_CTRL - Processor supports read and write to MSR
IA32_MCU_OPT_CTRL[FB_CLEAR_DIS]. On such processors, the FB_CLEAR_DIS
bit can be set to cause the VERW instruction to not perform the
FB_CLEAR action. Not all processors that support FB_CLEAR will support
FB_CLEAR_CTRL.
MSR IA32_MCU_OPT_CTRL
---------------------
Bit 3 - FB_CLEAR_DIS - When set, VERW instruction does not perform the FB_CLEAR
action. This may be useful to reduce the performance impact of FB_CLEAR in
cases where system software deems it warranted (for example, when performance
is more critical, or the untrusted software has no MMIO access). Note that
FB_CLEAR_DIS has no impact on enumeration (for example, it does not change
FB_CLEAR or MD_CLEAR enumeration) and it may not be supported on all processors
that enumerate FB_CLEAR.
Mitigation
==========
Like MDS, all variants of Processor MMIO Stale Data vulnerabilities have the
same mitigation strategy to force the CPU to clear the affected buffers before
an attacker can extract the secrets.
This is achieved by using the otherwise unused and obsolete VERW instruction in
combination with a microcode update. The microcode clears the affected CPU
buffers when the VERW instruction is executed.
Kernel reuses the MDS function to invoke the buffer clearing:
mds_clear_cpu_buffers()
On MDS affected CPUs, the kernel already invokes CPU buffer clear on
kernel/userspace, hypervisor/guest and C-state (idle) transitions. No
additional mitigation is needed on such CPUs.
For CPUs not affected by MDS or TAA, mitigation is needed only for the attacker
with MMIO capability. Therefore, VERW is not required for kernel/userspace. For
virtualization case, VERW is only needed at VMENTER for a guest with MMIO
capability.
Mitigation points
-----------------
Return to user space
^^^^^^^^^^^^^^^^^^^^
Same mitigation as MDS when affected by MDS/TAA, otherwise no mitigation
needed.
C-State transition
^^^^^^^^^^^^^^^^^^
Control register writes by CPU during C-state transition can propagate data
from fill buffer to uncore buffers. Execute VERW before C-state transition to
clear CPU fill buffers.
Guest entry point
^^^^^^^^^^^^^^^^^
Same mitigation as MDS when processor is also affected by MDS/TAA, otherwise
execute VERW at VMENTER only for MMIO capable guests. On CPUs not affected by
MDS/TAA, guest without MMIO access cannot extract secrets using Processor MMIO
Stale Data vulnerabilities, so there is no need to execute VERW for such guests.
Mitigation control on the kernel command line
---------------------------------------------
The kernel command line allows to control the Processor MMIO Stale Data
mitigations at boot time with the option "mmio_stale_data=". The valid
arguments for this option are:
========== =================================================================
full If the CPU is vulnerable, enable mitigation; CPU buffer clearing
on exit to userspace and when entering a VM. Idle transitions are
protected as well. It does not automatically disable SMT.
full,nosmt Same as full, with SMT disabled on vulnerable CPUs. This is the
complete mitigation.
off Disables mitigation completely.
========== =================================================================
If the CPU is affected and mmio_stale_data=off is not supplied on the kernel
command line, then the kernel selects the appropriate mitigation.
Mitigation status information
-----------------------------
The Linux kernel provides a sysfs interface to enumerate the current
vulnerability status of the system: whether the system is vulnerable, and
which mitigations are active. The relevant sysfs file is:
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
The possible values in this file are:
.. list-table::
* - 'Not affected'
- The processor is not vulnerable
* - 'Vulnerable'
- The processor is vulnerable, but no mitigation enabled
* - 'Vulnerable: Clear CPU buffers attempted, no microcode'
- The processor is vulnerable, but microcode is not updated. The
mitigation is enabled on a best effort basis.
* - 'Mitigation: Clear CPU buffers'
- The processor is vulnerable and the CPU buffer clearing mitigation is
enabled.
If the processor is vulnerable then the following information is appended to
the above information:
======================== ===========================================
'SMT vulnerable' SMT is enabled
'SMT disabled' SMT is disabled
'SMT Host state unknown' Kernel runs in a VM, Host SMT state unknown
======================== ===========================================
References
----------
.. [#f1] Affected Processors
https://www.intel.com/content/www/us/en/developer/topic-technology/software-security-guidance/processors-affected-consolidated-product-cpu-model.html

View File

@@ -422,6 +422,14 @@ The possible values in this file are:
'RSB filling' Protection of RSB on context switch enabled
============= ===========================================
- EIBRS Post-barrier Return Stack Buffer (PBRSB) protection status:
=========================== =======================================================
'PBRSB-eIBRS: SW sequence' CPU is affected and protection of RSB on VMEXIT enabled
'PBRSB-eIBRS: Vulnerable' CPU is vulnerable
'PBRSB-eIBRS: Not affected' CPU is not affected by PBRSB
=========================== =======================================================
Full mitigation might require a microcode update from the CPU
vendor. When the necessary microcode is not available, the kernel will
report vulnerability.

View File

@@ -2681,6 +2681,7 @@
kvm.nx_huge_pages=off [X86]
no_entry_flush [PPC]
no_uaccess_flush [PPC]
mmio_stale_data=off [X86]
Exceptions:
This does not have any effect on
@@ -2702,6 +2703,7 @@
Equivalent to: l1tf=flush,nosmt [X86]
mds=full,nosmt [X86]
tsx_async_abort=full,nosmt [X86]
mmio_stale_data=full,nosmt [X86]
mminit_loglevel=
[KNL] When CONFIG_DEBUG_MEMORY_INIT is set, this
@@ -2711,6 +2713,40 @@
log everything. Information is printed at KERN_DEBUG
so loglevel=8 may also need to be specified.
mmio_stale_data=
[X86,INTEL] Control mitigation for the Processor
MMIO Stale Data vulnerabilities.
Processor MMIO Stale Data is a class of
vulnerabilities that may expose data after an MMIO
operation. Exposed data could originate or end in
the same CPU buffers as affected by MDS and TAA.
Therefore, similar to MDS and TAA, the mitigation
is to clear the affected CPU buffers.
This parameter controls the mitigation. The
options are:
full - Enable mitigation on vulnerable CPUs
full,nosmt - Enable mitigation and disable SMT on
vulnerable CPUs.
off - Unconditionally disable mitigation
On MDS or TAA affected machines,
mmio_stale_data=off can be prevented by an active
MDS or TAA mitigation as these vulnerabilities are
mitigated with the same mechanism so in order to
disable this mitigation, you need to specify
mds=off and tsx_async_abort=off too.
Not specifying this option is equivalent to
mmio_stale_data=full.
For details see:
Documentation/admin-guide/hw-vuln/processor_mmio_stale_data.rst
module.sig_enforce
[KNL] When CONFIG_MODULE_SIG is set, this means that
modules without (valid) signatures will fail to load.
@@ -3812,6 +3848,12 @@
fully seed the kernel's CRNG. Default is controlled
by CONFIG_RANDOM_TRUST_CPU.
random.trust_bootloader={on,off}
[KNL] Enable or disable trusting the use of a
seed passed by the bootloader (if available) to
fully seed the kernel's CRNG. Default is controlled
by CONFIG_RANDOM_TRUST_BOOTLOADER.
ras=option[,option,...] [KNL] RAS-specific options
cec_disable [X86]

View File

@@ -862,9 +862,40 @@ The kernel command line parameter printk.devkmsg= overrides this and is
a one-time setting until next reboot: once set, it cannot be changed by
this sysctl interface anymore.
pty
===
randomize_va_space:
===================
See Documentation/filesystems/devpts.rst.
random
======
This is a directory, with the following entries:
* ``boot_id``: a UUID generated the first time this is retrieved, and
unvarying after that;
* ``uuid``: a UUID generated every time this is retrieved (this can
thus be used to generate UUIDs at will);
* ``entropy_avail``: the pool's entropy count, in bits;
* ``poolsize``: the entropy pool size, in bits;
* ``urandom_min_reseed_secs``: obsolete (used to determine the minimum
number of seconds between urandom pool reseeding). This file is
writable for compatibility purposes, but writing to it has no effect
on any RNG behavior;
* ``write_wakeup_threshold``: when the entropy count drops below this
(as a number of bits), processes waiting to write to ``/dev/random``
are woken up. This file is writable for compatibility purposes, but
writing to it has no effect on any RNG behavior.
randomize_va_space
==================
This option can be used to select the type of process address
space randomization that is used in the system, for architectures

View File

@@ -98,7 +98,7 @@ finally:
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
language = 'en'
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:

View File

@@ -58,7 +58,7 @@ if:
then:
properties:
clocks:
maxItems: 2
minItems: 2
required:
- clock-names

View File

@@ -9,8 +9,9 @@ Required properties:
- The second cell is reserved and is currently unused.
- gpio-controller : Marks the device node as a GPIO controller.
- interrupt-controller: Mark the device node as an interrupt controller
- #interrupt-cells : Should be 1. The interrupt type is fixed in the hardware.
- #interrupt-cells : Should be 2. The interrupt type is fixed in the hardware.
- The first cell is the GPIO offset number within the GPIO controller.
- The second cell is the interrupt trigger type and level flags.
- interrupts: Specify the interrupt.
- altr,interrupt-type: Specifies the interrupt trigger type the GPIO
hardware is synthesized. This field is required if the Altera GPIO controller
@@ -38,6 +39,6 @@ gpio_altr: gpio@ff200000 {
altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
#gpio-cells = <2>;
gpio-controller;
#interrupt-cells = <1>;
#interrupt-cells = <2>;
interrupt-controller;
};

View File

@@ -876,7 +876,7 @@ cipso_cache_enable - BOOLEAN
cipso_cache_bucket_size - INTEGER
The CIPSO label cache consists of a fixed size hash table with each
hash bucket containing a number of cache entries. This variable limits
the number of entries in each hash bucket; the larger the value the
the number of entries in each hash bucket; the larger the value is, the
more CIPSO label mappings that can be cached. When the number of
entries in a given hash bucket reaches this limit adding new entries
causes the oldest entry in the bucket to be removed to make room.
@@ -966,7 +966,7 @@ ip_nonlocal_bind - BOOLEAN
which can be quite useful - but may break some applications.
Default: 0
ip_dynaddr - BOOLEAN
ip_dynaddr - INTEGER
If set non-zero, enables support for dynamic addresses.
If set to a non-zero value larger than 1, a kernel log
message will be printed when dynamic address rewriting
@@ -2297,7 +2297,14 @@ sctp_rmem - vector of 3 INTEGERs: min, default, max
Default: 4K
sctp_wmem - vector of 3 INTEGERs: min, default, max
Currently this tunable has no effect.
Only the first value ("min") is used, "default" and "max" are
ignored.
min: Minimum size of send buffer that can be used by SCTP sockets.
It is guaranteed to each SCTP socket (but not association) even
under moderate memory pressure.
Default: 4K
addr_scope_policy - INTEGER
Control IPv4 address scoping - draft-stewart-tsvwg-sctp-ipv4-00

View File

@@ -13652,6 +13652,7 @@ F: arch/mips/configs/generic/board-ranchu.config
RANDOM NUMBER DRIVER
M: "Theodore Ts'o" <tytso@mit.edu>
M: Jason A. Donenfeld <Jason@zx2c4.com>
S: Maintained
F: drivers/char/random.c

View File

@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 197
SUBLEVEL = 210
EXTRAVERSION =
NAME = Kleptomaniac Octopus
@@ -1146,7 +1146,7 @@ PHONY += autoksyms_recursive
ifdef CONFIG_TRIM_UNUSED_KSYMS
autoksyms_recursive: descend modules.order
$(Q)$(CONFIG_SHELL) $(srctree)/scripts/adjust_autoksyms.sh \
"$(MAKE) -f $(srctree)/Makefile vmlinux"
"$(MAKE) -f $(srctree)/Makefile autoksyms_recursive"
endif
# For the kernel to actually contain only the needed exported symbols,

File diff suppressed because it is too large Load Diff

View File

@@ -227,6 +227,7 @@
ktime_get_mono_fast_ns
__list_add_valid
__list_del_entry_valid
__local_bh_enable_ip
mbox_client_txdone
mbox_free_channel
mbox_request_channel
@@ -366,8 +367,7 @@
_raw_spin_unlock_irq
_raw_spin_unlock_irqrestore
rdev_get_drvdata
refcount_dec_and_test_checked
refcount_inc_checked
refcount_warn_saturate
register_reboot_notifier
__register_rpmsg_driver
regmap_bulk_read
@@ -584,7 +584,6 @@
__kfifo_free
kmalloc_order_trace
ktime_get_with_offset
__local_bh_enable_ip
memmove
param_ops_ulong
pskb_expand_head
@@ -1129,8 +1128,9 @@
usb_create_hcd
# required by phy-qcom-qmp.ko
of_clk_get_by_name
devm_get_clk_from_child
__of_reset_control_get
reset_control_put
# required by phy-qcom-qusb2.ko
devm_nvmem_cell_get
@@ -1307,7 +1307,6 @@
_raw_write_lock_bh
_raw_write_unlock_bh
refcount_dec_and_mutex_lock
refcount_dec_checked
release_sock
rtnl_is_locked
rtnl_register_module

View File

@@ -1021,27 +1021,6 @@ config STRICT_MODULE_RWX
config ARCH_HAS_PHYS_TO_DMA
bool
config ARCH_HAS_REFCOUNT
bool
help
An architecture selects this when it has implemented refcount_t
using open coded assembly primitives that provide an optimized
refcount_t implementation, possibly at the expense of some full
refcount state checks of CONFIG_REFCOUNT_FULL=y.
The refcount overflow check behavior, however, must be retained.
Catching overflows is the primary security concern for protecting
against bugs in reference counts.
config REFCOUNT_FULL
bool "Perform full reference count validation at the expense of speed"
help
Enabling this switches the refcounting infrastructure from a fast
unchecked atomic_t implementation to a fully state checked
implementation, which can be (slightly) slower but provides protections
against various use-after-free conditions that can be used in
security flaw exploits.
config HAVE_ARCH_COMPILER_H
bool
help

View File

@@ -28,5 +28,6 @@ static inline cycles_t get_cycles (void)
__asm__ __volatile__ ("rpcc %0" : "=r"(ret));
return ret;
}
#define get_cycles get_cycles
#endif

View File

@@ -59,7 +59,7 @@ srmcons_do_receive_chars(struct tty_port *port)
} while((result.bits.status & 1) && (++loops < 10));
if (count)
tty_schedule_flip(port);
tty_flip_buffer_push(port);
return count;
}

View File

@@ -119,7 +119,6 @@ config ARM
select OLD_SIGSUSPEND3
select PCI_SYSCALL if PCI
select PERF_USE_VMALLOC
select REFCOUNT_FULL
select RTC_LIB
select SYS_SUPPORTS_APM_EMULATION
# Above selects are sorted alphabetically; please add new ones

View File

@@ -13,7 +13,7 @@
* size immediately following the kernel, we could build this into
* a binary blob, and concatenate the zImage using the cat command.
*/
.section .start,#alloc,#execinstr
.section .start, "ax"
.type _start, #function
.globl _start

View File

@@ -6,7 +6,7 @@
* Author: Nicolas Pitre
*/
.section ".start", #alloc, #execinstr
.section ".start", "ax"
mrc p15, 0, r0, c1, c0, 0 @ read control reg
orr r0, r0, #(1 << 7) @ enable big endian mode

View File

@@ -140,7 +140,7 @@
#endif
.endm
.section ".start", #alloc, #execinstr
.section ".start", "ax"
/*
* sort out different calling conventions
*/
@@ -1274,7 +1274,7 @@ iflush:
__armv5tej_mmu_cache_flush:
tst r4, #1
movne pc, lr
1: mrc p15, 0, r15, c7, c14, 3 @ test,clean,invalidate D cache
1: mrc p15, 0, APSR_nzcv, c7, c14, 3 @ test,clean,invalidate D cache
bne 1b
mcr p15, 0, r0, c7, c5, 0 @ flush I cache
mcr p15, 0, r0, c7, c10, 4 @ drain WB

View File

@@ -1,5 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0 */
.section .piggydata,#alloc
.section .piggydata, "a"
.globl input_data
input_data:
.incbin "arch/arm/boot/compressed/piggy_data"

View File

@@ -53,18 +53,17 @@
"GPIO18",
"NC", /* GPIO19 */
"NC", /* GPIO20 */
"GPIO21",
"CAM_GPIO0",
"GPIO22",
"GPIO23",
"GPIO24",
"GPIO25",
"NC", /* GPIO26 */
"CAM_GPIO0",
/* Binary number representing build/revision */
"CONFIG0",
"CONFIG1",
"CONFIG2",
"CONFIG3",
"GPIO27",
"GPIO28",
"GPIO29",
"GPIO30",
"GPIO31",
"NC", /* GPIO32 */
"NC", /* GPIO33 */
"NC", /* GPIO34 */

View File

@@ -74,16 +74,18 @@
"GPIO27",
"SDA0",
"SCL0",
"NC", /* GPIO30 */
"NC", /* GPIO31 */
"NC", /* GPIO32 */
"NC", /* GPIO33 */
"NC", /* GPIO34 */
"NC", /* GPIO35 */
"NC", /* GPIO36 */
"NC", /* GPIO37 */
"NC", /* GPIO38 */
"NC", /* GPIO39 */
/* Used by BT module */
"CTS0",
"RTS0",
"TXD0",
"RXD0",
/* Used by Wifi */
"SD1_CLK",
"SD1_CMD",
"SD1_DATA0",
"SD1_DATA1",
"SD1_DATA2",
"SD1_DATA3",
"CAM_GPIO1", /* GPIO40 */
"WL_ON", /* GPIO41 */
"NC", /* GPIO42 */

View File

@@ -43,7 +43,7 @@
#gpio-cells = <2>;
gpio-line-names = "BT_ON",
"WL_ON",
"STATUS_LED_R",
"PWR_LED_R",
"LAN_RUN",
"",
"CAM_GPIO0",

View File

@@ -63,8 +63,8 @@
"GPIO43",
"GPIO44",
"GPIO45",
"GPIO46",
"GPIO47",
"SMPS_SCL",
"SMPS_SDA",
/* Used by eMMC */
"SD_CLK_R",
"SD_CMD_R",

View File

@@ -128,7 +128,7 @@
samsung,i2c-max-bus-freq = <20000>;
eeprom@50 {
compatible = "samsung,s524ad0xd1";
compatible = "samsung,s524ad0xd1", "atmel,24c128";
reg = <0x50>;
};
@@ -287,7 +287,7 @@
samsung,i2c-max-bus-freq = <20000>;
eeprom@51 {
compatible = "samsung,s524ad0xd1";
compatible = "samsung,s524ad0xd1", "atmel,24c128";
reg = <0x51>;
};

View File

@@ -226,7 +226,7 @@
reg = <0x28>;
#gpio-cells = <2>;
gpio-controller;
ngpio = <32>;
ngpios = <62>;
};
sgtl5000: codec@a {

View File

@@ -766,7 +766,7 @@
regulator-name = "vddpu";
regulator-min-microvolt = <725000>;
regulator-max-microvolt = <1450000>;
regulator-enable-ramp-delay = <150>;
regulator-enable-ramp-delay = <380>;
anatop-reg-offset = <0x140>;
anatop-vol-bit-shift = <9>;
anatop-vol-bit-width = <5>;

View File

@@ -287,7 +287,7 @@
clocks = <&armclk>;
};
gic: gic@1000 {
gic: interrupt-controller@1000 {
compatible = "arm,arm11mp-gic";
interrupt-controller;
#interrupt-cells = <3>;

View File

@@ -933,7 +933,7 @@
clocks = <&pmc PMC_TYPE_PERIPHERAL 55>, <&pmc PMC_TYPE_GCK 55>;
clock-names = "pclk", "gclk";
assigned-clocks = <&pmc PMC_TYPE_CORE PMC_I2S1_MUX>;
assigned-parrents = <&pmc PMC_TYPE_GCK 55>;
assigned-clock-parents = <&pmc PMC_TYPE_GCK 55>;
status = "disabled";
};

View File

@@ -515,7 +515,7 @@
compatible = "st,stm32-cec";
reg = <0x40016000 0x400>;
interrupts = <GIC_SPI 94 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&rcc CEC_K>, <&clk_lse>;
clocks = <&rcc CEC_K>, <&rcc CEC>;
clock-names = "cec", "hdmi-cec";
status = "disabled";
};

View File

@@ -169,7 +169,7 @@
flash@0 {
#address-cells = <1>;
#size-cells = <1>;
compatible = "mxicy,mx25l1606e", "winbond,w25q128";
compatible = "mxicy,mx25l1606e", "jedec,spi-nor";
reg = <0>;
spi-max-frequency = <40000000>;
};

View File

@@ -104,8 +104,10 @@
wdt: watchdog@1c20ca0 {
compatible = "allwinner,suniv-f1c100s-wdt",
"allwinner,sun4i-a10-wdt";
"allwinner,sun6i-a31-wdt";
reg = <0x01c20ca0 0x20>;
interrupts = <16>;
clocks = <&osc32k>;
};
uart0: serial@1c25000 {

View File

@@ -30,7 +30,7 @@ config CRYPTO_SHA1_ARM_NEON
config CRYPTO_SHA1_ARM_CE
tristate "SHA1 digest algorithm (ARM v8 Crypto Extensions)"
depends on KERNEL_MODE_NEON
depends on KERNEL_MODE_NEON && (CC_IS_CLANG || GCC_VERSION >= 40800)
select CRYPTO_SHA1_ARM
select CRYPTO_HASH
help
@@ -39,7 +39,7 @@ config CRYPTO_SHA1_ARM_CE
config CRYPTO_SHA2_ARM_CE
tristate "SHA-224/256 digest algorithm (ARM v8 Crypto Extensions)"
depends on KERNEL_MODE_NEON
depends on KERNEL_MODE_NEON && (CC_IS_CLANG || GCC_VERSION >= 40800)
select CRYPTO_SHA256_ARM
select CRYPTO_HASH
help
@@ -115,7 +115,7 @@ config CRYPTO_AES_ARM_BS
config CRYPTO_AES_ARM_CE
tristate "Accelerated AES using ARMv8 Crypto Extensions"
depends on KERNEL_MODE_NEON
depends on KERNEL_MODE_NEON && (CC_IS_CLANG || GCC_VERSION >= 40800)
select CRYPTO_BLKCIPHER
select CRYPTO_LIB_AES
select CRYPTO_SIMD
@@ -125,7 +125,7 @@ config CRYPTO_AES_ARM_CE
config CRYPTO_GHASH_ARM_CE
tristate "PMULL-accelerated GHASH using NEON/ARMv8 Crypto Extensions"
depends on KERNEL_MODE_NEON
depends on KERNEL_MODE_NEON && (CC_IS_CLANG || GCC_VERSION >= 40800)
select CRYPTO_HASH
select CRYPTO_CRYPTD
select CRYPTO_GF128MUL
@@ -137,12 +137,14 @@ config CRYPTO_GHASH_ARM_CE
config CRYPTO_CRCT10DIF_ARM_CE
tristate "CRCT10DIF digest algorithm using PMULL instructions"
depends on KERNEL_MODE_NEON && CRC_T10DIF
depends on KERNEL_MODE_NEON && (CC_IS_CLANG || GCC_VERSION >= 40800)
depends on CRC_T10DIF
select CRYPTO_HASH
config CRYPTO_CRC32_ARM_CE
tristate "CRC32(C) digest algorithm using CRC and/or PMULL instructions"
depends on KERNEL_MODE_NEON && CRC32
depends on KERNEL_MODE_NEON && (CC_IS_CLANG || GCC_VERSION >= 40800)
depends on CRC32
select CRYPTO_HASH
config CRYPTO_CHACHA20_NEON

View File

@@ -10,36 +10,17 @@ obj-$(CONFIG_CRYPTO_SHA1_ARM_NEON) += sha1-arm-neon.o
obj-$(CONFIG_CRYPTO_SHA256_ARM) += sha256-arm.o
obj-$(CONFIG_CRYPTO_SHA512_ARM) += sha512-arm.o
obj-$(CONFIG_CRYPTO_BLAKE2S_ARM) += blake2s-arm.o
obj-$(if $(CONFIG_CRYPTO_BLAKE2S_ARM),y) += libblake2s-arm.o
obj-$(CONFIG_CRYPTO_BLAKE2B_NEON) += blake2b-neon.o
obj-$(CONFIG_CRYPTO_CHACHA20_NEON) += chacha-neon.o
obj-$(CONFIG_CRYPTO_NHPOLY1305_NEON) += nhpoly1305-neon.o
ce-obj-$(CONFIG_CRYPTO_AES_ARM_CE) += aes-arm-ce.o
ce-obj-$(CONFIG_CRYPTO_SHA1_ARM_CE) += sha1-arm-ce.o
ce-obj-$(CONFIG_CRYPTO_SHA2_ARM_CE) += sha2-arm-ce.o
ce-obj-$(CONFIG_CRYPTO_GHASH_ARM_CE) += ghash-arm-ce.o
ce-obj-$(CONFIG_CRYPTO_CRCT10DIF_ARM_CE) += crct10dif-arm-ce.o
crc-obj-$(CONFIG_CRYPTO_CRC32_ARM_CE) += crc32-arm-ce.o
ifneq ($(crc-obj-y)$(crc-obj-m),)
ifeq ($(call as-instr,.arch armv8-a\n.arch_extension crc,y,n),y)
ce-obj-y += $(crc-obj-y)
ce-obj-m += $(crc-obj-m)
else
$(warning These CRC Extensions modules need binutils 2.23 or higher)
$(warning $(crc-obj-y) $(crc-obj-m))
endif
endif
ifneq ($(ce-obj-y)$(ce-obj-m),)
ifeq ($(call as-instr,.fpu crypto-neon-fp-armv8,y,n),y)
obj-y += $(ce-obj-y)
obj-m += $(ce-obj-m)
else
$(warning These ARMv8 Crypto Extensions modules need binutils 2.23 or higher)
$(warning $(ce-obj-y) $(ce-obj-m))
endif
endif
obj-$(CONFIG_CRYPTO_AES_ARM_CE) += aes-arm-ce.o
obj-$(CONFIG_CRYPTO_SHA1_ARM_CE) += sha1-arm-ce.o
obj-$(CONFIG_CRYPTO_SHA2_ARM_CE) += sha2-arm-ce.o
obj-$(CONFIG_CRYPTO_GHASH_ARM_CE) += ghash-arm-ce.o
obj-$(CONFIG_CRYPTO_CRCT10DIF_ARM_CE) += crct10dif-arm-ce.o
obj-$(CONFIG_CRYPTO_CRC32_ARM_CE) += crc32-arm-ce.o
aes-arm-y := aes-cipher-core.o aes-cipher-glue.o
aes-arm-bs-y := aes-neonbs-core.o aes-neonbs-glue.o
@@ -49,7 +30,8 @@ sha256-arm-neon-$(CONFIG_KERNEL_MODE_NEON) := sha256_neon_glue.o
sha256-arm-y := sha256-core.o sha256_glue.o $(sha256-arm-neon-y)
sha512-arm-neon-$(CONFIG_KERNEL_MODE_NEON) := sha512-neon-glue.o
sha512-arm-y := sha512-core.o sha512-glue.o $(sha512-arm-neon-y)
blake2s-arm-y := blake2s-core.o blake2s-glue.o
blake2s-arm-y := blake2s-shash.o
libblake2s-arm-y:= blake2s-core.o blake2s-glue.o
blake2b-neon-y := blake2b-neon-core.o blake2b-neon-glue.o
sha1-arm-ce-y := sha1-ce-core.o sha1-ce-glue.o
sha2-arm-ce-y := sha2-ce-core.o sha2-ce-glue.o

View File

@@ -167,8 +167,8 @@
.endm
//
// void blake2s_compress_arch(struct blake2s_state *state,
// const u8 *block, size_t nblocks, u32 inc);
// void blake2s_compress(struct blake2s_state *state,
// const u8 *block, size_t nblocks, u32 inc);
//
// Only the first three fields of struct blake2s_state are used:
// u32 h[8]; (inout)
@@ -176,7 +176,7 @@
// u32 f[2]; (in)
//
.align 5
ENTRY(blake2s_compress_arch)
ENTRY(blake2s_compress)
push {r0-r2,r4-r11,lr} // keep this an even number
.Lnext_block:
@@ -303,4 +303,4 @@ ENTRY(blake2s_compress_arch)
str r3, [r12], #4
bne 1b
b .Lcopy_block_done
ENDPROC(blake2s_compress_arch)
ENDPROC(blake2s_compress)

View File

@@ -1,78 +1,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* BLAKE2s digest algorithm, ARM scalar implementation
*
* Copyright 2020 Google LLC
*/
#include <crypto/internal/blake2s.h>
#include <crypto/internal/hash.h>
#include <linux/module.h>
/* defined in blake2s-core.S */
EXPORT_SYMBOL(blake2s_compress_arch);
static int crypto_blake2s_update_arm(struct shash_desc *desc,
const u8 *in, unsigned int inlen)
{
return crypto_blake2s_update(desc, in, inlen, blake2s_compress_arch);
}
static int crypto_blake2s_final_arm(struct shash_desc *desc, u8 *out)
{
return crypto_blake2s_final(desc, out, blake2s_compress_arch);
}
#define BLAKE2S_ALG(name, driver_name, digest_size) \
{ \
.base.cra_name = name, \
.base.cra_driver_name = driver_name, \
.base.cra_priority = 200, \
.base.cra_flags = CRYPTO_ALG_OPTIONAL_KEY, \
.base.cra_blocksize = BLAKE2S_BLOCK_SIZE, \
.base.cra_ctxsize = sizeof(struct blake2s_tfm_ctx), \
.base.cra_module = THIS_MODULE, \
.digestsize = digest_size, \
.setkey = crypto_blake2s_setkey, \
.init = crypto_blake2s_init, \
.update = crypto_blake2s_update_arm, \
.final = crypto_blake2s_final_arm, \
.descsize = sizeof(struct blake2s_state), \
}
static struct shash_alg blake2s_arm_algs[] = {
BLAKE2S_ALG("blake2s-128", "blake2s-128-arm", BLAKE2S_128_HASH_SIZE),
BLAKE2S_ALG("blake2s-160", "blake2s-160-arm", BLAKE2S_160_HASH_SIZE),
BLAKE2S_ALG("blake2s-224", "blake2s-224-arm", BLAKE2S_224_HASH_SIZE),
BLAKE2S_ALG("blake2s-256", "blake2s-256-arm", BLAKE2S_256_HASH_SIZE),
};
static int __init blake2s_arm_mod_init(void)
{
return IS_REACHABLE(CONFIG_CRYPTO_HASH) ?
crypto_register_shashes(blake2s_arm_algs,
ARRAY_SIZE(blake2s_arm_algs)) : 0;
}
static void __exit blake2s_arm_mod_exit(void)
{
if (IS_REACHABLE(CONFIG_CRYPTO_HASH))
crypto_unregister_shashes(blake2s_arm_algs,
ARRAY_SIZE(blake2s_arm_algs));
}
module_init(blake2s_arm_mod_init);
module_exit(blake2s_arm_mod_exit);
MODULE_DESCRIPTION("BLAKE2s digest algorithm, ARM scalar implementation");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Eric Biggers <ebiggers@google.com>");
MODULE_ALIAS_CRYPTO("blake2s-128");
MODULE_ALIAS_CRYPTO("blake2s-128-arm");
MODULE_ALIAS_CRYPTO("blake2s-160");
MODULE_ALIAS_CRYPTO("blake2s-160-arm");
MODULE_ALIAS_CRYPTO("blake2s-224");
MODULE_ALIAS_CRYPTO("blake2s-224-arm");
MODULE_ALIAS_CRYPTO("blake2s-256");
MODULE_ALIAS_CRYPTO("blake2s-256-arm");
EXPORT_SYMBOL(blake2s_compress);

View File

@@ -0,0 +1,75 @@
// SPDX-License-Identifier: GPL-2.0-or-later
/*
* BLAKE2s digest algorithm, ARM scalar implementation
*
* Copyright 2020 Google LLC
*/
#include <crypto/internal/blake2s.h>
#include <crypto/internal/hash.h>
#include <linux/module.h>
static int crypto_blake2s_update_arm(struct shash_desc *desc,
const u8 *in, unsigned int inlen)
{
return crypto_blake2s_update(desc, in, inlen, false);
}
static int crypto_blake2s_final_arm(struct shash_desc *desc, u8 *out)
{
return crypto_blake2s_final(desc, out, false);
}
#define BLAKE2S_ALG(name, driver_name, digest_size) \
{ \
.base.cra_name = name, \
.base.cra_driver_name = driver_name, \
.base.cra_priority = 200, \
.base.cra_flags = CRYPTO_ALG_OPTIONAL_KEY, \
.base.cra_blocksize = BLAKE2S_BLOCK_SIZE, \
.base.cra_ctxsize = sizeof(struct blake2s_tfm_ctx), \
.base.cra_module = THIS_MODULE, \
.digestsize = digest_size, \
.setkey = crypto_blake2s_setkey, \
.init = crypto_blake2s_init, \
.update = crypto_blake2s_update_arm, \
.final = crypto_blake2s_final_arm, \
.descsize = sizeof(struct blake2s_state), \
}
static struct shash_alg blake2s_arm_algs[] = {
BLAKE2S_ALG("blake2s-128", "blake2s-128-arm", BLAKE2S_128_HASH_SIZE),
BLAKE2S_ALG("blake2s-160", "blake2s-160-arm", BLAKE2S_160_HASH_SIZE),
BLAKE2S_ALG("blake2s-224", "blake2s-224-arm", BLAKE2S_224_HASH_SIZE),
BLAKE2S_ALG("blake2s-256", "blake2s-256-arm", BLAKE2S_256_HASH_SIZE),
};
static int __init blake2s_arm_mod_init(void)
{
return IS_REACHABLE(CONFIG_CRYPTO_HASH) ?
crypto_register_shashes(blake2s_arm_algs,
ARRAY_SIZE(blake2s_arm_algs)) : 0;
}
static void __exit blake2s_arm_mod_exit(void)
{
if (IS_REACHABLE(CONFIG_CRYPTO_HASH))
crypto_unregister_shashes(blake2s_arm_algs,
ARRAY_SIZE(blake2s_arm_algs));
}
module_init(blake2s_arm_mod_init);
module_exit(blake2s_arm_mod_exit);
MODULE_DESCRIPTION("BLAKE2s digest algorithm, ARM scalar implementation");
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Eric Biggers <ebiggers@google.com>");
MODULE_ALIAS_CRYPTO("blake2s-128");
MODULE_ALIAS_CRYPTO("blake2s-128-arm");
MODULE_ALIAS_CRYPTO("blake2s-160");
MODULE_ALIAS_CRYPTO("blake2s-160-arm");
MODULE_ALIAS_CRYPTO("blake2s-224");
MODULE_ALIAS_CRYPTO("blake2s-224-arm");
MODULE_ALIAS_CRYPTO("blake2s-256");
MODULE_ALIAS_CRYPTO("blake2s-256-arm");

View File

@@ -72,7 +72,7 @@
#endif
.text
.arch armv7-a
.arch armv8-a
.fpu crypto-neon-fp-armv8
init_crc .req r0

View File

@@ -8,6 +8,9 @@
#include <linux/linkage.h>
#include <asm/assembler.h>
.arch armv8-a
.fpu crypto-neon-fp-armv8
SHASH .req q0
T1 .req q1
XL .req q2
@@ -88,7 +91,6 @@
T3_H .req d17
.text
.fpu crypto-neon-fp-armv8
.macro __pmull_p64, rd, rn, rm, b1, b2, b3, b4
vmull.p64 \rd, \rn, \rm

View File

@@ -10,6 +10,7 @@
#include <asm/assembler.h>
.text
.arch armv8-a
.fpu crypto-neon-fp-armv8
k0 .req q0

View File

@@ -10,6 +10,7 @@
#include <asm/assembler.h>
.text
.arch armv8-a
.fpu crypto-neon-fp-armv8
k0 .req q7

View File

@@ -175,7 +175,6 @@ $code=<<___;
#else
.syntax unified
# ifdef __thumb2__
# define adrl adr
.thumb
# else
.code 32
@@ -471,7 +470,8 @@ sha256_block_data_order_neon:
stmdb sp!,{r4-r12,lr}
sub $H,sp,#16*4+16
adrl $Ktbl,K256
adr $Ktbl,.Lsha256_block_data_order
sub $Ktbl,$Ktbl,#.Lsha256_block_data_order-K256
bic $H,$H,#15 @ align for 128-bit stores
mov $t2,sp
mov sp,$H @ alloca

View File

@@ -56,7 +56,6 @@
#else
.syntax unified
# ifdef __thumb2__
# define adrl adr
.thumb
# else
.code 32
@@ -1885,7 +1884,8 @@ sha256_block_data_order_neon:
stmdb sp!,{r4-r12,lr}
sub r11,sp,#16*4+16
adrl r14,K256
adr r14,.Lsha256_block_data_order
sub r14,r14,#.Lsha256_block_data_order-K256
bic r11,r11,#15 @ align for 128-bit stores
mov r12,sp
mov sp,r11 @ alloca

View File

@@ -212,7 +212,6 @@ $code=<<___;
#else
.syntax unified
# ifdef __thumb2__
# define adrl adr
.thumb
# else
.code 32
@@ -602,7 +601,8 @@ sha512_block_data_order_neon:
dmb @ errata #451034 on early Cortex A8
add $len,$inp,$len,lsl#7 @ len to point at the end of inp
VFP_ABI_PUSH
adrl $Ktbl,K512
adr $Ktbl,.Lsha512_block_data_order
sub $Ktbl,$Ktbl,.Lsha512_block_data_order-K512
vldmia $ctx,{$A-$H} @ load context
.Loop_neon:
___

View File

@@ -79,7 +79,6 @@
#else
.syntax unified
# ifdef __thumb2__
# define adrl adr
.thumb
# else
.code 32
@@ -543,7 +542,8 @@ sha512_block_data_order_neon:
dmb @ errata #451034 on early Cortex A8
add r2,r1,r2,lsl#7 @ len to point at the end of inp
VFP_ABI_PUSH
adrl r3,K512
adr r3,.Lsha512_block_data_order
sub r3,r3,.Lsha512_block_data_order-K512
vldmia r0,{d16-d23} @ load context
.Loop_neon:
vshr.u64 d24,d20,#14 @ 0

View File

@@ -279,10 +279,9 @@
.endif ;\
.popsection
#define ALT_UP_B(label) \
.equ up_b_offset, label - 9998b ;\
.pushsection ".alt.smp.init", "a" ;\
.long 9998b ;\
W(b) . + up_b_offset ;\
W(b) . + (label - 9998b) ;\
.popsection
#else
#define ALT_SMP(instr...)

View File

@@ -27,6 +27,7 @@ enum {
MT_HIGH_VECTORS,
MT_MEMORY_RWX,
MT_MEMORY_RW,
MT_MEMORY_RO,
MT_ROM,
MT_MEMORY_RWX_NONCACHED,
MT_MEMORY_RW_DTCM,

View File

@@ -164,5 +164,31 @@ static inline unsigned long user_stack_pointer(struct pt_regs *regs)
((current_stack_pointer | (THREAD_SIZE - 1)) - 7) - 1; \
})
/*
* Update ITSTATE after normal execution of an IT block instruction.
*
* The 8 IT state bits are split into two parts in CPSR:
* ITSTATE<1:0> are in CPSR<26:25>
* ITSTATE<7:2> are in CPSR<15:10>
*/
static inline unsigned long it_advance(unsigned long cpsr)
{
if ((cpsr & 0x06000400) == 0) {
/* ITSTATE<2:0> == 0 means end of IT block, so clear IT state */
cpsr &= ~PSR_IT_MASK;
} else {
/* We need to shift left ITSTATE<4:0> */
const unsigned long mask = 0x06001c00; /* Mask ITSTATE<4:0> */
unsigned long it = cpsr & mask;
it <<= 1;
it |= it >> (27 - 10); /* Carry ITSTATE<2> to correct place */
it &= mask;
cpsr &= ~mask;
cpsr |= it;
}
return cpsr;
}
#endif /* __ASSEMBLY__ */
#endif

View File

@@ -11,5 +11,6 @@
typedef unsigned long cycles_t;
#define get_cycles() ({ cycles_t c; read_current_timer(&c) ? 0 : c; })
#define random_get_entropy() (((unsigned long)get_cycles()) ?: random_get_entropy_fallback())
#endif

View File

@@ -19,23 +19,25 @@
@ read all the working registers back into the VFP
.macro VFPFLDMIA, base, tmp
.fpu vfpv2
#if __LINUX_ARM_ARCH__ < 6
LDC p11, cr0, [\base],#33*4 @ FLDMIAX \base!, {d0-d15}
fldmiax \base!, {d0-d15}
#else
LDC p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d0-d15}
vldmia \base!, {d0-d15}
#endif
#ifdef CONFIG_VFPv3
.fpu vfpv3
#if __LINUX_ARM_ARCH__ <= 6
ldr \tmp, =elf_hwcap @ may not have MVFR regs
ldr \tmp, [\tmp, #0]
tst \tmp, #HWCAP_VFPD32
ldclne p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}
vldmiane \base!, {d16-d31}
addeq \base, \base, #32*4 @ step over unused register space
#else
VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
cmp \tmp, #2 @ 32 x 64bit registers?
ldcleq p11, cr0, [\base],#32*4 @ FLDMIAD \base!, {d16-d31}
vldmiaeq \base!, {d16-d31}
addne \base, \base, #32*4 @ step over unused register space
#endif
#endif
@@ -44,22 +46,23 @@
@ write all the working registers out of the VFP
.macro VFPFSTMIA, base, tmp
#if __LINUX_ARM_ARCH__ < 6
STC p11, cr0, [\base],#33*4 @ FSTMIAX \base!, {d0-d15}
fstmiax \base!, {d0-d15}
#else
STC p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d0-d15}
vstmia \base!, {d0-d15}
#endif
#ifdef CONFIG_VFPv3
.fpu vfpv3
#if __LINUX_ARM_ARCH__ <= 6
ldr \tmp, =elf_hwcap @ may not have MVFR regs
ldr \tmp, [\tmp, #0]
tst \tmp, #HWCAP_VFPD32
stclne p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}
vstmiane \base!, {d16-d31}
addeq \base, \base, #32*4 @ step over unused register space
#else
VFPFMRX \tmp, MVFR0 @ Media and VFP Feature Register 0
and \tmp, \tmp, #MVFR0_A_SIMD_MASK @ A_SIMD field
cmp \tmp, #2 @ 32 x 64bit registers?
stcleq p11, cr0, [\base],#32*4 @ FSTMIAD \base!, {d16-d31}
vstmiaeq \base!, {d16-d31}
addne \base, \base, #32*4 @ step over unused register space
#endif
#endif

View File

@@ -16,6 +16,7 @@
#include <asm/thread_info.h>
#include <asm/asm-offsets.h>
#include <asm/assembler.h>
#include "iwmmxt.h"
#if defined(CONFIG_CPU_PJ4) || defined(CONFIG_CPU_PJ4B)
#define PJ4(code...) code
@@ -113,33 +114,33 @@ concan_save:
concan_dump:
wstrw wCSSF, [r1, #MMX_WCSSF]
wstrw wCASF, [r1, #MMX_WCASF]
wstrw wCGR0, [r1, #MMX_WCGR0]
wstrw wCGR1, [r1, #MMX_WCGR1]
wstrw wCGR2, [r1, #MMX_WCGR2]
wstrw wCGR3, [r1, #MMX_WCGR3]
wstrw wCSSF, r1, MMX_WCSSF
wstrw wCASF, r1, MMX_WCASF
wstrw wCGR0, r1, MMX_WCGR0
wstrw wCGR1, r1, MMX_WCGR1
wstrw wCGR2, r1, MMX_WCGR2
wstrw wCGR3, r1, MMX_WCGR3
1: @ MUP? wRn
tst r2, #0x2
beq 2f
wstrd wR0, [r1, #MMX_WR0]
wstrd wR1, [r1, #MMX_WR1]
wstrd wR2, [r1, #MMX_WR2]
wstrd wR3, [r1, #MMX_WR3]
wstrd wR4, [r1, #MMX_WR4]
wstrd wR5, [r1, #MMX_WR5]
wstrd wR6, [r1, #MMX_WR6]
wstrd wR7, [r1, #MMX_WR7]
wstrd wR8, [r1, #MMX_WR8]
wstrd wR9, [r1, #MMX_WR9]
wstrd wR10, [r1, #MMX_WR10]
wstrd wR11, [r1, #MMX_WR11]
wstrd wR12, [r1, #MMX_WR12]
wstrd wR13, [r1, #MMX_WR13]
wstrd wR14, [r1, #MMX_WR14]
wstrd wR15, [r1, #MMX_WR15]
wstrd wR0, r1, MMX_WR0
wstrd wR1, r1, MMX_WR1
wstrd wR2, r1, MMX_WR2
wstrd wR3, r1, MMX_WR3
wstrd wR4, r1, MMX_WR4
wstrd wR5, r1, MMX_WR5
wstrd wR6, r1, MMX_WR6
wstrd wR7, r1, MMX_WR7
wstrd wR8, r1, MMX_WR8
wstrd wR9, r1, MMX_WR9
wstrd wR10, r1, MMX_WR10
wstrd wR11, r1, MMX_WR11
wstrd wR12, r1, MMX_WR12
wstrd wR13, r1, MMX_WR13
wstrd wR14, r1, MMX_WR14
wstrd wR15, r1, MMX_WR15
2: teq r0, #0 @ anything to load?
reteq lr @ if not, return
@@ -147,30 +148,30 @@ concan_dump:
concan_load:
@ Load wRn
wldrd wR0, [r0, #MMX_WR0]
wldrd wR1, [r0, #MMX_WR1]
wldrd wR2, [r0, #MMX_WR2]
wldrd wR3, [r0, #MMX_WR3]
wldrd wR4, [r0, #MMX_WR4]
wldrd wR5, [r0, #MMX_WR5]
wldrd wR6, [r0, #MMX_WR6]
wldrd wR7, [r0, #MMX_WR7]
wldrd wR8, [r0, #MMX_WR8]
wldrd wR9, [r0, #MMX_WR9]
wldrd wR10, [r0, #MMX_WR10]
wldrd wR11, [r0, #MMX_WR11]
wldrd wR12, [r0, #MMX_WR12]
wldrd wR13, [r0, #MMX_WR13]
wldrd wR14, [r0, #MMX_WR14]
wldrd wR15, [r0, #MMX_WR15]
wldrd wR0, r0, MMX_WR0
wldrd wR1, r0, MMX_WR1
wldrd wR2, r0, MMX_WR2
wldrd wR3, r0, MMX_WR3
wldrd wR4, r0, MMX_WR4
wldrd wR5, r0, MMX_WR5
wldrd wR6, r0, MMX_WR6
wldrd wR7, r0, MMX_WR7
wldrd wR8, r0, MMX_WR8
wldrd wR9, r0, MMX_WR9
wldrd wR10, r0, MMX_WR10
wldrd wR11, r0, MMX_WR11
wldrd wR12, r0, MMX_WR12
wldrd wR13, r0, MMX_WR13
wldrd wR14, r0, MMX_WR14
wldrd wR15, r0, MMX_WR15
@ Load wCx
wldrw wCSSF, [r0, #MMX_WCSSF]
wldrw wCASF, [r0, #MMX_WCASF]
wldrw wCGR0, [r0, #MMX_WCGR0]
wldrw wCGR1, [r0, #MMX_WCGR1]
wldrw wCGR2, [r0, #MMX_WCGR2]
wldrw wCGR3, [r0, #MMX_WCGR3]
wldrw wCSSF, r0, MMX_WCSSF
wldrw wCASF, r0, MMX_WCASF
wldrw wCGR0, r0, MMX_WCGR0
wldrw wCGR1, r0, MMX_WCGR1
wldrw wCGR2, r0, MMX_WCGR2
wldrw wCGR3, r0, MMX_WCGR3
@ clear CUP/MUP (only if r1 != 0)
teq r1, #0

47
arch/arm/kernel/iwmmxt.h Normal file
View File

@@ -0,0 +1,47 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __IWMMXT_H__
#define __IWMMXT_H__
.irp b, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15
.set .LwR\b, \b
.set .Lr\b, \b
.endr
.set .LwCSSF, 0x2
.set .LwCASF, 0x3
.set .LwCGR0, 0x8
.set .LwCGR1, 0x9
.set .LwCGR2, 0xa
.set .LwCGR3, 0xb
.macro wldrd, reg:req, base:req, offset:req
.inst 0xedd00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
.endm
.macro wldrw, reg:req, base:req, offset:req
.inst 0xfd900100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
.endm
.macro wstrd, reg:req, base:req, offset:req
.inst 0xedc00100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
.endm
.macro wstrw, reg:req, base:req, offset:req
.inst 0xfd800100 | (.L\reg << 12) | (.L\base << 16) | (\offset >> 2)
.endm
#ifdef __clang__
#define wCon c1
.macro tmrc, dest:req, control:req
mrc p1, 0, \dest, \control, c0, 0
.endm
.macro tmcr, control:req, src:req
mcr p1, 0, \src, \control, c0, 0
.endm
#endif
#endif

View File

@@ -26,8 +26,9 @@ MODULE_LICENSE("GPL");
* While older versions of GCC do not generate incorrect code, they fail to
* recognize the parallel nature of these functions, and emit plain ARM code,
* which is known to be slower than the optimized ARM code in asm-arm/xor.h.
*
* #warning This code requires at least version 4.6 of GCC
*/
#warning This code requires at least version 4.6 of GCC
#endif
#pragma GCC diagnostic ignored "-Wunused-variable"

View File

@@ -103,7 +103,7 @@ static const struct wakeup_source_info ws_info[] = {
static const struct of_device_id sama5d2_ws_ids[] = {
{ .compatible = "atmel,sama5d2-gem", .data = &ws_info[0] },
{ .compatible = "atmel,at91rm9200-rtc", .data = &ws_info[1] },
{ .compatible = "atmel,sama5d2-rtc", .data = &ws_info[1] },
{ .compatible = "atmel,sama5d3-udc", .data = &ws_info[2] },
{ .compatible = "atmel,at91rm9200-ohci", .data = &ws_info[2] },
{ .compatible = "usb-ohci", .data = &ws_info[2] },
@@ -114,12 +114,12 @@ static const struct of_device_id sama5d2_ws_ids[] = {
};
static const struct of_device_id sam9x60_ws_ids[] = {
{ .compatible = "atmel,at91sam9x5-rtc", .data = &ws_info[1] },
{ .compatible = "microchip,sam9x60-rtc", .data = &ws_info[1] },
{ .compatible = "atmel,at91rm9200-ohci", .data = &ws_info[2] },
{ .compatible = "usb-ohci", .data = &ws_info[2] },
{ .compatible = "atmel,at91sam9g45-ehci", .data = &ws_info[2] },
{ .compatible = "usb-ehci", .data = &ws_info[2] },
{ .compatible = "atmel,at91sam9260-rtt", .data = &ws_info[4] },
{ .compatible = "microchip,sam9x60-rtt", .data = &ws_info[4] },
{ .compatible = "cdns,sam9x60-macb", .data = &ws_info[5] },
{ /* sentinel */ }
};

View File

@@ -39,6 +39,7 @@ static int axxia_boot_secondary(unsigned int cpu, struct task_struct *idle)
return -ENOENT;
syscon = of_iomap(syscon_np, 0);
of_node_put(syscon_np);
if (!syscon)
return -ENOMEM;

View File

@@ -376,6 +376,7 @@ static void __init cns3xxx_init(void)
/* De-Asscer SATA Reset */
cns3xxx_pwr_soft_rst(CNS3XXX_PWR_SOFTWARE_RST(SATA));
}
of_node_put(dn);
dn = of_find_compatible_node(NULL, NULL, "cavium,cns3420-sdhci");
if (of_device_is_available(dn)) {
@@ -389,6 +390,7 @@ static void __init cns3xxx_init(void)
cns3xxx_pwr_clk_en(CNS3XXX_PWR_CLK_EN(SDIO));
cns3xxx_pwr_soft_rst(CNS3XXX_PWR_SOFTWARE_RST(SDIO));
}
of_node_put(dn);
pm_power_off = cns3xxx_power_off;

View File

@@ -136,6 +136,7 @@ static void exynos_map_pmu(void)
np = of_find_matching_node(NULL, exynos_dt_pmu_match);
if (np)
pmu_base_addr = of_iomap(np, 0);
of_node_put(np);
}
static void __init exynos_init_irq(void)

View File

@@ -67,14 +67,17 @@ static void __init hi3xxx_smp_prepare_cpus(unsigned int max_cpus)
}
ctrl_base = of_iomap(np, 0);
if (!ctrl_base) {
of_node_put(np);
pr_err("failed to map address\n");
return;
}
if (of_property_read_u32(np, "smp-offset", &offset) < 0) {
of_node_put(np);
pr_err("failed to find smp-offset property\n");
return;
}
ctrl_base += offset;
of_node_put(np);
}
}
@@ -160,6 +163,7 @@ static int hip01_boot_secondary(unsigned int cpu, struct task_struct *idle)
if (WARN_ON(!node))
return -1;
ctrl_base = of_iomap(node, 0);
of_node_put(node);
/* set the secondary core boot from DDR */
remap_reg_value = readl_relaxed(ctrl_base + REG_SC_CTRL);

View File

@@ -30,6 +30,7 @@ config MACH_MT7623
config MACH_MT7629
bool "MediaTek MT7629 SoCs support"
default ARCH_MEDIATEK
select HAVE_ARM_ARCH_TIMER
config MACH_MT8127
bool "MediaTek MT8127 SoCs support"

View File

@@ -71,6 +71,7 @@ static void __init meson_smp_prepare_cpus(const char *scu_compatible,
}
sram_base = of_iomap(node, 0);
of_node_put(node);
if (!sram_base) {
pr_err("Couldn't map SRAM registers\n");
return;
@@ -91,6 +92,7 @@ static void __init meson_smp_prepare_cpus(const char *scu_compatible,
}
scu_base = of_iomap(node, 0);
of_node_put(node);
if (!scu_base) {
pr_err("Couldn't map SCU registers\n");
return;

View File

@@ -41,7 +41,7 @@ static DEFINE_SPINLOCK(clockfw_lock);
unsigned long omap1_uart_recalc(struct clk *clk)
{
unsigned int val = __raw_readl(clk->enable_reg);
return val & clk->enable_bit ? 48000000 : 12000000;
return val & 1 << clk->enable_bit ? 48000000 : 12000000;
}
unsigned long omap1_sossi_recalc(struct clk *clk)

View File

@@ -72,7 +72,7 @@ ENTRY(enable_omap3630_toggle_l2_on_restore)
stmfd sp!, {lr} @ save registers on stack
/* Setup so that we will disable and enable l2 */
mov r1, #0x1
adrl r3, l2dis_3630_offset @ may be too distant for plain adr
adr r3, l2dis_3630_offset
ldr r2, [r3] @ value for offset
str r1, [r2, r3] @ write to l2dis_3630
ldmfd sp!, {pc} @ restore regs and return

View File

@@ -355,13 +355,13 @@ static struct platform_device cm_x300_spi_gpio = {
static struct gpiod_lookup_table cm_x300_spi_gpiod_table = {
.dev_id = "spi_gpio",
.table = {
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_SCL,
GPIO_LOOKUP("pca9555.1", GPIO_LCD_SCL - GPIO_LCD_BASE,
"sck", GPIO_ACTIVE_HIGH),
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_DIN,
GPIO_LOOKUP("pca9555.1", GPIO_LCD_DIN - GPIO_LCD_BASE,
"mosi", GPIO_ACTIVE_HIGH),
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_DOUT,
GPIO_LOOKUP("pca9555.1", GPIO_LCD_DOUT - GPIO_LCD_BASE,
"miso", GPIO_ACTIVE_HIGH),
GPIO_LOOKUP("gpio-pxa", GPIO_LCD_CS,
GPIO_LOOKUP("pca9555.1", GPIO_LCD_CS - GPIO_LCD_BASE,
"cs", GPIO_ACTIVE_HIGH),
{ },
},

View File

@@ -675,7 +675,7 @@ static struct platform_device bq24022 = {
static struct gpiod_lookup_table bq24022_gpiod_table = {
.dev_id = "gpio-regulator",
.table = {
GPIO_LOOKUP("gpio-pxa", EGPIO_MAGICIAN_BQ24022_ISET2,
GPIO_LOOKUP("htc-egpio-0", EGPIO_MAGICIAN_BQ24022_ISET2 - MAGICIAN_EGPIO_BASE,
NULL, GPIO_ACTIVE_HIGH),
GPIO_LOOKUP("gpio-pxa", GPIO30_MAGICIAN_BQ24022_nCHARGE_EN,
"enable", GPIO_ACTIVE_LOW),

View File

@@ -295,9 +295,9 @@ static struct gpiod_lookup_table tosa_mci_gpio_table = {
.table = {
GPIO_LOOKUP("gpio-pxa", TOSA_GPIO_nSD_DETECT,
"cd", GPIO_ACTIVE_LOW),
GPIO_LOOKUP("gpio-pxa", TOSA_GPIO_SD_WP,
GPIO_LOOKUP("sharp-scoop.0", TOSA_GPIO_SD_WP - TOSA_SCOOP_GPIO_BASE,
"wp", GPIO_ACTIVE_LOW),
GPIO_LOOKUP("gpio-pxa", TOSA_GPIO_PWR_ON,
GPIO_LOOKUP("sharp-scoop.0", TOSA_GPIO_PWR_ON - TOSA_SCOOP_GPIO_BASE,
"power", GPIO_ACTIVE_HIGH),
{ },
},

View File

@@ -143,6 +143,7 @@ static int __init dcscb_init(void)
if (!node)
return -ENODEV;
dcscb_base = of_iomap(node, 0);
of_node_put(node);
if (!dcscb_base)
return -EADDRNOTAVAIL;
cfg = readl_relaxed(dcscb_base + DCS_CFG_R);

View File

@@ -935,6 +935,9 @@ do_alignment(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
if (type == TYPE_LDST)
do_alignment_finish_ldst(addr, instr, regs, offset);
if (thumb_mode(regs))
regs->ARM_cpsr = it_advance(regs->ARM_cpsr);
return 0;
bad_or_fault:

View File

@@ -316,6 +316,13 @@ static struct mem_type mem_types[] __ro_after_init = {
.prot_sect = PMD_TYPE_SECT | PMD_SECT_AP_WRITE,
.domain = DOMAIN_KERNEL,
},
[MT_MEMORY_RO] = {
.prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY |
L_PTE_XN | L_PTE_RDONLY,
.prot_l1 = PMD_TYPE_TABLE,
.prot_sect = PMD_TYPE_SECT,
.domain = DOMAIN_KERNEL,
},
[MT_ROM] = {
.prot_sect = PMD_TYPE_SECT,
.domain = DOMAIN_KERNEL,
@@ -515,6 +522,7 @@ static void __init build_mem_type_table(void)
/* Also setup NX memory mapping */
mem_types[MT_MEMORY_RW].prot_sect |= PMD_SECT_XN;
mem_types[MT_MEMORY_RO].prot_sect |= PMD_SECT_XN;
}
if (cpu_arch >= CPU_ARCH_ARMv7 && (cr & CR_TRE)) {
/*
@@ -597,6 +605,7 @@ static void __init build_mem_type_table(void)
mem_types[MT_ROM].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE;
mem_types[MT_MINICLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE;
mem_types[MT_CACHECLEAN].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE;
mem_types[MT_MEMORY_RO].prot_sect |= PMD_SECT_APX|PMD_SECT_AP_WRITE;
#endif
/*
@@ -617,6 +626,8 @@ static void __init build_mem_type_table(void)
mem_types[MT_MEMORY_RWX].prot_pte |= L_PTE_SHARED;
mem_types[MT_MEMORY_RW].prot_sect |= PMD_SECT_S;
mem_types[MT_MEMORY_RW].prot_pte |= L_PTE_SHARED;
mem_types[MT_MEMORY_RO].prot_sect |= PMD_SECT_S;
mem_types[MT_MEMORY_RO].prot_pte |= L_PTE_SHARED;
mem_types[MT_MEMORY_DMA_READY].prot_pte |= L_PTE_SHARED;
mem_types[MT_MEMORY_RWX_NONCACHED].prot_sect |= PMD_SECT_S;
mem_types[MT_MEMORY_RWX_NONCACHED].prot_pte |= L_PTE_SHARED;
@@ -680,6 +691,8 @@ static void __init build_mem_type_table(void)
mem_types[MT_MEMORY_RWX].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_RW].prot_sect |= ecc_mask | cp->pmd;
mem_types[MT_MEMORY_RW].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_RO].prot_sect |= ecc_mask | cp->pmd;
mem_types[MT_MEMORY_RO].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_DMA_READY].prot_pte |= kern_pgprot;
mem_types[MT_MEMORY_RWX_NONCACHED].prot_sect |= ecc_mask;
mem_types[MT_ROM].prot_sect |= cp->pmd;
@@ -1361,7 +1374,7 @@ static void __init devicemaps_init(const struct machine_desc *mdesc)
map.pfn = __phys_to_pfn(__atags_pointer & SECTION_MASK);
map.virtual = FDT_FIXED_BASE;
map.length = FDT_FIXED_SIZE;
map.type = MT_ROM;
map.type = MT_MEMORY_RO;
create_mapping(&map);
}

View File

@@ -491,7 +491,7 @@ cpu_arm1020_name:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm1020_proc_info,#object
__arm1020_proc_info:

View File

@@ -449,7 +449,7 @@ arm1020e_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm1020e_proc_info,#object
__arm1020e_proc_info:

View File

@@ -443,7 +443,7 @@ arm1022_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm1022_proc_info,#object
__arm1022_proc_info:

View File

@@ -138,7 +138,7 @@ ENTRY(arm1026_flush_kern_cache_all)
mov ip, #0
__flush_whole_cache:
#ifndef CONFIG_CPU_DCACHE_DISABLE
1: mrc p15, 0, r15, c7, c14, 3 @ test, clean, invalidate
1: mrc p15, 0, APSR_nzcv, c7, c14, 3 @ test, clean, invalidate
bne 1b
#endif
tst r2, #VM_EXEC
@@ -363,7 +363,7 @@ ENTRY(cpu_arm1026_switch_mm)
#ifdef CONFIG_MMU
mov r1, #0
#ifndef CONFIG_CPU_DCACHE_DISABLE
1: mrc p15, 0, r15, c7, c14, 3 @ test, clean, invalidate
1: mrc p15, 0, APSR_nzcv, c7, c14, 3 @ test, clean, invalidate
bne 1b
#endif
#ifndef CONFIG_CPU_ICACHE_DISABLE
@@ -437,7 +437,7 @@ arm1026_crval:
string cpu_arm1026_name, "ARM1026EJ-S"
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm1026_proc_info,#object
__arm1026_proc_info:

View File

@@ -172,7 +172,7 @@ arm720_crval:
* See <asm/procinfo.h> for a definition of this structure.
*/
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro arm720_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cpu_flush:req
.type __\name\()_proc_info,#object

View File

@@ -128,7 +128,7 @@ __arm740_setup:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm740_proc_info,#object
__arm740_proc_info:
.long 0x41807400

View File

@@ -72,7 +72,7 @@ __arm7tdmi_setup:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro arm7tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, \
extra_hwcaps=0

View File

@@ -434,7 +434,7 @@ arm920_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm920_proc_info,#object
__arm920_proc_info:

View File

@@ -412,7 +412,7 @@ arm922_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm922_proc_info,#object
__arm922_proc_info:

View File

@@ -477,7 +477,7 @@ arm925_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro arm925_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache
.type __\name\()_proc_info,#object

View File

@@ -131,7 +131,7 @@ __flush_whole_cache:
#ifdef CONFIG_CPU_DCACHE_WRITETHROUGH
mcr p15, 0, ip, c7, c6, 0 @ invalidate D cache
#else
1: mrc p15, 0, r15, c7, c14, 3 @ test,clean,invalidate
1: mrc p15, 0, APSR_nzcv, c7, c14, 3 @ test,clean,invalidate
bne 1b
#endif
tst r2, #VM_EXEC
@@ -358,7 +358,7 @@ ENTRY(cpu_arm926_switch_mm)
mcr p15, 0, ip, c7, c6, 0 @ invalidate D cache
#else
@ && 'Clean & Invalidate whole DCache'
1: mrc p15, 0, r15, c7, c14, 3 @ test,clean,invalidate
1: mrc p15, 0, APSR_nzcv, c7, c14, 3 @ test,clean,invalidate
bne 1b
#endif
mcr p15, 0, ip, c7, c5, 0 @ invalidate I cache
@@ -460,7 +460,7 @@ arm926_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm926_proc_info,#object
__arm926_proc_info:

View File

@@ -340,7 +340,7 @@ __arm940_setup:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm940_proc_info,#object
__arm940_proc_info:

View File

@@ -395,7 +395,7 @@ __arm946_setup:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __arm946_proc_info,#object
__arm946_proc_info:
.long 0x41009460

View File

@@ -66,7 +66,7 @@ __arm9tdmi_setup:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro arm9tdmi_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req
.type __\name\()_proc_info, #object

View File

@@ -185,7 +185,7 @@ fa526_cr1_set:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __fa526_proc_info,#object
__fa526_proc_info:

View File

@@ -571,7 +571,7 @@ feroceon_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro feroceon_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache:req
.type __\name\()_proc_info,#object

View File

@@ -416,7 +416,7 @@ mohawk_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __88sv331x_proc_info,#object
__88sv331x_proc_info:

View File

@@ -196,7 +196,7 @@ sa110_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.type __sa110_proc_info,#object
__sa110_proc_info:

View File

@@ -239,7 +239,7 @@ sa1100_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro sa1100_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req
.type __\name\()_proc_info,#object

View File

@@ -261,7 +261,7 @@ v6_crval:
string cpu_elf_name, "v6"
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
/*
* Match any ARMv6 processor core.

View File

@@ -109,8 +109,7 @@ static unsigned int spectre_v2_install_workaround(unsigned int method)
#else
static unsigned int spectre_v2_install_workaround(unsigned int method)
{
pr_info("CPU%u: Spectre V2: workarounds disabled by configuration\n",
smp_processor_id());
pr_info_once("Spectre V2: workarounds disabled by configuration\n");
return SPECTRE_VULNERABLE;
}
@@ -222,10 +221,10 @@ static int spectre_bhb_install_workaround(int method)
return SPECTRE_VULNERABLE;
spectre_bhb_method = method;
}
pr_info("CPU%u: Spectre BHB: using %s workaround\n",
smp_processor_id(), spectre_bhb_method_name(method));
pr_info("CPU%u: Spectre BHB: enabling %s workaround for all CPUs\n",
smp_processor_id(), spectre_bhb_method_name(method));
}
return SPECTRE_MITIGATED;
}

View File

@@ -644,7 +644,7 @@ __v7_setup_stack:
string cpu_elf_name, "v7"
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
/*
* Standard v7 proc info content

View File

@@ -93,7 +93,7 @@ ENTRY(cpu_cm7_proc_fin)
ret lr
ENDPROC(cpu_cm7_proc_fin)
.section ".init.text", #alloc, #execinstr
.section ".init.text", "ax"
__v7m_cm7_setup:
mov r8, #(V7M_SCB_CCR_DC | V7M_SCB_CCR_IC| V7M_SCB_CCR_BP)
@@ -177,7 +177,7 @@ ENDPROC(__v7m_setup)
string cpu_elf_name "v7m"
string cpu_v7m_name "ARMv7-M"
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro __v7m_proc name, initfunc, cache_fns = nop_cache_fns, hwcaps = 0, proc_fns = v7m_processor_functions
.long 0 /* proc_info_list.__cpu_mm_mmu_flags */

View File

@@ -496,7 +496,7 @@ xsc3_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro xsc3_proc_info name:req, cpu_val:req, cpu_mask:req
.type __\name\()_proc_info,#object

View File

@@ -610,7 +610,7 @@ xscale_crval:
.align
.section ".proc.info.init", #alloc
.section ".proc.info.init", "a"
.macro xscale_proc_info name:req, cpu_val:req, cpu_mask:req, cpu_name:req, cache
.type __\name\()_proc_info,#object

View File

@@ -14,6 +14,7 @@
#include <linux/types.h>
#include <linux/stddef.h>
#include <asm/probes.h>
#include <asm/ptrace.h>
#include <asm/kprobes.h>
void __init arm_probes_decode_init(void);
@@ -35,31 +36,6 @@ void __init find_str_pc_offset(void);
#endif
/*
* Update ITSTATE after normal execution of an IT block instruction.
*
* The 8 IT state bits are split into two parts in CPSR:
* ITSTATE<1:0> are in CPSR<26:25>
* ITSTATE<7:2> are in CPSR<15:10>
*/
static inline unsigned long it_advance(unsigned long cpsr)
{
if ((cpsr & 0x06000400) == 0) {
/* ITSTATE<2:0> == 0 means end of IT block, so clear IT state */
cpsr &= ~PSR_IT_MASK;
} else {
/* We need to shift left ITSTATE<4:0> */
const unsigned long mask = 0x06001c00; /* Mask ITSTATE<4:0> */
unsigned long it = cpsr & mask;
it <<= 1;
it |= it >> (27 - 10); /* Carry ITSTATE<2> to correct place */
it &= mask;
cpsr &= ~mask;
cpsr |= it;
}
return cpsr;
}
static inline void __kprobes bx_write_pc(long pcv, struct pt_regs *regs)
{
long cpsr = regs->ARM_cpsr;

View File

@@ -8,6 +8,4 @@
# ccflags-y := -DDEBUG
# asflags-y := -DDEBUG
KBUILD_AFLAGS :=$(KBUILD_AFLAGS:-msoft-float=-Wa,-mfpu=softvfp+vfp -mfloat-abi=soft)
obj-y += vfpmodule.o entry.o vfphw.o vfpsingle.o vfpdouble.o

View File

@@ -253,11 +253,14 @@ vfp_current_hw_state_address:
ENTRY(vfp_get_float)
tbl_branch r0, r3, #3
.fpu vfpv2
.irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1: mrc p10, 0, r0, c\dr, c0, 0 @ fmrs r0, s0
1: vmov r0, s\dr
ret lr
.org 1b + 8
1: mrc p10, 0, r0, c\dr, c0, 4 @ fmrs r0, s1
.endr
.irp dr,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
1: vmov r0, s\dr
ret lr
.org 1b + 8
.endr
@@ -265,11 +268,14 @@ ENDPROC(vfp_get_float)
ENTRY(vfp_put_float)
tbl_branch r1, r3, #3
.fpu vfpv2
.irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1: mcr p10, 0, r0, c\dr, c0, 0 @ fmsr r0, s0
1: vmov s\dr, r0
ret lr
.org 1b + 8
1: mcr p10, 0, r0, c\dr, c0, 4 @ fmsr r0, s1
.endr
.irp dr,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
1: vmov s\dr, r0
ret lr
.org 1b + 8
.endr
@@ -277,15 +283,17 @@ ENDPROC(vfp_put_float)
ENTRY(vfp_get_double)
tbl_branch r0, r3, #3
.fpu vfpv2
.irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1: fmrrd r0, r1, d\dr
1: vmov r0, r1, d\dr
ret lr
.org 1b + 8
.endr
#ifdef CONFIG_VFPv3
@ d16 - d31 registers
.irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1: mrrc p11, 3, r0, r1, c\dr @ fmrrd r0, r1, d\dr
.fpu vfpv3
.irp dr,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
1: vmov r0, r1, d\dr
ret lr
.org 1b + 8
.endr
@@ -299,15 +307,17 @@ ENDPROC(vfp_get_double)
ENTRY(vfp_put_double)
tbl_branch r2, r3, #3
.fpu vfpv2
.irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1: fmdrr d\dr, r0, r1
1: vmov d\dr, r0, r1
ret lr
.org 1b + 8
.endr
#ifdef CONFIG_VFPv3
.fpu vfpv3
@ d16 - d31 registers
.irp dr,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
1: mcrr p11, 3, r0, r1, c\dr @ fmdrr r0, r1, d\dr
.irp dr,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31
1: vmov d\dr, r0, r1
ret lr
.org 1b + 8
.endr

Some files were not shown because too many files have changed in this diff Show More