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

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

It contains the following commits:

cb8a045992 ANDROID: GKI: db845c: Update symbols list and ABI
f944347410 Merge 5.4.219 into android11-5.4-lts
fd92cfed8b Linux 5.4.219
0cb5be43dc wifi: mac80211: fix MBSSID parsing use-after-free
9478c5f9c0 wifi: mac80211: don't parse mbssid in assoc response
7f441a6c90 mac80211: mlme: find auth challenge directly
c248c3330d Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
4fa407bf37 Merge 5.4.218 into android11-5.4-lts
1d0da8674c Linux 5.4.218
3ff54a91e4 Input: xpad - fix wireless 360 controller breaking after suspend
6904677595 Input: xpad - add supported devices as contributed on github
9389750ac6 wifi: cfg80211: update hidden BSSes to avoid WARN_ON
7fab3bf520 wifi: mac80211_hwsim: avoid mac80211 warning on bad rate
77bb20ccb9 wifi: cfg80211: avoid nontransmitted BSS list corruption
785eaabfe3 wifi: cfg80211: fix BSS refcounting bugs
359ce507f7 wifi: cfg80211: ensure length byte is present before access
43689bf2cd wifi: cfg80211/mac80211: reject bad MBSSID elements
020402c7dd wifi: cfg80211: fix u8 overflow in cfg80211_update_notlisted_nontrans()
c634a9107f random: use expired timer rather than wq for mixing fast pool
39800adc38 random: avoid reading two cache lines on irq randomness
bc0375ca43 random: restore O_NONBLOCK support
49d2fc9f99 USB: serial: qcserial: add new usb-id for Dell branded EM7455
20a5bde605 scsi: stex: Properly zero out the passthrough command structure
46b822a755 efi: Correct Macmini DMI match in uefi cert quirk
b719d10f7e ALSA: hda: Fix position reporting on Poulsbo
e5d25a3bfd random: clamp credited irq bits to maximum mixed
194f59391d ceph: don't truncate file in atomic_open
259c0f6816 nilfs2: replace WARN_ONs by nilfs_error for checkpoint acquisition failure
b7e409d11d nilfs2: fix leak of nilfs_root in case of writer thread creation failure
792211333a nilfs2: fix NULL pointer dereference at nilfs_bmap_lookup_at_level()
963089ad76 rpmsg: qcom: glink: replace strncpy() with strscpy_pad()
2da677c0c7 mmc: core: Terminate infinite loop in SD-UHS voltage switch
373eca05b5 mmc: core: Replace with already defined values for readability
7ec8f073c2 USB: serial: ftdi_sio: fix 300 bps rate for SIO
21446ad9cb usb: mon: make mmapped memory read only
d2f3a51ca2 arch: um: Mark the stack non-executable to fix a binutils warning
bb2d4c37b1 um: Cleanup compiler warning in arch/x86/um/tls_32.c
9e26e0eef6 um: Cleanup syscall_handler_t cast in syscalls_32.h
3c9a75b3d2 net/ieee802154: fix uninit value bug in dgram_sendmsg
61be8898d7 scsi: qedf: Fix a UAF bug in __qedf_probe()
c790d3a00d ARM: dts: fix Moxa SDIO 'compatible', remove 'sdhci' misnomer
aefe2f55a9 dmaengine: xilinx_dma: Report error in case of dma_set_mask_and_coherent API failure
db702ecd71 dmaengine: xilinx_dma: cleanup for fetching xlnx,num-fstores property
59684c8777 firmware: arm_scmi: Add SCMI PM driver remove routine
70e4f70d54 fs: fix UAF/GPF bug in nilfs_mdt_destroy
398312c687 perf tools: Fixup get_current_dir_name() compilation
393a1aa421 mm: pagewalk: Fix race between unmap and page walker
c01b171cd9 Merge 5.4.217 into android11-5.4-lts
6e150d605c Linux 5.4.217
0c41153c36 docs: update mediator information in CoC docs
096740d675 Makefile.extrawarn: Move -Wcast-function-type-strict to W=1
e911caf9a1 Revert "drm/amdgpu: use dirty framebuffer helper"
ae19c3c76d xfs: remove unused variable 'done'
538657def7 xfs: fix uninitialized variable in xfs_attr3_leaf_inactive
9ff41b8d71 xfs: streamline xfs_attr3_leaf_inactive
c893fedaf1 xfs: move incore structures out of xfs_da_format.h
5e13ad940a xfs: fix memory corruption during remote attr value buffer invalidation
821e0951b4 xfs: refactor remote attr value buffer invalidation
a1b66abe30 xfs: fix IOCB_NOWAIT handling in xfs_file_dio_aio_read
1e4a0723eb xfs: fix s_maxbytes computation on 32-bit kernels
16de74ee3a xfs: truncate should remove all blocks, not just to the end of the page cache
87e73331e4 xfs: introduce XFS_MAX_FILEOFF
bd67d06b09 xfs: fix misuse of the XFS_ATTR_INCOMPLETE flag
24f45c8782 x86/speculation: Add RSB VM Exit protections
564275d4b9 x86/bugs: Warn when "ibrs" mitigation is selected on Enhanced IBRS parts
4891e5fd10 x86/speculation: Use DECLARE_PER_CPU for x86_spec_ctrl_current
9862c0f4fd x86/speculation: Disable RRSBA behavior
b9ae02c3c2 x86/bugs: Add Cannon lake to RETBleed affected CPU list
d6a8a470dc x86/cpu/amd: Enumerate BTC_NO
2edfa537f3 x86/common: Stamp out the stepping madness
17a9fc4a7b x86/speculation: Fill RSB on vmexit for IBRS
2242cf2150 KVM: VMX: Fix IBRS handling after vmexit
51c71ed134 KVM: VMX: Prevent guest RSB poisoning attacks with eIBRS
a31bdec99a KVM: VMX: Convert launched argument to flags
5895a9297e KVM: VMX: Flatten __vmx_vcpu_run()
64723cd346 KVM/nVMX: Use __vmx_vcpu_run in nested_vmx_check_vmentry_hw
57ba312f10 KVM/VMX: Use TEST %REG,%REG instead of CMP $0,%REG in vmenter.S
87dfe68a35 x86/speculation: Remove x86_spec_ctrl_mask
4109a8ce10 x86/speculation: Use cached host SPEC_CTRL value for guest entry/exit
0fd086edf8 x86/speculation: Fix SPEC_CTRL write on SMT state change
18d5a93fd2 x86/speculation: Fix firmware entry SPEC_CTRL handling
03a575a0f9 x86/speculation: Fix RSB filling with CONFIG_RETPOLINE=n
8afd1c7da2 x86/speculation: Change FILL_RETURN_BUFFER to work with objtool
3ee9e9a5af intel_idle: Disable IBRS during long idle
97bc52c14a x86/bugs: Report Intel retbleed vulnerability
fd67fe3db9 x86/bugs: Split spectre_v2_select_mitigation() and spectre_v2_user_select_mitigation()
2d4ce2d72c x86/speculation: Add spectre_v2=ibrs option to support Kernel IBRS
e2d793a374 x86/bugs: Optimize SPEC_CTRL MSR writes
a3111faed5 x86/entry: Add kernel IBRS implementation
fd32a31553 x86/entry: Remove skip_r11rcx
3c93ff4e23 x86/bugs: Keep a per-CPU IA32_SPEC_CTRL value
9a596426d7 x86/bugs: Add AMD retbleed= boot parameter
063b7f9806 x86/bugs: Report AMD retbleed vulnerability
954d591a84 x86/cpufeatures: Move RETPOLINE flags to word 11
893cd858b0 x86/kvm/vmx: Make noinstr clean
f62d272c2f x86/cpu: Add a steppings field to struct x86_cpu_id
69460b1ed6 x86/cpu: Add consistent CPU match macros
87449d94e7 x86/devicetable: Move x86 specific macro out of generic code
fbd29b7549 Revert "x86/cpu: Add a steppings field to struct x86_cpu_id"
3a8ff61e6f Revert "x86/speculation: Add RSB VM Exit protections"
3e7819945e Merge 5.4.216 into android11-5.4-lts
f28b7414ab Linux 5.4.216
b8b87cb136 clk: iproc: Do not rely on node name for correct PLL setup
d417d5eb29 clk: imx: imx6sx: remove the SET_RATE_PARENT flag for QSPI clocks
762706bd12 selftests: Fix the if conditions of in test_extra_filter()
ae0d3a4316 nvme: Fix IOC_PR_CLEAR and IOC_PR_RELEASE ioctls for nvme devices
18ef5cd4c5 nvme: add new line after variable declatation
3ea4a53424 usbnet: Fix memory leak in usbnet_disconnect()
6ca922ec75 Input: melfas_mip4 - fix return value check in mip4_probe()
38c4d8230f Revert "drm: bridge: analogix/dp: add panel prepare/unprepare in suspend/resume time"
7291d19a9e soc: sunxi: sram: Fix debugfs info for A64 SRAM C
cdbcdfc961 soc: sunxi: sram: Fix probe function ordering issues
73dbc6e136 soc: sunxi_sram: Make use of the helper function devm_platform_ioremap_resource()
26170e4fd1 soc: sunxi: sram: Prevent the driver from being unbound
883778a1f4 soc: sunxi: sram: Actually claim SRAM regions
1ba5248608 ARM: dts: am33xx: Fix MMCHS0 dma properties
d0c69c722f ARM: dts: Move am33xx and am43xx mmc nodes to sdhci-omap driver
d185652800 media: dvb_vb2: fix possible out of bound access
0f4634f70b mm: fix madivse_pageout mishandling on non-LRU page
ffd11370b7 mm/migrate_device.c: flush TLB while holding PTL
b9e31f4885 mm: prevent page_frag_alloc() from corrupting the memory
d535fb8384 mm/page_alloc: fix race condition between build_all_zonelists and page allocation
2ec4949738 mmc: moxart: fix 4-bit bus width and remove 8-bit bus width
bb7c23e4e5 libata: add ATA_HORKAGE_NOLPM for Pioneer BDR-207M and BDR-205
5cebfac6a8 Revert "net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()"
9a3740f448 ntfs: fix BUG_ON in ntfs_lookup_inode_by_name()
46e784cf4a ARM: dts: integrator: Tag PCI host with device_type
85b5edb1b4 clk: ingenic-tcu: Properly enable registers before accessing timers
f8a2e22289 net: usb: qmi_wwan: Add new usb-id for Dell branded EM7455
43699b8fbc uas: ignore UAS for Thinkplus chips
fc540f6e4b usb-storage: Add Hiksemi USB3-FW to IGNORE_UAS
383c663c73 uas: add no-uas quirk for Hiksemi usb_disk
79e1dca55a Merge 5.4.215 into android11-5.4-lts
6215647d96 Linux 5.4.215
579976dc0d ext4: make directory inode spreading reflect flexbg size
26e7c965f4 xfs: fix use-after-free when aborting corrupt attr inactivation
8b3c9eb1b3 xfs: fix an ABBA deadlock in xfs_rename
37ec5a20c8 xfs: don't commit sunit/swidth updates to disk if that would cause repair failures
4668f08cda xfs: split the sunit parameter update into two parts
fd6c5da3fa xfs: refactor agfl length computation function
6363fdf7ac xfs: use bitops interface for buf log item AIL flag check
a95582d9d5 xfs: stabilize insert range start boundary to avoid COW writeback race
7a20c664a7 xfs: fix some memory leaks in log recovery
ad9759d488 xfs: always log corruption errors
0336599b64 xfs: constify the buffer pointer arguments to error functions
8856a6572f xfs: convert EIO to EFSCORRUPTED when log contents are invalid
9185003c93 xfs: Fix deadlock between AGI and AGF when target_ip exists in xfs_rename()
796ff09598 xfs: attach dquots and reserve quota blocks during unwritten conversion
a33bcad48b xfs: range check ri_cnt when recovering log items
a102869fb1 xfs: add missing assert in xfs_fsmap_owner_from_rmap
979eb12304 xfs: slightly tweak an assert in xfs_fs_map_blocks
c494dbca99 xfs: replace -EIO with -EFSCORRUPTED for corrupt metadata
bb7eb3ca4b ext4: fix bug in extents parsing when eh_entries == 0 and eh_depth > 0
04aa8187eb workqueue: don't skip lockdep work dependency in cancel_work_sync()
a874609522 drm/rockchip: Fix return type of cdn_dp_connector_mode_valid
75ed7dee26 drm/amd/display: Limit user regamma to a valid value
c89849ecfd drm/amdgpu: use dirty framebuffer helper
0b467eab0a Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region
8c8d0f7ac8 cifs: always initialize struct msghdr smb_msg completely
1438e412ae usb: xhci-mtk: fix issue of out-of-bounds array access
2e47335140 s390/dasd: fix Oops in dasd_alias_get_start_dev due to missing pavgroup
9eb710d184 serial: tegra-tcu: Use uart_xmit_advance(), fixes icount.tx accounting
6cc0434f9d serial: tegra: Use uart_xmit_advance(), fixes icount.tx accounting
556e827b0f serial: Create uart_xmit_advance()
903f7d322c net: sched: fix possible refcount leak in tc_new_tfilter()
0e8de8f54b net: sunhme: Fix packet reception for len < RX_COPY_THRESHOLD
67199c26a0 perf kcore_copy: Do not check /proc/modules is unchanged
80b2f37b33 perf jit: Include program header in ELF files
95c5637d3d can: gs_usb: gs_can_open(): fix race dev->can.state condition
11ebf32fde netfilter: ebtables: fix memory leak when blob is malformed
6a3239f806 net/sched: taprio: make qdisc_leaf() see the per-netdev-queue pfifo child qdiscs
d12a1eb070 net/sched: taprio: avoid disabling offload when it was never enabled
420c9b1073 of: mdio: Add of_node_put() when breaking out of for_each_xx
d2ac2baf1f i40e: Fix set max_tx_rate when it is lower than 1 Mbps
450d106804 i40e: Fix VF set max MTU size
3daf097819 iavf: Fix set max MTU size with port VLAN and jumbo frames
bfaff9adaa iavf: Fix bad page state
9bf52411ee MIPS: Loongson32: Fix PHY-mode being left unspecified
405bd0ebb0 MIPS: lantiq: export clk_get_io() for lantiq_wdt.ko
37f79374bb net: team: Unsync device addresses on ndo_stop
346e94aa4a ipvlan: Fix out-of-bound bugs caused by unset skb->mac_header
b84fdb6be1 iavf: Fix cached head and tail value for iavf_get_tx_pending
721ea8ac06 netfilter: nfnetlink_osf: fix possible bogus match in nf_osf_find()
d0a24bc8e2 netfilter: nf_conntrack_irc: Tighten matching on DCC message
0376a77fa7 netfilter: nf_conntrack_sip: fix ct_sip_walk_headers
c9355b7e5a arm64: dts: rockchip: Remove 'enable-active-low' from rk3399-puma
312eb4574d arm64: dts: rockchip: Set RK3399-Gru PCLK_EDP to 24 MHz
a52ef6ae28 arm64: dts: rockchip: Pull up wlan wake# on Gru-Bob
016b150992 mm/slub: fix to return errno if kmalloc() fails
cafb9cad9b efi: libstub: check Shim mode using MokSBStateRT
9599d46019 ALSA: hda/realtek: Enable 4-speaker output Dell Precision 5530 laptop
befadcf8f7 ALSA: hda/realtek: Add quirk for ASUS GA503R laptop
b90ac48c05 ALSA: hda/realtek: Add pincfg for ASUS G533Z HP jack
5f622518a7 ALSA: hda/realtek: Add pincfg for ASUS G513 HP jack
8f8a740e91 ALSA: hda/realtek: Re-arrange quirk table entries
dafeac1226 ALSA: hda/realtek: Add quirk for Huawei WRT-WX9
95b9a7f0bf ALSA: hda: add Intel 5 Series / 3400 PCI DID
7fff38ab90 ALSA: hda/tegra: set depop delay for tegra
78d3ae9bfa USB: serial: option: add Quectel RM520N
55f0f59e82 USB: serial: option: add Quectel BG95 0x0203 composition
95b97afdde USB: core: Fix RST error in hub.c
f5e322ffe7 Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio"
430c9bd664 Revert "usb: add quirks for Lenovo OneLink+ Dock"
05ec31717f usb: cdns3: fix issue with rearming ISO OUT endpoint
10c5d34f6f usb: gadget: udc-xilinx: replace memcpy with memcpy_toio
ddf7bc2218 usb: add quirks for Lenovo OneLink+ Dock
da8ac08694 tty: serial: atmel: Preserve previous USART mode if RS485 disabled
e56a402819 serial: atmel: remove redundant assignment in rs485_config
85a64208b3 tty/serial: atmel: RS485 & ISO7816: wait for TXRDY before sending data
9ad48cbf8b wifi: mac80211: Fix UAF in ieee80211_scan_rx()
9a3695bde9 usb: xhci-mtk: relax TT periodic bandwidth allocation
174645cc63 usb: xhci-mtk: allow multiple Start-Split in a microframe
6cfde07c5d usb: xhci-mtk: add some schedule error number
664b0b8f4e usb: xhci-mtk: add a function to (un)load bandwidth info
d1eed0d3fb usb: xhci-mtk: use @sch_tt to check whether need do TT schedule
1833e8e049 usb: xhci-mtk: add only one extra CS for FS/LS INTR
3826d4f0ef usb: xhci-mtk: get the microframe boundary for ESIT
4ccf7afa47 usb: dwc3: gadget: Avoid duplicate requests to enable Run/Stop
a5bdea59f4 usb: dwc3: gadget: Don't modify GEVNTCOUNT in pullup()
67bf926f16 usb: dwc3: gadget: Refactor pullup()
24e4f6308d usb: dwc3: gadget: Prevent repeat pullup()
62b6cbc598 usb: dwc3: Issue core soft reset before enabling run/stop
e24f90d761 usb: dwc3: gadget: Avoid starting DWC3 gadget during UDC unbind
85371aad28 ALSA: hda/sigmatel: Fix unused variable warning for beep power change
07191f9848 cgroup: Add missing cpus_read_lock() to cgroup_attach_task_all()
1878eaf0ed video: fbdev: pxa3xx-gcu: Fix integer overflow in pxa3xx_gcu_write
47c5ef29e5 mksysmap: Fix the mismatch of 'L0' symbols in System.map
f0ebdfc10b MIPS: OCTEON: irq: Fix octeon_irq_force_ciu_mapping()
c53c3cbca5 afs: Return -EAGAIN, not -EREMOTEIO, when a file already locked
1aea20f98e net: usb: qmi_wwan: add Quectel RM520N
447f95d413 ALSA: hda/tegra: Align BDL entry to 4KB boundary
9f55da12d0 ALSA: hda/sigmatel: Keep power up while beep is enabled
39265647c4 rxrpc: Fix calc of resend age
cc273ed79e rxrpc: Fix local destruction being repeated
da01ec04a0 regulator: pfuze100: Fix the global-out-of-bounds access in pfuze100_regulator_probe()
17a21341d9 ASoC: nau8824: Fix semaphore unbalance at error paths
323f289a90 iomap: iomap that extends beyond EOF should be marked dirty
d88039e6fe MAINTAINERS: add Chandan as xfs maintainer for 5.4.y
36128fd71f cifs: don't send down the destination address to sendmsg for a SOCK_STREAM
81081a5c9c cifs: revalidate mapping when doing direct writes
834f4d856f tracing: hold caller_addr to hardirq_{enable,disable}_ip
2c4e260d45 task_stack, x86/cea: Force-inline stack helpers
4051324a6d ALSA: pcm: oss: Fix race at SNDCTL_DSP_SYNC
47d7e6af5b parisc: ccio-dma: Add missing iounmap in error path in ccio_probe()
2aae9b7d07 drm/meson: Fix OSD1 RGB to YCbCr coefficient
5dd9cb66b7 drm/meson: Correct OSD1 global alpha value
f1de50e1db gpio: mpc8xxx: Fix support for IRQ_TYPE_LEVEL_LOW flow_type in mpc85xx
82e276e5fc NFSv4: Turn off open-by-filehandle and NFS re-export for NFSv4.0
e0e88c25f8 of: fdt: fix off-by-one error in unflatten_dt_nodes()
366e92d405 Merge branch 'android11-5.4' into branch 'android11-5.4-lts'
79028819d5 Merge 5.4.214 into android11-5.4-lts
04f2440283 Revert "USB: core: Prevent nested device-reset calls"
b4a6b74ba6 Merge 5.4.213 into android11-5.4-lts
d60223937b Revert "io_uring: disable polling pollfree files"
cfe83da8bd Revert "netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y"
184c57f3a5 Revert "sched/deadline: Fix priority inheritance with multiple scheduling classes"
dd54474fff Revert "kernel/sched: Remove dl_boosted flag comment"
d52832d985 Revert "mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse"
51223c9db5 Merge 5.4.212 into android11-5.4-lts
64522c903c Revert "fs: check FMODE_LSEEK to control internal pipe splicing"
9f02aa34e1 Linux 5.4.214
c629ec4ddd tracefs: Only clobber mode/uid/gid on remount if asked
fe26b6ca04 soc: fsl: select FSL_GUTS driver for DPIO
1bd66f1053 net: dp83822: disable rx error interrupt
c128bff9ff mm: Fix TLB flush for not-first PFNMAP mappings in unmap_region()
bf3cd8f2c6 usb: storage: Add ASUS <0x0b05:0x1932> to IGNORE_UAS
72b31dc264 platform/x86: acer-wmi: Acer Aspire One AOD270/Packard Bell Dot keymap fixes
0573dc9f15 perf/arm_pmu_platform: fix tests for platform_get_irq() failure
baba0cfc3d nvmet-tcp: fix unhandled tcp states in nvmet_tcp_state_change()
161e755552 Input: iforce - add support for Boeder Force Feedback Wheel
a725bc34d8 ieee802154: cc2520: add rc code in cc2520_tx()
2670d1d3f5 tg3: Disable tg3 device on system reboot to avoid triggering AER
c118ae56a5 hid: intel-ish-hid: ishtp: Fix ishtp client sending disordered message
3e89e8d1c6 HID: ishtp-hid-clientHID: ishtp-hid-client: Fix comment typo
7e214f5b2f drm/msm/rd: Fix FIFO-full deadlock
7e17397001 Linux 5.4.213
077041e486 MIPS: loongson32: ls1c: Fix hang during startup
4e8d7039cf x86/nospec: Fix i386 RSB stuffing
64f9755b40 sch_sfb: Also store skb len before calling child enqueue
9d3237b590 tcp: fix early ETIMEDOUT after spurious non-SACK RTO
19816a0214 nvme-tcp: fix UAF when detecting digest errors
a4f0d34580 RDMA/mlx5: Set local port to one when accessing counters
3df71e11a4 ipv6: sr: fix out-of-bounds read when setting HMAC data.
e7f78835d5 RDMA/siw: Pass a pointer to virt_to_page()
5332a09451 i40e: Fix kernel crash during module removal
d488e2baf2 tipc: fix shift wrapping bug in map_get()
279c7668e3 sch_sfb: Don't assume the skb is still around after enqueueing to child
a2f0ff5bee afs: Use the operation issue time instead of the reply time for callbacks
8077a50c8c rxrpc: Fix an insufficiently large sglist in rxkad_verify_packet_2()
36f7b71f8a netfilter: nf_conntrack_irc: Fix forged IP logic
323b6847e5 netfilter: br_netfilter: Drop dst references before setting.
367a655f07 RDMA/hns: Fix supported page size
57b2897ec3 soc: brcmstb: pm-arm: Fix refcount leak and __iomem leak bugs
87fe1703ba RDMA/cma: Fix arguments order in net device validation
d80ad99911 regulator: core: Clean up on enable failure
c108e20351 ARM: dts: imx6qdl-kontron-samx6i: remove duplicated node
e192a08f65 smb3: missing inode locks in punch hole
59c6902a96 cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
13d67aadb1 cgroup: Elide write-locking threadgroup_rwsem when updating csses on an empty subtree
059516952c cgroup: Optimize single thread migration
d0e7be0dc9 scsi: lpfc: Add missing destroy_workqueue() in error path
5682c94644 scsi: mpt3sas: Fix use-after-free warning
8d66989b5f nvmet: fix a use-after-free
9fc8c5fa42 debugfs: add debugfs_lookup_and_remove()
0d895d2bb1 kprobes: Prohibit probes in gate area
0492798bf8 ALSA: usb-audio: Fix an out-of-bounds bug in __snd_usb_parse_audio_interface()
e275cf3318 ALSA: aloop: Fix random zeros in capture data when using jiffies timer
45321a7d02 ALSA: emu10k1: Fix out of bounds access in snd_emu10k1_pcm_channel_alloc()
adbbc1a8c5 drm/amdgpu: mmVM_L2_CNTL3 register not initialized correctly
e1955cdd31 fbdev: chipsfb: Add missing pci_disable_device() in chipsfb_pci_init()
fcab25a6b0 arm64: cacheinfo: Fix incorrect assignment of signed error value to unsigned fw_level
a3714415c4 parisc: Add runtime check to prevent PA2.0 kernels on PA1.x machines
dcf54e6cae parisc: ccio-dma: Handle kmalloc failure in ccio_init_resources()
c72d97146f drm/radeon: add a force flush to delay work when radeon
ae2c6cc8fb drm/amdgpu: Check num_gfx_rings for gfx v9_0 rb setup.
bca46f2295 drm/gem: Fix GEM handle release errors
bd2a3bff31 scsi: megaraid_sas: Fix double kfree()
944f276cbc USB: serial: ch341: fix disabled rx timer on older devices
f0003ab97a USB: serial: ch341: fix lost character on LCR updates
d288c6383a usb: dwc3: disable USB core PHY management
9c670d0bb1 usb: dwc3: fix PHY disable sequence
9ab0c653ef btrfs: harden identification of a stale device
4e5ba186d9 drm/i915/glk: ECS Liva Q2 needs GLK HDMI port timing quirk
3af1316df7 ALSA: seq: Fix data-race at module auto-loading
4fa63d526c ALSA: seq: oss: Fix data-race for max_midi_devs access
82a86f82bc net: mac802154: Fix a condition in the receive path
d228b897b8 ip: fix triggering of 'icmp redirect'
66689c5c02 wifi: mac80211: Don't finalize CSA in IBSS mode if state is disconnected
1142f04f92 driver core: Don't probe devices after bus_type.match() probe deferral
bb87fe79bc usb: gadget: mass_storage: Fix cdrom data transfers on MAC-OS
df18750848 USB: core: Prevent nested device-reset calls
87b47c7f9f s390: fix nospec table alignments
b604e79fba s390/hugetlb: fix prepare_hugepage_range() check for 2 GB hugepages
33f8f83024 usb-storage: Add ignore-residue quirk for NXP PN7462AU
e2e153bb6d USB: cdc-acm: Add Icom PMR F3400 support (0c26:0020)
8ef85884f4 usb: dwc2: fix wrong order of phy_power_on and phy_init
08f27a2428 usb: typec: altmodes/displayport: correct pin assignment for UFP receptacles
1abdc68b49 USB: serial: option: add support for Cinterion MV32-WA/WB RmNet mode
3cd8e3448e USB: serial: option: add Quectel EM060K modem
b988c14d7c USB: serial: option: add support for OPPO R11 diag port
234fd17306 USB: serial: cp210x: add Decagon UCA device id
0143b57361 xhci: Add grace period after xHC start to prevent premature runtime suspend.
c7e5a90eee thunderbolt: Use the actual buffer in tb_async_error()
cb2684e906 gpio: pca953x: Add mutex_lock for regcache sync in PM
7756eb1ed1 hwmon: (gpio-fan) Fix array out of bounds access
979fe68b2e clk: bcm: rpi: Fix error handling of raspberrypi_fw_get_rate
389a45dc06 Input: rk805-pwrkey - fix module autoloading
1929a5275e clk: core: Fix runtime PM sequence in clk_core_unprepare()
577b32abfd Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops"
582e87c6bb clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops
5d4acadcdf drm/i915/reg: Fix spelling mistake "Unsupport" -> "Unsupported"
bc37b05702 usb: dwc3: qcom: fix use-after-free on runtime-PM wakeup
30d0901b30 binder: fix UAF of ref->proc caused by race condition
b30dd08fd5 USB: serial: ftdi_sio: add Omron CS1W-CIF31 device id
f8632b8bb5 misc: fastrpc: fix memory corruption on open
ec186b9f4a misc: fastrpc: fix memory corruption on probe
0d90ef8749 iio: adc: mcp3911: use correct formula for AD conversion
d186c65599 Input: iforce - wake up after clearing IFORCE_XMIT_RUNNING flag
a6b7e8d975 tty: serial: lpuart: disable flow control while waiting for the transmit engine to complete
1cf1930369 vt: Clear selection before changing the font
214877169e powerpc: align syscall table for ppc32
d0aac7146e staging: rtl8712: fix use after free bugs
a65a2a33c6 serial: fsl_lpuart: RS485 RTS polariy is inverse
ae5e8d0baa net/smc: Remove redundant refcount increase
47e6794316 Revert "sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb"
91ecfbcd8d tcp: annotate data-race around challenge_timestamp
f8a94fdf02 sch_cake: Return __NET_XMIT_STOLEN when consuming enqueued skb
0946ff31d1 kcm: fix strp_init() order and cleanup
02986e1bb6 ethernet: rocker: fix sleep in atomic context bug in neigh_timer_handler
fffa19b5e5 net: sched: tbf: don't call qdisc_put() while holding tree lock
e1ba258dac Revert "xhci: turn off port power in shutdown"
2dca3c6126 wifi: cfg80211: debugfs: fix return type in ht40allow_map_read()
bed12d7531 ieee802154/adf7242: defer destroy_workqueue call
ddc6e82321 iio: adc: mcp3911: make use of the sign bit
630a97e4da platform/x86: pmc_atom: Fix SLP_TYPx bitfield mask
765497cc74 drm/msm/dsi: Fix number of regulators for msm8996_dsi_cfg
fced8363b4 drm/msm/dsi: fix the inconsistent indenting
83b25f9eb2 net: dp83822: disable false carrier interrupt
007541bc27 Revert "mm: kmemleak: take a full lowmem check in kmemleak_*_phys()"
96f09cd544 fs: only do a memory barrier for the first set_buffer_uptodate()
d51e1682fa net: mvpp2: debugfs: fix memory leak when using debugfs_lookup()
f4c4637a38 wifi: iwlegacy: 4965: corrected fix for potential off-by-one overflow in il4965_rs_fill_link_cmd()
8028ff4cdb efi: capsule-loader: Fix use-after-free in efi_capsule_write
d6deb370b5 Linux 5.4.212
0052348329 net: neigh: don't call kfree_skb() under spin_lock_irqsave()
25a80e7284 net/af_packet: check len when min_header_len equals to 0
fc78b2fc21 io_uring: disable polling pollfree files
b474ff1b20 kprobes: don't call disarm_kprobe() for disabled kprobes
6fbc49b7f0 lib/vdso: Mark do_hres() and do_coarse() as __always_inline
2161d3c12c lib/vdso: Let do_coarse() return 0 to simplify the callsite
06ebb40b87 btrfs: tree-checker: check for overlapping extent items
63c7905840 netfilter: conntrack: NF_CONNTRACK_PROCFS should no longer default to y
5c5cd52ab0 drm/amd/display: Fix pixel clock programming
c570198c3d s390/hypfs: avoid error message under KVM
51be9dd391 neigh: fix possible DoS due to net iface start/stop loop
814b756d4e drm/amd/display: clear optc underflow before turn off odm clock
a06e4eb651 drm/amd/display: Avoid MPC infinite loop
2608885a4f btrfs: unify lookup return value when dir entry is missing
1fe3375cf2 btrfs: do not pin logs too early during renames
e9b4baabf8 btrfs: introduce btrfs_lookup_match_dir
2fe3eee488 mm/rmap: Fix anon_vma->degree ambiguity leading to double-reuse
8b68e53d56 bpf: Don't redirect packets with invalid pkt_len
934e49f7d6 ftrace: Fix NULL pointer dereference in is_ftrace_trampoline when ftrace is dead
7d9591b32a fbdev: fb_pm2fb: Avoid potential divide by zero error
53c7c4d5d4 HID: hidraw: fix memory leak in hidraw_release()
466b67c054 media: pvrusb2: fix memory leak in pvr_probe
63d8c1933e udmabuf: Set the DMA mask for the udmabuf device (v2)
fa2b822d86 HID: steam: Prevent NULL pointer dereference in steam_{recv,send}_report
6551fbe258 Bluetooth: L2CAP: Fix build errors in some archs
adc7640e19 kbuild: Fix include path in scripts/Makefile.modpost
80a7fe2b70 x86/bugs: Add "unknown" reporting for MMIO Stale Data
09602177d8 s390/mm: do not trigger write fault when vma does not allow VM_WRITE
c9c5501e81 mm: Force TLB flush for PFNMAP mappings before unlink_file_vma()
b4c928ace9 scsi: storvsc: Remove WQ_MEM_RECLAIM from storvsc_error_wq
2045b9d306 perf/x86/intel/uncore: Fix broken read_counter() for SNB IMC PMU
8e7fb19f1a md: call __md_stop_writes in md_stop
f35c4fec07 mm/hugetlb: fix hugetlb not supporting softdirty tracking
f09c1b80df ACPI: processor: Remove freq Qos request for all CPUs
cacd522e66 s390: fix double free of GS and RI CBs on fork() failure
c3862f5592 asm-generic: sections: refactor memory_intersects
13b2856037 loop: Check for overflow while configuring loop
2668aeac01 x86/unwind/orc: Unwind ftrace trampolines with correct ORC entry
dd3365d3b4 btrfs: check if root is readonly while setting security xattr
5b44dcf8b7 btrfs: add info when mount fails due to stale replace target
40554fa41a btrfs: replace: drop assert for suspended replace
201bb5d745 btrfs: fix silent failure when deleting root reference
571a13b350 ixgbe: stop resetting SYSTIME in ixgbe_ptp_start_cyclecounter
aa0a3f72c6 net: Fix a data-race around sysctl_somaxconn.
923fa41ade net: Fix a data-race around netdev_budget_usecs.
adeb24afd2 net: Fix a data-race around netdev_budget.
575c57e9e0 net: Fix a data-race around sysctl_net_busy_read.
6e8f9df62d net: Fix a data-race around sysctl_net_busy_poll.
5da0632c07 net: Fix a data-race around sysctl_tstamp_allow_data.
4482215f93 ratelimit: Fix data-races in ___ratelimit().
a90afeab21 net: Fix data-races around netdev_tstamp_prequeue.
c1d0ef0e6f net: Fix data-races around weight_p and dev_weight_[rt]x_bias.
dbd0f1991a netfilter: nft_tunnel: restrict it to netdev family
fba05d2502 netfilter: nft_osf: restrict osf to ipv4, ipv6 and inet families
a2ce367ae7 netfilter: nft_payload: do not truncate csum_offset and csum_type
8700153529 netfilter: nft_payload: report ERANGE for too long offset and length
bc7ba4cd0b bnxt_en: fix NQ resource accounting during vf creation on 57500 chips
160c4eb47d netfilter: ebtables: reject blobs that don't provide all entry points
8b9155eae8 net: ipvtap - add __init/__exit annotations to module init/exit funcs
1498077d56 bonding: 802.3ad: fix no transmission of LACPDUs
ac3541b11e net: moxa: get rid of asymmetry in DMA mapping/unmapping
eb8236dff7 net/mlx5e: Properly disable vlan strip on non-UL reps
6e4b20d548 rose: check NULL rose_loopback_neigh->loopback
4c14faf166 SUNRPC: RPC level errors should set task->tk_rpc_status
8ee27a4f0f af_key: Do not call xfrm_probe_algs in parallel
63da7a2bbf xfrm: fix refcount leak in __xfrm_policy_check()
a9f94dc4dd kernel/sched: Remove dl_boosted flag comment
d2b65976bf sched/deadline: Fix priority inheritance with multiple scheduling classes
c498c8cbc2 sched/deadline: Fix stale throttling on de-/boosted tasks
184c8ab534 sched/deadline: Unthrottle PI boosted threads while enqueuing
71b7edfc76 pinctrl: amd: Don't save/restore interrupt status and wake status bits
8e52d0c57d Revert "selftests/bpf: Fix test_align verifier log patterns"
2b13ddc9e0 Revert "selftests/bpf: Fix "dubious pointer arithmetic" test"
a89c4b5868 usb: cdns3: Fix issue for clear halt endpoint
87b41b041c kernel/sys_ni: add compat entry for fadvise64_64
945dc19778 parisc: Fix exception handler for fldw and fstw instructions
bb415d2687 audit: fix potential double free on error path from fsnotify_add_inode_mark
15a2cff2b5 Revert "USB: HCD: Fix URB giveback issue in tasklet function"
05426a3d4f Merge 5.4.211 into android11-5.4-lts
684cc17be8 Linux 5.4.211
473f43725b btrfs: raid56: don't trust any cached sector in __raid56_parity_recover()
6fd4cea044 btrfs: only write the sectors in the vertical stripe which has data stripes
04e41b6bac can: j1939: j1939_session_destroy(): fix memory leak of skbs
18e0ab31b0 can: j1939: j1939_sk_queue_activate_next_locked(): replace WARN_ON_ONCE with netdev_warn_once()
5c9637279f tracing/probes: Have kprobes and uprobes use $COMM too
5d8244d42d MIPS: tlbex: Explicitly compare _PAGE_NO_EXEC against 0
2b7f559152 video: fbdev: i740fb: Check the argument of i740_calc_vclk()
5e14b04c84 powerpc/64: Init jump labels before parse_early_param()
720f6112c3 smb3: check xattr value length earlier
29e734ec33 f2fs: fix to avoid use f2fs_bug_on() in f2fs_new_node_page()
dd9d894b41 ALSA: timer: Use deferred fasync helper
76f87b11a4 ALSA: core: Add async signal helpers
f4159834d1 powerpc/32: Don't always pass -mcpu=powerpc to the compiler
d78d0ee79b watchdog: export lockup_detector_reconfigure
814d83c5e1 RISC-V: Add fast call path of crash_kexec()
812cb21259 riscv: mmap with PROT_WRITE but no PROT_READ is invalid
1b49707df6 mips: cavium-octeon: Fix missing of_node_put() in octeon2_usb_clocks_start
3e6994735c vfio: Clear the caps->buf to NULL after free
ca3fc1c38e tty: serial: Fix refcount leak bug in ucc_uart.c
3c0efcd608 lib/list_debug.c: Detect uninitialized lists
a6805b3dcf ext4: avoid resizing to a partial cluster size
5bebfd6077 ext4: avoid remove directory when directory is corrupted
f5d46f1b47 drivers:md:fix a potential use-after-free bug
7a2fe15946 nvmet-tcp: fix lockdep complaint on nvmet_tcp_wq flush during queue teardown
0bf3dcfb03 dmaengine: sprd: Cleanup in .remove() after pm_runtime_get_sync() failed
d13b990d4f selftests/kprobe: Do not test for GRP/ without event failures
082da6a9c3 um: add "noreboot" command line option for PANIC_TIMEOUT=-1 setups
c3ce788be3 PCI/ACPI: Guard ARM64-specific mcfg_quirks
695af60af7 cxl: Fix a memory leak in an error handling path
ca06b4cde5 gadgetfs: ep_io - wait until IRQ finishes
927907f1cb scsi: lpfc: Prevent buffer overflow crashes in debugfs with malformed user input
d401611a93 clk: qcom: ipq8074: dont disable gcc_sleep_clk_src
f78ac62e6b vboxguest: Do not use devm for irq
cfa8f707a5 usb: renesas: Fix refcount leak bug
0334d23c56 usb: host: ohci-ppc-of: Fix refcount leak bug
b743d6cef4 drm/meson: Fix overflow implicit truncation warnings
29b30e0413 irqchip/tegra: Fix overflow implicit truncation warnings
e2d5318065 usb: gadget: uvc: call uvc uvcg_warn on completed status instead of uvcg_info
e65d9b7147 usb: cdns3 fix use-after-free at workaround 2
e7170b5a28 PCI: Add ACS quirk for Broadcom BCM5750x NICs
d58ef25678 drm/meson: Fix refcount bugs in meson_vpu_has_available_connectors()
d0c4307aea locking/atomic: Make test_and_*_bit() ordered on failure
90fb514a16 gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file
55197ba6d6 igb: Add lock to avoid data race
44b406aab0 fec: Fix timer capture timing in `fec_ptp_enable_pps()`
f861285de8 i40e: Fix to stop tx_timeout recovery if GLOBR fails
781212b344 ice: Ignore EEXIST when setting promisc mode
545ec873f1 net: dsa: microchip: ksz9477: fix fdb_dump last invalid entry
b360ce159c net: moxa: pass pdev instead of ndev to DMA functions
cb1753bc68 net: dsa: mv88e6060: prevent crash on an unused port
ccb0a42d3f powerpc/pci: Fix get_phb_number() locking
b5dd26e073 netfilter: nf_tables: really skip inactive sets when allocating name
f415fda659 clk: rockchip: add sclk_mac_lbtest to rk3188_critical_clocks
ff289f2be5 iavf: Fix adminq error handling
2b4daaed4f nios2: add force_successful_syscall_return()
d6d9dd2cc3 nios2: restarts apply only to the first sigframe we build...
01e783b45e nios2: fix syscall restart checks
9e9151768b nios2: traced syscall does need to check the syscall number
73c0883732 nios2: don't leave NULLs in sys_call_table[]
86a89da5cd nios2: page fault et.al. are *not* restartable syscalls...
965333345f tee: add overflow check in register_shm_helper()
cfa215a76a dpaa2-eth: trace the allocated address instead of page struct
9a6cbaa50f atm: idt77252: fix use-after-free bugs caused by tst_timer
2f14656fe1 xen/xenbus: fix return type in xenbus_file_read()
c61d3b92f5 nfp: ethtool: fix the display error of `ethtool -m DEVNAME`
a1d13886fd NTB: ntb_tool: uninitialized heap data in tool_fn_write()
215cbd3c0d tools build: Switch to new openssl API for test-libcrypto
a91204264e tools/vm/slabinfo: use alphabetic order when two values are equal
12f777a957 dt-bindings: arm: qcom: fix MSM8916 MTP compatibles
0ecc55fece vsock: Set socket state back to SS_UNCONNECTED in vsock_connect_timeout()
f82f1e2042 vsock: Fix memory leak in vsock_connect()
f4f2acf012 plip: avoid rcu debug splat
85b5747321 geneve: do not use RT_TOS for IPv6 flowlabel
760a01c36b ACPI: property: Return type of acpi_add_nondev_subnodes() should be bool
49c1ae5fc8 pinctrl: sunxi: Add I/O bias setting for H6 R-PIO
b0de3436ca pinctrl: qcom: msm8916: Allow CAMSS GP clocks to be muxed
c26012a1e6 pinctrl: nomadik: Fix refcount leak in nmk_pinctrl_dt_subnode_to_map
ac6d4482f2 net: bgmac: Fix a BUG triggered by wrong bytes_compl
1ad4ba9341 devlink: Fix use-after-free after a failed reload
c1bdc6de51 SUNRPC: Reinitialise the backchannel request buffers before reuse
b0e2839873 sunrpc: fix expiry of auth creds
0a901c2f7f can: mcp251x: Fix race condition on receive interrupt
f7ee3b772d NFSv4/pnfs: Fix a use-after-free bug in open
14b5a92e33 NFSv4.1: RECLAIM_COMPLETE must handle EACCES
89dd9bec66 NFSv4: Fix races in the legacy idmapper upcall
e7eba28ba7 NFSv4.1: Handle NFS4ERR_DELAY replies to OP_SEQUENCE correctly
68a84001f7 NFSv4.1: Don't decrease the value of seq_nr_highest_sent
2c8477600c Documentation: ACPI: EINJ: Fix obsolete example
7db182a2eb apparmor: Fix memleak in aa_simple_write_to_buffer()
ef6fb6f0d0 apparmor: fix reference count leak in aa_pivotroot()
7f6092dc8f apparmor: fix overlapping attachment computation
98ab8dfa04 apparmor: fix aa_label_asxprint return check
1b4c44823a apparmor: Fix failed mount permission check error message
825b0f6bb0 apparmor: fix absroot causing audited secids to begin with =
dd78c35a27 apparmor: fix quiet_denied for file rules
45be56968d can: ems_usb: fix clang's -Wunaligned-access warning
f67c43e4b1 tracing: Have filter accept "common_cpu" to be consistent
90b0526dd8 btrfs: fix lost error handling when looking up extended ref on log replay
d33e770f0a mmc: pxamci: Fix an error handling path in pxamci_probe()
6db5285844 mmc: pxamci: Fix another error handling path in pxamci_probe()
b1b2b8adb0 ata: libata-eh: Add missing command name
70e0c8a454 rds: add missing barrier to release_refill
d040e85ae9 ALSA: info: Fix llseek return value when using callback
992480132e net_sched: cls_route: disallow handle of 0
7d9d0ba99c net/9p: Initialize the iounit field during fid creation
13e17a18a4 Bluetooth: L2CAP: Fix l2cap_global_chan_by_psm regression
4d5e45fdf0 Revert "net: usb: ax88179_178a needs FLAG_SEND_ZLP"
f135c65085 scsi: sg: Allow waiting for commands to complete on removed device
cf218ff991 tcp: fix over estimation in sk_forced_mem_schedule()
8cdba919ac KVM: x86: Avoid theoretical NULL pointer dereference in kvm_irq_delivery_to_apic_fast()
8fb5e77604 KVM: x86: Check lapic_in_kernel() before attempting to set a SynIC irq
4c08dd3fbd KVM: Add infrastructure and macro to mark VM as bugged
8659026858 btrfs: reject log replay if there is unsupported RO compat flag
1fcd691cc2 net_sched: cls_route: remove from list when handle is 0
b123049846 iommu/vt-d: avoid invalid memory access via node_online(NUMA_NO_NODE)
18048cba44 firmware: arm_scpi: Ensure scpi_info is not assigned if the probe fails
7c77d1f9ba timekeeping: contribute wall clock to rng on time change
5e0fcc5ad3 ACPI: CPPC: Do not prevent CPPC from working in the future
2c7e93e338 dm writecache: set a default MAX_WRITEBACK_JOBS
05cef0999b dm thin: fix use-after-free crash in dm_sm_register_threshold_callback
cb583ca612 dm raid: fix address sanitizer warning in raid_status
71f601c779 dm raid: fix address sanitizer warning in raid_resume
2f2fa48c9f intel_th: pci: Add Meteor Lake-P support
ab1f9cb500 intel_th: pci: Add Raptor Lake-S PCH support
0d8fd1fa17 intel_th: pci: Add Raptor Lake-S CPU support
8887ef07ff ext4: correct the misjudgment in ext4_iget_extra_inode
be9614e15e ext4: correct max_inline_xattr_value_size computing
b9a2dfd1a0 ext4: fix extent status tree race in writeback error recovery path
b10b2122d7 ext4: update s_overhead_clusters in the superblock during an on-line resize
9d14687321 ext4: fix use-after-free in ext4_xattr_set_entry
41ff115b14 ext4: make sure ext4_append() always allocates new block
748d17d476 ext4: add EXT4_INODE_HAS_XATTR_SPACE macro in xattr.h
025604c702 btrfs: reset block group chunk force if we have to wait
cf8927ce66 tpm: eventlog: Fix section mismatch for DEBUG_SECTION_MISMATCH
61a1793b05 kexec, KEYS, s390: Make use of built-in and secondary keyring for signature verification
37690cb866 spmi: trace: fix stack-out-of-bound access in SPMI tracing functions
91d11a3376 x86/olpc: fix 'logical not is only applied to the left hand side'
42afeecce2 scsi: qla2xxx: Fix erroneous mailbox timeout after PCI error injection
d2e82c78e3 scsi: qla2xxx: Turn off multi-queue for 8G adapters
83cb0fb848 scsi: qla2xxx: Fix discovery issues in FC-AL topology
bc98764d80 scsi: zfcp: Fix missing auto port scan and thus missing target ports
eacb50f173 video: fbdev: s3fb: Check the size of screen before memset_io()
53198b8193 video: fbdev: arkfb: Check the size of screen before memset_io()
d71528ccdc video: fbdev: vt8623fb: Check the size of screen before memset_io()
09777c16a0 tools/thermal: Fix possible path truncations
a249e1b89c video: fbdev: arkfb: Fix a divide-by-zero bug in ark_set_pixclock()
46513b4a80 x86/numa: Use cpumask_available instead of hardcoded NULL check
26d2d13d9f scripts/faddr2line: Fix vmlinux detection on arm64
563ffb782d genelf: Use HAVE_LIBCRYPTO_SUPPORT, not the never defined HAVE_LIBCRYPTO
9813d27d59 powerpc/pci: Fix PHB numbering when using opal-phbid
6a119c1a58 kprobes: Forbid probing on trampoline and BPF code areas
cc53477d89 perf symbol: Fail to read phdr workaround
f388643657 powerpc/cell/axon_msi: Fix refcount leak in setup_msi_msg_address
d99733ad47 powerpc/xive: Fix refcount leak in xive_get_max_prio
14329d29a0 powerpc/spufs: Fix refcount leak in spufs_init_isolated_loader
3ec50b8a01 powerpc/pci: Prefer PCI domain assignment via DT 'linux,pci-domain' and alias
44a43b65d7 powerpc/32: Do not allow selection of e5500 or e6500 CPUs on PPC32
ddaa8cc5a6 video: fbdev: sis: fix typos in SiS_GetModeID()
49a4c1a87e video: fbdev: amba-clcd: Fix refcount leak bugs
a9286ff4c1 watchdog: armada_37xx_wdt: check the return value of devm_ioremap() in armada_37xx_wdt_probe()
ba406e3100 ASoC: audio-graph-card: Add of_node_put() in fail path
bb1cc434df fuse: Remove the control interface for virtio-fs
0839846274 ASoC: qcom: q6dsp: Fix an off-by-one in q6adm_alloc_copp()
3edcd1348b s390/zcore: fix race when reading from hardware system area
50be644f7d iommu/arm-smmu: qcom_iommu: Add of_node_put() when breaking out of loop
b948ff8a9e mfd: max77620: Fix refcount leak in max77620_initialise_fps
8d01edaf9e mfd: t7l66xb: Drop platform disable callback
b45bcdf627 kfifo: fix kfifo_to_user() return type
8ee5d40ae2 rpmsg: qcom_smd: Fix refcount leak in qcom_smd_parse_edge
9a87a53284 iommu/exynos: Handle failed IOMMU device registration properly
44913ccfa1 tty: n_gsm: fix missing corner cases in gsmld_poll()
ae9bfcbfd7 tty: n_gsm: fix DM command
b625b74549 tty: n_gsm: fix wrong T1 retry count handling
373343d8a7 vfio/ccw: Do not change FSM state in subchannel event
51642e1328 remoteproc: qcom: wcnss: Fix handling of IRQs
fbf9795646 tty: n_gsm: fix race condition in gsmld_write()
597bec4a4c tty: n_gsm: fix packet re-transmission without open control channel
ba10f6c2f0 tty: n_gsm: fix non flow control frames during mux flow off
8b355d6b1f profiling: fix shift too large makes kernel panic
8791703edd ASoC: codecs: wcd9335: move gains from SX_TLV to S8_TLV
ba4d971fe1 ASoC: codecs: msm8916-wcd-digital: move gains from SX_TLV to S8_TLV
34734e4c52 serial: 8250_dw: Store LSR into lsr_saved_flags in dw8250_tx_wait_empty()
79f566907d ASoC: mediatek: mt8173-rt5650: Fix refcount leak in mt8173_rt5650_dev_probe
4f97b5bb81 ASoC: codecs: da7210: add check for i2c_add_driver
b488ceb233 ASoC: mt6797-mt6351: Fix refcount leak in mt6797_mt6351_dev_probe
d6d41f0464 ASoC: mediatek: mt8173: Fix refcount leak in mt8173_rt5650_rt5676_dev_probe
d3f15a4be2 opp: Fix error check in dev_pm_opp_attach_genpd()
fa5b65d393 jbd2: fix assertion 'jh->b_frozen_data == NULL' failure when journal aborted
fc1ec67ba5 ext4: recover csum seed of tmp_inode after migrating to extents
36a88efe87 jbd2: fix outstanding credits assert in jbd2_journal_commit_transaction()
242303bf7f null_blk: fix ida error handling in null_add_dev()
b348e204a5 RDMA/rxe: Fix error unwind in rxe_create_qp()
38403d143d mm/mmap.c: fix missing call to vm_unacct_memory in mmap_region
d3beb91c99 platform/olpc: Fix uninitialized data in debugfs write
358db0ebec USB: serial: fix tty-port initialized comments
06f56d9e74 PCI: tegra194: Fix link up retry sequence
f916f6e039 PCI: tegra194: Fix Root Port interrupt handling
ed44d9ce8c HID: alps: Declare U1_UNICORN_LEGACY support
46f5458211 mmc: cavium-thunderx: Add of_node_put() when breaking out of loop
d0cc1ba2be mmc: cavium-octeon: Add of_node_put() when breaking out of loop
b100b0b002 gpio: gpiolib-of: Fix refcount bugs in of_mm_gpiochip_add_data()
2f90813f1c RDMA/hfi1: fix potential memory leak in setup_base_ctxt()
11edf0bba1 RDMA/siw: Fix duplicated reported IW_CM_EVENT_CONNECT_REPLY event
fb9193af53 RDMA/hns: Fix incorrect clearing of interrupt status register
414849317b usb: gadget: udc: amd5536 depends on HAS_DMA
bc6f609401 scsi: smartpqi: Fix DMA direction for RAID requests
b1b8034953 mmc: sdhci-of-at91: fix set_uhs_signaling rewriting of MC1R
9d8b911fe3 memstick/ms_block: Fix a memory leak
830c38ec9a memstick/ms_block: Fix some incorrect memory allocation
4c472a2c9e mmc: sdhci-of-esdhc: Fix refcount leak in esdhc_signal_voltage_switch
6bb0f10966 staging: rtl8192u: Fix sleep in atomic context bug in dm_fsync_timer_callback
b5d924cb4c intel_th: msu: Fix vmalloced buffers
d81195c474 intel_th: msu-sink: Potential dereference of null pointer
859342220a intel_th: Fix a resource leak in an error handling path
3771ee6c46 soundwire: bus_type: fix remove and shutdown support
2fcb7182de clk: qcom: camcc-sdm845: Fix topology around titan_top power domain
7dc9eb967a clk: qcom: ipq8074: set BRANCH_HALT_DELAY flag for UBI clocks
5780dde510 clk: qcom: ipq8074: fix NSS port frequency tables
15f4d52835 usb: host: xhci: use snprintf() in xhci_decode_trb()
7cfb3120ec clk: qcom: clk-krait: unlock spin after mux completion
8191b6cd9a driver core: fix potential deadlock in __driver_attach
be8f7c44d5 misc: rtsx: Fix an error handling path in rtsx_pci_probe()
507cabdb36 clk: mediatek: reset: Fix written reset bit offset
9ecabd76bf usb: xhci: tegra: Fix error check
65d36ec409 usb: ohci-nxp: Fix refcount leak in ohci_hcd_nxp_probe
8cbc3870ff usb: host: Fix refcount leak in ehci_hcd_ppc_of_probe
8e88b42575 fpga: altera-pr-ip: fix unsigned comparison with less than zero
44ffee3979 mtd: st_spi_fsm: Add a clk_disable_unprepare() in .probe()'s error path
f3cc27198c mtd: partitions: Fix refcount leak in parse_redboot_of
a1cdbd344f mtd: sm_ftl: Fix deadlock caused by cancel_work_sync in sm_release
519ff31a6d HID: cp2112: prevent a buffer overflow in cp2112_xfer()
1367f4a3e6 mtd: rawnand: meson: Fix a potential double free issue
80b1465b2a mtd: maps: Fix refcount leak in ap_flash_init
9124d51e01 mtd: maps: Fix refcount leak in of_flash_probe_versatile
e0012773af clk: renesas: r9a06g032: Fix UART clkgrp bitsel
51fb8c2c10 dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock
d3b2922637 net: rose: fix netdev reference changes
34b88491b4 netdevsim: Avoid allocation warnings triggered from user space
9d9e0d5560 iavf: Fix max_rate limiting
50a7949fd9 crypto: inside-secure - Add missing MODULE_DEVICE_TABLE for of
439297ec5c net/mlx5e: Fix the value of MLX5E_MAX_RQ_NUM_MTTS
878e7f3980 wifi: libertas: Fix possible refcount leak in if_usb_probe()
5cca5f714f wifi: iwlwifi: mvm: fix double list_add at iwl_mvm_mac_wake_tx_queue
52b11a48cf wifi: wil6210: debugfs: fix uninitialized variable use in `wil_write_file_wmi()`
becbc82919 i2c: mux-gpmux: Add of_node_put() when breaking out of loop
6d9f3128c0 i2c: cadence: Support PEC for SMBus block read
80df14022c Bluetooth: hci_intel: Add check for platform_driver_register
26168f0656 can: pch_can: pch_can_error(): initialize errc before using it
a025f6ca15 can: error: specify the values of data[5..7] of CAN error frames
61bcc556ff can: usb_8dev: do not report txerr and rxerr during bus-off
d8833eaa5f can: kvaser_usb_leaf: do not report txerr and rxerr during bus-off
a37e2bad76 can: kvaser_usb_hydra: do not report txerr and rxerr during bus-off
80b135a023 can: sun4i_can: do not report txerr and rxerr during bus-off
d20bf7e761 can: hi311x: do not report txerr and rxerr during bus-off
e94369cdc0 can: sja1000: do not report txerr and rxerr during bus-off
5b9d4919a7 can: rcar_can: do not report txerr and rxerr during bus-off
4cb29f25b2 can: pch_can: do not report txerr and rxerr during bus-off
ecbdb2985e selftests/bpf: fix a test for snprintf() overflow
e134d998a9 wifi: p54: add missing parentheses in p54_flush()
6942c45a22 wifi: p54: Fix an error handling path in p54spi_probe()
60c9983425 wifi: wil6210: debugfs: fix info leak in wil_write_file_wmi()
72d9ce5b08 fs: check FMODE_LSEEK to control internal pipe splicing
8cf6e837dc selftests: timers: clocksource-switch: fix passing errors from child
2f243fe8db selftests: timers: valid-adjtimex: build fix for newer toolchains
8ebe6121e7 libbpf: Fix the name of a reused map
fd35e34ece tcp: make retransmitted SKB fit into the send window
6296d09d2b drm/exynos/exynos7_drm_decon: free resources when clk_set_parent() failed.
1ae9edf7e8 mediatek: mt76: mac80211: Fix missing of_node_put() in mt76_led_init()
e86a88d39c media: platform: mtk-mdp: Fix mdp_ipi_comm structure alignment
cf411bcc65 crypto: hisilicon - Kunpeng916 crypto driver don't sleep when in softirq
2e34d6c818 drm/msm/mdp5: Fix global state lock backoff
5d4128a163 drm: bridge: sii8620: fix possible off-by-one
3a7ebe131c drm/mediatek: dpi: Only enable dpi after the bridge is enabled
42c8e38e86 drm/mediatek: dpi: Remove output format of YUV
0f214563ab drm/rockchip: Fix an error handling path rockchip_dp_probe()
3345fd3533 drm/rockchip: vop: Don't crash for invalid duplicate_state()
9f64fb4551 crypto: arm64/gcm - Select AEAD for GHASH_ARM64_CE
b53cbaf9b3 drm/vc4: dsi: Correct DSI divider calculations
120161c127 drm/vc4: plane: Fix margin calculations for the right/bottom edges
84f638fbf8 drm/vc4: plane: Remove subpixel positioning check
59340f399c media: hdpvr: fix error value returns in hdpvr_read
87c35bbefd drm/mcde: Fix refcount leak in mcde_dsi_bind
289079d6c5 drm: bridge: adv7511: Add check for mipi_dsi_driver_register
73304c7594 wifi: iwlegacy: 4965: fix potential off-by-one overflow in il4965_rs_fill_link_cmd()
e9e21206b8 ath9k: fix use-after-free in ath9k_hif_usb_rx_cb
fef3261630 media: tw686x: Register the irq at the end of probe
871a1e9492 i2c: Fix a potential use after free
127ecd6b1f drm: adv7511: override i2c address of cec before accessing it
8cdf42c7ba drm/mediatek: Add pull-down MIPI operation in mtk_dsi_poweroff function
db1a9add3f drm/radeon: fix potential buffer overflow in ni_set_mc_special_registers()
6a5ade10a3 drm/mipi-dbi: align max_chunk to 2 in spi_transfer
f52b31ecaf wifi: rtlwifi: fix error codes in rtl_debugfs_set_write_h2c()
c59876f8c9 ath10k: do not enforce interrupt trigger type
08cc3995fb dm: return early from dm_pr_call() if DM device is suspended
bc4e8b95c4 thermal/tools/tmon: Include pthread and time headers in tmon.h
91732a2794 nohz/full, sched/rt: Fix missed tick-reenabling bug in dequeue_task_rt()
35f9e861d9 regulator: of: Fix refcount leak bug in of_get_regulation_constraints()
52e1f85bf7 blk-mq: don't create hctx debugfs dir until q->debugfs_dir is created
bee4d2ab4d erofs: avoid consecutive detection for Highmem memory
62060951cc arm64: dts: mt7622: fix BPI-R64 WPS button
8501674394 bus: hisi_lpc: fix missing platform_device_put() in hisi_lpc_acpi_probe()
3d69823858 ARM: dts: qcom: pm8841: add required thermal-sensor-cells
bc73c72a85 soc: qcom: aoss: Fix refcount leak in qmp_cooling_devices_register
a530fa52d4 cpufreq: zynq: Fix refcount leak in zynq_get_revision
c4f92af7fc ARM: OMAP2+: Fix refcount leak in omap3xxx_prm_late_init
935035cf97 ARM: OMAP2+: Fix refcount leak in omapdss_init_of
b95e19f1ec ARM: dts: qcom: mdm9615: add missing PMIC GPIO reg
1f0448cb8a soc: fsl: guts: machine variable might be unset
1e9cc69eae ARM: dts: ast2600-evb: fix board compatible
4a4bb53e63 ARM: dts: ast2500-evb: fix board compatible
0b7f674c12 x86/pmem: Fix platform-device leak in error path
5afe042c88 ARM: bcm: Fix refcount leak in bcm_kona_smc_init
6b28bf3e04 meson-mx-socinfo: Fix refcount leak in meson_mx_socinfo_init
ef5102a0a7 ARM: findbit: fix overflowing offset
c7835f93db spi: spi-rspi: Fix PIO fallback on RZ platforms
90bdf50ae7 selinux: Add boundary check in put_entry()
3c48d3067e PM: hibernate: defer device probing when resuming from hibernation
930e7b260e ARM: shmobile: rcar-gen2: Increase refcount for new reference
a770da1866 arm64: dts: allwinner: a64: orangepi-win: Fix LED node name
5f1510dd2f arm64: dts: qcom: ipq8074: fix NAND node name
308bb82c61 ACPI: LPSS: Fix missing check in register_device_clock()
b61119d085 ACPI: PM: save NVS memory for Lenovo G40-45
81abef841f ACPI: EC: Remove duplicate ThinkPad X1 Carbon 6th entry from DMI quirks
3e505298a7 ARM: OMAP2+: display: Fix refcount leak bug
749ee1c4c3 spi: synquacer: Add missing clk_disable_unprepare()
f7e6740e1e ARM: dts: imx6ul: fix qspi node compatible
5db7e1796d ARM: dts: imx6ul: fix lcdif node compatible
82cff0cf71 ARM: dts: imx6ul: fix csi node compatible
667023a284 ARM: dts: imx6ul: change operating-points to uint32-matrix
a6e6203616 ARM: dts: imx6ul: add missing properties for sram
bd80dd86f9 wait: Fix __wait_event_hrtimeout for RT/DL tasks
3fb368c0ae genirq: Don't return error on missing optional irq_request_resources()
b3f4236838 ext2: Add more validity checks for inode counts
04549063d5 arm64: fix oops in concurrently setting insn_emulation sysctls
fa09c39265 arm64: Do not forget syscall when starting a new thread.
c5940c0821 x86: Handle idle=nomwait cmdline properly for x86_idle
cf2db24ec4 epoll: autoremove wakers even more aggressively
a452bc3deb netfilter: nf_tables: fix null deref due to zeroed list head
4dad1c8207 netfilter: nf_tables: do not allow RULE_ID to refer to another chain
fab2f61cc3 netfilter: nf_tables: do not allow SET_ID to refer to another table
cc525d667b arm64: dts: uniphier: Fix USB interrupts for PXs3 SoC
57e2c84445 ARM: dts: uniphier: Fix USB interrupts for PXs2 SoC
5d952c7ae3 USB: HCD: Fix URB giveback issue in tasklet function
e9205d8dd1 coresight: Clear the connection field properly
274e44e212 MIPS: cpuinfo: Fix a warning for CONFIG_CPUMASK_OFFSTACK
dbd0059018 powerpc/powernv: Avoid crashing if rng is NULL
5b8f55bc05 powerpc/ptdump: Fix display of RW pages on FSL_BOOK3E
28a6d14ba6 powerpc/fsl-pci: Fix Class Code of PCIe Root Port
9293b7ee52 PCI: Add defines for normal and subtractive PCI bridges
8c3ae6b1d7 ia64, processor: fix -Wincompatible-pointer-types in ia64_get_irr()
ce839b9331 md-raid10: fix KASAN warning
ecd489683a serial: mvebu-uart: uart2 error bits clearing
d11e3f4fdc fuse: limit nsec
ed43fb20d3 iio: light: isl29028: Fix the warning in isl29028_remove()
a5b8aad548 drm/amdgpu: Check BO's requested pinning domains against its preferred_domains
8afbf206aa drm/nouveau: fix another off-by-one in nvbios_addr
5557e9469b drm/gem: Properly annotate WW context on drm_gem_lock_reservations() error
b8f3830cd9 parisc: io_pgetevents_time64() needs compat syscall in 32-bit compat mode
d7ba24d3a8 parisc: Fix device names in /proc/iomem
a7573260ad ovl: drop WARN_ON() dentry is NULL in ovl_encode_fh()
8b4588b8b0 usbnet: Fix linkwatch use-after-free on disconnect
2afb553d68 fbcon: Fix boundary checks for fbcon=vc:n1-n2 parameters
6f9cd356eb thermal: sysfs: Fix cooling_device_stats_setup() error code path
a698d2fa85 fs: Add missing umask strip in vfs_tmpfile
e2a231454e vfs: Check the truncate maximum size in inode_newsize_ok()
cc9e874dac tty: vt: initialize unicode screen buffer
9e274a4f60 ALSA: hda/realtek: Add quirk for another Asus K42JZ model
495f153c15 ALSA: hda/cirrus - support for iMac 12,1 model
f4f2d3742b ALSA: hda/conexant: Add quirk for LENOVO 20149 Notebook model
79e522101c mm/mremap: hold the rmap lock in write mode when moving page table entries.
731436e1ee KVM: x86: Set error code to segment selector on LLDT/LTR non-canonical #GP
914a274320 KVM: x86: Mark TSS busy during LTR emulation _after_ all fault checks
7835986587 KVM: nVMX: Let userspace set nVMX MSR to any _host_ supported value
68e1313bb8 KVM: SVM: Don't BUG if userspace injects an interrupt with GIF=0
e40bde8a28 KVM: nVMX: Snapshot pre-VM-Enter DEBUGCTL for !nested_run_pending case
c841dfce0b KVM: nVMX: Snapshot pre-VM-Enter BNDCFGS for !nested_run_pending case
717c93c7f6 HID: wacom: Don't register pad_input for touch switch
0ca140b284 HID: wacom: Only report rotation for art pen
d14b6fe911 add barriers to buffer_uptodate and set_buffer_uptodate
6f3342a5e8 wifi: mac80211_hwsim: use 32-bit skb cookie
4f4bf4e52b wifi: mac80211_hwsim: add back erroneously removed cast
84014008bc wifi: mac80211_hwsim: fix race condition in pending packet
ae52cf801a igc: Remove _I_PHY_ID checking
05e0bb8c3c ALSA: bcd2000: Fix a UAF bug on the error path of probing
58e337d27f scsi: Revert "scsi: qla2xxx: Fix disk failure to rediscover"
013acaa597 x86: link vdso and boot with -z noexecstack --no-warn-rwx-segments
635e8e6f68 Makefile: link with -z noexecstack --no-warn-rwx-segments

