Merge tag 'android12-5.10.189_r00' into android12-5.10

This is the merge of 5.10.189 into the android12-5.10 branch.

It contains the following commits:

*   f50fa8d8ce Merge 5.10.189 into android12-5.10-lts
|\
| * de5f63612d Linux 5.10.189
| * 2ae9a73819 x86: fix backwards merge of GDS/SRSO bit
| * f9167a2d6b xen/netback: Fix buffer overrun triggered by unusual packet
| * 8457fb5740 x86/srso: Tie SBPB bit setting to microcode patch detection
| * 4873939c0e x86/srso: Fix return thunks in generated code
| * 384d41bea9 x86/srso: Add IBPB on VMEXIT
| * 4acaea47e3 x86/srso: Add IBPB
| * e47af0c255 x86/srso: Add SRSO_NO support
| * df76a59feb x86/srso: Add IBPB_BRTYPE support
| * 3f9b7101be x86/srso: Add a Speculative RAS Overflow mitigation
| * 34f23ba8a3 x86/cpu, kvm: Add support for CPUID_80000021_EAX
| * 073a28a9b5 x86/bugs: Increase the x86 bugs vector size to two u32s
| * 9b7fe7c6fb tools headers cpufeatures: Sync with the kernel sources
| * 437fa179f2 x86/cpufeatures: Assign dedicated feature word for CPUID_0x8000001F[EAX]
| * baf6d6c39e x86/cpu: Add VM page flush MSR availablility as a CPUID feature
| * 6750468784 Documentation/x86: Fix backwards on/off logic about YMM support
| * 79972c2b95 x86/mm: Initialize text poking earlier
| * 1ff14defdf mm: Move mm_cachep initialization to mm_init()
| * 6ee042fd24 x86/mm: Use mm_alloc() in poking_init()
| * f076d08178 x86/mm: fix poking_init() for Xen PV guests
| * 583016037a x86/xen: Fix secondary processors' FPU initialization
| * eb13cce488 KVM: Add GDS_NO support to KVM
| * 7db4ddcb8d x86/speculation: Add Kconfig option for GDS
| * 363c98f9cf x86/speculation: Add force option to GDS mitigation
| * 288a2f6bc1 x86/speculation: Add Gather Data Sampling mitigation
| * 4ae1cbb730 x86/fpu: Move FPU initialization into arch_cpu_finalize_init()
| * 2462bc3ef0 x86/fpu: Mark init functions __init
| * 7a2f42bce9 x86/fpu: Remove cpuinfo argument from init functions
| * 18fcd72da1 init, x86: Move mem_encrypt_init() into arch_cpu_finalize_init()
| * 09658b81d1 init: Invoke arch_cpu_finalize_init() earlier
| * bf2fa3a9d0 init: Remove check_bugs() leftovers
| * b05031c2bc um/cpu: Switch to arch_cpu_finalize_init()
| * 2edb3b39ca sparc/cpu: Switch to arch_cpu_finalize_init()
| * 3c45134b38 sh/cpu: Switch to arch_cpu_finalize_init()
| * 75bb54c951 mips/cpu: Switch to arch_cpu_finalize_init()
| * 1cd3fc18eb m68k/cpu: Switch to arch_cpu_finalize_init()
| * 12d93c6c98 ia64/cpu: Switch to arch_cpu_finalize_init()
| * c0fff20d4e ARM: cpu: Switch to arch_cpu_finalize_init()
| * e5eb18e164 x86/cpu: Switch to arch_cpu_finalize_init()
| * 6e606e6818 init: Provide arch_cpu_finalize_init()
* | 49c25af89c Revert "bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE"
* | 117f73f9a7 Revert "sctp: add bpf_bypass_getsockopt proto callback"
* | 64414277da Revert "net: Introduce net.ipv4.tcp_migrate_req."
* | 2afed824a4 Revert "tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries."
* | 08315eedaa Revert "tcp: annotate data-races around icsk->icsk_syn_retries"
* | 938b8658b9 Revert "posix-timers: Ensure timer ID search-loop limit is valid"
* | 986fd89af0 Revert "Revert "8250: add support for ASIX devices with a FIFO bug""
* | 477f5e6b9e Merge 5.10.188 into android12-5.10-lts
|\|
| * 3602dbc57b Linux 5.10.188
| * edce5fba78 ftrace: Fix possible warning on checking all pages used in ftrace_process_locs()
| * 115b19f893 ftrace: Store the order of pages allocated in ftrace_page
| * 1a1e793e02 tracing: Fix memory leak of iter->temp when reading trace_pipe
| * 43e786aa51 tracing/histograms: Return an error if we fail to add histogram to hist_vars list
| * e3da59f428 net: phy: prevent stale pointer dereference in phy_init()
| * e0ac63e194 tcp: annotate data-races around fastopenq.max_qlen
| * d01afbfc2f tcp: annotate data-races around icsk->icsk_user_timeout
| * 3cf0a0f11d tcp: annotate data-races around tp->notsent_lowat
| * 9c786d5faf tcp: annotate data-races around rskq_defer_accept
| * f891375eba tcp: annotate data-races around tp->linger2
| * 9168bd8f54 tcp: annotate data-races around icsk->icsk_syn_retries
| * 7b0084918c tcp: Fix data-races around sysctl_tcp_syn(ack)?_retries.
| * cf6c06ac74 net: Introduce net.ipv4.tcp_migrate_req.
| * a5c30a5187 tcp: annotate data-races around tp->keepalive_probes
| * 93715448f1 tcp: annotate data-races around tp->keepalive_intvl
| * 7b52a78a91 tcp: annotate data-races around tp->keepalive_time
| * 1d4f2c4be1 tcp: annotate data-races around tp->tcp_tx_delay
| * 30e5460d69 netfilter: nf_tables: skip bound chain on rule flush
| * 94c10c0fa5 netfilter: nf_tables: skip bound chain in netns release path
| * 3a91099ecd netfilter: nft_set_pipapo: fix improper element removal
| * 9c2df17e3c netfilter: nf_tables: can't schedule in nft_chain_validate
| * 533193a239 netfilter: nf_tables: fix spurious set element insertion failure
| * a6f1988780 llc: Don't drop packet from non-root netns.
| * 49e435ca02 fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe
| * bc9d4d432f Revert "tcp: avoid the lookup process failing to get sk in ehash table"
| * d06fc7b391 net:ipv6: check return value of pskb_trim()
| * 1a478ad129 net: ipv4: Use kfree_sensitive instead of kfree
| * 937105d2b0 tcp: annotate data-races around tcp_rsk(req)->ts_recent
| * 41b0023869 octeontx2-pf: Dont allocate BPIDs for LBK interfaces
| * 5bc78ba889 security: keys: Modify mismatched function name
| * b92defe4e8 iavf: Fix out-of-bounds when setting channels on remove
| * a4635f190f iavf: Fix use-after-free in free_netdev
| * b37bc3b07e bridge: Add extack warning when enabling STP in netns.
| * f6d311b953 net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field()
| * 54aa4c0386 pinctrl: amd: Use amd_pinconf_set() for all config options
| * 7041605e85 fbdev: imxfb: warn about invalid left/right margin
| * 6e88cc510f spi: bcm63xx: fix max prepend length
| * 994c2ceb70 igb: Fix igb_down hung on surprise removal
| * a956c3af70 wifi: iwlwifi: mvm: avoid baid size integer overflow
| * 85cf0d5f45 wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point()
| * 2864cc9a1f devlink: report devlink_port_type_warn source device
| * b6d9a4062c bpf: Address KCSAN report on bpf_lru_list
| * 532f8bac60 wifi: ath11k: fix registration of 6Ghz-only phy without the full channel range
| * 6b0c79aa33 sched/fair: Don't balance task to its current running CPU
| * 32020fc2a8 arm64: mm: fix VA-range sanity check
| * c71d6934c6 arm64: set __exception_irq_entry with __irq_entry as a default
| * 71e3f23540 ACPI: video: Add backlight=native DMI quirk for Lenovo ThinkPad X131e (3371 AMD version)
| * 776a72f612 ACPI: video: Add backlight=native DMI quirk for Apple iMac11,3
| * e090f70ae4 ACPI: button: Add lid disable DMI quirk for Nextbook Ares 8A
| * ae51eb90bc btrfs: add xxhash to fast checksum implementations
| * 322377cc90 posix-timers: Ensure timer ID search-loop limit is valid
| * 634daf6b2c md/raid10: prevent soft lockup while flush writes
| * b02939413e md: fix data corruption for raid456 when reshape restart while grow up
| * 4a2c62c8d6 nbd: Add the maximum limit of allocated index in nbd_dev_add
| * 5f84a34b64 debugobjects: Recheck debug_objects_enabled before reporting
| * 5d5aa5b648 ext4: correct inline offset when handling xattrs in inode body
| * 48aa539375 ASoC: fsl_sai: Disable bit clock with transmitter
| * 5f2a12f643 drm/client: Fix memory leak in drm_client_modeset_probe
| * 105275879a drm/client: Fix memory leak in drm_client_target_cloned
| * cf254b4f68 can: bcm: Fix UAF in bcm_proc_show()
| * 3e412b6e2b regmap: Account for register length in SMBus I/O limits
| * 8b3dd8d23f regmap: Drop initial version of maximum transfer length fixes
| * 4935761daa selftests: tc: add 'ct' action kconfig dep
| * 1ab5aa1846 selftests: tc: set timeout to 15 minutes
| * dad97c205a fuse: revalidate: don't invalidate if interrupted
| * d2c667cc18 btrfs: fix warning when putting transaction with qgroups enabled after abort
| * 4410f4a938 perf probe: Add test for regression introduced by switch to die_get_decl_file()
| * 0a6b0ca586 keys: Fix linking a duplicate key to a keyring's assoc_array
| * a26208e184 ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx
| * ce2a7e7b50 ALSA: hda/realtek - remove 3k pull low procedure
| * f09c0ac142 drm/atomic: Fix potential use-after-free in nonblocking commits
| * 9a085fa9b7 RDMA/cma: Ensure rdma_addr_cancel() happens before issuing more requests
| * 73e72a5380 net/sched: sch_qfq: reintroduce lmax bound check for MTU
| * 0b1ce92fab scsi: qla2xxx: Remove unused nvme_ls_waitq wait queue
| * 5addd62586 scsi: qla2xxx: Pointer may be dereferenced
| * e8de73238d scsi: qla2xxx: Correct the index of array
| * 921d684462 scsi: qla2xxx: Check valid rport returned by fc_bsg_to_rport()
| * 2bea9c1c98 scsi: qla2xxx: Fix potential NULL pointer dereference
| * eecb8a491c scsi: qla2xxx: Fix buffer overrun
| * bcd773969a scsi: qla2xxx: Array index may go out of bound
| * a9fe97fb7b scsi: qla2xxx: Wait for io return on terminate rport
| * 6ea2a408d3 tracing/probes: Fix not to count error code to total length
| * 7060e5aac6 tracing: Fix null pointer dereference in tracing_err_log_open()
| * 81fb8a58d4 xtensa: ISS: fix call to split_if_spec
| * 5e68f1f3a2 ring-buffer: Fix deadloop issue on reading trace_pipe
| * 1e760b2d18 net: ena: fix shift-out-of-bounds in exponential backoff
| * 1f2a8f0835 samples: ftrace: Save required argument registers in sample trampolines
| * 1576f0df7b tracing/histograms: Add histograms to hist_vars if they have referenced variables
| * 07edd294b1 s390/decompressor: fix misaligned symbol build error
| * 5f4a1111ad Revert "8250: add support for ASIX devices with a FIFO bug"
| * 7f2f0e6ec5 meson saradc: fix clock divider mask length
| * 790e4e82c5 xhci: Show ZHAOXIN xHCI root hub speed correctly
| * c52e04c58d xhci: Fix TRB prefetch issue of ZHAOXIN hosts
| * b56a07c2a5 xhci: Fix resume issue of some ZHAOXIN hosts
| * 8e807eadf0 ceph: don't let check_caps skip sending responses for revoke msgs
| * c04ed61ebf firmware: stratix10-svc: Fix a potential resource leak in svc_create_memory_pool()
| * 1962717c46 tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk
| * a49e5a0512 tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error
| * 08673739ed serial: atmel: don't enable IRQs prematurely
| * 4016d36fec drm/amd/display: Correct `DMUB_FW_VERSION` macro
| * d89bd2ecd3 drm/rockchip: vop: Leave vblank enabled in self-refresh
| * b9ec9372a4 drm/atomic: Allow vblank-enabled + self-refresh "disable"
| * 23d5004ee7 fs: dlm: return positive pid value for F_GETLK
| * 5e9aff5b10 md/raid0: add discard support for the 'original' layout
| * 8e3c777640 misc: pci_endpoint_test: Re-init completion for every test
| * cdf9a7e2cd misc: pci_endpoint_test: Free IRQs before removing the device
| * 8c90c466e3 PCI: rockchip: Set address alignment for endpoint mode
| * f1986416cf PCI: rockchip: Use u32 variable to access 32-bit registers
| * 36eb130312 PCI: rockchip: Fix legacy IRQ generation for RK3399 PCIe endpoint core
| * c417a4c7de PCI: rockchip: Add poll and timeout to wait for PHY PLLs to be locked
| * ddda61419a PCI: rockchip: Write PCI Device ID to correct register
| * bec3e0f7f2 PCI: rockchip: Assert PCI Configuration Enable bit after probe
| * 48e11e7c81 PCI: qcom: Disable write access to read only registers for IP v2.3.3
| * aca71b004a PCI: Add function 1 DMA alias quirk for Marvell 88SE9235
| * d3bab5de91 PCI/PM: Avoid putting EloPOS E2/S2/H2 PCIe Ports in D3cold
| * 5a89a5cc81 hwrng: imx-rngc - fix the timeout for init and self check
| * 47b7eaae08 jfs: jfs_dmap: Validate db_l2nbperpage while mounting
| * 84293af545 ext4: only update i_reserved_data_blocks on successful block allocation
| * 0a5d12e710 ext4: fix wrong unit use in ext4_mb_new_blocks
| * 514220246a ext4: get block from bh in ext4_free_blocks for fast commit replay
| * d054422eb6 ext4: fix wrong unit use in ext4_mb_clear_bb
| * be99faf0c4 ext4: Fix reusing stale buffer heads from last failed mounting
| * 8fbe951d65 MIPS: Loongson: Fix cpu_probe_loongson() again
| * 8c723eef98 erofs: fix compact 4B support for 16k block size
| * 3bd4d316b1 misc: fastrpc: Create fastrpc scalar with correct buffer count
| * 3d1d037f27 powerpc: Fail build if using recordmcount with binutils v2.37
| * fe1ae1fb50 net: bcmgenet: Ensure MDIO unregistration has clocks enabled
| * 21d5d3eb36 mtd: rawnand: meson: fix unaligned DMA buffers handling
| * 9ff7fcb3a2 tpm: tpm_vtpm_proxy: fix a race condition in /dev/vtpmx creation
| * 59490249c2 pinctrl: amd: Only use special debounce behavior for GPIO 0
| * 4f77a87ce9 pinctrl: amd: Detect internal GPIO0 debounce handling
| * 3674b9c056 pinctrl: amd: Fix mistake in handling clearing pins at startup
| * b39ef5b52f f2fs: fix to avoid NULL pointer dereference f2fs_write_end_io()
| * f4ff379812 nvme-pci: fix DMA direction of unmapping integrity data
| * 8359ee85fd net/sched: sch_qfq: account for stab overhead in qfq_enqueue
| * 5bef780e06 net/sched: sch_qfq: refactor parsing of netlink parameters
| * 1d7ae38daa net/sched: make psched_mtu() RTNL-less safe
| * d5ca61b764 netdevsim: fix uninitialized data in nsim_dev_trap_fa_cookie_write()
| * 9b69cdb6e5 net/sched: flower: Ensure both minimum and maximum ports are specified
| * 934c85b8ec wifi: airo: avoid uninitialized warning in airo_get_rate()
| * 4511499138 erofs: avoid infinite loop in z_erofs_do_read_page() when reading beyond EOF
| * bbc500ff3f riscv, bpf: Fix inconsistent JIT image generation
| * a976adc3bc bpf, riscv: Support riscv jit to provide bpf_line_info
| * eb3d1d84f3 riscv: bpf: Avoid breaking W^X
| * 7c61643798 riscv: bpf: Move bpf_jit_alloc_exec() and bpf_jit_free_exec() to core
| * 83579a6261 igc: Fix inserting of empty frame for launchtime
| * c48e8ee81a igc: Fix launchtime before start of cycle
| * cdf5b9af92 platform/x86: wmi: Break possible infinite loop when parsing GUID
| * 7157ee0de5 platform/x86: wmi: move variables
| * 4bb2bb69bd platform/x86: wmi: use guid_t and guid_equal()
| * 88dfb592d2 platform/x86: wmi: remove unnecessary argument
| * 2ad31ce40e ipv6/addrconf: fix a potential refcount underflow for idev
| * 8271145523 NTB: ntb_tool: Add check for devm_kcalloc
| * 41c6d8ff71 NTB: ntb_transport: fix possible memory leak while device_register() fails
| * 03cfa06534 ntb: intel: Fix error handling in intel_ntb_pci_driver_init()
| * 23e09f0a86 NTB: amd: Fix error handling in amd_ntb_pci_driver_init()
| * 0bb2683b0c ntb: idt: Fix error handling in idt_pci_driver_init()
| * 3e8fed805c udp6: fix udp6_ehashfn() typo
| * d30ddd7ff1 icmp6: Fix null-ptr-deref of ip6_null_entry->rt6i_idev in icmp6_dev().
| * bc3ab5d2ab net: prevent skb corruption on frag list segmentation
| * cddd04f341 net: bgmac: postpone turning IRQs off to avoid SoC hangs
| * f8cc4fd99a ionic: remove WARN_ON to prevent panic_on_warn
| * 9085429821 gve: Set default duplex configuration to full
| * 80e0e8d5f5 net/sched: cls_fw: Fix improper refcount update leads to use-after-free
| * d341f24612 net: mvneta: fix txq_map in case of txq_number==1
| * c175603d84 scsi: qla2xxx: Fix error code in qla2x00_start_sp()
| * b687b78361 igc: set TP bit in 'supported' and 'advertising' fields of ethtool_link_ksettings
| * 30c281a77f net/mlx5e: Check for NOT_READY flag state after locking
| * de6e6b0797 net/mlx5e: fix double free in mlx5e_destroy_flow_table
| * 3d4bba694a igc: Remove delay during TX ring configuration
| * 2a587b71c5 drm/panel: simple: Add Powertip PH800480T013 drm_display_mode flags
| * 547ab8ea86 drm/panel: simple: Add connector_type for innolux_at043tn24
| * 13c353dc5c workqueue: clean up WORK_* constant types, clarify masking
| * fc359e5b45 net: lan743x: Don't sleep in atomic context
| * dc4a25fa75 io_uring: add reschedule point to handle_tw_list()
| * 297883bbca io_uring: Use io_schedule* in cqring wait
| * bb2f7e4bfe block/partition: fix signedness issue for Amiga partitions
| * 4f91de9a81 rcu-tasks: Simplify trc_read_check_handler() atomic operations
| * 3a64cd01cd rcu-tasks: Mark ->trc_reader_special.b.need_qs data races
| * 058f077d09 rcu-tasks: Mark ->trc_reader_nesting data races
| * 83be9fd784 tty: serial: fsl_lpuart: add earlycon for imx8ulp platform
| * 999f3b6104 wireguard: netlink: send staged packets when setting initial private key
| * 1b71070405 wireguard: queueing: use saner cpu selection wrapping
| * ea21392224 netfilter: nf_tables: prevent OOB access in nft_byteorder_eval
| * 4ae2e50133 netfilter: nf_tables: do not ignore genmask when looking up chain by id
| * 8289d422f5 netfilter: conntrack: Avoid nf_ct_helper_hash uses after free
| * be6478f5cc netfilter: nf_tables: fix scheduling-while-atomic splat
| * a07e415be3 netfilter: nf_tables: unbind non-anonymous set if rule construction fails
| * a136b7942a netfilter: nf_tables: drop map element references from preparation phase
| * 21cf0d66ef netfilter: nftables: rename set element data activation/deactivation functions
| * 237f37f7b9 netfilter: nf_tables: reject unbound chain set before commit phase
| * 0205dd16ed netfilter: nf_tables: reject unbound anonymous set before commit phase
| * 34d09fe49f netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain
| * d53c295c1f netfilter: nf_tables: fix chain binding transaction logic
| * 8180fc2fad netfilter: nf_tables: incorrect error path handling with NFT_MSG_NEWRULE
| * e546e6ebb1 netfilter: nf_tables: add rescheduling points during loop detection walks
| * 3f51f1157f netfilter: nf_tables: use net_generic infra for transaction data
| * 01248dd651 sh: pgtable-3level: Fix cast to pointer from integer of different size
| * 87410743b5 block: add overflow checks for Amiga partition support
| * f0aec6c403 selftests/bpf: Add verifier test for PTR_TO_MEM spill
| * 88bffb61bc tpm, tpm_tis: Claim locality in interrupt handler
| * 5bf73af8b3 fanotify: disallow mount/sb marks on kernel internal pseudo fs
| * 5cb46b80ec fs: no need to check source
| * 66a0647cdc leds: trigger: netdev: Recheck NETDEV_LED_MODE_LINKUP on dev rename
| * 5d6fbb6245 ARM: orion5x: fix d2net gpio initialization
| * 9b0f7940e2 ASoC: mediatek: mt8173: Fix snd_soc_component_initialize error path
| * 1dac8584be ASoC: mediatek: mt8173: Fix irq error path
| * 6819bb0b85 btrfs: fix race when deleting quota root from the dirty cow roots list
| * a3fbd156bd btrfs: add handling for RAID1C23/DUP to btrfs_reduce_alloc_profile
| * 59efb86711 fs: Lock moved directories
| * c5b5e72df1 fs: Establish locking order for unrelated directories
| * 4b03f503b7 Revert "f2fs: fix potential corruption when moving a directory"
| * 2b563acd2d ext4: Remove ext4 locking of moved directory
| * 5e7d18a52c fs: avoid empty option when generating legacy mount string
| * 988a5d7911 jffs2: reduce stack usage in jffs2_build_xattr_subsystem()
| * 5fada37511 shmem: use ramfs_kill_sb() for kill_sb method of ramfs-based tmpfs
| * 79bef379d5 autofs: use flexible array in ioctl structure
| * 8bf91a8d48 integrity: Fix possible multiple allocation in integrity_inode_get()
| * 9658a03f80 um: Use HOST_DIR for mrproper
| * a4405f6ee0 bcache: Fix __bch_btree_node_alloc to make the failure behavior consistent
| * db9439cef0 bcache: Remove unnecessary NULL point check in node allocations
| * bcb295778a bcache: fixup btree_cache_wait list damage
| * dc3287206a mmc: sdhci: fix DMA configure compatibility issue when 64bit DMA mode is used.
| * 191628e2d9 mmc: mmci: Set PROBE_PREFER_ASYNCHRONOUS
| * 02c8c2b5f6 mmc: core: disable TRIM on Micron MTFC4GACAJCN-1M
| * 6f9708e5c1 mmc: core: disable TRIM on Kingston EMMC04G-M627
| * 28e649dc99 io_uring: wait interruptibly for request completions on exit
| * 8482ac2e5a NFSD: add encoding of op_recall flag for write delegation
| * 8d36cb6d1a i2c: qup: Add missing unwind goto in qup_i2c_probe()
| * e41a8e4615 ALSA: jack: Fix mutex call in snd_jack_report()
| * e71714ad24 i2c: xiic: Don't try to handle more interrupt events after error
| * b6eefa7a27 i2c: xiic: Defer xiic_wakeup() and __xiic_start_xfer() in xiic_process()
| * 023bd9dc41 apparmor: fix missing error check for rhashtable_insert_fast
| * d1c946552a sh: dma: Fix DMA channel offset calculation
| * 37750131d2 s390/qeth: Fix vipa deletion
| * 9f5548e421 net: dsa: tag_sja1105: fix MAC DA patching from meta frames
| * 2758fb81bb pptp: Fix fib lookup calls.
| * 0b08ff091f net/sched: act_pedit: Add size check for TCA_PEDIT_PARMS_EX
| * 2434a6715f xsk: Honor SO_BINDTODEVICE on bind
| * b785ba0acc tcp: annotate data races in __tcp_oow_rate_limited()
| * 73f512bedf net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode
| * 9a9d468fdc powerpc: allow PPC_EARLY_DEBUG_CPM only when SERIAL_CPM=y
| * f970b05c9b octeontx2-af: Fix mapping for NIX block from CGX connection
| * 5ded9e8aa5 f2fs: fix error path handling in truncate_dnode()
| * 358145cc37 mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
| * 32b9c8f789 spi: bcm-qspi: return error if neither hif_mspi nor mspi is available
| * 1f3643f9cf net: dsa: vsc73xx: fix MTU configuration
| * c377451012 Add MODULE_FIRMWARE() for FIRMWARE_TG357766.
| * 6d2243ab78 sctp: fix potential deadlock on &net->sctp.addr_wq_lock
| * 620993d5ee media: cec: i2c: ch7322: also select REGMAP
| * f733a7bfe8 rtc: st-lpc: Release some resources in st_rtc_probe() in case of error
| * aa70e5dd72 pwm: sysfs: Do not apply state to already disabled PWMs
| * 8a0413be8a pwm: imx-tpm: force 'real_period' to be zero in suspend
| * e4845cdea7 phy: tegra: xusb: check return value of devm_kzalloc()
| * 442e1a98bd mfd: stmpe: Only disable the regulators if they are enabled
| * 724448d602 KVM: s390: vsie: fix the length of APCB bitmap
| * c5e2f6f2bb mfd: stmfx: Nullify stmfx->vdd in case of error
| * 30ead8b9bf mfd: stmfx: Fix error path in stmfx_chip_init
| * 4d24051473 test_firmware: return ENOMEM instead of ENOSPC on failed memory allocation
| * 5b31ac1d6d serial: 8250_omap: Use force_suspend and resume for system suspend
| * 8e00ae25a3 Revert "usb: common: usb-conn-gpio: Set last role to unknown before initial detection"
| * a81e1f22e1 mfd: intel-lpss: Add missing check for platform_get_resource
| * 1dc07edc01 usb: dwc3-meson-g12a: Fix an error handling path in dwc3_meson_g12a_probe()
| * 7ade555ac5 usb: common: usb-conn-gpio: Set last role to unknown before initial detection
| * 0e9e127835 usb: dwc3: qcom: Fix an error handling path in dwc3_qcom_probe()
| * a617145208 usb: dwc3: qcom: Release the correct resources in dwc3_qcom_remove()
| * 96898fb476 KVM: s390: fix KVM_S390_GET_CMMA_BITS for GFNs in memslot holes
| * 4e8e838fce media: atomisp: gmin_platform: fix out_len in gmin_get_config_dsm_var()
| * b754ea60e6 media: venus: helpers: Fix ALIGN() of non power of two
| * 02b2266023 mfd: rt5033: Drop rt5033-battery sub-device
| * e52019c095 coresight: Fix loss of connection info when a module is unloaded
| * 018eddcb6b kernfs: fix missing kernfs_idr_lock to remove an ID from the IDR
| * a59f64a835 serial: 8250: lock port for UART_IER access in omap8250_irq()
| * 8d65d0a2bf serial: 8250: lock port for stop_rx() in omap8250_irq()
| * d66ddb61fa usb: hide unused usbfs_notify_suspend/resume functions
| * 56901de563 usb: phy: phy-tahvo: fix memory leak in tahvo_usb_probe()
| * 6538e5d9f7 extcon: Fix kernel doc of property capability fields to avoid warnings
| * dac7d7efcb extcon: Fix kernel doc of property fields to avoid warnings
| * 2788a3553f usb: gadget: u_serial: Add null pointer check in gserial_suspend
| * 74f8606ddf usb: dwc3: qcom: Fix potential memory leak
| * bdce16c1e6 clk: qcom: ipq6018: fix networking resets
| * ee3f494cfc clk: qcom: reset: support resetting multiple bits
| * 35fd1a213f clk: qcom: reset: Allow specifying custom reset delay
| * d87ef4e857 media: usb: siano: Fix warning due to null work_func_t function pointer
| * 300388887c media: videodev2.h: Fix struct v4l2_input tuner index comment
| * 5f3f4aa673 media: usb: Check az6007_read() return value
| * 32809afb60 clk: qcom: gcc-ipq6018: Use floor ops for sdcc clocks
| * bb81ca33ac serial: 8250: omap: Fix freeing of resources on failed register
| * ed68e8e22e sh: j2: Use ioremap() to translate device tree address into kernel memory
| * a7890637b3 w1: fix loop in w1_fini()
| * a27aeae714 w1: w1_therm: fix locking behavior in convert_t
| * cd5ec3ee52 SUNRPC: Fix UAF in svc_tcp_listen_data_ready()
| * e4a9b3333e block: change all __u32 annotations to __be32 in affs_hardblocks.h
| * 54da6c4c14 block: fix signed int overflow in Amiga partition support
| * b6a107c520 phy: tegra: xusb: Clear the driver reference in usb-phy dev
| * fac7be49f1 usb: dwc3: gadget: Propagate core init errors to UDC during pullup
| * 8b0a55b592 USB: serial: option: add LARA-R6 01B PIDs
| * 810e401b34 io_uring: ensure IOPOLL locks around deferred work
| * cd5837564f hwrng: st - keep clock enabled while hwrng is registered
| * 557e528255 dax: Introduce alloc_dev_dax_id()
| * 94a85474f5 dax: Fix dax_mapping_release() use after free
| * 7c9f5a14d9 NFSv4.1: freeze the session table upon receiving NFS4ERR_BADSESSION
| * bab0bf5677 ARC: define ASM_NL and __ALIGN(_STR) outside #ifdef __ASSEMBLY__ guard
| * cb0cdca5c9 modpost: fix off by one in is_executable_section()
| * f0350516b9 crypto: marvell/cesa - Fix type mismatch warning
| * b540694455 modpost: fix section mismatch message for R_ARM_{PC24,CALL,JUMP24}
| * 88978ef7fd modpost: fix section mismatch message for R_ARM_ABS32
| * 31195ee328 crypto: nx - fix build warnings when DEBUG_FS is not enabled
| * 77471e4912 hwrng: virtio - Fix race on data_avail and actual data
| * e8f51401d6 hwrng: virtio - always add a pending request
| * ffc5ce9c27 hwrng: virtio - don't waste entropy
| * d13ea82bfe hwrng: virtio - don't wait on cleanup
| * 5f23dae018 hwrng: virtio - add an internal buffer
| * aba192bb31 powerpc/mm/dax: Fix the condition when checking if altmap vmemap can cross-boundary
| * 7afd0de0cc powerpc/book3s64/mm: Fix DirectMap stats in /proc/meminfo
| * 7289ca7a51 mm: rename p4d_page_vaddr to p4d_pgtable and make it return pud_t *
| * bfad110188 mm: rename pud_page_vaddr to pud_pgtable and make it return pmd_t *
| * 07c19c0ad4 powerpc/powernv/sriov: perform null check on iov before dereferencing iov
| * f3c7b95c99 pinctrl: at91-pio4: check return value of devm_kasprintf()
| * b7a38fc3f3 perf dwarf-aux: Fix off-by-one in die_get_varname()
| * 75a3cb1e23 perf script: Fix allocation of evsel->priv related to per-event dump files
| * 647c6d35cc perf script: Fixup 'struct evsel_script' method prefix
| * 958acb479e kcsan: Don't expect 64 bits atomic builtins from 32 bits architectures
| * 5533f0eb0a pinctrl: cherryview: Return correct value if pin in push-pull mode
| * 4b63caf86e perf bench: Add missing setlocale() call to allow usage of %'d style formatting
| * 345ee85216 perf bench: Use unbuffered output when pipe/tee'ing to a file
| * f0d2310f6b PCI: Add pci_clear_master() stub for non-CONFIG_PCI
| * b65fe59b2d PCI: ftpci100: Release the clock resources
| * cb389e8edf PCI: pciehp: Cancel bringup sequence if card is not present
| * b9895a4c95 scsi: 3w-xxxx: Add error handling for initialization failure in tw_probe()
| * 7badf4d6f4 PCI/ASPM: Disable ASPM on MFD function removal to avoid use-after-free
| * d27238fc83 pinctrl: bcm2835: Handle gpiochip_add_pin_range() errors
| * ac64019e4d scsi: qedf: Fix NULL dereference in error handling
| * 8e9907e921 PCI: cadence: Fix Gen2 Link Retraining process
| * 07be8e60f2 ASoC: imx-audmix: check return value of devm_kasprintf()
| * 714ba10a6d ovl: update of dentry revalidate flags after copy up
| * 47f4d875aa drivers: meson: secure-pwrc: always enable DMA domain
| * 5f149d0538 clk: ti: clkctrl: check return value of kasprintf()
| * fd9324fa4d clk: keystone: sci-clk: check return value of kasprintf()
| * 0b754f9cfd clk: si5341: free unused memory on probe failure
| * dc8d0178d5 clk: si5341: check return value of {devm_}kasprintf()
| * dc3eef6480 clk: si5341: return error if one synth clock registration fails
| * 0401139800 clk: si5341: Add sysfs properties to allow checking/resetting device faults
| * fc813d0573 clk: si5341: Allow different output VDD_SEL values
| * f64fcd3acf clk: cdce925: check return value of kasprintf()
| * 866d4340c6 clk: vc5: check memory returned by kasprintf()
| * c67a55f7cc drm/msm/dp: Free resources after unregistering them
| * c3b63584d8 drm/msm/dpu: do not enable color-management if DSPPs are not available
| * f923a58221 ALSA: ac97: Fix possible NULL dereference in snd_ac97_mixer
| * 404e9f741a clk: tegra: tegra124-emc: Fix potential memory leak
| * cb047c13bb clk: imx: clk-imx8mp: improve error handling in imx8mp_clocks_probe()
| * 294321349b clk: imx: clk-imx8mn: fix memory leak in imx8mn_clocks_probe
| * e749bc5a90 RDMA/bnxt_re: Avoid calling wake_up threads from spin_lock context
| * 9341501e2f RDMA/bnxt_re: wraparound mbox producer index
| * 968e27fd03 amdgpu: validate offset_in_bo of drm_amdgpu_gem_va
| * e070120e6d drm/radeon: fix possible division-by-zero errors
| * a77b80825b drm/amdkfd: Fix potential deallocation of previously deallocated memory.
| * 245aa7c023 ARM: dts: BCM5301X: fix duplex-full => full-duplex
| * 7e2edb84fe hwmon: (pmbus/adm1275) Fix problems with temperature monitoring on ADM1272
| * 580e9b987b hwmon: (adm1275) Allow setting sample averaging
| * a3c5d148b7 hwmon: (adm1275) enable adm1272 temperature reporting
| * 4610efa404 hwmon: (gsc-hwmon) fix fan pwm temperature scaling
| * 6e12311dce ARM: dts: stm32: fix i2s endpoint format property for stm32mp15xx-dkx
| * badeb7fe24 ARM: dts: stm32: Fix audio routing on STM32MP15xx DHCOM PDK2
| * 17cd31487d arm64: dts: ti: k3-j7200: Fix physical address of pin
| * ce6e0434e5 fbdev: omapfb: lcd_mipid: Fix an error handling path in mipid_spi_probe()
| * 34e1e2f3cf arm64: dts: renesas: ulcb-kf: Remove flow control for SCIF1
| * 6817914c67 ARM: dts: iwg20d-q7-common: Fix backlight pwm specifier
| * 220f86cc19 RDMA/hns: Fix hns_roce_table_get return value
| * 9196f44239 RDMA/hns: Clean the hardware related code for HEM
| * aa495b927f RDMA/hns: Use refcount_t APIs for HEM
| * de1049dd18 RDMA/hns: Fix coding style issues
| * cc1b04b699 RDMA: Remove uverbs_ex_cmd_mask values that are linked to functions
| * 7dcb9ea3ee IB/hfi1: Fix wrong mmu_node used for user SDMA packet after invalidate
| * 6cf8f3d690 IB/hfi1: Fix sdma.h tx->num_descs off-by-one errors
| * 2d38866a99 IB/hfi1: Use bitmap_zalloc() when applicable
| * 42b6865bf5 soc/fsl/qe: fix usb.c build errors
| * 9c14d14066 ARM: dts: meson8: correct uart_B and uart_C clock references
| * 684a2f180e ASoC: es8316: Do not set rate constraints for unsupported MCLKs
| * d883e16c7f ASoC: es8316: Increment max value for ALC Capture Target Volume control
| * 105af71974 memory: brcmstb_dpfe: fix testing array offset after use
| * ddc74d6ea3 ARM: dts: stm32: Shorten the AV96 HDMI sound card name
| * 392ee3cc99 arm64: dts: qcom: apq8096: fix fixed regulator name property
| * c85a076215 ARM: omap2: fix missing tick_broadcast() prototype
| * aec18da741 ARM: ep93xx: fix missing-prototype warnings
| * b574cd7e4d drm/panel: simple: fix active size for Ampire AM-480272H3TMQW-T01H
| * 02d8b008ff arm64: dts: qcom: msm8996: correct camss unit address
| * 6d103b1cc1 arm64: dts: qcom: msm8994: correct SPMI unit address
| * 160ac75a5a arm64: dts: qcom: msm8916: correct camss unit address
| * e8b131d216 ARM: dts: gta04: Move model property out of pinctrl node
| * b0b180a712 RDMA/bnxt_re: Fix to remove an unnecessary log
| * 446092f136 RDMA/bnxt_re: Remove a redundant check inside bnxt_re_update_gid
| * b54b26ac50 RDMA/bnxt_re: Use unique names while registering interrupts
| * 11bd3882c3 RDMA/bnxt_re: Fix to remove unnecessary return labels
| * 7080ef46ad RDMA/bnxt_re: Disable/kill tasklet only if it is enabled
| * 2a9895df80 arm64: dts: microchip: sparx5: do not use PSCI on reference boards
| * 726fdf47c1 bus: ti-sysc: Fix dispc quirk masking bool variables
| * 8ee24ddf45 ARM: dts: stm32: Move ethernet MAC EEPROM from SoM to carrier boards
| * 617a4da09d drm/panel: sharp-ls043t1le01: adjust mode settings
| * 3c87c98225 drm: sun4i_tcon: use devm_clk_get_enabled in `sun4i_tcon_init_clocks`
| * 39305592dc Input: adxl34x - do not hardcode interrupt trigger type
| * e629efc6d6 ARM: dts: meson8b: correct uart_B and uart_C clock references
| * bd46ade714 ARM: dts: BCM5301X: Drop "clock-names" from the SPI node
| * 20ecae1af5 drm/vram-helper: fix function names in vram helper doc
| * 46a34e1459 drm/bridge: tc358768: fix THS_TRAILCNT computation
| * f2f7d0a4a2 drm/bridge: tc358768: fix TXTAGOCNT computation
| * 8e47328fe0 drm/bridge: tc358768: fix THS_ZEROCNT computation
| * 6b9450723b drm/bridge: tc358768: fix TCLK_TRAILCNT computation
| * 33abcfbb17 drm/bridge: tc358768: Add atomic_get_input_bus_fmts() implementation
| * 43b2d11ccf drm/bridge: tc358768: fix TCLK_ZEROCNT computation
| * 46b7417189 drm/bridge: tc358768: fix PLL target frequency
| * 825b00c685 drm/bridge: tc358768: fix PLL parameters computation
| * 1b4f23fdf2 drm/bridge: tc358768: always enable HS video mode
| * 4e0fd4f54b Input: drv260x - sleep between polling GO bit
| * 2780d58448 drm/amd/display: Explicitly specify update type per plane info change
| * b2213fc60b radeon: avoid double free in ci_dpm_init()
| * 472a615e66 netlink: Add __sock_i_ino() for __netlink_diag_dump().
| * d10b380369 ipvlan: Fix return value of ipvlan_queue_xmit()
| * 5215c00968 netfilter: nf_conntrack_sip: fix the ct_sip_parse_numerical_param() return value.
| * 9bdcda7aba netfilter: conntrack: dccp: copy entire header to stack buffer, not just basic one
| * 36e07e8acf lib/ts_bm: reset initial match offset for every block of text
| * 96f2c6f272 net: nfc: Fix use-after-free caused by nfc_llcp_find_local
| * a3a1550c4d nfc: llcp: simplify llcp_sock_connect() error paths
| * cb1aa7cc56 sfc: fix crash when reading stats while NIC is resetting
| * 6ccfec84f0 net: axienet: Move reset before 64-bit DMA detection
| * bccc7ace12 gtp: Fix use-after-free in __gtp_encap_destroy().
| * 4d9cd4b330 selftests: rtnetlink: remove netdevsim device after ipsec offload test
| * 44db85c6e1 netlink: do not hard code device address lenth in fdb dumps
| * cde7b90e05 netlink: fix potential deadlock in netlink_set_err()
| * 0c9e48428f net: stmmac: fix double serdes powerdown
| * 1ba91ffa1a igc: Fix race condition in PTP tx code
| * 660d4e73ef wifi: ath9k: convert msecs to jiffies where needed
| * 150ca0768b wifi: cfg80211: rewrite merging of inherited elements
| * 4e321c18ef wifi: iwlwifi: pull from TXQs with softirqs disabled
| * 2715617c2a rtnetlink: extend RTEXT_FILTER_SKIP_STATS to IFLA_VF_INFO
| * 581401cd3c wifi: ath9k: Fix possible stall on ath9k_txq_list_has_key()
| * 6b22c2c649 memstick r592: make memstick_debug_get_tpc_name() static
| * 6cb477e722 kexec: fix a memory leak in crash_shrink_memory()
| * fdb07728d8 watchdog/perf: more properly prevent false positives with turbo modes
| * ac23d7f414 watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config
| * 22da8363e3 wifi: rsi: Do not set MMC_PM_KEEP_POWER in shutdown
| * b2aeb97fd4 wifi: rsi: Do not configure WoWlan in shutdown hook if not enabled
| * 1044187e72 wifi: ath9k: don't allow to overwrite ENDPOINT0 attributes
| * c10c6ea9b3 wifi: ray_cs: Fix an error handling path in ray_probe()
| * 8825991838 wifi: ray_cs: Drop useless status variable in parse_addr()
| * a66e3fd380 wifi: ray_cs: Utilize strnlen() in parse_addr()
| * 18d71562f7 wifi: wl3501_cs: Fix an error handling path in wl3501_probe()
| * b6f793de61 wl3501_cs: use eth_hw_addr_set()
| * cbd44a9e1c net: create netdev->dev_addr assignment helpers
| * 13cf0e3894 wl3501_cs: Fix misspelling and provide missing documentation
| * 5512db9bd4 wifi: atmel: Fix an error handling path in atmel_probe()
| * 86ebbcbdc7 wifi: orinoco: Fix an error handling path in orinoco_cs_probe()
| * fb7d78feb5 wifi: orinoco: Fix an error handling path in spectrum_cs_probe()
| * 8782dc2504 regulator: core: Streamline debugfs operations
| * 92bcd84941 regulator: core: Fix more error checking for debugfs_create_dir()
| * 78f390aa0e bpftool: JIT limited misreported as negative value on aarch64
| * 107e849f3c nfc: llcp: fix possible use of uninitialized variable in nfc_llcp_send_connect()
| * 0be9de2ea0 nfc: constify several pointers to u8, char and sk_buff
| * ef7fe1b5c4 libbpf: fix offsetof() and container_of() to work with CO-RE
| * b190ced50a sctp: add bpf_bypass_getsockopt proto callback
| * 08f61a3491 bpf: Remove extra lock_sock for TCP_ZEROCOPY_RECEIVE
| * c62e2ac02e wifi: mwifiex: Fix the size of a memory allocation in mwifiex_ret_802_11_scan()
| * 3ae910a375 wifi: wilc1000: fix for absent RSN capabilities WFA testcase
| * 795ef55030 spi: spi-geni-qcom: Correct CS_TOGGLE bit in SPI_TRANS_CFG
| * bd3e880dce samples/bpf: Fix buffer overflow in tcp_basertt
| * 250efb4d3f wifi: ath9k: avoid referencing uninit memory in ath9k_wmi_ctrl_rx
| * 0f3f41b475 wifi: ath9k: fix AR9003 mac hardware hang check register offset calculation
| * cbd0f41a53 igc: Enable and fix RX hash usage by netstack
| * a14cb30726 pstore/ram: Add check for kstrdup
| * 628709a057 ima: Fix build warnings
| * 16ec59c03a evm: Complete description of evm_inode_setattr()
| * cba85e1cb7 x86/mm: Fix __swp_entry_to_pte() for Xen PV guests
| * 365f546de5 perf/ibs: Fix interface via core pmu events
| * 604d6a5ff7 rcu/rcuscale: Stop kfree_scale_thread thread(s) after unloading rcuscale
| * d414e24d15 rcu/rcuscale: Move rcu_scale_*() after kfree_scale_cleanup()
| * ecc5e6dbc2 rcuscale: Move shutdown from wait_event() to wait_event_idle()
| * b62c816bdb rcuscale: Always log error message
| * 8cd9917c13 rcuscale: Console output claims too few grace periods
| * 456f783b83 thermal/drivers/sun8i: Fix some error handling paths in sun8i_ths_probe()
| * bacc49b2d5 cpufreq: intel_pstate: Fix energy_performance_preference for passive
| * a8bfe52755 ARM: 9303/1: kprobes: avoid missing-declaration warnings
| * a50b75c13d powercap: RAPL: Fix CONFIG_IOSF_MBI dependency
| * 23f6efd226 perf/arm-cmn: Fix DTC reset
| * b69868d50d PM: domains: fix integer overflow issues in genpd_parse_state()
| * ebdff09865 clocksource/drivers/cadence-ttc: Fix memory leak in ttc_timer_probe
| * a2f83a4c7c tracing/timer: Add missing hrtimer modes to decode_hrtimer_mode().
| * f1be1ed32d posix-timers: Prevent RT livelock in itimer_delete()
| * b315d57da4 irqchip/jcore-aic: Fix missing allocation of IRQ descriptors
| * 495cee0e14 irqchip/jcore-aic: Kill use of irq_create_strict_mappings()
| * 9d1cccdad0 md/raid10: fix io loss while replacement replace rdev
| * 2990e2ece1 md/raid10: fix null-ptr-deref of mreplace in raid10_sync_request
| * b1d8f38310 md/raid10: fix wrong setting of max_corr_read_errors
| * b3a0bc4a01 md/raid10: fix overflow of md/safe_mode_delay
| * 39fa14e824 md/raid10: check slab-out-of-bounds in md_bitmap_get_counter
| * 8563b58a43 blk-iocost: use spin_lock_irqsave in adjust_inuse_and_calc_cost
| * 3db97cc79b x86/resctrl: Only show tasks' pid in current pid namespace
| * 1a82005f3f fs: pipe: reveal missing function protoypes
| * f70407e8e0 nubus: Partially revert proc_create_single_data() conversion
| * 0336c8f072 drm/amdgpu: Validate VM ioctl flags.
| * c484b65f93 scripts/tags.sh: Resolve gtags empty index generation
| * 649104c834 Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe"
| * 02a4c4e225 HID: logitech-hidpp: add HIDPP_QUIRK_DELAYED_INIT for the T651.
| * 9598a647ec HID: wacom: Use ktime_t rather than int when dealing with timestamps
| * 2bf70b88cc fbdev: imsttfb: Fix use after free bug in imsttfb_probe
| * 5b813734a0 video: imsttfb: check for ioremap() failures
| * 02fbf62df9 can: isotp: isotp_sendmsg(): fix return error fix on TX path
| * 8667f71131 x86/smp: Use dedicated cache-line for mwait_play_dead()
| * 1d0fe3fb5d media: atomisp: fix "variable dereferenced before check 'asd'"
* | 9710ae86ef Merge branch 'android12-5.10' into branch 'android12-5.10-lts'
* | db023c4bb0 Merge 5.10.187 into android12-5.10-lts
|\|
| * 140d69b4e4 Linux 5.10.187
| * 93df00f9d4 x86/cpu/amd: Add a Zenbleed fix
| * 191b8f9b0e x86/cpu/amd: Move the errata checking functionality up
| * 113ce5ed59 x86/microcode/AMD: Load late on both threads too
* | 44da38b39c ANDROID: GKI: fix up sysctl_vals ABI change.
* | c9606079a5 Revert "gpio: Allow per-parent interrupt data"
* | fc3985cbee Revert "gpiolib: Fix GPIO chip IRQ initialization restriction"
* | 02a1b32243 Merge 5.10.186 into android12-5.10-lts
|/
* 381518b4a9 Linux 5.10.186
* 29917a20be bpf/btf: Accept function names that contain dots
* 8b7454dd98 netfilter: nf_tables: hold mutex on netns pre_exit path
* 9e8d927cfa netfilter: nf_tables: validate registers coming from userspace.
* f19a4818a9 netfilter: nftables: statify nft_parse_register()
* 42997367cb i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle
* 5a257f3553 x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys
* d8efc77f23 drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl
* 485fe16508 drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl
* 0b0fdc43b2 drm/exynos: vidi: fix a wrong error return
* 32134e7a0f ARM: dts: Fix erroneous ADS touchscreen polarities
* 79cf5657be s390/purgatory: disable branch profiling
* a819de62ec ASoC: nau8824: Add quirk to active-high jack-detect
* fa08753c2d ASoC: simple-card: Add missing of_node_put() in case of error
* 9138ed7e2b spi: lpspi: disable lpspi module irq in DMA mode
* 97b6c4c1d1 s390/cio: unregister device when the only path is gone
* fe949c1662 Input: soc_button_array - add invalid acpi_index DMI quirk handling
* eaf1fa9452 usb: gadget: udc: fix NULL dereference in remove()
* 7d1a0733a5 nfcsim.c: Fix error checking for debugfs_create_dir
* dc357c0787 media: cec: core: don't set last_initiator if tx in progress
* c13573032b arm64: Add missing Set/Way CMO encodings
* 49a2b18f49 HID: wacom: Add error check to wacom_parse_and_register()
* 2b43198de0 scsi: target: iscsi: Prevent login threads from racing between each other
* 75aa3f255c gpiolib: Fix GPIO chip IRQ initialization restriction
* 304802e5b0 gpio: Allow per-parent interrupt data
* bc75968b49 sch_netem: acquire qdisc lock in netem_change()
* caddeadd0d Revert "net: phy: dp83867: perform soft reset and retain established link"
* 5702afa2c3 netfilter: nfnetlink_osf: fix module autoload
* 3d5c09c782 netfilter: nf_tables: disallow element updates of bound anonymous sets
* 2a90da8e0d netfilter: nft_set_pipapo: .walk does not deal with generations
* 792bfe26a6 be2net: Extend xmit workaround to BE3 chip
* cebb5cee09 net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch
* 7a1ae00005 ipvs: align inner_mac_header for encapsulation
* f2547bc716 mmc: usdhi60rol0: fix deferred probing
* 4a99e35c5a mmc: sh_mmcif: fix deferred probing
* c2278de138 mmc: sdhci-acpi: fix deferred probing
* f6e176ef89 mmc: owl: fix deferred probing
* f29d0ab0e6 mmc: omap_hsmmc: fix deferred probing
* 65d9318e3d mmc: omap: fix deferred probing
* 9ad3c21fb6 mmc: mvsdio: fix deferred probing
* 9b0417fd40 mmc: mtk-sd: fix deferred probing
* ced13bc50e net: qca_spi: Avoid high load if QCA7000 is not available
* b1b9c81e29 xfrm: Linearize the skb after offloading if needed.
* 31cd0d4a44 selftests: net: fcnal-test: check if FIPS mode is enabled
* 2af75a36af selftests: net: vrf-xfrm-tests: change authentication and encryption algos
* 07fbbddae5 xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets
* 562800447f bpf: Fix verifier id tracking of scalars on spill
* 3b0a96db67 bpf: track immediate values written to stack by BPF_ST instruction
* bff7824db6 xfrm: Ensure policies always checked on XFRM-I input path
* 01af67ed83 xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c
* cdaa6e1105 xfrm: Treat already-verified secpath entries as optional
* 47be2931c4 ieee802154: hwsim: Fix possible memory leaks
* 051d642133 memfd: check for non-NULL file_seals in memfd_create() syscall
* 1ac6e9ee84 sysctl: move some boundary constants from sysctl.c to sysctl_vals
* e1aa3fe3e2 mm/pagealloc: sysctl: change watermark_scale_factor max limit to 30%
* ad10dd2113 x86/mm: Avoid using set_pgd() outside of real PGD pages
* 4de2093674 nilfs2: prevent general protection fault in nilfs_clear_dirty_page()
* 3845c38417 io_uring/net: disable partial retries for recvmsg with cmsg
* 826ee9fa36 io_uring/net: clear msg_controllen on partial sendmsg retry
* 5fdea4468f io_uring/net: save msghdr->msg_control for retries
* 5a7101d8fa writeback: fix dereferencing NULL mapping->host on writeback_page_template
* f00cd687c2 regmap: spi-avmm: Fix regmap_bus max_raw_write
* bc35f93e4b regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK
* 5938470f9c ip_tunnels: allow VXLAN/GENEVE to inherit TOS/TTL from VLAN
* 2e454015ca mmc: mmci: stm32: fix max busy timeout calculation
* 1be288fd3b mmc: meson-gx: remove redundant mmc_request_done() call from irq context
* 1b97630cd9 mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916
* 63608437a8 cgroup: Do not corrupt task iteration when rebinding subsystem
* 988d06f5eb PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic
* 8f2d5ebdfe PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev
* 8b74846769 Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally"
* 79ceb758e3 PCI: hv: Fix a race condition bug in hv_pci_query_relations()
* 8b8c9812c0 Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs
* b435298349 nilfs2: fix buffer corruption due to concurrent device reads
* 524a2c0bcf selftests: mptcp: join: skip check if MIB counter not supported
* e508d9cef8 selftests: mptcp: pm nl: remove hardcoded default limits
* 4c4ca42418 selftests: mptcp: lib: skip if not below kernel version
* 6d20cfbc57 selftests: mptcp: lib: skip if missing symbol
* 3cc7935d32 tick/common: Align tick period during sched_timer setup
* db4ab0c97a tracing: Add tracing_reset_all_online_cpus_unlocked() function
* 9ced730490 net/sched: Refactor qdisc_graft() for ingress and clsact Qdiscs
* b1b42fff8a drm/amd/display: fix the system hang while disable PSR

Change-Id: I0c8675eb9b259cf7631e968dd66c31d3e16d31e9
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Signed-off-by: Todd Kjos <tkjos@google.com>
This commit is contained in:
Todd Kjos 2023-09-27 19:14:52 +00:00
commit 3cf9365660
653 changed files with 6896 additions and 3378 deletions

View File

@ -510,17 +510,18 @@ Description: information about CPUs heterogeneity.
cpu_capacity: capacity of cpu#.
What: /sys/devices/system/cpu/vulnerabilities
/sys/devices/system/cpu/vulnerabilities/meltdown
/sys/devices/system/cpu/vulnerabilities/spectre_v1
/sys/devices/system/cpu/vulnerabilities/spectre_v2
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
/sys/devices/system/cpu/vulnerabilities/gather_data_sampling
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
/sys/devices/system/cpu/vulnerabilities/l1tf
/sys/devices/system/cpu/vulnerabilities/mds
/sys/devices/system/cpu/vulnerabilities/srbds
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
/sys/devices/system/cpu/vulnerabilities/itlb_multihit
/sys/devices/system/cpu/vulnerabilities/meltdown
/sys/devices/system/cpu/vulnerabilities/mmio_stale_data
/sys/devices/system/cpu/vulnerabilities/retbleed
/sys/devices/system/cpu/vulnerabilities/spec_store_bypass
/sys/devices/system/cpu/vulnerabilities/spectre_v1
/sys/devices/system/cpu/vulnerabilities/spectre_v2
/sys/devices/system/cpu/vulnerabilities/srbds
/sys/devices/system/cpu/vulnerabilities/tsx_async_abort
Date: January 2018
Contact: Linux kernel mailing list <linux-kernel@vger.kernel.org>
Description: Information about CPU vulnerabilities