Change-Id: I160e4fdc055e7b7708c84eb279f26cce9da6915d
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
This commit is contained in:
Greg Kroah-Hartman
2022-11-29 09:08:55 +00:00
739 changed files with 6833 additions and 3674 deletions

View File

@@ -230,6 +230,20 @@ The possible values in this file are:
* - 'Mitigation: Clear CPU buffers'
- The processor is vulnerable and the CPU buffer clearing mitigation is
enabled.
* - 'Unknown: No mitigations'
- The processor vulnerability status is unknown because it is
out of Servicing period. Mitigation is not attempted.
Definitions:
------------
Servicing period: The process of providing functional and security updates to
Intel processors or platforms, utilizing the Intel Platform Update (IPU)
process or other similar mechanisms.
End of Servicing Updates (ESU): ESU is the date at which Intel will no
longer provide Servicing, such as through IPU or other similar update
processes. ESU dates will typically be aligned to end of quarter.
If the processor is vulnerable then the following information is appended to
the above information:

View File

@@ -4304,6 +4304,18 @@
retain_initrd [RAM] Keep initrd memory after extraction
retbleed= [X86] Control mitigation of RETBleed (Arbitrary
Speculative Code Execution with Return Instructions)
vulnerability.
off - unconditionally disable
auto - automatically select a migitation
Selecting 'auto' will choose a mitigation method at run
time according to the CPU.
Not specifying this option is equivalent to retbleed=auto.
rfkill.default_state=
0 "airplane mode". All wifi, bluetooth, wimax, gps, fm,
etc. communication is blocked by default.
@@ -4547,6 +4559,7 @@
eibrs - enhanced IBRS
eibrs,retpoline - enhanced IBRS + Retpolines
eibrs,lfence - enhanced IBRS + LFENCE
ibrs - use IBRS to protect kernel
Not specifying this option is equivalent to
spectre_v2=auto.