View File

@ -0,0 +1,109 @@
.. SPDX-License-Identifier: GPL-2.0
GDS - Gather Data Sampling
==========================
Gather Data Sampling is a hardware vulnerability which allows unprivileged
speculative access to data which was previously stored in vector registers.
Problem
-------
When a gather instruction performs loads from memory, different data elements
are merged into the destination vector register. However, when a gather
instruction that is transiently executed encounters a fault, stale data from
architectural or internal vector registers may get transiently forwarded to the
destination vector register instead. This will allow a malicious attacker to
infer stale data using typical side channel techniques like cache timing
attacks. GDS is a purely sampling-based attack.
The attacker uses gather instructions to infer the stale vector register data.
The victim does not need to do anything special other than use the vector
registers. The victim does not need to use gather instructions to be
vulnerable.
Because the buffers are shared between Hyper-Threads cross Hyper-Thread attacks
are possible.
Attack scenarios
----------------
Without mitigation, GDS can infer stale data across virtually all
permission boundaries:
Non-enclaves can infer SGX enclave data
Userspace can infer kernel data
Guests can infer data from hosts
Guest can infer guest from other guests
Users can infer data from other users
Because of this, it is important to ensure that the mitigation stays enabled in
lower-privilege contexts like guests and when running outside SGX enclaves.
The hardware enforces the mitigation for SGX. Likewise, VMMs should ensure
that guests are not allowed to disable the GDS mitigation. If a host erred and
allowed this, a guest could theoretically disable GDS mitigation, mount an
attack, and re-enable it.
Mitigation mechanism
--------------------
This issue is mitigated in microcode. The microcode defines the following new
bits:
================================ === ============================
IA32_ARCH_CAPABILITIES[GDS_CTRL] R/O Enumerates GDS vulnerability
and mitigation support.
IA32_ARCH_CAPABILITIES[GDS_NO] R/O Processor is not vulnerable.
IA32_MCU_OPT_CTRL[GDS_MITG_DIS] R/W Disables the mitigation
0 by default.
IA32_MCU_OPT_CTRL[GDS_MITG_LOCK] R/W Locks GDS_MITG_DIS=0. Writes
to GDS_MITG_DIS are ignored
Can't be cleared once set.
================================ === ============================
GDS can also be mitigated on systems that don't have updated microcode by
disabling AVX. This can be done by setting gather_data_sampling="force" or
"clearcpuid=avx" on the kernel command-line.
If used, these options will disable AVX use by turning off XSAVE YMM support.
However, the processor will still enumerate AVX support. Userspace that
does not follow proper AVX enumeration to check both AVX *and* XSAVE YMM
support will break.
Mitigation control on the kernel command line
---------------------------------------------
The mitigation can be disabled by setting "gather_data_sampling=off" or
"mitigations=off" on the kernel command line. Not specifying either will default
to the mitigation being enabled. Specifying "gather_data_sampling=force" will
use the microcode mitigation when available or disable AVX on affected systems
where the microcode hasn't been updated to include the mitigation.
GDS System Information
------------------------
The kernel provides vulnerability status information through sysfs. For
GDS this can be accessed by the following sysfs file:
/sys/devices/system/cpu/vulnerabilities/gather_data_sampling
The possible values contained in this file are:
============================== =============================================
Not affected Processor not vulnerable.
Vulnerable Processor vulnerable and mitigation disabled.
Vulnerable: No microcode Processor vulnerable and microcode is missing
mitigation.
Mitigation: AVX disabled,
no microcode Processor is vulnerable and microcode is missing
mitigation. AVX disabled as mitigation.
Mitigation: Microcode Processor is vulnerable and mitigation is in
effect.
Mitigation: Microcode (locked) Processor is vulnerable and mitigation is in
effect and cannot be disabled.
Unknown: Dependent on
hypervisor status Running on a virtual guest processor that is
affected but with no way to know if host
processor is mitigated or vulnerable.
============================== =============================================
GDS Default mitigation
----------------------
The updated microcode will enable the mitigation by default. The kernel's
default action is to leave the mitigation enabled.

View File

@ -16,3 +16,5 @@ are configurable at compile, boot or run time.
multihit.rst
special-register-buffer-data-sampling.rst
processor_mmio_stale_data.rst
gather_data_sampling.rst
srso

View File

@ -0,0 +1,133 @@
.. SPDX-License-Identifier: GPL-2.0
Speculative Return Stack Overflow (SRSO)
========================================
This is a mitigation for the speculative return stack overflow (SRSO)
vulnerability found on AMD processors. The mechanism is by now the well
known scenario of poisoning CPU functional units - the Branch Target
Buffer (BTB) and Return Address Predictor (RAP) in this case - and then
tricking the elevated privilege domain (the kernel) into leaking
sensitive data.
AMD CPUs predict RET instructions using a Return Address Predictor (aka
Return Address Stack/Return Stack Buffer). In some cases, a non-architectural
CALL instruction (i.e., an instruction predicted to be a CALL but is
not actually a CALL) can create an entry in the RAP which may be used
to predict the target of a subsequent RET instruction.
The specific circumstances that lead to this varies by microarchitecture
but the concern is that an attacker can mis-train the CPU BTB to predict
non-architectural CALL instructions in kernel space and use this to
control the speculative target of a subsequent kernel RET, potentially
leading to information disclosure via a speculative side-channel.
The issue is tracked under CVE-2023-20569.
Affected processors
-------------------
AMD Zen, generations 1-4. That is, all families 0x17 and 0x19. Older
processors have not been investigated.
System information and options
------------------------------
First of all, it is required that the latest microcode be loaded for
mitigations to be effective.
The sysfs file showing SRSO mitigation status is:
/sys/devices/system/cpu/vulnerabilities/spec_rstack_overflow
The possible values in this file are:
- 'Not affected' The processor is not vulnerable
- 'Vulnerable: no microcode' The processor is vulnerable, no
microcode extending IBPB functionality
to address the vulnerability has been
applied.
- 'Mitigation: microcode' Extended IBPB functionality microcode
patch has been applied. It does not
address User->Kernel and Guest->Host
transitions protection but it does
address User->User and VM->VM attack
vectors.
(spec_rstack_overflow=microcode)
- 'Mitigation: safe RET' Software-only mitigation. It complements
the extended IBPB microcode patch
functionality by addressing User->Kernel
and Guest->Host transitions protection.
Selected by default or by
spec_rstack_overflow=safe-ret
- 'Mitigation: IBPB' Similar protection as "safe RET" above
but employs an IBPB barrier on privilege
domain crossings (User->Kernel,
Guest->Host).
(spec_rstack_overflow=ibpb)
- 'Mitigation: IBPB on VMEXIT' Mitigation addressing the cloud provider
scenario - the Guest->Host transitions
only.
(spec_rstack_overflow=ibpb-vmexit)
In order to exploit vulnerability, an attacker needs to:
- gain local access on the machine
- break kASLR
- find gadgets in the running kernel in order to use them in the exploit
- potentially create and pin an additional workload on the sibling
thread, depending on the microarchitecture (not necessary on fam 0x19)
- run the exploit
Considering the performance implications of each mitigation type, the
default one is 'Mitigation: safe RET' which should take care of most
attack vectors, including the local User->Kernel one.
As always, the user is advised to keep her/his system up-to-date by
applying software updates regularly.
The default setting will be reevaluated when needed and especially when
new attack vectors appear.
As one can surmise, 'Mitigation: safe RET' does come at the cost of some
performance depending on the workload. If one trusts her/his userspace
and does not want to suffer the performance impact, one can always
disable the mitigation with spec_rstack_overflow=off.
Similarly, 'Mitigation: IBPB' is another full mitigation type employing
an indrect branch prediction barrier after having applied the required
microcode patch for one's system. This mitigation comes also at
a performance cost.
Mitigation: safe RET
--------------------
The mitigation works by ensuring all RET instructions speculate to
a controlled location, similar to how speculation is controlled in the
retpoline sequence. To accomplish this, the __x86_return_thunk forces
the CPU to mispredict every function return using a 'safe return'
sequence.
To ensure the safety of this mitigation, the kernel must ensure that the
safe return sequence is itself free from attacker interference. In Zen3
and Zen4, this is accomplished by creating a BTB alias between the
untraining function srso_untrain_ret_alias() and the safe return
function srso_safe_ret_alias() which results in evicting a potentially
poisoned BTB entry and using that safe one for all function returns.
In older Zen1 and Zen2, this is accomplished using a reinterpretation
technique similar to Retbleed one: srso_untrain_ret() and
srso_safe_ret().