View File

@@ -676,8 +676,8 @@ the ``menu`` governor to be used on the systems that use the ``ladder`` governor
by default this way, for example.
The other kernel command line parameters controlling CPU idle time management
described below are only relevant for the *x86* architecture and some of
them affect Intel processors only.
described below are only relevant for the *x86* architecture and references
to ``intel_idle`` affect Intel processors only.
The *x86* architecture support code recognizes three kernel command line
options related to CPU idle time management: ``idle=poll``, ``idle=halt``,
@@ -699,10 +699,13 @@ idle, so it very well may hurt single-thread computations performance as well as
energy-efficiency. Thus using it for performance reasons may not be a good idea
at all.]
The ``idle=nomwait`` option disables the ``intel_idle`` driver and causes
``acpi_idle`` to be used (as long as all of the information needed by it is
there in the system's ACPI tables), but it is not allowed to use the
``MWAIT`` instruction of the CPUs to ask the hardware to enter idle states.
The ``idle=nomwait`` option prevents the use of ``MWAIT`` instruction of
the CPU to enter idle states. When this option is used, the ``acpi_idle``
driver will use the ``HLT`` instruction instead of ``MWAIT``. On systems
running Intel processors, this option disables the ``intel_idle`` driver
and forces the use of the ``acpi_idle`` driver instead. Note that in either
case, ``acpi_idle`` driver will function only if all the information needed
by it is in the system's ACPI tables.
In addition to the architecture-level kernel command line options affecting CPU
idle time management, there are parameters affecting individual ``CPUIdle``

View File

@@ -59,7 +59,7 @@ Like with atomic_t, the rule of thumb is:
- RMW operations that have a return value are fully ordered.
- RMW operations that are conditional are unordered on FAILURE,
otherwise the above rules apply. In the case of test_and_{}_bit() operations,
otherwise the above rules apply. In the case of test_and_set_bit_lock(),
if the bit in memory is unchanged by the operation then it is deemed to have
failed.

View File

@@ -112,8 +112,8 @@ properties:
- const: qcom,msm8974
- items:
- const: qcom,msm8916-mtp/1
- const: qcom,msm8916-mtp
- const: qcom,msm8916-mtp/1
- const: qcom,msm8916
- items:

View File

@@ -34,8 +34,8 @@ Example:
Use specific request line passing from dma
For example, MMC request line is 5
sdhci: sdhci@98e00000 {
compatible = "moxa,moxart-sdhci";
mmc: mmc@98e00000 {
compatible = "moxa,moxart-mmc";
reg = <0x98e00000 0x5C>;
interrupts = <5 0>;
clocks = <&clk_apb>;

View File

@@ -168,7 +168,7 @@ An error injection example::
0x00000008 Memory Correctable
0x00000010 Memory Uncorrectable non-fatal
# echo 0x12345000 > param1 # Set memory address for injection
# echo $((-1 << 12)) > param2 # Mask 0xfffffffffffff000 - anywhere in this page
# echo 0xfffffffffffff000 > param2 # Mask - anywhere in this page
# echo 0x8 > error_type # Choose correctable memory error
# echo 1 > error_inject # Inject now

View File

@@ -517,6 +517,7 @@ All I-Force devices are supported by the iforce module. This includes:
* AVB Mag Turbo Force
* AVB Top Shot Pegasus
* AVB Top Shot Force Feedback Racing Wheel
* Boeder Force Feedback Wheel
* Logitech WingMan Force
* Logitech WingMan Force Wheel
* Guillemot Race Leader Force Feedback

View File

@@ -51,7 +51,7 @@ the Technical Advisory Board (TAB) or other maintainers if you're
uncertain how to handle situations that come up. It will not be
considered a violation report unless you want it to be. If you are
uncertain about approaching the TAB or any other maintainers, please
reach out to our conflict mediator, Mishi Choudhary <mishi@linux.com>.
reach out to our conflict mediator, Joanna Lee <joanna.lee@gesmer.com>.
In the end, "be kind to each other" is really what the end goal is for
everybody. We know everyone is human and we all fail at times, but the

View File

@@ -17876,7 +17876,8 @@ S: Supported
F: sound/xen/*
XFS FILESYSTEM
M: Darrick J. Wong <darrick.wong@oracle.com>
M: Chandan Babu R <chandan.babu@oracle.com>
M: Darrick J. Wong <djwong@kernel.org>
M: linux-xfs@vger.kernel.org
L: linux-xfs@vger.kernel.org
W: http://xfs.org/

View File

@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 210
SUBLEVEL = 219
EXTRAVERSION =
NAME = Kleptomaniac Octopus
@@ -1005,6 +1005,9 @@ KBUILD_CFLAGS += $(KCFLAGS)
KBUILD_LDFLAGS_MODULE += --build-id
LDFLAGS_vmlinux += --build-id
KBUILD_LDFLAGS += -z noexecstack
KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments)
ifeq ($(CONFIG_STRIP_ASM_SYMS),y)
LDFLAGS_vmlinux += $(call ld-option, -X,)
endif

File diff suppressed because it is too large Load Diff

View File

@@ -425,6 +425,7 @@
strlen
strncmp
strncpy
strscpy_pad
__sw_hweight32
__sw_hweight64
synchronize_irq
@@ -660,6 +661,7 @@
of_usb_get_phy_mode
phy_pm_runtime_get_sync
phy_pm_runtime_put_sync
platform_device_add_data
platform_get_irq_byname_optional
pm_runtime_barrier
system_freezable_wq

View File

@@ -381,7 +381,7 @@
&mmc2 {
status = "okay";
vmmc-supply = <&wl12xx_vmmc>;
ti,non-removable;
non-removable;
bus-width = <4>;
cap-power-off-card;
pinctrl-names = "default";

View File

@@ -22,6 +22,7 @@
pinctrl-0 = <&emmc_pins>;
bus-width = <8>;
status = "okay";
non-removable;
};
&am33xx_pinmux {

View File

@@ -75,7 +75,6 @@
bus-width = <4>;
non-removable;
cap-power-off-card;
ti,needs-special-hs-handling;
keep-power-in-suspend;
pinctrl-names = "default";
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;

View File

@@ -389,7 +389,6 @@
bus-width = <4>;
non-removable;
cap-power-off-card;
ti,needs-special-hs-handling;
keep-power-in-suspend;
pinctrl-names = "default";
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;

View File

@@ -75,7 +75,6 @@
bus-width = <4>;
non-removable;
cap-power-off-card;
ti,needs-special-hs-handling;
keep-power-in-suspend;
pinctrl-names = "default";
pinctrl-0 = <&mmc3_pins &wl18xx_pins>;

View File

@@ -782,8 +782,7 @@
bus-width = <4>;
pinctrl-names = "default";
pinctrl-0 = <&mmc3_pins &wlan_pins>;
ti,non-removable;
ti,needs-special-hs-handling;
non-removable;
cap-power-off-card;
keep-power-in-suspend;

View File

@@ -700,7 +700,7 @@
&mmc2 {
status = "okay";
vmmc-supply = <&wl12xx_vmmc>;
ti,non-removable;
non-removable;
bus-width = <4>;
cap-power-off-card;
keep-power-in-suspend;

View File

@@ -361,7 +361,7 @@
pinctrl-0 = <&emmc_pins>;
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <8>;
ti,non-removable;
non-removable;
status = "okay";
};

View File

@@ -176,7 +176,7 @@
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <8>;
pinctrl-0 = <&mmc1_pins_default>;
ti,non-removable;
non-removable;
status = "okay";
};

View File

@@ -473,7 +473,7 @@
vmmc-supply = <&vmmcsd_fixed>;
bus-width = <8>;
pinctrl-0 = <&mmc2_pins_default>;
ti,non-removable;
non-removable;
status = "okay";
};

View File

@@ -341,7 +341,7 @@
pinctrl-0 = <&emmc_pins>;
vmmc-supply = <&ldo3_reg>;
bus-width = <8>;
ti,non-removable;
non-removable;
};
&mmc3 {
@@ -351,7 +351,7 @@
pinctrl-0 = <&wireless_pins>;
vmmmc-supply = <&v3v3c_reg>;
bus-width = <4>;
ti,non-removable;
non-removable;
dmas = <&edma_xbar 12 0 1
&edma_xbar 13 0 2>;
dma-names = "tx", "rx";

View File

@@ -69,7 +69,7 @@
pinctrl-0 = <&emmc_pins>;
vmmc-supply = <&vmmc_reg>;
bus-width = <8>;
ti,non-removable;
non-removable;
status = "disabled";
};

View File

@@ -1333,12 +1333,9 @@
ranges = <0x0 0x60000 0x1000>;
mmc1: mmc@0 {
compatible = "ti,omap4-hsmmc";
ti,dual-volt;
compatible = "ti,am335-sdhci";
ti,needs-special-reset;
ti,needs-special-hs-handling;
dmas = <&edma_xbar 24 0 0
&edma_xbar 25 0 0>;
dmas = <&edma 24 0>, <&edma 25 0>;
dma-names = "tx", "rx";
interrupts = <64>;
reg = <0x0 0x1000>;
@@ -1827,7 +1824,7 @@
ranges = <0x0 0xd8000 0x1000>;
mmc2: mmc@0 {
compatible = "ti,omap4-hsmmc";
compatible = "ti,am335-sdhci";
ti,needs-special-reset;
dmas = <&edma 2 0
&edma 3 0>;

View File

@@ -259,10 +259,11 @@
ranges = <0x0 0x47810000 0x1000>;
mmc3: mmc@0 {
compatible = "ti,omap4-hsmmc";
compatible = "ti,am335-sdhci";
ti,needs-special-reset;
interrupts = <29>;
reg = <0x0 0x1000>;
status = "disabled";
};
};

View File

@@ -250,10 +250,11 @@
ranges = <0x0 0x47810000 0x1000>;
mmc3: mmc@0 {
compatible = "ti,omap4-hsmmc";
compatible = "ti,am437-sdhci";
ti,needs-special-reset;
interrupts = <GIC_SPI 29 IRQ_TYPE_LEVEL_HIGH>;
reg = <0x0 0x1000>;
status = "disabled";
};
};

View File

@@ -291,7 +291,7 @@
pinctrl-0 = <&emmc_pins>;
vmmc-supply = <&vmmc_3v3>;
bus-width = <8>;
ti,non-removable;
non-removable;
};
&spi0 {

View File

@@ -872,7 +872,7 @@
pinctrl-names = "default", "sleep";
pinctrl-0 = <&emmc_pins_default>;
pinctrl-1 = <&emmc_pins_sleep>;
ti,non-removable;
non-removable;
};
&mmc3 {
@@ -889,7 +889,7 @@
pinctrl-1 = <&mmc3_pins_sleep>;
cap-power-off-card;
keep-power-in-suspend;
ti,non-removable;
non-removable;
#address-cells = <1>;
#size-cells = <0>;

View File

@@ -1104,9 +1104,8 @@
ranges = <0x0 0x60000 0x1000>;
mmc1: mmc@0 {
compatible = "ti,omap4-hsmmc";
compatible = "ti,am437-sdhci";
reg = <0x0 0x1000>;
ti,dual-volt;
ti,needs-special-reset;
dmas = <&edma 24 0>,
<&edma 25 0>;
@@ -1641,7 +1640,7 @@
ranges = <0x0 0xd8000 0x1000>;
mmc2: mmc@0 {
compatible = "ti,omap4-hsmmc";
compatible = "ti,am437-sdhci";
reg = <0x0 0x1000>;
ti,needs-special-reset;
dmas = <&edma 2 0>,

View File

@@ -694,7 +694,7 @@
pinctrl-1 = <&mmc3_pins_sleep>;
cap-power-off-card;
keep-power-in-suspend;
ti,non-removable;
non-removable;
#address-cells = <1>;
#size-cells = <0>;

View File

@@ -5,7 +5,7 @@
/ {
model = "AST2500 EVB";
compatible = "aspeed,ast2500";
compatible = "aspeed,ast2500-evb", "aspeed,ast2500";
aliases {
serial4 = &uart5;

View File

@@ -7,7 +7,7 @@
/ {
model = "AST2600 EVB";
compatible = "aspeed,ast2600";
compatible = "aspeed,ast2600-evb-a1", "aspeed,ast2600";
aliases {
serial4 = &uart5;

View File

@@ -51,16 +51,6 @@
vin-supply = <&reg_3p3v_s5>;
};
reg_3p3v_s0: regulator-3p3v-s0 {
compatible = "regulator-fixed";
regulator-name = "V_3V3_S0";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-boot-on;
vin-supply = <&reg_3p3v_s5>;
};
reg_3p3v_s5: regulator-3p3v-s5 {
compatible = "regulator-fixed";
regulator-name = "V_3V3_S5";

View File

@@ -62,20 +62,18 @@
clock-frequency = <696000000>;
clock-latency = <61036>; /* two CLK32 periods */
#cooling-cells = <2>;
operating-points = <
operating-points =
/* kHz uV */
696000 1275000
528000 1175000
396000 1025000
198000 950000
>;
fsl,soc-operating-points = <
<696000 1275000>,
<528000 1175000>,
<396000 1025000>,
<198000 950000>;
fsl,soc-operating-points =
/* KHz uV */
696000 1275000
528000 1175000
396000 1175000
198000 1175000
>;
<696000 1275000>,
<528000 1175000>,
<396000 1175000>,
<198000 1175000>;
clocks = <&clks IMX6UL_CLK_ARM>,
<&clks IMX6UL_CLK_PLL2_BUS>,
<&clks IMX6UL_CLK_PLL2_PFD2>,
@@ -157,6 +155,9 @@
ocram: sram@900000 {
compatible = "mmio-sram";
reg = <0x00900000 0x20000>;
ranges = <0 0x00900000 0x20000>;
#address-cells = <1>;
#size-cells = <1>;
};
intc: interrupt-controller@a01000 {
@@ -966,7 +967,7 @@
};
csi: csi@21c4000 {
compatible = "fsl,imx6ul-csi", "fsl,imx7-csi";
compatible = "fsl,imx6ul-csi";
reg = <0x021c4000 0x4000>;
interrupts = <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_CSI>;
@@ -975,7 +976,7 @@
};
lcdif: lcdif@21c8000 {
compatible = "fsl,imx6ul-lcdif", "fsl,imx28-lcdif";
compatible = "fsl,imx6ul-lcdif", "fsl,imx6sx-lcdif";
reg = <0x021c8000 0x4000>;
interrupts = <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clks IMX6UL_CLK_LCDIF_PIX>,
@@ -996,7 +997,7 @@
qspi: spi@21e0000 {
#address-cells = <1>;
#size-cells = <0>;
compatible = "fsl,imx6ul-qspi", "fsl,imx6sx-qspi";
compatible = "fsl,imx6ul-qspi";
reg = <0x021e0000 0x4000>, <0x60000000 0x10000000>;
reg-names = "QuadSPI", "QuadSPI-memory";
interrupts = <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>;

View File

@@ -155,6 +155,7 @@
pci: pciv3@62000000 {
compatible = "arm,integrator-ap-pci", "v3,v360epc-pci";
device_type = "pci";
#interrupt-cells = <1>;
#size-cells = <2>;
#address-cells = <3>;

View File

@@ -79,7 +79,7 @@
clocks = <&ref12>;
};
&sdhci {
&mmc {
status = "okay";
};

View File

@@ -93,8 +93,8 @@
clock-names = "PCLK";
};
sdhci: sdhci@98e00000 {
compatible = "moxa,moxart-sdhci";
mmc: mmc@98e00000 {
compatible = "moxa,moxart-mmc";
reg = <0x98e00000 0x5C>;
interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clk_apb>;

View File

@@ -323,6 +323,7 @@
pmicgpio: gpio@150 {
compatible = "qcom,pm8018-gpio", "qcom,ssbi-gpio";
reg = <0x150>;
interrupt-controller;
#interrupt-cells = <2>;
gpio-controller;

View File

@@ -25,6 +25,7 @@
compatible = "qcom,spmi-temp-alarm";
reg = <0x2400>;
interrupts = <4 0x24 0 IRQ_TYPE_EDGE_RISING>;
#thermal-sensor-cells = <0>;
};
};

View File

@@ -585,8 +585,8 @@
compatible = "socionext,uniphier-dwc3", "snps,dwc3";
status = "disabled";
reg = <0x65a00000 0xcd00>;
interrupt-names = "host", "peripheral";
interrupts = <0 134 4>, <0 135 4>;
interrupt-names = "dwc_usb3";
interrupts = <0 134 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>;
clock-names = "ref", "bus_early", "suspend";
@@ -681,8 +681,8 @@
compatible = "socionext,uniphier-dwc3", "snps,dwc3";
status = "disabled";
reg = <0x65c00000 0xcd00>;
interrupt-names = "host", "peripheral";
interrupts = <0 137 4>, <0 138 4>;
interrupt-names = "dwc_usb3";
interrupts = <0 137 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>;
clock-names = "ref", "bus_early", "suspend";

View File

@@ -40,8 +40,8 @@ ENDPROC(_find_first_zero_bit_le)
* Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
*/
ENTRY(_find_next_zero_bit_le)
teq r1, #0
beq 3b
cmp r2, r1
bhs 3b
ands ip, r2, #7
beq 1b @ If new byte, goto old routine
ARM( ldrb r3, [r0, r2, lsr #3] )
@@ -81,8 +81,8 @@ ENDPROC(_find_first_bit_le)
* Prototype: int find_next_zero_bit(void *addr, unsigned int maxbit, int offset)
*/
ENTRY(_find_next_bit_le)
teq r1, #0
beq 3b
cmp r2, r1
bhs 3b
ands ip, r2, #7
beq 1b @ If new byte, goto old routine
ARM( ldrb r3, [r0, r2, lsr #3] )
@@ -115,8 +115,8 @@ ENTRY(_find_first_zero_bit_be)
ENDPROC(_find_first_zero_bit_be)
ENTRY(_find_next_zero_bit_be)
teq r1, #0
beq 3b
cmp r2, r1
bhs 3b
ands ip, r2, #7
beq 1b @ If new byte, goto old routine
eor r3, r2, #0x18 @ big endian byte ordering
@@ -149,8 +149,8 @@ ENTRY(_find_first_bit_be)
ENDPROC(_find_first_bit_be)
ENTRY(_find_next_bit_be)
teq r1, #0
beq 3b
cmp r2, r1
bhs 3b
ands ip, r2, #7
beq 1b @ If new byte, goto old routine
eor r3, r2, #0x18 @ big endian byte ordering

View File

@@ -54,6 +54,7 @@ int __init bcm_kona_smc_init(void)
return -ENODEV;
prop_val = of_get_address(node, 0, &prop_size, NULL);
of_node_put(node);
if (!prop_val)
return -EINVAL;

View File

@@ -211,6 +211,7 @@ static int __init omapdss_init_fbdev(void)
node = of_find_node_by_name(NULL, "omap4_padconf_global");
if (node)
omap4_dsi_mux_syscon = syscon_node_to_regmap(node);
of_node_put(node);
return 0;
}
@@ -259,11 +260,13 @@ static int __init omapdss_init_of(void)
if (!pdev) {
pr_err("Unable to find DSS platform device\n");
of_node_put(node);
return -ENODEV;
}
r = of_platform_populate(node, NULL, NULL, &pdev->dev);
put_device(&pdev->dev);
of_node_put(node);
if (r) {
pr_err("Unable to populate DSS submodule devices\n");
return r;

View File

@@ -708,6 +708,7 @@ static int omap3xxx_prm_late_init(void)
}
irq_num = of_irq_get(np, 0);
of_node_put(np);
if (irq_num == -EPROBE_DEFER)
return irq_num;

View File

@@ -125,6 +125,7 @@ remove:
list_for_each_entry_safe(pos, tmp, &quirk_list, list) {
list_del(&pos->list);
of_node_put(pos->np);
kfree(pos);
}
@@ -174,11 +175,12 @@ static int __init rcar_gen2_regulator_quirk(void)
memcpy(&quirk->i2c_msg, id->data, sizeof(quirk->i2c_msg));
quirk->id = id;
quirk->np = np;
quirk->np = of_node_get(np);
quirk->i2c_msg.addr = addr;
ret = of_irq_parse_one(np, 0, argsa);
if (ret) { /* Skip invalid entry and continue */
of_node_put(np);
kfree(quirk);
continue;
}
@@ -225,6 +227,7 @@ err_free:
err_mem:
list_for_each_entry_safe(pos, tmp, &quirk_list, list) {
list_del(&pos->list);
of_node_put(pos->np);
kfree(pos);
}

View File

@@ -77,6 +77,7 @@ static int __init zynq_get_revision(void)
}
zynq_devcfg_base = of_iomap(np, 0);
of_node_put(np);
if (!zynq_devcfg_base) {
pr_err("%s: Unable to map I/O memory\n", __func__);
return -1;

View File

@@ -78,7 +78,7 @@
leds {
compatible = "gpio-leds";
status {
led-0 {
label = "orangepi:green:status";
gpios = <&pio 7 11 GPIO_ACTIVE_HIGH>; /* PH11 */
};

View File

@@ -49,7 +49,7 @@
wps {
label = "wps";
linux,code = <KEY_WPS_BUTTON>;
gpios = <&pio 102 GPIO_ACTIVE_HIGH>;
gpios = <&pio 102 GPIO_ACTIVE_LOW>;
};
};

View File

@@ -253,7 +253,7 @@
status = "disabled";
};
qpic_nand: nand@79b0000 {
qpic_nand: nand-controller@79b0000 {
compatible = "qcom,ipq8074-nand";
reg = <0x79b0000 0x10000>;
#address-cells = <1>;

View File

@@ -77,3 +77,8 @@
};
};
};
&wlan_host_wake_l {
/* Kevin has an external pull up, but Bob does not. */
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_up>;
};

View File

@@ -237,6 +237,14 @@
&edp {
status = "okay";
/*
* eDP PHY/clk don't sync reliably at anything other than 24 MHz. Only
* set this here, because rk3399-gru.dtsi ensures we can generate this
* off GPLL=600MHz, whereas some other RK3399 boards may not.
*/
assigned-clocks = <&cru PCLK_EDP>;
assigned-clock-rates = <24000000>;
ports {
edp_out: port@1 {
reg = <1>;
@@ -397,6 +405,7 @@ ap_i2c_tp: &i2c5 {
};
wlan_host_wake_l: wlan-host-wake-l {
/* Kevin has an external pull up, but Bob does not */
rockchip,pins = <0 RK_PB0 RK_FUNC_GPIO &pcfg_pull_none>;
};
};

View File

@@ -102,7 +102,6 @@
vcc5v0_host: vcc5v0-host-regulator {
compatible = "regulator-fixed";
gpio = <&gpio4 RK_PA3 GPIO_ACTIVE_LOW>;
enable-active-low;
pinctrl-names = "default";
pinctrl-0 = <&vcc5v0_host_en>;
regulator-name = "vcc5v0_host";

View File

@@ -544,8 +544,8 @@
compatible = "socionext,uniphier-dwc3", "snps,dwc3";
status = "disabled";
reg = <0x65a00000 0xcd00>;
interrupt-names = "host", "peripheral";
interrupts = <0 134 4>, <0 135 4>;
interrupt-names = "dwc_usb3";
interrupts = <0 134 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb0>, <&pinctrl_usb2>;
clock-names = "ref", "bus_early", "suspend";
@@ -646,8 +646,8 @@
compatible = "socionext,uniphier-dwc3", "snps,dwc3";
status = "disabled";
reg = <0x65c00000 0xcd00>;
interrupt-names = "host", "peripheral";
interrupts = <0 137 4>, <0 138 4>;
interrupt-names = "dwc_usb3";
interrupts = <0 137 4>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_usb1>, <&pinctrl_usb3>;
clock-names = "ref", "bus_early", "suspend";

View File

@@ -59,6 +59,7 @@ config CRYPTO_GHASH_ARM64_CE
select CRYPTO_HASH
select CRYPTO_GF128MUL
select CRYPTO_LIB_AES
select CRYPTO_AEAD
config CRYPTO_CRCT10DIF_ARM64_CE
tristate "CRCT10DIF digest algorithm using PMULL instructions"

View File

@@ -189,8 +189,9 @@ void tls_preserve_current_state(void);
static inline void start_thread_common(struct pt_regs *regs, unsigned long pc)
{
s32 previous_syscall = regs->syscallno;
memset(regs, 0, sizeof(*regs));
forget_syscall(regs);
regs->syscallno = previous_syscall;
regs->pc = pc;
if (system_uses_irq_prio_masking())

View File

@@ -45,7 +45,8 @@ static void ci_leaf_init(struct cacheinfo *this_leaf,
int init_cache_level(unsigned int cpu)
{
unsigned int ctype, level, leaves, fw_level;
unsigned int ctype, level, leaves;
int fw_level;
struct cpu_cacheinfo *this_cpu_ci = get_cpu_cacheinfo(cpu);
for (level = 1, leaves = 0; level <= MAX_CACHE_LEVEL; level++) {
@@ -63,6 +64,9 @@ int init_cache_level(unsigned int cpu)
else
fw_level = acpi_find_last_cache_level(cpu);
if (fw_level < 0)
return fw_level;
if (level < fw_level) {
/*
* some external caches not specified in CLIDR_EL1

View File

@@ -552,7 +552,7 @@ ia64_get_irr(unsigned int vector)
{
unsigned int reg = vector / 64;
unsigned int bit = vector % 64;
u64 irr;
unsigned long irr;
switch (reg) {
case 0: irr = ia64_getreg(_IA64_REG_CR_IRR0); break;

View File

@@ -127,6 +127,16 @@ static void octeon_irq_free_cd(struct irq_domain *d, unsigned int irq)
static int octeon_irq_force_ciu_mapping(struct irq_domain *domain,
int irq, int line, int bit)
{
struct device_node *of_node;
int ret;
of_node = irq_domain_get_of_node(domain);
if (!of_node)
return -EINVAL;
ret = irq_alloc_desc_at(irq, of_node_to_nid(of_node));
if (ret < 0)
return ret;
return irq_domain_associate(domain, irq, line << 6 | bit);
}

View File

@@ -86,11 +86,12 @@ static void octeon2_usb_clocks_start(struct device *dev)
"refclk-frequency", &clock_rate);
if (i) {
dev_err(dev, "No UCTL \"refclk-frequency\"\n");
of_node_put(uctl_node);
goto exit;
}
i = of_property_read_string(uctl_node,
"refclk-type", &clock_type);
of_node_put(uctl_node);
if (!i && strcmp("crystal", clock_type) == 0)
is_crystal_clock = true;
}

View File

@@ -168,7 +168,7 @@ static void *c_start(struct seq_file *m, loff_t *pos)
{
unsigned long i = *pos;
return i < NR_CPUS ? (void *) (i + 1) : NULL;
return i < nr_cpu_ids ? (void *) (i + 1) : NULL;
}
static void *c_next(struct seq_file *m, void *v, loff_t *pos)

View File

@@ -50,6 +50,7 @@ struct clk *clk_get_io(void)
{
return &cpu_clk_generic[2];
}
EXPORT_SYMBOL_GPL(clk_get_io);
struct clk *clk_get_ppe(void)
{

View File

@@ -98,7 +98,7 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
if (plat_dat->bus_id) {
__raw_writel(__raw_readl(LS1X_MUX_CTRL0) | GMAC1_USE_UART1 |
GMAC1_USE_UART0, LS1X_MUX_CTRL0);
switch (plat_dat->interface) {
switch (plat_dat->phy_interface) {
case PHY_INTERFACE_MODE_RGMII:
val &= ~(GMAC1_USE_TXCLK | GMAC1_USE_PWM23);
break;
@@ -107,12 +107,12 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
break;
default:
pr_err("unsupported mii mode %d\n",
plat_dat->interface);
plat_dat->phy_interface);
return -ENOTSUPP;
}
val &= ~GMAC1_SHUT;
} else {
switch (plat_dat->interface) {
switch (plat_dat->phy_interface) {
case PHY_INTERFACE_MODE_RGMII:
val &= ~(GMAC0_USE_TXCLK | GMAC0_USE_PWM01);
break;
@@ -121,7 +121,7 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
break;
default:
pr_err("unsupported mii mode %d\n",
plat_dat->interface);
plat_dat->phy_interface);
return -ENOTSUPP;
}
val &= ~GMAC0_SHUT;
@@ -131,7 +131,7 @@ int ls1x_eth_mux_init(struct platform_device *pdev, void *priv)
plat_dat = dev_get_platdata(&pdev->dev);
val &= ~PHY_INTF_SELI;
if (plat_dat->interface == PHY_INTERFACE_MODE_RMII)
if (plat_dat->phy_interface == PHY_INTERFACE_MODE_RMII)
val |= 0x4 << PHY_INTF_SELI_SHIFT;
__raw_writel(val, LS1X_MUX_CTRL1);
@@ -146,9 +146,9 @@ static struct plat_stmmacenet_data ls1x_eth0_pdata = {
.bus_id = 0,
.phy_addr = -1,
#if defined(CONFIG_LOONGSON1_LS1B)
.interface = PHY_INTERFACE_MODE_MII,
.phy_interface = PHY_INTERFACE_MODE_MII,
#elif defined(CONFIG_LOONGSON1_LS1C)
.interface = PHY_INTERFACE_MODE_RMII,
.phy_interface = PHY_INTERFACE_MODE_RMII,
#endif
.mdio_bus_data = &ls1x_mdio_bus_data,
.dma_cfg = &ls1x_eth_dma_cfg,
@@ -186,7 +186,7 @@ struct platform_device ls1x_eth0_pdev = {
static struct plat_stmmacenet_data ls1x_eth1_pdata = {
.bus_id = 1,
.phy_addr = -1,
.interface = PHY_INTERFACE_MODE_MII,
.phy_interface = PHY_INTERFACE_MODE_MII,
.mdio_bus_data = &ls1x_mdio_bus_data,
.dma_cfg = &ls1x_eth_dma_cfg,
.has_gmac = 1,

View File

@@ -15,7 +15,6 @@ static struct platform_device *ls1c_platform_devices[] __initdata = {
static int __init ls1c_platform_init(void)
{
ls1x_serial_set_uartclk(&ls1x_uart_pdev);
ls1x_rtc_set_extclk(&ls1x_rtc_pdev);
return platform_add_devices(ls1c_platform_devices,
ARRAY_SIZE(ls1c_platform_devices));

View File

@@ -629,7 +629,7 @@ static __maybe_unused void build_convert_pte_to_entrylo(u32 **p,
return;
}
if (cpu_has_rixi && !!_PAGE_NO_EXEC) {
if (cpu_has_rixi && _PAGE_NO_EXEC != 0) {
if (fill_includes_sw_bits) {
UASM_i_ROTR(p, reg, reg, ilog2(_PAGE_GLOBAL));
} else {
@@ -2568,7 +2568,7 @@ static void check_pabits(void)
unsigned long entry;
unsigned pabits, fillbits;
if (!cpu_has_rixi || !_PAGE_NO_EXEC) {
if (!cpu_has_rixi || _PAGE_NO_EXEC == 0) {
/*
* We'll only be making use of the fact that we can rotate bits
* into the fill if the CPU supports RIXI, so don't bother

View File

@@ -50,7 +50,8 @@
stw r13, PT_R13(sp)
stw r14, PT_R14(sp)
stw r15, PT_R15(sp)
stw r2, PT_ORIG_R2(sp)
movi r24, -1
stw r24, PT_ORIG_R2(sp)
stw r7, PT_ORIG_R7(sp)
stw ra, PT_RA(sp)

View File

@@ -74,6 +74,8 @@ extern void show_regs(struct pt_regs *);
((struct pt_regs *)((unsigned long)current_thread_info() + THREAD_SIZE)\
- 1)
#define force_successful_syscall_return() (current_pt_regs()->orig_r2 = -1)
int do_syscall_trace_enter(void);
void do_syscall_trace_exit(void);
#endif /* __ASSEMBLY__ */

View File

@@ -185,6 +185,7 @@ ENTRY(handle_system_call)
ldw r5, PT_R5(sp)
local_restart:
stw r2, PT_ORIG_R2(sp)
/* Check that the requested system call is within limits */
movui r1, __NR_syscalls
bgeu r2, r1, ret_invsyscall
@@ -192,7 +193,6 @@ local_restart:
movhi r11, %hiadj(sys_call_table)
add r1, r1, r11
ldw r1, %lo(sys_call_table)(r1)
beq r1, r0, ret_invsyscall
/* Check if we are being traced */
GET_THREAD_INFO r11
@@ -213,6 +213,9 @@ local_restart:
translate_rc_and_ret:
movi r1, 0
bge r2, zero, 3f
ldw r1, PT_ORIG_R2(sp)
addi r1, r1, 1
beq r1, zero, 3f
sub r2, zero, r2
movi r1, 1
3:
@@ -255,9 +258,9 @@ traced_system_call:
ldw r6, PT_R6(sp)
ldw r7, PT_R7(sp)
/* Fetch the syscall function, we don't need to check the boundaries
* since this is already done.
*/
/* Fetch the syscall function. */
movui r1, __NR_syscalls
bgeu r2, r1, traced_invsyscall
slli r1, r2, 2
movhi r11,%hiadj(sys_call_table)
add r1, r1, r11
@@ -276,6 +279,9 @@ traced_system_call:
translate_rc_and_ret2:
movi r1, 0
bge r2, zero, 4f
ldw r1, PT_ORIG_R2(sp)
addi r1, r1, 1
beq r1, zero, 4f
sub r2, zero, r2
movi r1, 1
4:
@@ -287,6 +293,11 @@ end_translate_rc_and_ret2:
RESTORE_SWITCH_STACK
br ret_from_exception
/* If the syscall number was invalid return ENOSYS */
traced_invsyscall:
movi r2, -ENOSYS
br translate_rc_and_ret2
Luser_return:
GET_THREAD_INFO r11 /* get thread_info pointer */
ldw r10, TI_FLAGS(r11) /* get thread_info->flags */
@@ -336,9 +347,6 @@ external_interrupt:
/* skip if no interrupt is pending */
beq r12, r0, ret_from_interrupt
movi r24, -1
stw r24, PT_ORIG_R2(sp)
/*
* Process an external hardware interrupt.
*/

View File

@@ -240,7 +240,7 @@ static int do_signal(struct pt_regs *regs)
/*
* If we were from a system call, check for system call restarting...
*/
if (regs->orig_r2 >= 0) {
if (regs->orig_r2 >= 0 && regs->r1) {
continue_addr = regs->ea;
restart_addr = continue_addr - 4;
retval = regs->r2;
@@ -261,6 +261,7 @@ static int do_signal(struct pt_regs *regs)
regs->ea = restart_addr;
break;
}
regs->orig_r2 = -1;
}
if (get_signal(&ksig)) {

View File

@@ -13,5 +13,6 @@
#define __SYSCALL(nr, call) [nr] = (call),
void *sys_call_table[__NR_syscalls] = {
[0 ... __NR_syscalls-1] = sys_ni_syscall,
#include <asm/unistd.h>
};

View File

@@ -520,7 +520,6 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
dev->id.hversion_rev = iodc_data[1] & 0x0f;
dev->id.sversion = ((iodc_data[4] & 0x0f) << 16) |
(iodc_data[5] << 8) | iodc_data[6];
dev->hpa.name = parisc_pathname(dev);
dev->hpa.start = hpa;
/* This is awkward. The STI spec says that gfx devices may occupy
* 32MB or 64MB. Unfortunately, we don't know how to tell whether
@@ -534,10 +533,10 @@ alloc_pa_dev(unsigned long hpa, struct hardware_path *mod_path)
dev->hpa.end = hpa + 0xfff;
}
dev->hpa.flags = IORESOURCE_MEM;
name = parisc_hardware_description(&dev->id);
if (name) {
strlcpy(dev->name, name, sizeof(dev->name));
}
dev->hpa.name = dev->name;
name = parisc_hardware_description(&dev->id) ? : "unknown";
snprintf(dev->name, sizeof(dev->name), "%s [%s]",
name, parisc_pathname(dev));
/* Silently fail things like mouse ports which are subsumed within
* the keyboard controller

View File

@@ -22,7 +22,7 @@
#include <linux/linkage.h>
#include <linux/init.h>
.level PA_ASM_LEVEL
.level 1.1
__INITDATA
ENTRY(boot_args)
@@ -69,6 +69,47 @@ $bss_loop:
stw,ma %arg2,4(%r1)
stw,ma %arg3,4(%r1)
#if !defined(CONFIG_64BIT) && defined(CONFIG_PA20)
/* This 32-bit kernel was compiled for PA2.0 CPUs. Check current CPU
* and halt kernel if we detect a PA1.x CPU. */
ldi 32,%r10
mtctl %r10,%cr11
.level 2.0
mfctl,w %cr11,%r10
.level 1.1
comib,<>,n 0,%r10,$cpu_ok
load32 PA(msg1),%arg0
ldi msg1_end-msg1,%arg1
$iodc_panic:
copy %arg0, %r10
copy %arg1, %r11
load32 PA(init_stack),%sp
#define MEM_CONS 0x3A0
ldw MEM_CONS+32(%r0),%arg0 // HPA
ldi ENTRY_IO_COUT,%arg1
ldw MEM_CONS+36(%r0),%arg2 // SPA
ldw MEM_CONS+8(%r0),%arg3 // layers
load32 PA(__bss_start),%r1
stw %r1,-52(%sp) // arg4
stw %r0,-56(%sp) // arg5
stw %r10,-60(%sp) // arg6 = ptr to text
stw %r11,-64(%sp) // arg7 = len
stw %r0,-68(%sp) // arg8
load32 PA(.iodc_panic_ret), %rp
ldw MEM_CONS+40(%r0),%r1 // ENTRY_IODC
bv,n (%r1)
.iodc_panic_ret:
b . /* wait endless with ... */
or %r10,%r10,%r10 /* qemu idle sleep */
msg1: .ascii "Can't boot kernel which was built for PA8x00 CPUs on this machine.\r\n"
msg1_end:
$cpu_ok:
#endif
.level PA_ASM_LEVEL
/* Initialize startup VM. Just map first 16/32 MB of memory */
load32 PA(swapper_pg_dir),%r4
mtctl %r4,%cr24 /* Initialize kernel root pointer */

View File

@@ -413,7 +413,7 @@
412 32 utimensat_time64 sys_utimensat sys_utimensat
413 32 pselect6_time64 sys_pselect6 compat_sys_pselect6_time64
414 32 ppoll_time64 sys_ppoll compat_sys_ppoll_time64
416 32 io_pgetevents_time64 sys_io_pgetevents sys_io_pgetevents
416 32 io_pgetevents_time64 sys_io_pgetevents compat_sys_io_pgetevents_time64
417 32 recvmmsg_time64 sys_recvmmsg compat_sys_recvmmsg_time64
418 32 mq_timedsend_time64 sys_mq_timedsend sys_mq_timedsend
419 32 mq_timedreceive_time64 sys_mq_timedreceive sys_mq_timedreceive

View File

@@ -107,7 +107,7 @@
#define R1(i) (((i)>>21)&0x1f)
#define R2(i) (((i)>>16)&0x1f)
#define R3(i) ((i)&0x1f)
#define FR3(i) ((((i)<<1)&0x1f)|(((i)>>6)&1))
#define FR3(i) ((((i)&0x1f)<<1)|(((i)>>6)&1))
#define IM(i,n) (((i)>>1&((1<<(n-1))-1))|((i)&1?((0-1L)<<(n-1)):0))
#define IM5_2(i) IM((i)>>16,5)
#define IM5_3(i) IM((i),5)

View File

@@ -17,23 +17,6 @@ HAS_BIARCH := $(call cc-option-yn, -m32)
# Set default 32 bits cross compilers for vdso and boot wrapper
CROSS32_COMPILE ?=
ifeq ($(HAS_BIARCH),y)
ifeq ($(CROSS32_COMPILE),)
ifdef CONFIG_PPC32
# These options will be overridden by any -mcpu option that the CPU
# or platform code sets later on the command line, but they are needed
# to set a sane 32-bit cpu target for the 64-bit cross compiler which
# may default to the wrong ISA.
KBUILD_CFLAGS += -mcpu=powerpc
KBUILD_AFLAGS += -mcpu=powerpc
endif
endif
endif
ifdef CONFIG_PPC_BOOK3S_32
KBUILD_CFLAGS += -mcpu=powerpc
endif
# If we're on a ppc/ppc64/ppc64le machine use that defconfig, otherwise just use
# ppc64_defconfig because we have nothing better to go on.
uname := $(shell uname -m)
@@ -192,6 +175,7 @@ endif
endif
CFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
AFLAGS-$(CONFIG_TARGET_CPU_BOOL) += $(call cc-option,-mcpu=$(CONFIG_TARGET_CPU))
# Altivec option not allowed with e500mc64 in GCC.
ifdef CONFIG_ALTIVEC
@@ -202,14 +186,6 @@ endif
CFLAGS-$(CONFIG_E5500_CPU) += $(E5500_CPU)
CFLAGS-$(CONFIG_E6500_CPU) += $(call cc-option,-mcpu=e6500,$(E5500_CPU))
ifdef CONFIG_PPC32
ifdef CONFIG_PPC_E500MC
CFLAGS-y += $(call cc-option,-mcpu=e500mc,-mcpu=powerpc)
else
CFLAGS-$(CONFIG_E500) += $(call cc-option,-mcpu=8540 -msoft-float,-mcpu=powerpc)
endif
endif
asinstr := $(call as-instr,lis 9$(comma)foo@high,-DHAVE_AS_ATHIGH=1)
KBUILD_CPPFLAGS += -I $(srctree)/arch/$(ARCH) $(asinstr)

View File

@@ -66,23 +66,35 @@ void set_pci_dma_ops(const struct dma_map_ops *dma_ops)
pci_dma_ops = dma_ops;
}
/*
* This function should run under locking protection, specifically
* hose_spinlock.
*/
static int get_phb_number(struct device_node *dn)
{
int ret, phb_id = -1;
u32 prop_32;
u64 prop;
/*
* Try fixed PHB numbering first, by checking archs and reading
* the respective device-tree properties. Firstly, try powernv by
* reading "ibm,opal-phbid", only present in OPAL environment.
* the respective device-tree properties. Firstly, try reading
* standard "linux,pci-domain", then try reading "ibm,opal-phbid"
* (only present in powernv OPAL environment), then try device-tree
* alias and as the last try to use lower bits of "reg" property.
*/
ret = of_property_read_u64(dn, "ibm,opal-phbid", &prop);
ret = of_get_pci_domain_nr(dn);
if (ret >= 0) {
prop = ret;
ret = 0;
}
if (ret)
ret = of_property_read_u64(dn, "ibm,opal-phbid", &prop);
if (ret) {
ret = of_alias_get_id(dn, "pci");
if (ret >= 0) {
prop = ret;
ret = 0;
}
}
if (ret) {
u32 prop_32;
ret = of_property_read_u32_index(dn, "reg", 1, &prop_32);
prop = prop_32;
}
@@ -90,18 +102,20 @@ static int get_phb_number(struct device_node *dn)
if (!ret)
phb_id = (int)(prop & (MAX_PHBS - 1));
spin_lock(&hose_spinlock);
/* We need to be sure to not use the same PHB number twice. */
if ((phb_id >= 0) && !test_and_set_bit(phb_id, phb_bitmap))
return phb_id;
goto out_unlock;
/*
* If not pseries nor powernv, or if fixed PHB numbering tried to add
* the same PHB number twice, then fallback to dynamic PHB numbering.
*/
/* If everything fails then fallback to dynamic PHB numbering. */
phb_id = find_first_zero_bit(phb_bitmap, MAX_PHBS);
BUG_ON(phb_id >= MAX_PHBS);
set_bit(phb_id, phb_bitmap);
out_unlock:
spin_unlock(&hose_spinlock);
return phb_id;
}
@@ -112,10 +126,13 @@ struct pci_controller *pcibios_alloc_controller(struct device_node *dev)
phb = zalloc_maybe_bootmem(sizeof(struct pci_controller), GFP_KERNEL);
if (phb == NULL)
return NULL;
spin_lock(&hose_spinlock);
phb->global_number = get_phb_number(dev);
spin_lock(&hose_spinlock);
list_add_tail(&phb->list_node, &hose_list);
spin_unlock(&hose_spinlock);
phb->dn = dev;
phb->is_dynamic = slab_is_available();
#ifdef CONFIG_PPC64

View File

@@ -740,6 +740,13 @@ void __init early_init_devtree(void *params)
of_scan_flat_dt(early_init_dt_scan_root, NULL);
of_scan_flat_dt(early_init_dt_scan_memory_ppc, NULL);
/*
* As generic code authors expect to be able to use static keys
* in early_param() handlers, we initialize the static keys just
* before parsing early params (it's fine to call jump_label_init()
* more than once).
*/
jump_label_init();
parse_early_param();
/* make sure we've parsed cmdline for mem= before this */

View File

@@ -25,6 +25,7 @@ sys_call_table:
#include <asm/syscall_table_64.h>
#undef __SYSCALL
#else
.p2align 2
#define __SYSCALL(nr, entry) .long entry
#include <asm/syscall_table_32.h>
#undef __SYSCALL

View File

@@ -17,9 +17,9 @@ static const struct flag_info flag_array[] = {
.clear = " ",
}, {
.mask = _PAGE_RW,
.val = _PAGE_RW,
.set = "rw",
.clear = "r ",
.val = 0,
.set = "r ",
.clear = "rw",
}, {
.mask = _PAGE_EXEC,
.val = _PAGE_EXEC,

View File

@@ -118,9 +118,9 @@ config GENERIC_CPU
depends on PPC64 && CPU_LITTLE_ENDIAN
select ARCH_HAS_FAST_MULTIPLIER
config GENERIC_CPU
config POWERPC_CPU
bool "Generic 32 bits powerpc"
depends on PPC32 && !PPC_8xx
depends on PPC32 && !PPC_8xx && !PPC_85xx
config CELL_CPU
bool "Cell Broadband Engine"
@@ -151,11 +151,11 @@ config POWER9_CPU
config E5500_CPU
bool "Freescale e5500"
depends on E500
depends on PPC64 && E500
config E6500_CPU
bool "Freescale e6500"
depends on E500
depends on PPC64 && E500
config 860_CPU
bool "8xx family"
@@ -174,11 +174,23 @@ config G4_CPU
depends on PPC_BOOK3S_32
select ALTIVEC
config E500_CPU
bool "e500 (8540)"
depends on PPC_85xx && !PPC_E500MC
config E500MC_CPU
bool "e500mc"
depends on PPC_85xx && PPC_E500MC
config TOOLCHAIN_DEFAULT_CPU
bool "Rely on the toolchain's implicit default CPU"
depends on PPC32
endchoice
config TARGET_CPU_BOOL
bool
default !GENERIC_CPU
default !GENERIC_CPU && !TOOLCHAIN_DEFAULT_CPU
config TARGET_CPU
string
@@ -193,6 +205,9 @@ config TARGET_CPU
default "e300c2" if E300C2_CPU
default "e300c3" if E300C3_CPU
default "G4" if G4_CPU
default "8540" if E500_CPU
default "e500mc" if E500MC_CPU
default "powerpc" if POWERPC_CPU
config PPC_BOOK3S
def_bool y

View File

@@ -226,6 +226,7 @@ static int setup_msi_msg_address(struct pci_dev *dev, struct msi_msg *msg)
if (!prop) {
dev_dbg(&dev->dev,
"axon_msi: no msi-address-(32|64) properties found\n");
of_node_put(dn);
return -ENOENT;
}

View File

@@ -671,6 +671,7 @@ spufs_init_isolated_loader(void)
return;
loader = of_get_property(dn, "loader", &size);
of_node_put(dn);
if (!loader)
return;

View File

@@ -63,6 +63,8 @@ int powernv_get_random_real_mode(unsigned long *v)
struct powernv_rng *rng;
rng = raw_cpu_read(powernv_rng);
if (!rng)
return 0;
*v = rng_whiten(rng, __raw_rm_readq(rng->regs_real));

View File

@@ -520,6 +520,7 @@ int fsl_add_bridge(struct platform_device *pdev, int is_primary)
struct resource rsrc;
const int *bus_range;
u8 hdr_type, progif;
u32 class_code;
struct device_node *dev;
struct ccsr_pci __iomem *pci;
u16 temp;
@@ -593,6 +594,13 @@ int fsl_add_bridge(struct platform_device *pdev, int is_primary)
PPC_INDIRECT_TYPE_SURPRESS_PRIMARY_BUS;
if (fsl_pcie_check_link(hose))
hose->indirect_type |= PPC_INDIRECT_TYPE_NO_PCIE_LINK;
/* Fix Class Code to PCI_CLASS_BRIDGE_PCI_NORMAL for pre-3.0 controller */
if (in_be32(&pci->block_rev1) < PCIE_IP_REV_3_0) {
early_read_config_dword(hose, 0, 0, PCIE_FSL_CSR_CLASSCODE, &class_code);
class_code &= 0xff;
class_code |= PCI_CLASS_BRIDGE_PCI_NORMAL << 8;
early_write_config_dword(hose, 0, 0, PCIE_FSL_CSR_CLASSCODE, class_code);
}
} else {
/*
* Set PBFR(PCI Bus Function Register)[10] = 1 to

View File

@@ -18,6 +18,7 @@ struct platform_device;
#define PCIE_LTSSM 0x0404 /* PCIE Link Training and Status */
#define PCIE_LTSSM_L0 0x16 /* L0 state */
#define PCIE_FSL_CSR_CLASSCODE 0x474 /* FSL GPEX CSR */
#define PCIE_IP_REV_2_2 0x02080202 /* PCIE IP block version Rev2.2 */
#define PCIE_IP_REV_3_0 0x02080300 /* PCIE IP block version Rev3.0 */
#define PIWAR_EN 0x80000000 /* Enable */

View File

@@ -683,6 +683,7 @@ static bool xive_get_max_prio(u8 *max_prio)
}
reg = of_get_property(rootdn, "ibm,plat-res-int-priorities", &len);
of_node_put(rootdn);
if (!reg) {
pr_err("Failed to read 'ibm,plat-res-int-priorities' property\n");
return false;

View File

@@ -18,9 +18,8 @@ static long riscv_sys_mmap(unsigned long addr, unsigned long len,
if (unlikely(offset & (~PAGE_MASK >> page_shift_offset)))
return -EINVAL;
if ((prot & PROT_WRITE) && (prot & PROT_EXEC))
if (unlikely(!(prot & PROT_READ)))
return -EINVAL;
if (unlikely((prot & PROT_WRITE) && !(prot & PROT_READ)))
return -EINVAL;
return ksys_mmap_pgoff(addr, len, prot, flags, fd,
offset >> (PAGE_SHIFT - page_shift_offset));

View File

@@ -15,6 +15,7 @@
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/irq.h>
#include <linux/kexec.h>
#include <asm/processor.h>
#include <asm/ptrace.h>
@@ -43,6 +44,9 @@ void die(struct pt_regs *regs, const char *str)
ret = notify_die(DIE_OOPS, str, regs, 0, regs->scause, SIGSEGV);
if (regs && kexec_should_crash(current))
crash_kexec(regs);
bust_spinlocks(0);
add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
spin_unlock_irq(&die_lock);

View File

@@ -437,7 +437,7 @@ __init int hypfs_diag_init(void)
int rc;
if (diag204_probe()) {
pr_err("The hardware system does not support hypfs\n");
pr_info("The hardware system does not support hypfs\n");
return -ENODATA;
}

View File

@@ -501,9 +501,9 @@ fail_hypfs_sprp_exit:
hypfs_vm_exit();
fail_hypfs_diag_exit:
hypfs_diag_exit();
pr_err("Initialization of hypfs failed with rc=%i\n", rc);
fail_dbfs_exit:
hypfs_dbfs_exit();
pr_err("Initialization of hypfs failed with rc=%i\n", rc);
return rc;
}
device_initcall(hypfs_init)

View File

@@ -35,9 +35,11 @@ static inline bool is_hugepage_only_range(struct mm_struct *mm,
static inline int prepare_hugepage_range(struct file *file,
unsigned long addr, unsigned long len)
{
if (len & ~HPAGE_MASK)
struct hstate *h = hstate_file(file);
if (len & ~huge_page_mask(h))
return -EINVAL;
if (addr & ~HPAGE_MASK)
if (addr & ~huge_page_mask(h))
return -EINVAL;
return 0;
}

View File

@@ -29,6 +29,7 @@ int s390_verify_sig(const char *kernel, unsigned long kernel_len)
const unsigned long marker_len = sizeof(MODULE_SIG_STRING) - 1;
struct module_signature *ms;
unsigned long sig_len;
int ret;
/* Skip signature verification when not secure IPLed. */
if (!ipl_secure_flag)
@@ -63,11 +64,18 @@ int s390_verify_sig(const char *kernel, unsigned long kernel_len)
return -EBADMSG;
}
return verify_pkcs7_signature(kernel, kernel_len,
kernel + kernel_len, sig_len,
VERIFY_USE_PLATFORM_KEYRING,
VERIFYING_MODULE_SIGNATURE,
NULL, NULL);
ret = verify_pkcs7_signature(kernel, kernel_len,
kernel + kernel_len, sig_len,
VERIFY_USE_SECONDARY_KEYRING,
VERIFYING_MODULE_SIGNATURE,
NULL, NULL);
if (ret == -ENOKEY && IS_ENABLED(CONFIG_INTEGRITY_PLATFORM_KEYRING))
ret = verify_pkcs7_signature(kernel, kernel_len,
kernel + kernel_len, sig_len,
VERIFY_USE_PLATFORM_KEYRING,
VERIFYING_MODULE_SIGNATURE,
NULL, NULL);
return ret;
}
#endif /* CONFIG_KEXEC_SIG */

View File

@@ -76,6 +76,18 @@ int arch_dup_task_struct(struct task_struct *dst, struct task_struct *src)
memcpy(dst, src, arch_task_struct_size);
dst->thread.fpu.regs = dst->thread.fpu.fprs;
/*
* Don't transfer over the runtime instrumentation or the guarded
* storage control block pointers. These fields are cleared here instead
* of in copy_thread() to avoid premature freeing of associated memory
* on fork() failure. Wait to clear the RI flag because ->stack still
* refers to the source thread.
*/
dst->thread.ri_cb = NULL;
dst->thread.gs_cb = NULL;
dst->thread.gs_bc_cb = NULL;
return 0;
}
@@ -133,13 +145,11 @@ int copy_thread_tls(unsigned long clone_flags, unsigned long new_stackp,
frame->childregs.flags = 0;
if (new_stackp)
frame->childregs.gprs[15] = new_stackp;
/* Don't copy runtime instrumentation info */
p->thread.ri_cb = NULL;
/*
* Clear the runtime instrumentation flag after the above childregs
* copy. The CB pointer was already cleared in arch_dup_task_struct().
*/
frame->childregs.psw.mask &= ~PSW_MASK_RI;
/* Don't copy guarded storage control block */
p->thread.gs_cb = NULL;
p->thread.gs_bc_cb = NULL;
/* Set a new TLS ? */
if (clone_flags & CLONE_SETTLS) {

View File

@@ -124,6 +124,7 @@ SECTIONS
/*
* Table with the patch locations to undo expolines
*/
. = ALIGN(4);
.nospec_call_table : {
__nospec_call_start = . ;
*(.s390_indirect*)

View File

@@ -432,7 +432,9 @@ static inline vm_fault_t do_exception(struct pt_regs *regs, int access)
flags = FAULT_FLAG_ALLOW_RETRY | FAULT_FLAG_KILLABLE;
if (user_mode(regs))
flags |= FAULT_FLAG_USER;
if (access == VM_WRITE || (trans_exc_code & store_indication) == 0x400)
if ((trans_exc_code & store_indication) == 0x400)
access = VM_WRITE;
if (access == VM_WRITE)
flags |= FAULT_FLAG_WRITE;
down_read(&mm->mmap_sem);

View File

@@ -132,10 +132,18 @@ export LDS_ELF_FORMAT := $(ELF_FORMAT)
# The wrappers will select whether using "malloc" or the kernel allocator.
LINK_WRAPS = -Wl,--wrap,malloc -Wl,--wrap,free -Wl,--wrap,calloc
# Avoid binutils 2.39+ warnings by marking the stack non-executable and
# ignorning warnings for the kallsyms sections.
LDFLAGS_EXECSTACK = -z noexecstack
ifeq ($(CONFIG_LD_IS_BFD),y)
LDFLAGS_EXECSTACK += $(call ld-option,--no-warn-rwx-segments)
endif
LD_FLAGS_CMDLINE = $(foreach opt,$(KBUILD_LDFLAGS),-Wl,$(opt))
# Used by link-vmlinux.sh which has special support for um link
export CFLAGS_vmlinux := $(LINK-y) $(LINK_WRAPS) $(LD_FLAGS_CMDLINE)
export LDFLAGS_vmlinux := $(LDFLAGS_EXECSTACK)
# When cleaning we don't include .config, so we don't include
# TT or skas makefiles and don't clean skas_ptregs.h.

View File

@@ -5,6 +5,7 @@
*/
#include <stdlib.h>
#include <stdbool.h>
#include <unistd.h>
#include <sched.h>
#include <errno.h>
@@ -641,10 +642,24 @@ void halt_skas(void)
UML_LONGJMP(&initial_jmpbuf, INIT_JMP_HALT);
}
static bool noreboot;
static int __init noreboot_cmd_param(char *str, int *add)
{
noreboot = true;
return 0;
}
__uml_setup("noreboot", noreboot_cmd_param,
"noreboot\n"
" Rather than rebooting, exit always, akin to QEMU's -no-reboot option.\n"
" This is useful if you're using CONFIG_PANIC_TIMEOUT in order to catch\n"
" crashes in CI\n");
void reboot_skas(void)
{
block_signals_trace();
UML_LONGJMP(&initial_jmpbuf, INIT_JMP_REBOOT);
UML_LONGJMP(&initial_jmpbuf, noreboot ? INIT_JMP_HALT : INIT_JMP_REBOOT);
}
void __switch_mm(struct mm_id *mm_idp)

View File

@@ -100,7 +100,7 @@ $(obj)/zoffset.h: $(obj)/compressed/vmlinux FORCE
AFLAGS_header.o += -I$(objtree)/$(obj)
$(obj)/header.o: $(obj)/zoffset.h
LDFLAGS_setup.elf := -m elf_i386 -T
LDFLAGS_setup.elf := -m elf_i386 -z noexecstack -T
$(obj)/setup.elf: $(src)/setup.ld $(SETUP_OBJS) FORCE
$(call if_changed,ld)

View File

@@ -57,6 +57,10 @@ else
KBUILD_LDFLAGS += $(shell $(LD) --help 2>&1 | grep -q "\-z noreloc-overflow" \
&& echo "-z noreloc-overflow -pie --no-dynamic-linker")
endif
KBUILD_LDFLAGS += -z noexecstack
KBUILD_LDFLAGS += $(call ld-option,--no-warn-rwx-segments)
LDFLAGS_vmlinux := -T
hostprogs-y := mkpiggy

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