View File

@ -1484,6 +1484,26 @@
Format: off | on
default: on
gather_data_sampling=
[X86,INTEL] Control the Gather Data Sampling (GDS)
mitigation.
Gather Data Sampling is a hardware vulnerability which
allows unprivileged speculative access to data which was
previously stored in vector registers.
This issue is mitigated by default in updated microcode.
The mitigation may have a performance impact but can be
disabled. On systems without the microcode mitigation
disabling AVX serves as a mitigation.
force: Disable AVX to mitigate systems without
microcode mitigation. No effect if the microcode
mitigation is present. Known to cause crashes in
userspace with buggy AVX enumeration.
off: Disable GDS mitigation.
gcov_persist= [GCOV] When non-zero (default), profiling data for
kernel modules is saved and remains accessible via
debugfs, even when the module is unloaded/reloaded.
@ -2949,22 +2969,23 @@
Disable all optional CPU mitigations. This
improves system performance, but it may also
expose users to several CPU vulnerabilities.
Equivalent to: nopti [X86,PPC]
Equivalent to: gather_data_sampling=off [X86]
kpti=0 [ARM64]
nospectre_v1 [X86,PPC]
nobp=0 [S390]
nospectre_v2 [X86,PPC,S390,ARM64]
spectre_v2_user=off [X86]
spec_store_bypass_disable=off [X86,PPC]
ssbd=force-off [ARM64]
kvm.nx_huge_pages=off [X86]
l1tf=off [X86]
mds=off [X86]
tsx_async_abort=off [X86]
kvm.nx_huge_pages=off [X86]
mmio_stale_data=off [X86]
no_entry_flush [PPC]
no_uaccess_flush [PPC]
mmio_stale_data=off [X86]
nobp=0 [S390]
nopti [X86,PPC]
nospectre_v1 [X86,PPC]
nospectre_v2 [X86,PPC,S390,ARM64]
retbleed=off [X86]
spec_store_bypass_disable=off [X86,PPC]
spectre_v2_user=off [X86]
ssbd=force-off [ARM64]
tsx_async_abort=off [X86]
Exceptions:
This does not have any effect on
@ -5222,6 +5243,17 @@
Not specifying this option is equivalent to
spectre_v2_user=auto.
spec_rstack_overflow=
[X86] Control RAS overflow mitigation on AMD Zen CPUs
off - Disable mitigation
microcode - Enable microcode mitigation only
safe-ret - Enable sw-only safe RET mitigation (default)
ibpb - Enable mitigation by issuing IBPB on
kernel entry
ibpb-vmexit - Issue IBPB only on VMEXIT
(cloud-specific mitigation)
spec_store_bypass_disable=
[HW] Control Speculative Store Bypass (SSB) Disable mitigation
(Speculative Store Bypass vulnerability)

View File

@ -970,7 +970,7 @@ how much memory needs to be free before kswapd goes back to sleep.
The unit is in fractions of 10,000. The default value of 10 means the
distances between watermarks are 0.1% of the available memory in the
node/system. The maximum value is 1000, or 10% of memory.
node/system. The maximum value is 3000, or 30% of memory.
A high rate of threads entering direct reclaim (allocstall) or kswapd
going to sleep prematurely (kswapd_low_wmark_hit_quickly) can indicate

View File

@ -196,7 +196,7 @@ information and return operation results::
struct args_ismountpoint ismountpoint;
};
char path[0];
char path[];
};
The ioctlfd field is a mount point file descriptor of an autofs mount

View File

@ -467,7 +467,7 @@ Each ioctl is passed a pointer to an `autofs_dev_ioctl` structure::
struct args_ismountpoint ismountpoint;
};
char path[0];
char path[];
};
For the **OPEN_MOUNT** and **IS_MOUNTPOINT** commands, the target

View File

@ -22,12 +22,11 @@ exclusive.
3) object removal. Locking rules: caller locks parent, finds victim,
locks victim and calls the method. Locks are exclusive.
4) rename() that is _not_ cross-directory. Locking rules: caller locks
the parent and finds source and target. In case of exchange (with
RENAME_EXCHANGE in flags argument) lock both. In any case,
if the target already exists, lock it. If the source is a non-directory,
lock it. If we need to lock both, lock them in inode pointer order.
Then call the method. All locks are exclusive.
4) rename() that is _not_ cross-directory. Locking rules: caller locks the
parent and finds source and target. We lock both (provided they exist). If we
need to lock two inodes of different type (dir vs non-dir), we lock directory
first. If we need to lock two inodes of the same type, lock them in inode
pointer order. Then call the method. All locks are exclusive.
NB: we might get away with locking the source (and target in exchange
case) shared.
@ -44,15 +43,17 @@ All locks are exclusive.
rules:
* lock the filesystem
* lock parents in "ancestors first" order.
* lock parents in "ancestors first" order. If one is not ancestor of
the other, lock them in inode pointer order.
* find source and target.
* if old parent is equal to or is a descendent of target
fail with -ENOTEMPTY
* if new parent is equal to or is a descendent of source
fail with -ELOOP
* If it's an exchange, lock both the source and the target.
* If the target exists, lock it. If the source is a non-directory,
lock it. If we need to lock both, do so in inode pointer order.
* Lock both the source and the target provided they exist. If we
need to lock two inodes of different type (dir vs non-dir), we lock
the directory first. If we need to lock two inodes of the same type,
lock them in inode pointer order.
* call the method.
All ->i_rwsem are taken exclusive. Again, we might get away with locking
@ -66,8 +67,9 @@ If no directory is its own ancestor, the scheme above is deadlock-free.
Proof:
First of all, at any moment we have a partial ordering of the
objects - A < B iff A is an ancestor of B.
First of all, at any moment we have a linear ordering of the
objects - A < B iff (A is an ancestor of B) or (B is not an ancestor
of A and ptr(A) < ptr(B)).
That ordering can change. However, the following is true:

View File

@ -433,6 +433,15 @@ start N bytes into the buffer leaving the first N bytes for the
application to use. The final option is the flags field, but it will
be dealt with in separate sections for each UMEM flag.
SO_BINDTODEVICE setsockopt
--------------------------
This is a generic SOL_SOCKET option that can be used to tie AF_XDP
socket to a particular network interface. It is useful when a socket
is created by a privileged process and passed to a non-privileged one.
Once the option is set, kernel will refuse attempts to bind that socket
to a different interface. Updating the value requires CAP_NET_RAW.
XDP_STATISTICS getsockopt
-------------------------

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 10
SUBLEVEL = 185
SUBLEVEL = 189
EXTRAVERSION =
NAME = Dare mighty things

View File

@ -290,6 +290,9 @@ config ARCH_HAS_DMA_SET_UNCACHED
config ARCH_HAS_DMA_CLEAR_UNCACHED
bool
config ARCH_HAS_CPU_FINALIZE_INIT
bool
# Select if arch init_task must go in the __init_task_data section
config ARCH_TASK_STRUCT_ON_STACK
bool

View File

@ -1,20 +0,0 @@
/*
* include/asm-alpha/bugs.h
*
* Copyright (C) 1994 Linus Torvalds
*/
/*
* This is included by init/main.c to check for architecture-dependent bugs.
*
* Needs:
* void check_bugs(void);
*/
/*
* I don't know of any alpha bugs yet.. Nice chip
*/
static void check_bugs(void)
{
}

View File

@ -241,8 +241,10 @@ pmd_page_vaddr(pmd_t pmd)
#define pud_page(pud) (mem_map + ((pud_val(pud) & _PFN_MASK) >> 32))
#endif
extern inline unsigned long pud_page_vaddr(pud_t pgd)
{ return PAGE_OFFSET + ((pud_val(pgd) & _PFN_MASK) >> (32-PAGE_SHIFT)); }
extern inline pmd_t *pud_pgtable(pud_t pgd)
{
return (pmd_t *)(PAGE_OFFSET + ((pud_val(pgd) & _PFN_MASK) >> (32-PAGE_SHIFT)));
}
extern inline int pte_none(pte_t pte) { return !pte_val(pte); }
extern inline int pte_present(pte_t pte) { return pte_val(pte) & _PAGE_VALID; }
@ -292,7 +294,7 @@ extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= __ACCESS_BITS; retu
/* Find an entry in the second-level page table.. */
extern inline pmd_t * pmd_offset(pud_t * dir, unsigned long address)
{
pmd_t *ret = (pmd_t *) pud_page_vaddr(*dir) + ((address >> PMD_SHIFT) & (PTRS_PER_PAGE - 1));
pmd_t *ret = pud_pgtable(*dir) + ((address >> PMD_SHIFT) & (PTRS_PER_PAGE - 1));
smp_rmb(); /* see above */
return ret;
}

View File

@ -8,6 +8,10 @@
#include <asm/dwarf.h>
#define ASM_NL ` /* use '`' to mark new line in macro */
#define __ALIGN .align 4
#define __ALIGN_STR __stringify(__ALIGN)
#ifdef __ASSEMBLY__
.macro ST2 e, o, off
@ -28,10 +32,6 @@
#endif
.endm
#define ASM_NL ` /* use '`' to mark new line in macro */
#define __ALIGN .align 4
#define __ALIGN_STR __stringify(__ALIGN)
/* annotation for data we want in DCCM - if enabled in .config */
.macro ARCFP_DATA nm
#ifdef CONFIG_ARC_HAS_DCCM

View File

@ -4,6 +4,7 @@ config ARM
default y
select ARCH_32BIT_OFF_T
select ARCH_HAS_BINFMT_FLAT
select ARCH_HAS_CPU_FINALIZE_INIT if MMU
select ARCH_HAS_DEBUG_VIRTUAL if MMU
select ARCH_HAS_DEVMEM_IS_ALLOWED
select ARCH_HAS_DMA_WRITE_COMBINE if !ARM_DMA_MEM_BUFFERABLE

View File

@ -527,7 +527,7 @@ touchscreen@1 {
interrupt-parent = <&gpio1>;
interrupts = <31 0>;
pendown-gpio = <&gpio1 31 0>;
pendown-gpio = <&gpio1 31 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <0x0>;

View File

@ -156,7 +156,7 @@ tsc2046@2 {
compatible = "ti,ads7843";
interrupts-extended = <&pioC 2 IRQ_TYPE_EDGE_BOTH>;
spi-max-frequency = <3000000>;
pendown-gpio = <&pioC 2 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&pioC 2 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <150>;
ti,x-max = /bits/ 16 <3830>;

View File

@ -128,7 +128,7 @@ port@5 {
fixed-link {
speed = <1000>;
duplex-full;
full-duplex;
};
};
};

View File

@ -212,7 +212,7 @@ port@5 {
fixed-link {
speed = <1000>;
duplex-full;
full-duplex;
};
};
};

View File

@ -532,7 +532,6 @@ spi@18029200 {
"spi_lr_session_done",
"spi_lr_overread";
clocks = <&iprocmed>;
clock-names = "iprocmed";
num-cs = <2>;
#address-cells = <1>;
#size-cells = <0>;

View File

@ -64,7 +64,7 @@ ads7846@0 {
interrupt-parent = <&gpio2>;
interrupts = <7 0>;
spi-max-frequency = <1000000>;
pendown-gpio = <&gpio2 7 0>;
pendown-gpio = <&gpio2 7 GPIO_ACTIVE_LOW>;
vcc-supply = <&reg_3p3v>;
ti,x-min = /bits/ 16 <0>;
ti,x-max = /bits/ 16 <4095>;

View File

@ -198,7 +198,7 @@ tsc2046@0 {
pinctrl-0 = <&pinctrl_tsc2046_pendown>;
interrupt-parent = <&gpio2>;
interrupts = <29 0>;
pendown-gpio = <&gpio2 29 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio2 29 GPIO_ACTIVE_LOW>;
touchscreen-max-pressure = <255>;
wakeup-source;
};

View File

@ -49,7 +49,7 @@ audio_clock: audio_clock {
lcd_backlight: backlight {
compatible = "pwm-backlight";
pwms = <&pwm3 0 5000000 0>;
pwms = <&pwm3 0 5000000>;
brightness-levels = <0 4 8 16 32 64 128 255>;
default-brightness-level = <7>;
enable-gpios = <&gpio5 14 GPIO_ACTIVE_HIGH>;

View File

@ -611,13 +611,13 @@ &uart_A {
&uart_B {
compatible = "amlogic,meson8-uart";
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>;
clock-names = "xtal", "pclk", "baud";
};
&uart_C {
compatible = "amlogic,meson8-uart";
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>;
clock-names = "xtal", "pclk", "baud";
};

View File

@ -599,13 +599,13 @@ &uart_A {
&uart_B {
compatible = "amlogic,meson8b-uart";
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
clocks = <&xtal>, <&clkc CLKID_UART1>, <&clkc CLKID_CLK81>;
clock-names = "xtal", "pclk", "baud";
};
&uart_C {
compatible = "amlogic,meson8b-uart";
clocks = <&xtal>, <&clkc CLKID_UART0>, <&clkc CLKID_CLK81>;
clocks = <&xtal>, <&clkc CLKID_UART2>, <&clkc CLKID_CLK81>;
clock-names = "xtal", "pclk", "baud";
};

View File

@ -227,7 +227,7 @@ ads7846@0 {
interrupt-parent = <&gpio2>;
interrupts = <25 0>; /* gpio_57 */
pendown-gpio = <&gpio2 25 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio2 25 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;

View File

@ -54,7 +54,7 @@ ads7846@0 {
interrupt-parent = <&gpio1>;
interrupts = <27 0>; /* gpio_27 */
pendown-gpio = <&gpio1 27 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio1 27 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;

View File

@ -5,9 +5,11 @@
#include "omap3-gta04a5.dts"
&omap3_pmx_core {
/ {
model = "Goldelico GTA04A5/Letux 2804 with OneNAND";
};
&omap3_pmx_core {
gpmc_pins: pinmux_gpmc_pins {
pinctrl-single,pins = <

View File

@ -311,7 +311,7 @@ tsc2046@0 {
interrupt-parent = <&gpio1>;
interrupts = <8 0>; /* boot6 / gpio_8 */
spi-max-frequency = <1000000>;
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio1 8 GPIO_ACTIVE_LOW>;
vcc-supply = <&reg_vcc3>;
pinctrl-names = "default";
pinctrl-0 = <&tsc2048_pins>;

View File

@ -149,7 +149,7 @@ ads7846@0 {
interrupt-parent = <&gpio4>;
interrupts = <18 0>; /* gpio_114 */
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;

View File

@ -160,7 +160,7 @@ ads7846@0 {
interrupt-parent = <&gpio4>;
interrupts = <18 0>; /* gpio_114 */
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio4 18 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <0x0>;
ti,x-max = /bits/ 16 <0x0fff>;

View File

@ -651,7 +651,7 @@ tsc2046@0 {
pinctrl-0 = <&penirq_pins>;
interrupt-parent = <&gpio3>;
interrupts = <30 IRQ_TYPE_NONE>; /* GPIO_94 */
pendown-gpio = <&gpio3 30 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio3 30 GPIO_ACTIVE_LOW>;
vcc-supply = <&vaux4>;
ti,x-min = /bits/ 16 <0>;

View File

@ -354,7 +354,7 @@ ads7846@0 {
interrupt-parent = <&gpio1>;
interrupts = <15 0>; /* gpio1_wk15 */
pendown-gpio = <&gpio1 15 GPIO_ACTIVE_HIGH>;
pendown-gpio = <&gpio1 15 GPIO_ACTIVE_LOW>;
ti,x-min = /bits/ 16 <0x0>;

View File

@ -120,10 +120,13 @@ lcd_panel_in: endpoint {
sound {
compatible = "audio-graph-card";
routing =
"MIC_IN", "Capture",
"Capture", "Mic Bias",
"Playback", "HP_OUT";
widgets = "Headphone", "Headphone Jack",
"Line", "Line In Jack",
"Microphone", "Microphone Jack";
routing = "Headphone Jack", "HP_OUT",
"LINE_IN", "Line In Jack",
"MIC_IN", "Microphone Jack",
"Microphone Jack", "Mic Bias";
dais = <&sai2a_port &sai2b_port>;
status = "okay";
};

View File

@ -88,7 +88,7 @@ sd_switch: regulator-sd_switch {
sound {
compatible = "audio-graph-card";
label = "STM32MP1-AV96-HDMI";
label = "STM32-AV96-HDMI";
dais = <&sai2a_port>;
status = "okay";
};
@ -232,6 +232,12 @@ adv7513_i2s0: endpoint {
};
};
};
dh_mac_eeprom: eeprom@53 {
compatible = "atmel,24c02";
reg = <0x53>;
pagesize = <16>;
};
};
&ltdc {

View File

@ -167,12 +167,6 @@ watchdog {
status = "disabled";
};
};
eeprom@53 {
compatible = "atmel,24c02";
reg = <0x53>;
pagesize = <16>;
};
};
&iwdg2 {

View File

@ -406,7 +406,7 @@ &i2s2 {
i2s2_port: port {
i2s2_endpoint: endpoint {
remote-endpoint = <&sii9022_tx_endpoint>;
format = "i2s";
dai-format = "i2s";
mclk-fs = <256>;
};
};

View File

@ -1,7 +1,5 @@
/* SPDX-License-Identifier: GPL-2.0-only */
/*
* arch/arm/include/asm/bugs.h
*
* Copyright (C) 1995-2003 Russell King
*/
#ifndef __ASM_BUGS_H
@ -10,10 +8,8 @@
extern void check_writebuffer_bugs(void);
#ifdef CONFIG_MMU
extern void check_bugs(void);
extern void check_other_bugs(void);
#else
#define check_bugs() do { } while (0)
#define check_other_bugs() do { } while (0)
#endif

View File

@ -130,7 +130,7 @@
flush_pmd_entry(pudp); \
} while (0)
static inline pmd_t *pud_page_vaddr(pud_t pud)
static inline pmd_t *pud_pgtable(pud_t pud)
{
return __va(pud_val(pud) & PHYS_MASK & (s32)PAGE_MASK);
}

View File

@ -1,5 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
#include <linux/init.h>
#include <linux/cpu.h>
#include <asm/bugs.h>
#include <asm/proc-fns.h>
@ -11,7 +12,7 @@ void check_other_bugs(void)
#endif
}
void __init check_bugs(void)
void __init arch_cpu_finalize_init(void)
{
check_writebuffer_bugs();
check_other_bugs();

View File

@ -9,6 +9,7 @@
#include <linux/io.h>
#include <asm/mach/time.h>
#include "soc.h"
#include "platform.h"
/*************************************************************************
* Timer handling for EP93xx
@ -60,7 +61,7 @@ static u64 notrace ep93xx_read_sched_clock(void)
return ret;
}
u64 ep93xx_clocksource_read(struct clocksource *c)
static u64 ep93xx_clocksource_read(struct clocksource *c)
{
u64 ret;

View File

@ -13,6 +13,7 @@
#include <linux/of_platform.h>
#include <linux/irqdomain.h>
#include <linux/clocksource.h>
#include <linux/clockchips.h>
#include <asm/setup.h>
#include <asm/mach/arch.h>

View File

@ -63,6 +63,9 @@ static void __init orion5x_dt_init(void)
if (of_machine_is_compatible("maxtor,shared-storage-2"))
mss2_init();
if (of_machine_is_compatible("lacie,d2-network"))
d2net_init();
of_platform_default_populate(NULL, orion5x_auxdata_lookup, NULL);
}

View File

@ -75,6 +75,12 @@ extern void mss2_init(void);
static inline void mss2_init(void) {}
#endif
#ifdef CONFIG_MACH_D2NET_DT
void d2net_init(void);
#else
static inline void d2net_init(void) {}
#endif
/*****************************************************************************
* Helpers to access Orion registers
****************************************************************************/

View File

@ -40,7 +40,7 @@ enum probes_insn checker_stack_use_imm_0xx(probes_opcode_t insn,
* Different from other insn uses imm8, the real addressing offset of
* STRD in T32 encoding should be imm8 * 4. See ARMARM description.
*/
enum probes_insn checker_stack_use_t32strd(probes_opcode_t insn,
static enum probes_insn checker_stack_use_t32strd(probes_opcode_t insn,
struct arch_probes_insn *asi,
const struct decode_header *h)
{

View File

@ -231,7 +231,7 @@ singlestep(struct kprobe *p, struct pt_regs *regs, struct kprobe_ctlblk *kcb)
* kprobe, and that level is reserved for user kprobe handlers, so we can't
* risk encountering a new kprobe in an interrupt handler.
*/
void __kprobes kprobe_handler(struct pt_regs *regs)
static void __kprobes kprobe_handler(struct pt_regs *regs)
{
struct kprobe *p, *cur;
struct kprobe_ctlblk *kcb;

View File

@ -145,8 +145,6 @@ __arch_remove_optimized_kprobe(struct optimized_kprobe *op, int dirty)
}
}
extern void kprobe_handler(struct pt_regs *regs);
static void
optimized_callback(struct optimized_kprobe *op, struct pt_regs *regs)
{

View File

@ -720,7 +720,7 @@ static const char coverage_register_lookup[16] = {
[REG_TYPE_NOSPPCX] = COVERAGE_ANY_REG | COVERAGE_SP,
};
unsigned coverage_start_registers(const struct decode_header *h)
static unsigned coverage_start_registers(const struct decode_header *h)
{
unsigned regs = 0;
int i;

View File

@ -454,3 +454,7 @@ void kprobe_thumb32_test_cases(void);
#else
void kprobe_arm_test_cases(void);
#endif
void __kprobes_test_case_start(void);
void __kprobes_test_case_end_16(void);
void __kprobes_test_case_end_32(void);

View File

@ -61,7 +61,7 @@ arm-pmu {
interrupt-affinity = <&cpu0>, <&cpu1>;
};
psci {
psci: psci {
compatible = "arm,psci-0.2";
method = "smc";
};

View File

@ -6,6 +6,18 @@
/dts-v1/;
#include "sparx5.dtsi"
&psci {
status = "disabled";
};
&cpu0 {
enable-method = "spin-table";
};
&cpu1 {
enable-method = "spin-table";
};
&uart0 {
status = "okay";
};

View File

@ -26,7 +26,7 @@ chosen {
v1p05: v1p05-regulator {
compatible = "regulator-fixed";
reglator-name = "v1p05";
regulator-name = "v1p05";
regulator-always-on;
regulator-boot-on;
@ -38,7 +38,7 @@ v1p05: v1p05-regulator {
v12_poe: v12-poe-regulator {
compatible = "regulator-fixed";
reglator-name = "v12_poe";
regulator-name = "v12_poe";
regulator-always-on;
regulator-boot-on;

View File

@ -1006,7 +1006,7 @@ dsi_phy0: dsi-phy@1a98300 {
};
};
camss: camss@1b00000 {
camss: camss@1b0ac00 {
compatible = "qcom,msm8916-camss";
reg = <0x01b0ac00 0x200>,
<0x01b00030 0x4>,

View File

@ -489,7 +489,7 @@ restart@fc4ab000 {
reg = <0xfc4ab000 0x4>;
};
spmi_bus: spmi@fc4c0000 {
spmi_bus: spmi@fc4cf000 {
compatible = "qcom,spmi-pmic-arb";
reg = <0xfc4cf000 0x1000>,
<0xfc4cb000 0x1000>,

View File

@ -956,7 +956,7 @@ ufsphy_lane: lanes@627400 {
};
};
camss: camss@a00000 {
camss: camss@a34000 {
compatible = "qcom,msm8996-camss";
reg = <0x00a34000 0x1000>,
<0x00a00030 0x4>,

View File

@ -270,7 +270,7 @@ hscif0_pins: hscif0 {
};
scif1_pins: scif1 {
groups = "scif1_data_b", "scif1_ctrl";
groups = "scif1_data_b";
function = "scif1";
};
@ -330,7 +330,6 @@ rsnd_for_pcm3168a_capture: endpoint {
&scif1 {
pinctrl-0 = <&scif1_pins>;
pinctrl-names = "default";
uart-has-rtscts;
status = "okay";
};

View File

@ -19,25 +19,25 @@ chosen {
&wkup_pmx2 {
mcu_cpsw_pins_default: mcu-cpsw-pins-default {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0x0068, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
J721E_WKUP_IOPAD(0x006c, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */
J721E_WKUP_IOPAD(0x0070, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */
J721E_WKUP_IOPAD(0x0074, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */
J721E_WKUP_IOPAD(0x0078, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */
J721E_WKUP_IOPAD(0x007c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */
J721E_WKUP_IOPAD(0x0088, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */
J721E_WKUP_IOPAD(0x008c, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */
J721E_WKUP_IOPAD(0x0090, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */
J721E_WKUP_IOPAD(0x0094, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */
J721E_WKUP_IOPAD(0x0080, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */
J721E_WKUP_IOPAD(0x0084, PIN_INPUT, 0) /* MCU_RGMII1_RXC */
J721E_WKUP_IOPAD(0x0000, PIN_OUTPUT, 0) /* MCU_RGMII1_TX_CTL */
J721E_WKUP_IOPAD(0x0004, PIN_INPUT, 0) /* MCU_RGMII1_RX_CTL */
J721E_WKUP_IOPAD(0x0008, PIN_OUTPUT, 0) /* MCU_RGMII1_TD3 */
J721E_WKUP_IOPAD(0x000c, PIN_OUTPUT, 0) /* MCU_RGMII1_TD2 */
J721E_WKUP_IOPAD(0x0010, PIN_OUTPUT, 0) /* MCU_RGMII1_TD1 */
J721E_WKUP_IOPAD(0x0014, PIN_OUTPUT, 0) /* MCU_RGMII1_TD0 */
J721E_WKUP_IOPAD(0x0020, PIN_INPUT, 0) /* MCU_RGMII1_RD3 */
J721E_WKUP_IOPAD(0x0024, PIN_INPUT, 0) /* MCU_RGMII1_RD2 */
J721E_WKUP_IOPAD(0x0028, PIN_INPUT, 0) /* MCU_RGMII1_RD1 */
J721E_WKUP_IOPAD(0x002c, PIN_INPUT, 0) /* MCU_RGMII1_RD0 */
J721E_WKUP_IOPAD(0x0018, PIN_OUTPUT, 0) /* MCU_RGMII1_TXC */
J721E_WKUP_IOPAD(0x001c, PIN_INPUT, 0) /* MCU_RGMII1_RXC */
>;
};
mcu_mdio_pins_default: mcu-mdio1-pins-default {
pinctrl-single,pins = <
J721E_WKUP_IOPAD(0x009c, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */
J721E_WKUP_IOPAD(0x0098, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
J721E_WKUP_IOPAD(0x0034, PIN_OUTPUT, 0) /* (L1) MCU_MDIO0_MDC */
J721E_WKUP_IOPAD(0x0030, PIN_INPUT, 0) /* (L4) MCU_MDIO0_MDIO */
>;
};
};

View File

@ -8,16 +8,11 @@
#define __ASM_EXCEPTION_H
#include <asm/esr.h>
#include <asm/kprobes.h>
#include <asm/ptrace.h>
#include <linux/interrupt.h>
#ifdef CONFIG_FUNCTION_GRAPH_TRACER
#define __exception_irq_entry __irq_entry
#else
#define __exception_irq_entry __kprobes
#endif
static inline u32 disr_to_esr(u64 disr)
{

View File

@ -650,9 +650,9 @@ static inline phys_addr_t pud_page_paddr(pud_t pud)
return __pud_to_phys(pud);
}
static inline unsigned long pud_page_vaddr(pud_t pud)
static inline pmd_t *pud_pgtable(pud_t pud)
{
return (unsigned long)__va(pud_page_paddr(pud));
return (pmd_t *)__va(pud_page_paddr(pud));
}
/* Find an entry in the second-level page table. */
@ -711,9 +711,9 @@ static inline phys_addr_t p4d_page_paddr(p4d_t p4d)
return __p4d_to_phys(p4d);
}
static inline unsigned long p4d_page_vaddr(p4d_t p4d)
static inline pud_t *p4d_pgtable(p4d_t p4d)
{
return (unsigned long)__va(p4d_page_paddr(p4d));
return (pud_t *)__va(p4d_page_paddr(p4d));
}
/* Find an entry in the frst-level page table. */

View File

@ -109,8 +109,14 @@
#define SB_BARRIER_INSN __SYS_BARRIER_INSN(0, 7, 31)
#define SYS_DC_ISW sys_insn(1, 0, 7, 6, 2)
#define SYS_DC_IGSW sys_insn(1, 0, 7, 6, 4)
#define SYS_DC_IGDSW sys_insn(1, 0, 7, 6, 6)
#define SYS_DC_CSW sys_insn(1, 0, 7, 10, 2)
#define SYS_DC_CGSW sys_insn(1, 0, 7, 10, 4)
#define SYS_DC_CGDSW sys_insn(1, 0, 7, 10, 6)
#define SYS_DC_CISW sys_insn(1, 0, 7, 14, 2)
#define SYS_DC_CIGSW sys_insn(1, 0, 7, 14, 4)
#define SYS_DC_CIGDSW sys_insn(1, 0, 7, 14, 6)
/*
* System registers, organised loosely by encoding but grouped together

View File

@ -421,7 +421,7 @@ static phys_addr_t pgd_pgtable_alloc(int shift)
static void __init create_mapping_noalloc(phys_addr_t phys, unsigned long virt,
phys_addr_t size, pgprot_t prot)
{
if ((virt >= PAGE_END) && (virt < VMALLOC_START)) {
if (virt < PAGE_OFFSET) {
pr_warn("BUG: not creating mapping for %pa at 0x%016lx - outside kernel range\n",
&phys, virt);
return;
@ -448,7 +448,7 @@ void __init create_pgd_mapping(struct mm_struct *mm, phys_addr_t phys,
static void update_mapping_prot(phys_addr_t phys, unsigned long virt,
phys_addr_t size, pgprot_t prot)
{
if ((virt >= PAGE_END) && (virt < VMALLOC_START)) {
if (virt < PAGE_OFFSET) {
pr_warn("BUG: not updating mapping for %pa at 0x%016lx - outside kernel range\n",
&phys, virt);
return;

View File

@ -8,6 +8,7 @@ menu "Processor type and features"
config IA64
bool
select ARCH_HAS_CPU_FINALIZE_INIT
select ARCH_HAS_DMA_MARK_CLEAN
select ARCH_MIGHT_HAVE_PC_PARPORT
select ARCH_MIGHT_HAVE_PC_SERIO

View File

@ -1,20 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* This is included by init/main.c to check for architecture-dependent bugs.
*
* Needs:
* void check_bugs(void);
*
* Based on <asm-alpha/bugs.h>.
*
* Modified 1998, 1999, 2003
* David Mosberger-Tang <davidm@hpl.hp.com>, Hewlett-Packard Co.
*/
#ifndef _ASM_IA64_BUGS_H
#define _ASM_IA64_BUGS_H
#include <asm/processor.h>
extern void check_bugs (void);
#endif /* _ASM_IA64_BUGS_H */

View File

@ -279,7 +279,7 @@ extern unsigned long VMALLOC_END;
#define pud_bad(pud) (!ia64_phys_addr_valid(pud_val(pud)))
#define pud_present(pud) (pud_val(pud) != 0UL)
#define pud_clear(pudp) (pud_val(*(pudp)) = 0UL)
#define pud_page_vaddr(pud) ((unsigned long) __va(pud_val(pud) & _PFN_MASK))
#define pud_pgtable(pud) ((pmd_t *) __va(pud_val(pud) & _PFN_MASK))
#define pud_page(pud) virt_to_page((pud_val(pud) + PAGE_OFFSET))
#if CONFIG_PGTABLE_LEVELS == 4
@ -287,7 +287,7 @@ extern unsigned long VMALLOC_END;
#define p4d_bad(p4d) (!ia64_phys_addr_valid(p4d_val(p4d)))
#define p4d_present(p4d) (p4d_val(p4d) != 0UL)
#define p4d_clear(p4dp) (p4d_val(*(p4dp)) = 0UL)
#define p4d_page_vaddr(p4d) ((unsigned long) __va(p4d_val(p4d) & _PFN_MASK))
#define p4d_pgtable(p4d) ((pud_t *) __va(p4d_val(p4d) & _PFN_MASK))
#define p4d_page(p4d) virt_to_page((p4d_val(p4d) + PAGE_OFFSET))
#endif

View File

@ -1071,8 +1071,7 @@ cpu_init (void)
}
}
void __init
check_bugs (void)
void __init arch_cpu_finalize_init(void)
{
ia64_patch_mckinley_e9((unsigned long) __start___mckinley_e9_bundles,
(unsigned long) __end___mckinley_e9_bundles);

View File

@ -4,6 +4,7 @@ config M68K
default y
select ARCH_32BIT_OFF_T
select ARCH_HAS_BINFMT_FLAT
select ARCH_HAS_CPU_FINALIZE_INIT if MMU
select ARCH_HAS_DMA_PREP_COHERENT if HAS_DMA && MMU && !COLDFIRE
select ARCH_HAS_SYNC_DMA_FOR_DEVICE if HAS_DMA
select ARCH_HAVE_NMI_SAFE_CMPXCHG if RMW_INSNS

View File

@ -1,21 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* include/asm-m68k/bugs.h
*
* Copyright (C) 1994 Linus Torvalds
*/
/*
* This is included by init/main.c to check for architecture-dependent bugs.
*
* Needs:
* void check_bugs(void);
*/
#ifdef CONFIG_MMU
extern void check_bugs(void); /* in arch/m68k/kernel/setup.c */
#else
static void check_bugs(void)
{
}
#endif

View File

@ -129,7 +129,7 @@ static inline void pud_set(pud_t *pudp, pmd_t *pmdp)
#define __pte_page(pte) ((unsigned long)__va(pte_val(pte) & PAGE_MASK))
#define pmd_page_vaddr(pmd) ((unsigned long)__va(pmd_val(pmd) & _TABLE_MASK))
#define pud_page_vaddr(pud) ((unsigned long)__va(pud_val(pud) & _TABLE_MASK))
#define pud_pgtable(pud) ((pmd_t *)__va(pud_val(pud) & _TABLE_MASK))
#define pte_none(pte) (!pte_val(pte))

View File

@ -10,6 +10,7 @@
*/
#include <linux/kernel.h>
#include <linux/cpu.h>
#include <linux/mm.h>
#include <linux/sched.h>
#include <linux/delay.h>
@ -523,7 +524,7 @@ static int __init proc_hardware_init(void)
module_init(proc_hardware_init);
#endif
void check_bugs(void)
void __init arch_cpu_finalize_init(void)
{
#if defined(CONFIG_FPU) && !defined(CONFIG_M68KFPU_EMU)
if (m68k_fputype == 0) {

View File

@ -4,6 +4,7 @@ config MIPS
default y
select ARCH_32BIT_OFF_T if !64BIT
select ARCH_BINFMT_ELF_STATE if MIPS_FP_SUPPORT
select ARCH_HAS_CPU_FINALIZE_INIT
select ARCH_HAS_FORTIFY_SOURCE
select ARCH_HAS_KCOV
select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE if !EVA

View File

@ -1,17 +1,11 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* This is included by init/main.c to check for architecture-dependent bugs.
*
* Copyright (C) 2007 Maciej W. Rozycki
*
* Needs:
* void check_bugs(void);
*/
#ifndef _ASM_BUGS_H
#define _ASM_BUGS_H
#include <linux/bug.h>
#include <linux/delay.h>
#include <linux/smp.h>
#include <asm/cpu.h>
@ -30,17 +24,6 @@ static inline void check_bugs_early(void)
check_bugs64_early();
}
static inline void check_bugs(void)
{
unsigned int cpu = smp_processor_id();
cpu_data[cpu].udelay_val = loops_per_jiffy;
check_bugs32();
if (IS_ENABLED(CONFIG_CPU_R4X00_BUGS64))
check_bugs64();
}
static inline int r4k_daddiu_bug(void)
{
if (!IS_ENABLED(CONFIG_CPU_R4X00_BUGS64))

View File

@ -210,9 +210,9 @@ static inline void p4d_clear(p4d_t *p4dp)
p4d_val(*p4dp) = (unsigned long)invalid_pud_table;
}
static inline unsigned long p4d_page_vaddr(p4d_t p4d)
static inline pud_t *p4d_pgtable(p4d_t p4d)
{
return p4d_val(p4d);
return (pud_t *)p4d_val(p4d);
}
#define p4d_phys(p4d) virt_to_phys((void *)p4d_val(p4d))
@ -314,9 +314,9 @@ static inline void pud_clear(pud_t *pudp)
#endif
#ifndef __PAGETABLE_PMD_FOLDED
static inline unsigned long pud_page_vaddr(pud_t pud)
static inline pmd_t *pud_pgtable(pud_t pud)
{
return pud_val(pud);
return (pmd_t *)pud_val(pud);
}
#define pud_phys(pud) virt_to_phys((void *)pud_val(pud))
#define pud_page(pud) (pfn_to_page(pud_phys(pud) >> PAGE_SHIFT))

View File

@ -1721,7 +1721,10 @@ static inline void decode_cpucfg(struct cpuinfo_mips *c)
static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
{
c->cputype = CPU_LOONGSON64;
/* All Loongson processors covered here define ExcCode 16 as GSExc. */
decode_configs(c);
c->options |= MIPS_CPU_GSEXCEX;
switch (c->processor_id & PRID_IMP_MASK) {
@ -1731,7 +1734,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
case PRID_REV_LOONGSON2K_R1_1:
case PRID_REV_LOONGSON2K_R1_2:
case PRID_REV_LOONGSON2K_R1_3:
c->cputype = CPU_LOONGSON64;
__cpu_name[cpu] = "Loongson-2K";
set_elf_platform(cpu, "gs264e");
set_isa(c, MIPS_CPU_ISA_M64R2);
@ -1744,14 +1746,12 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
switch (c->processor_id & PRID_REV_MASK) {
case PRID_REV_LOONGSON3A_R2_0:
case PRID_REV_LOONGSON3A_R2_1:
c->cputype = CPU_LOONGSON64;
__cpu_name[cpu] = "ICT Loongson-3";
set_elf_platform(cpu, "loongson3a");
set_isa(c, MIPS_CPU_ISA_M64R2);
break;
case PRID_REV_LOONGSON3A_R3_0:
case PRID_REV_LOONGSON3A_R3_1:
c->cputype = CPU_LOONGSON64;
__cpu_name[cpu] = "ICT Loongson-3";
set_elf_platform(cpu, "loongson3a");
set_isa(c, MIPS_CPU_ISA_M64R2);
@ -1771,7 +1771,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
c->ases &= ~MIPS_ASE_VZ; /* VZ of Loongson-3A2000/3000 is incomplete */
break;
case PRID_IMP_LOONGSON_64G:
c->cputype = CPU_LOONGSON64;
__cpu_name[cpu] = "ICT Loongson-3";
set_elf_platform(cpu, "loongson3a");
set_isa(c, MIPS_CPU_ISA_M64R2);
@ -1781,8 +1780,6 @@ static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu)
panic("Unknown Loongson Processor ID!");
break;
}
decode_configs(c);
}
#else
static inline void cpu_probe_loongson(struct cpuinfo_mips *c, unsigned int cpu) { }

View File

@ -11,6 +11,8 @@
* Copyright (C) 2000, 2001, 2002, 2007 Maciej W. Rozycki
*/
#include <linux/init.h>
#include <linux/cpu.h>
#include <linux/delay.h>
#include <linux/ioport.h>
#include <linux/export.h>
#include <linux/screen_info.h>
@ -829,3 +831,14 @@ static int __init setnocoherentio(char *str)
}
early_param("nocoherentio", setnocoherentio);
#endif
void __init arch_cpu_finalize_init(void)
{
unsigned int cpu = smp_processor_id();
cpu_data[cpu].udelay_val = loops_per_jiffy;
check_bugs32();
if (IS_ENABLED(CONFIG_CPU_R4X00_BUGS64))
check_bugs64();
}

View File

@ -1,20 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0 */
/*
* include/asm-parisc/bugs.h
*
* Copyright (C) 1999 Mike Shaver
*/
/*
* This is included by init/main.c to check for architecture-dependent bugs.
*
* Needs:
* void check_bugs(void);
*/
#include <asm/processor.h>
static inline void check_bugs(void)
{
// identify_cpu(&boot_cpu_data);
}

View File

@ -330,8 +330,8 @@ static inline void pmd_clear(pmd_t *pmd) {
#if CONFIG_PGTABLE_LEVELS == 3
#define pud_page_vaddr(pud) ((unsigned long) __va(pud_address(pud)))
#define pud_page(pud) virt_to_page((void *)pud_page_vaddr(pud))
#define pud_pgtable(pud) ((pmd_t *) __va(pud_address(pud)))
#define pud_page(pud) virt_to_page((void *)pud_pgtable(pud))
/* For 64 bit we have three level tables */

View File

@ -234,7 +234,7 @@ config PPC_EARLY_DEBUG_40x
config PPC_EARLY_DEBUG_CPM
bool "Early serial debugging for Freescale CPM-based serial ports"
depends on SERIAL_CPM
depends on SERIAL_CPM=y
help
Select this to enable early debugging for Freescale chips
using a CPM-based serial port. This assumes that the bootwrapper

View File

@ -429,3 +429,11 @@ checkbin:
echo -n '*** Please use a different binutils version.' ; \
false ; \
fi
@if test "x${CONFIG_FTRACE_MCOUNT_USE_RECORDMCOUNT}" = "xy" -a \
"x${CONFIG_LD_IS_BFD}" = "xy" -a \
"${CONFIG_LD_VERSION}" = "23700" ; then \
echo -n '*** binutils 2.37 drops unused section symbols, which recordmcount ' ; \
echo 'is unable to handle.' ; \
echo '*** Please use a different binutils version.' ; \
false ; \
fi

View File

@ -1030,8 +1030,15 @@ extern struct page *p4d_page(p4d_t p4d);
/* Pointers in the page table tree are physical addresses */
#define __pgtable_ptr_val(ptr) __pa(ptr)
#define pud_page_vaddr(pud) __va(pud_val(pud) & ~PUD_MASKED_BITS)
#define p4d_page_vaddr(p4d) __va(p4d_val(p4d) & ~P4D_MASKED_BITS)
static inline pud_t *p4d_pgtable(p4d_t p4d)
{
return (pud_t *)__va(p4d_val(p4d) & ~P4D_MASKED_BITS);
}
static inline pmd_t *pud_pgtable(pud_t pud)
{
return (pmd_t *)__va(pud_val(pud) & ~PUD_MASKED_BITS);
}
#define pte_ERROR(e) \
pr_err("%s:%d: bad pte %08lx.\n", __FILE__, __LINE__, pte_val(e))

View File

@ -1,15 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
#ifndef _ASM_POWERPC_BUGS_H
#define _ASM_POWERPC_BUGS_H
/*
*/
/*
* This file is included by 'init/main.c' to check for
* architecture-dependent bugs.
*/
static inline void check_bugs(void) { }
#endif /* _ASM_POWERPC_BUGS_H */

View File

@ -56,10 +56,14 @@
#define p4d_none(p4d) (!p4d_val(p4d))
#define p4d_bad(p4d) (p4d_val(p4d) == 0)
#define p4d_present(p4d) (p4d_val(p4d) != 0)
#define p4d_page_vaddr(p4d) (p4d_val(p4d) & ~P4D_MASKED_BITS)
#ifndef __ASSEMBLY__
static inline pud_t *p4d_pgtable(p4d_t p4d)
{
return (pud_t *) (p4d_val(p4d) & ~P4D_MASKED_BITS);
}
static inline void p4d_clear(p4d_t *p4dp)
{
*p4dp = __p4d(0);

View File

@ -164,7 +164,11 @@ static inline void pud_clear(pud_t *pudp)
#define pud_bad(pud) (!is_kernel_addr(pud_val(pud)) \
|| (pud_val(pud) & PUD_BAD_BITS))
#define pud_present(pud) (pud_val(pud) != 0)
#define pud_page_vaddr(pud) (pud_val(pud) & ~PUD_MASKED_BITS)
static inline pmd_t *pud_pgtable(pud_t pud)
{
return (pmd_t *)(pud_val(pud) & ~PUD_MASKED_BITS);
}
extern struct page *pud_page(pud_t pud);

View File

@ -783,9 +783,9 @@ static void free_pud_table(pud_t *pud_start, p4d_t *p4d)
}
static void remove_pte_table(pte_t *pte_start, unsigned long addr,
unsigned long end)
unsigned long end, bool direct)
{
unsigned long next;
unsigned long next, pages = 0;
pte_t *pte;
pte = pte_start + pte_index(addr);
@ -807,13 +807,16 @@ static void remove_pte_table(pte_t *pte_start, unsigned long addr,
}
pte_clear(&init_mm, addr, pte);
pages++;
}
if (direct)
update_page_count(mmu_virtual_psize, -pages);
}
static void __meminit remove_pmd_table(pmd_t *pmd_start, unsigned long addr,
unsigned long end)
unsigned long end, bool direct)
{
unsigned long next;
unsigned long next, pages = 0;
pte_t *pte_base;
pmd_t *pmd;
@ -831,19 +834,22 @@ static void __meminit remove_pmd_table(pmd_t *pmd_start, unsigned long addr,
continue;
}
pte_clear(&init_mm, addr, (pte_t *)pmd);
pages++;
continue;
}
pte_base = (pte_t *)pmd_page_vaddr(*pmd);
remove_pte_table(pte_base, addr, next);
remove_pte_table(pte_base, addr, next, direct);
free_pte_table(pte_base, pmd);
}
if (direct)
update_page_count(MMU_PAGE_2M, -pages);
}
static void __meminit remove_pud_table(pud_t *pud_start, unsigned long addr,
unsigned long end)
unsigned long end, bool direct)
{
unsigned long next;
unsigned long next, pages = 0;
pmd_t *pmd_base;
pud_t *pud;
@ -861,16 +867,20 @@ static void __meminit remove_pud_table(pud_t *pud_start, unsigned long addr,
continue;
}
pte_clear(&init_mm, addr, (pte_t *)pud);
pages++;
continue;
}
pmd_base = (pmd_t *)pud_page_vaddr(*pud);
remove_pmd_table(pmd_base, addr, next);
pmd_base = pud_pgtable(*pud);
remove_pmd_table(pmd_base, addr, next, direct);
free_pmd_table(pmd_base, pud);
}
if (direct)
update_page_count(MMU_PAGE_1G, -pages);
}
static void __meminit remove_pagetable(unsigned long start, unsigned long end)
static void __meminit remove_pagetable(unsigned long start, unsigned long end,
bool direct)
{
unsigned long addr, next;
pud_t *pud_base;
@ -898,8 +908,8 @@ static void __meminit remove_pagetable(unsigned long start, unsigned long end)
continue;
}
pud_base = (pud_t *)p4d_page_vaddr(*p4d);
remove_pud_table(pud_base, addr, next);
pud_base = p4d_pgtable(*p4d);
remove_pud_table(pud_base, addr, next, direct);
free_pud_table(pud_base, p4d);
}
@ -922,7 +932,7 @@ int __meminit radix__create_section_mapping(unsigned long start,
int __meminit radix__remove_section_mapping(unsigned long start, unsigned long end)
{
remove_pagetable(start, end);
remove_pagetable(start, end, true);
return 0;
}
#endif /* CONFIG_MEMORY_HOTPLUG */
@ -958,7 +968,7 @@ int __meminit radix__vmemmap_create_mapping(unsigned long start,
#ifdef CONFIG_MEMORY_HOTPLUG
void __meminit radix__vmemmap_remove_mapping(unsigned long start, unsigned long page_size)
{
remove_pagetable(start, start + page_size);
remove_pagetable(start, start + page_size, false);
}
#endif
#endif
@ -1156,7 +1166,7 @@ int pud_free_pmd_page(pud_t *pud, unsigned long addr)
pmd_t *pmd;
int i;
pmd = (pmd_t *)pud_page_vaddr(*pud);
pmd = pud_pgtable(*pud);
pud_clear(pud);
flush_tlb_kernel_range(addr, addr + PUD_SIZE);

View File

@ -188,7 +188,7 @@ static bool altmap_cross_boundary(struct vmem_altmap *altmap, unsigned long star
unsigned long nr_pfn = page_size / sizeof(struct page);
unsigned long start_pfn = page_to_pfn((struct page *)start);
if ((start_pfn + nr_pfn) > altmap->end_pfn)
if ((start_pfn + nr_pfn - 1) > altmap->end_pfn)
return true;
if (start_pfn < altmap->base_pfn)

View File

@ -106,7 +106,7 @@ struct page *p4d_page(p4d_t p4d)
VM_WARN_ON(!p4d_huge(p4d));
return pte_page(p4d_pte(p4d));
}
return virt_to_page(p4d_page_vaddr(p4d));
return virt_to_page(p4d_pgtable(p4d));
}
#endif
@ -117,7 +117,7 @@ struct page *pud_page(pud_t pud)
VM_WARN_ON(!pud_huge(pud));
return pte_page(pud_pte(pud));
}
return virt_to_page(pud_page_vaddr(pud));
return virt_to_page(pud_pgtable(pud));
}
/*

View File

@ -600,12 +600,12 @@ static void pnv_pci_sriov_disable(struct pci_dev *pdev)
struct pnv_iov_data *iov;
iov = pnv_iov_get(pdev);
num_vfs = iov->num_vfs;
base_pe = iov->vf_pe_arr[0].pe_number;
if (WARN_ON(!iov))
return;
num_vfs = iov->num_vfs;
base_pe = iov->vf_pe_arr[0].pe_number;
/* Release VF PEs */
pnv_ioda_release_vf_PE(pdev);

View File

@ -60,9 +60,9 @@ static inline void pud_clear(pud_t *pudp)
set_pud(pudp, __pud(0));
}
static inline unsigned long pud_page_vaddr(pud_t pud)
static inline pmd_t *pud_pgtable(pud_t pud)
{
return (unsigned long)pfn_to_virt(pud_val(pud) >> _PAGE_PFN_SHIFT);
return (pmd_t *)pfn_to_virt(pud_val(pud) >> _PAGE_PFN_SHIFT);
}
static inline struct page *pud_page(pud_t pud)

View File

@ -69,6 +69,7 @@ struct rv_jit_context {
struct bpf_prog *prog;
u16 *insns; /* RV insns */
int ninsns;
int prologue_len;
int epilogue_offset;
int *offset; /* BPF to RV */
unsigned long flags;
@ -214,8 +215,8 @@ static inline int rv_offset(int insn, int off, struct rv_jit_context *ctx)
int from, to;
off++; /* BPF branch is from PC+1, RV is from PC */
from = (insn > 0) ? ctx->offset[insn - 1] : 0;
to = (insn + off > 0) ? ctx->offset[insn + off - 1] : 0;
from = (insn > 0) ? ctx->offset[insn - 1] : ctx->prologue_len;
to = (insn + off > 0) ? ctx->offset[insn + off - 1] : ctx->prologue_len;
return ninsns_rvoff(to - from);
}

View File

@ -1144,16 +1144,3 @@ void bpf_jit_build_epilogue(struct rv_jit_context *ctx)
{
__build_epilogue(false, ctx);
}
void *bpf_jit_alloc_exec(unsigned long size)
{
return __vmalloc_node_range(size, PAGE_SIZE, BPF_JIT_REGION_START,
BPF_JIT_REGION_END, GFP_KERNEL,
PAGE_KERNEL_EXEC, 0, NUMA_NO_NODE,
__builtin_return_address(0));
}
void bpf_jit_free_exec(void *addr)
{
return vfree(addr);
}

View File

@ -83,6 +83,12 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
prog = orig_prog;
goto out_offset;
}
if (build_body(ctx, extra_pass, NULL)) {
prog = orig_prog;
goto out_offset;
}
for (i = 0; i < prog->len; i++) {
prev_ninsns += 32;
ctx->offset[i] = prev_ninsns;
@ -91,11 +97,15 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
for (i = 0; i < NR_JIT_ITERATIONS; i++) {
pass++;
ctx->ninsns = 0;
bpf_jit_build_prologue(ctx);
ctx->prologue_len = ctx->ninsns;
if (build_body(ctx, extra_pass, ctx->offset)) {
prog = orig_prog;
goto out_offset;
}
bpf_jit_build_prologue(ctx);
ctx->epilogue_offset = ctx->ninsns;
bpf_jit_build_epilogue(ctx);
@ -153,6 +163,10 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
bpf_flush_icache(jit_data->header, ctx->insns + ctx->ninsns);
if (!prog->is_func || extra_pass) {
bpf_jit_binary_lock_ro(jit_data->header);
for (i = 0; i < prog->len; i++)
ctx->offset[i] = ninsns_rvoff(ctx->offset[i]);
bpf_prog_fill_jited_linfo(prog, ctx->offset);
out_offset:
kfree(ctx->offset);
kfree(jit_data);
@ -165,3 +179,16 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
tmp : orig_prog);
return prog;
}
void *bpf_jit_alloc_exec(unsigned long size)
{
return __vmalloc_node_range(size, PAGE_SIZE, BPF_JIT_REGION_START,
BPF_JIT_REGION_END, GFP_KERNEL,
PAGE_KERNEL, 0, NUMA_NO_NODE,
__builtin_return_address(0));
}
void bpf_jit_free_exec(void *addr)
{
return vfree(addr);
}

View File

@ -29,6 +29,7 @@ KBUILD_CFLAGS_DECOMPRESSOR += -fno-delete-null-pointer-checks -msoft-float
KBUILD_CFLAGS_DECOMPRESSOR += -fno-asynchronous-unwind-tables
KBUILD_CFLAGS_DECOMPRESSOR += -ffreestanding
KBUILD_CFLAGS_DECOMPRESSOR += -fno-stack-protector
KBUILD_CFLAGS_DECOMPRESSOR += -fPIE
KBUILD_CFLAGS_DECOMPRESSOR += $(call cc-disable-warning, address-of-packed-member)
KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO),-g)
KBUILD_CFLAGS_DECOMPRESSOR += $(if $(CONFIG_DEBUG_INFO_DWARF4), $(call cc-option, -gdwarf-4,))

View File

@ -2005,6 +2005,10 @@ static unsigned long kvm_s390_next_dirty_cmma(struct kvm_memslots *slots,
ms = slots->memslots + slotidx;
ofs = 0;
}
if (cur_gfn < ms->base_gfn)
ofs = 0;
ofs = find_next_bit(kvm_second_dirty_bitmap(ms), ms->npages, ofs);
while ((slotidx > 0) && (ofs >= ms->npages)) {
slotidx--;

View File

@ -168,7 +168,8 @@ static int setup_apcb00(struct kvm_vcpu *vcpu, unsigned long *apcb_s,
sizeof(struct kvm_s390_apcb0)))
return -EFAULT;
bitmap_and(apcb_s, apcb_s, apcb_h, sizeof(struct kvm_s390_apcb0));
bitmap_and(apcb_s, apcb_s, apcb_h,
BITS_PER_BYTE * sizeof(struct kvm_s390_apcb0));
return 0;
}
@ -190,7 +191,8 @@ static int setup_apcb11(struct kvm_vcpu *vcpu, unsigned long *apcb_s,
sizeof(struct kvm_s390_apcb1)))
return -EFAULT;
bitmap_and(apcb_s, apcb_s, apcb_h, sizeof(struct kvm_s390_apcb1));
bitmap_and(apcb_s, apcb_s, apcb_h,
BITS_PER_BYTE * sizeof(struct kvm_s390_apcb1));
return 0;
}

View File

@ -25,6 +25,7 @@ KBUILD_CFLAGS += -Wno-pointer-sign -Wno-sign-compare
KBUILD_CFLAGS += -fno-zero-initialized-in-bss -fno-builtin -ffreestanding
KBUILD_CFLAGS += -c -MD -Os -m64 -msoft-float -fno-common
KBUILD_CFLAGS += -fno-stack-protector
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
KBUILD_CFLAGS += $(CLANG_FLAGS)
KBUILD_CFLAGS += $(call cc-option,-fno-PIE)
KBUILD_AFLAGS := $(filter-out -DCC_USING_EXPOLINE,$(KBUILD_AFLAGS))

View File

@ -5,6 +5,7 @@ config SUPERH
select ARCH_HAVE_CUSTOM_GPIO_H
select ARCH_HAVE_NMI_SAFE_CMPXCHG if (GUSA_RB || CPU_SH4A)
select ARCH_HAS_BINFMT_FLAT if !MMU
select ARCH_HAS_CPU_FINALIZE_INIT
select ARCH_HAS_GIGANTIC_PAGE
select ARCH_HAS_GCOV_PROFILE_ALL
select ARCH_HAS_PTE_SPECIAL

View File

@ -18,6 +18,18 @@
#include <cpu/dma-register.h>
#include <cpu/dma.h>
/*
* Some of the SoCs feature two DMAC modules. In such a case, the channels are
* distributed equally among them.
*/
#ifdef SH_DMAC_BASE1
#define SH_DMAC_NR_MD_CH (CONFIG_NR_ONCHIP_DMA_CHANNELS / 2)
#else
#define SH_DMAC_NR_MD_CH CONFIG_NR_ONCHIP_DMA_CHANNELS
#endif
#define SH_DMAC_CH_SZ 0x10
/*
* Define the default configuration for dual address memory-memory transfer.
* The 0x400 value represents auto-request, external->external.
@ -29,7 +41,7 @@ static unsigned long dma_find_base(unsigned int chan)
unsigned long base = SH_DMAC_BASE0;
#ifdef SH_DMAC_BASE1
if (chan >= 6)
if (chan >= SH_DMAC_NR_MD_CH)
base = SH_DMAC_BASE1;
#endif
@ -40,13 +52,13 @@ static unsigned long dma_base_addr(unsigned int chan)
{
unsigned long base = dma_find_base(chan);
/* Normalize offset calculation */
if (chan >= 9)
chan -= 6;
if (chan >= 4)
base += 0x10;
chan = (chan % SH_DMAC_NR_MD_CH) * SH_DMAC_CH_SZ;
return base + (chan * 0x10);
/* DMAOR is placed inside the channel register space. Step over it. */
if (chan >= DMAOR)
base += SH_DMAC_CH_SZ;
return base + chan;
}
#ifdef CONFIG_SH_DMA_IRQ_MULTI
@ -250,12 +262,11 @@ static int sh_dmac_get_dma_residue(struct dma_channel *chan)
#define NR_DMAOR 1
#endif
/*
* DMAOR bases are broken out amongst channel groups. DMAOR0 manages
* channels 0 - 5, DMAOR1 6 - 11 (optional).
*/
#define dmaor_read_reg(n) __raw_readw(dma_find_base((n)*6))
#define dmaor_write_reg(n, data) __raw_writew(data, dma_find_base(n)*6)
#define dmaor_read_reg(n) __raw_readw(dma_find_base((n) * \
SH_DMAC_NR_MD_CH) + DMAOR)
#define dmaor_write_reg(n, data) __raw_writew(data, \
dma_find_base((n) * \
SH_DMAC_NR_MD_CH) + DMAOR)
static inline int dmaor_reset(int no)
{

View File

@ -1,74 +0,0 @@
/* SPDX-License-Identifier: GPL-2.0 */
#ifndef __ASM_SH_BUGS_H
#define __ASM_SH_BUGS_H
/*
* This is included by init/main.c to check for architecture-dependent bugs.
*
* Needs:
* void check_bugs(void);
*/
/*
* I don't know of any Super-H bugs yet.
*/
#include <asm/processor.h>
extern void select_idle_routine(void);
static void __init check_bugs(void)
{
extern unsigned long loops_per_jiffy;
char *p = &init_utsname()->machine[2]; /* "sh" */
select_idle_routine();
current_cpu_data.loops_per_jiffy = loops_per_jiffy;
switch (current_cpu_data.family) {
case CPU_FAMILY_SH2:
*p++ = '2';
break;
case CPU_FAMILY_SH2A:
*p++ = '2';
*p++ = 'a';
break;
case CPU_FAMILY_SH3:
*p++ = '3';
break;
case CPU_FAMILY_SH4:
*p++ = '4';
break;
case CPU_FAMILY_SH4A:
*p++ = '4';
*p++ = 'a';
break;
case CPU_FAMILY_SH4AL_DSP:
*p++ = '4';
*p++ = 'a';
*p++ = 'l';
*p++ = '-';
*p++ = 'd';
*p++ = 's';
*p++ = 'p';
break;
case CPU_FAMILY_UNKNOWN:
/*
* Specifically use CPU_FAMILY_UNKNOWN rather than
* default:, so we're able to have the compiler whine
* about unhandled enumerations.
*/
break;
}
printk("CPU: %s\n", get_cpu_subtype(&current_cpu_data));
#ifndef __LITTLE_ENDIAN__
/* 'eb' means 'Endian Big' */
*p++ = 'e';
*p++ = 'b';
#endif
*p = '\0';
}
#endif /* __ASM_SH_BUGS_H */

View File

@ -32,9 +32,9 @@ typedef struct { unsigned long long pmd; } pmd_t;
#define pmd_val(x) ((x).pmd)
#define __pmd(x) ((pmd_t) { (x) } )
static inline unsigned long pud_page_vaddr(pud_t pud)
static inline pmd_t *pud_pgtable(pud_t pud)
{
return pud_val(pud);
return (pmd_t *)(unsigned long)pud_val(pud);
}
/* only used by the stubbed out hugetlb gup code, should never be called */

View File

@ -167,6 +167,8 @@ extern unsigned int instruction_size(unsigned int insn);
#define instruction_size(insn) (2)
#endif
void select_idle_routine(void);
#endif /* __ASSEMBLY__ */
#include <asm/processor_32.h>

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