Commit Graph

714 Commits

Author SHA1 Message Date
Greg Kroah-Hartman
71594e9899 Merge branch 'android12-5.10' into 'android13-5.10'
Catch up on lots of commits that only went into the 12 branch that also
need to be here in the 13 branch.

This consists of the following commits merged:

76081a5f72 FROMLIST: kbuild: mkcompile_h: consider timestamp if KBUILD_BUILD_TIMESTAMP is set
fbf19aeacc gki_config: Disable CONFIG_DEBUG_STACK_USAGE
b44e46bb04 FROMGIT: mm: improve mprotect(R|W) efficiency on pages referenced once
54e7412d4f FROMGIT: mm: slub: move sysfs slab alloc/free interfaces to debugfs
45d0c6c5aa ANDROID: gki - CONFIG_NET_SCH_FQ=y
79f44ef795 ANDROID: GKI: Kconfig.gki: Add GKI_HIDDEN_ETHERNET_CONFIGS
79258e28eb FROMLIST: media: Kconfig: Fix DVB_CORE can't be selected as module
0451e8af91 ANDROID: Update ABI and symbol list
1ac622485e Revert "net: usb: cdc_ncm: don't spew notifications"
9e08e97ec6 Merge 5.10.43 into android12-5.10
b9ae3287e3 ANDROID: Fips 140: move fips symbols entirely in own list
3871aa16fd ANDROID: core of xt_IDLETIMER send_nl_msg support
b4355a880a ANDROID: start to re-add xt_IDLETIMER send_nl_msg support
a11dacedd6 ANDROID: add fips140.ko symbols to module ABI
868be244bb ANDROID: inject correct HMAC digest into fips140.ko at build time
6be141eb36 ANDROID: crypto: fips140 - perform load time integrity check
0672a69424 FROMLIST: crypto: shash - stop comparing function pointers to avoid breaking CFI
254da9ba36 ANDROID: arm64: module: preserve RELA sections for FIPS140 integrity selfcheck
15f0fc91e1 ANDROID: arm64: simd: omit capability check in may_use_simd()
6772dcc141 ANDROID: kbuild: lto: permit the use of .a archives in LTO modules
ddea30c684 ANDROID: arm64: only permit certain alternatives in the FIPS140 module
9c556792b7 ANDROID: crypto: lib/aes - add vendor hooks for AES library routines
7a689ebc67 ANDROID: crypto: lib/sha256 - add vendor hook for sha256() routine
4190dbd6ad UPSTREAM: KVM: arm64: Mark the host stage-2 memory pools static
6288fa47f4 UPSTREAM: arm64: mm: don't use CON and BLK mapping if KFENCE is enabled
e44e1f38be UPSTREAM: x86/build: Fix location of '-plugin-opt=' flags
5df654d642 UPSTREAM: binder: Return EFAULT if we fail BINDER_ENABLE_ONEWAY_SPAM_DETECTION
2aee873ab2 UPSTREAM: usb: dwc3: imx8mp: fix error return code in dwc3_imx8mp_probe()
ff1eb3fcd0 UPSTREAM: usb: dwc3: core: Add missing GHWPARAMS9 doc
52ce94e8bf UPSTREAM: KVM: arm64: Fix error return code in init_hyp_mode()
67d005b0ac UPSTREAM: KVM: arm64: Support PREL/PLT relocs in EL2 code
c04f2026cf UPSTREAM: iommu/mediatek: Always enable the clk on resume
c46f002566 UPSTREAM: mm: page_alloc: ignore init_on_free=1 for debug_pagealloc=1
282faf9977 UPSTREAM: dt-bindings: iommu: mediatek: update mediatek,iommu.yaml references
db8e491a1b UPSTREAM: media: mtk: fix mtk-smi dependency
def7a8e7d7 UPSTREAM: software node: Allow node addition to already existing device
d0db984f3e UPSTREAM: coresight: etm-perf: Fix define build issue when built as module
3ddee7b2ee UPSTREAM: kbuild: lto: Merge module sections if and only if CONFIG_LTO_CLANG is enabled
94cf2b2d1d UPSTREAM: kunit: tool: Disable PAGE_POISONING under --alltests
a1cc08d515 UPSTREAM: gpiolib: Fix error return code in gpiolib_dev_init()
5f7ec0f4c3 UPSTREAM: memblock: fix section mismatch warning
96fd9e07c0 UPSTREAM: software node: Fix device_add_software_node()
4378c305d9 UPSTREAM: gpio: fix NULL-deref-on-deregistration regression
2fc5237198 BACKPORT: kbuild: fix UNUSED_KSYMS_WHITELIST for Clang LTO
f107d073ce UPSTREAM: kbuild: lto: add _mcount to list of used symbols
9bf26f0ace UPSTREAM: arm64: Add missing ISB after invalidating TLB in enter_vhe
b1843022a9 UPSTREAM: kbuild: Move .thinlto-cache removal to 'make clean'
4150d73816 UPSTREAM: parisc: select FTRACE_MCOUNT_USE_PATCHABLE_FUNCTION_ENTRY
e11b323bca UPSTREAM: kbuild: prevent CC_FLAGS_LTO self-bloating on recursive rebuilds
631b4dba04 UPSTREAM: regulator: qcom-rpmh: fix build after QCOM_COMMAND_DB is tristate
4e0d16b049 UPSTREAM: dma-buf: cma_heap: Include linux/vmalloc.h to fix build failures on MIPS
4fef0d39b8 UPSTREAM: signal/parisc: Remove parisc specific definition of __ARCH_UAPI_SA_FLAGS
259e0a28b9 UPSTREAM: nl80211: fix kernel-doc warning in the new SAE attribute
8cc6bf3aaf ANDROID: abi_gki_aarch64_qcom: Add cpuidle_psci and gic_resume symbols
5fd82d3115 ANDROID: gic-v3: Export gic_resume() for vendor GIC enhancements
fb49b843af ANDROID: cpuidle-psci: Add vendor hook for cpuidle psci enter and exit
6227516eed FROMGIT: usb: typec: mux: Fix copy-paste mistake in typec_mux_match
623c68fc85 FROMGIT: usb: typec: ucsi: Clear PPM capability data in ucsi_init() error path
a685bf3fce ANDROID: export cpuset_cpus_allowed()for GKI purpose.
12be942aad ANDROID: GKI: Update abi_gki_aarch64_qcom list for shmem reclaim
4373261be0 ANDROID: tracing: Add generic flag for register tracing disable
c9b8fa644f ANDROID: user: Add vendor hook to user for GKI purpose
9975da5f43 ANDROID: mm: allow fast reclaim of shmem pages
13af062abf ANDROID: vendor_hooks: Export the tracepoints sched_stat_sleep and sched_waking to let module probe them
d7f8a548b8 FROMLIST: remoteproc: use freezable workqueue for crash notifications
06229c49eb UPSTREAM: erofs: support adjust lz4 history window size
0a24d25f08 UPSTREAM: erofs: use sync decompression for atomic contexts only
0ca4eafb39 UPSTREAM: erofs: use workqueue decompression for atomic contexts only
5a44e4bc13 UPSTREAM: erofs: avoid memory allocation failure during rolling decompression
4ae1c8a4d0 UPSTREAM: erofs: force inplace I/O under low memory scenario
46a00756cb UPSTREAM: erofs: insert to managed cache after adding to pcl
b1c757466f UPSTREAM: erofs: get rid of magical Z_EROFS_MAPPING_STAGING
567f25f92d ANDROID: abi_gki_aarch64_qcom: Add thermal_cooling_device_register
027f748df3 ANDROID: ABI: Update allowed list for QCOM
87378c6fbc FROMGIT: usb: typec: tcpm: Do not finish VDM AMS for retrying Responses
72133c19f5 FROMGIT: usb: fix various gadget panics on 10gbps cabling
912ecda3a6 FROMGIT: usb: fix various gadgets null ptr deref on 10gbps cabling.
9953e42b79 FROMGIT: usb: f_ncm: only first packet of aggregate needs to start timer
0b198ecef5 FROMGIT: USB: f_ncm: ncm_bitrate (speed) is unsigned
569693970c ANDROID: gki - CONFIG_NET_SCH_{CODEL,FQ_CODEL,SFQ}=y
ebab44be93 ANDROID: gki - enable CONFIG_USB_CONFIGFS_{EEM,ECM}=y
0dd4d6b58c ANDROID: gki - enable CONFIG_USB_NET_CDC_EEM=y
57743c387e ANDROID: gki - enable CONFIG_USB_RTL8150=y
2699fa478d ANDROID: mm: vmscan: support equal reclaim for anon and file pages
4a819fbf90 ANDROID: qcom: Add more neighbor and dev related symbols
5267b2b574 ANDROID: GKI: Update abi_gki_aarch64_qcom for process killed symbol
813d6c9121 ANDROID: mm/memory_hotplug: Relax remove_memory_subsection error checking
d98a1df787 ANDROID: usb: typec: tcpm: Fixup the wait time for SNK_DISCOVERY
bb6f011afc FROMGIT: usb: typec: tcpm: Fix misuses of AMS invocation
1139005f05 ANDROID: Update the ABI representation
0ba59d42cb ANDROID: Update the generic symbol list
2a1bc2387d ANDROID: abi_gki_aarch64_qcom: Add symbols for 32bit execve
3f5e8b830c ANDROID: sched: create trace points for 32bit execve
79cb255c79 BACKPORT: FROMGIT: mm: arch: remove indirection level in alloc_zeroed_user_highpage_movable()
5083a1ca9d UPSTREAM: arm64: kasan: Set TCR_EL1.TBID1 when KASAN_HW_TAGS is enabled
a1580311c3 ANDROID: freezer: Add vendor hook to freezer for GKI purpose.
00dc4c64e6 ANDROID: kernel: Fix passing NULL to __pa_symbol()
27c285003d ANDROID: sched: Add vendor hook to select ilb cpu
5ed6c99c8f ANDROID: GKI: enable CONFIG_EROFS_FS=y
2d5c7aedc0 FROMGIT: dt-bindings: connector: Replace BIT macro with generic bit ops
505d41dcf1 FROMGIT: usb: dwc3: debugfs: Add and remove endpoint dirs dynamically
4c323ffd1c FROMGIT: dt-bindings: connector: Add PD rev 2.0 VDO definition
bbdac2c2ad FROMGIT: usb: typec: tcpm: Correct the responses in SVDM Version 2.0 DFP
22116da321 FROMGIT: Revert "usb: dwc3: core: Add shutdown callback for dwc3"
4fa67303ce Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.10.y' into android12-5.10
5cf77864a3 ANDROID: arm scmi: add vendor hook to adjust the rx timeout.
89e44fb838 FROMGIT: userfaultfd: fix UFFDIO_CONTINUE ioctl request definition
72863addaa FROMGIT: userfaultfd/selftests: exercise minor fault handling shmem support
c2c081d009 BACKPORT: FROMGIT: userfaultfd/selftests: reinitialize test context in each test
b96a58e012 FROMGIT: userfaultfd/selftests: create alias mappings in the shmem test
9f837b909a FROMGIT: userfaultfd/selftests: use memfd_create for shmem test type
0b161cf6fc FROMGIT: userfaultfd/shmem: modify shmem_mfill_atomic_pte to use install_pte()
6a41f38998 FROMGIT: userfaultfd/shmem: advertise shmem minor fault support
81231b63ad FROMGIT: userfaultfd/shmem: support UFFDIO_CONTINUE for shmem
0c959cd889 BACKPORT: FROMGIT: userfaultfd/shmem: support minor fault registration for shmem
5f6dc07839 BACKPORT: FROMGIT: userfaultfd/shmem: combine shmem_{mcopy_atomic,mfill_zeropage}_pte
84330a5f50 Revert "BACKPORT: FROMGIT: userfaultfd: support minor fault handling for shmem"
13e14ca0e0 Revert "FROMGIT: userfaultfd/selftests: use memfd_create for shmem test type"
72a3f935ad Revert "FROMGIT: userfaultfd/selftests: create alias mappings in the shmem test"
8f6445acee Revert "BACKPORT: FROMGIT: userfaultfd/selftests: reinitialize test context in each test"
442b6e0704 Revert "FROMGIT: userfaultfd/selftests: exercise minor fault handling shmem support"
21a8683a8b Revert "FROMLIST: userfaultfd/shmem: fix minor fault page leak"
f57e3e5112 ANDROID: GKI: 6/4/2021 KMI update
f1a161b019 ANDROID: media: v4l2-core: extend the v4l2 format to support request
bf769b7216 ANDROID: vendor_hooks: add hook and OEM data for slab shrink
0b76ef69f6 ANDROID: sched: Add oem data in struct rq
f88eb0d245 ANDROID: android: Add nr_swap_pages to debug_symbols driver
9b5c870516 ANDROID: GKI: Enable CONFIG_PCIEAER for arm64 andx86_64
186313055b UPSTREAM: media: docs: Document CLL and Mastering display colorimetry controls
43461c878a UPSTREAM: media: v4l: Add HDR10 static metadata controls
683232ea4c UPSTREAM: media: uapi: Move the H264 stateless control types out of staging
372b24bad2 ANDROID: GKI: Add OEM data to mutex/rwsem
b3df6eb195 FROMGIT: usb: typec: tcpci: Make symbol 'tcpci_apply_rc' static
29be10211c FROMGIT: usb: typec: tcpci: Implement callback for apply_rc
750135f7ae FROMGIT: usb: typec: tcpm: Move TCPC to APPLY_RC state during PR_SWAP
a7d161dc5a ANDROID: GKI: device.h: add rcu_head back to struct device_link
60ea20ed1e FROMGIT: drivers: base: Reduce device link removal code duplication
cead4664c2 FROMGIT: drivers: base: Fix device link removal
fb57fa3d60 UPSTREAM: scsi: ufs-mediatek: Keep VCC always-on for specific devices
caa3c2bab0 UPSTREAM: scsi: ufs: Allow regulators being always-on
4ac5f3e178 UPSTREAM: scsi: ufs-mediatek: Use correct path to fix compile error
1898121800 UPSTREAM: scsi: ufs-mediatek: Introduce event_notify implementation
c88e6599d2 BACKPORT: scsi: ufs: Introduce event_notify variant function
f92f904d55 Revert "Revert "clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940""
e86d688e51 Revert "Revert "PM: runtime: Fix unpaired parent child_count for force_resume""
df50ab971a Revert "Revert "kyber: fix out of bounds access when preempted""
a993cac61a Revert "Revert "usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4""
556758235b Revert "Revert "mm: fix struct page layout on 32-bit systems""
e1611d8751 ANDROID: GKI: Enlarge OEM data reserved in task_struct
474a726efd ANDROID: GKI: add OEM data in cma struct
ab20ac9696 FROMGIT: scsi: ufs: Remove redundant checks of !hba in suspend/resume callbacks
523a4fd3f4 FROMGIT: scsi: ufs: Minor adjustments to error handling
8fbb826868 BACKPORT: FROMGIT: scsi: ufs: Clean up and refactor clk-scaling feature
099309ec7b FROMGIT: scsi: ufs: Remove redundant null checking of devfreq instance
6440a2c00d FROMGIT: scsi: ufs: Refactor cancelling clkscaling works
67eb703be2 FROMGIT: scsi: ufs: Give clk scaling min gear a value
0226db1f3a BACKPORT: FROMGIT: scsi: ufs: Refactor ufshcd_init/exit_clk_scaling/gating()
5ee06e06fb BACKPORT: FROMGIT: scsi: ufs: Protect some contexts from unexpected clock scaling
e0d506a786 FROMGIT: scsi: ufs: Stop hardcoding the scale down gear
b9a049ac4e FROMGIT: Revert "Make sure clk scaling happens only when HBA is runtime ACTIVE"
3a3b24ef29 BACKPORT: FROMGIT: scsi: ufs: Protect PM ops and err_handler from user access through sysfs
47149e58f4 ANDROID: Update the ABI xml and symbol list
18eae90751 FROMGIT: timer_list: Print name of per-cpu wakeup device
41b08205cb FROMGIT: tick/broadcast: Program wakeup timer when entering idle if required
130cd0ecfa FROMGIT: tick/broadcast: Prefer per-cpu oneshot wakeup timers to broadcast
4b3ac410bc FROMGIT: tick/broadcast: Split __tick_broadcast_oneshot_control() into a helper
fbcfac4490 FROMGIT: tick/broadcast: Drop unneeded CONFIG_GENERIC_CLOCKEVENTS_BROADCAST guard
5621e45f70 FROMGIT: usb: gadget: f_fs: Ensure io_completion_wq is idle during unbind
7b163b6295 FROMGIT: usb: typec: tcpm: cancel send discover hrtimer when unregister tcpm port
f793ff4b81 FROMGIT: usb: typec: tcpm: cancel frs hrtimer when unregister tcpm port
693c200239 FROMGIT: usb: typec: tcpm: cancel vdm and state machine hrtimer when unregister tcpm port
e4046d6ecc FROMGIT: usb: typec: tcpm: Properly handle Alert and Status Messages
e3e4ee0e9f ANDROID: usb: export tracepoint for dwc3_complete_trb
da4b3a9637 ANDROID: GKI: Request enable some kernel configs for background speed limit function
016d3f7b69 ANDROID: vendor_hooks: Export the tracepoints task_rename
f2d87eb3a0 Revert "Revert "ANDROID: usb: dwc3: gadget: don't cancel the started requests""
3bcdb496f4 ANDROID: signal: Add vendor hook for memory reaping
3f491d10dc Revert "ANDROID: mm: oom_kill: reap memory of a task that receives SIGKILL"
4794cb419d FROMGIT: kfence: unconditionally use unbound work queue
cdd895c318 FROMLIST: bootconfig: Share the checksum function with tools
88fa7f8bf0 FROMLIST: docs: bootconfig: Update for mixing value and subkeys
0b3bf71fa3 FROMLIST: tools/bootconfig: Support mixed value and subkey test cases
a504731003 FROMLIST: bootconfig: Support mixing a value and subkeys under a key
7559923b1a FROMLIST: bootconfig: Change array value to use child node
d5554e5096 FROMLIST: tools/bootconfig: Fix a build error accroding to undefined fallthrough
4c1097df5d ANDROID: Add an extra wake flag for android vendor use
28e408cd4c Revert "drivers: base: Fix device link removal"
c5d480cd47 Merge 5.10.42 into android12-5.10
4a85b01172 Revert "FROMLIST: Makefile: add -fuse-ld=lld to KBUILD_HOSTLDFLAGS when LLVM=1"
247a0be702 Revert "ANDROID: Makefile: add compiler-rt dependency explicitly"
45bd3ff939 FROMLIST: crypto: arm64/aes-ce - stop using SIMD helper for skciphers
2dabae8b98 FROMLIST: crypto: arm64/aes-neonbs - stop using SIMD helper for skciphers
71b39cf2e5 ANDROID: cgroup/cpuset: Do not access task_cs(p) outside of RCU
1099a4407d ANDROID: dma-heap: Let system heap report total pool size
196f1975a8 ANDROID: sched: Gate sched_stat tracepoint exports on CONFIG_SCHEDSTATS
4a9c2f05e4 ANDROID: GKI: Update abi_gki_aarch64_qcom list
a4fbf60f6e ANDROID: vmlinux.lds.h: Keep .eh_frame with CFI
bcfe28b62f ANDROID: vendor_hooks: Add vendor hook for tcpm logs
2e2fd329bb UPSTREAM: usb: pd: Set PD_T_SINK_WAIT_CAP to 310ms
b4c4426985 UPSTREAM: usb: dwc3: gadget: Disable gadget IRQ during pullup disable
7a9089951e FROMLIST: sched: Defer wakeup in ttwu() for unschedulable frozen tasks
3128f5e30c FROMLIST: freezer: Add frozen_or_skipped() helper function
7b04b63e1c Revert "ANDROID: vmlinux.lds.h: Define SANITIZER_DISCARDS with CONFIG_CFI_CLANG"
a6bb1af39d ANDROID: vendor_hooks: Export the tracepoints sched_stat_iowait, sched_stat_blocked, sched_stat_wait to let modules probe them
db81ae3c3e FROMGIT: kasan: speed up mte_set_mem_tag_range
3983753280 ANDROID: vendor_hooks: Add hooks for cpufreq_acct_update_power
7a36600f99 ANDROID: GKI: add symbol list file for xiaomi
6f33bce13a ANDROID: usb: export tracepoint for usb gadget connect/disconnect
0c811ab6f7 ANDROID: usb: add EXPORT_TRACE_SYMBOL to export tracepoint
fe2ecaf37f ANDROID: usb: add EXPORT_TRACE_SYMBOL to export tracepoint
4d5d751670 UPSTREAM: usb: core: reduce power-on-good delay time of root hub
2c6791b32f UPSTREAM: fuse: fix matching of FUSE_DEV_IOC_CLONE command
5e424f8596 ANDROID: fuse/passthrough: API V2 with __u32 open argument
b6996d317c UPSTREAM: usb: typec: ucsi: Clear pending after acking connector change
37af541faf UPSTREAM: xhci: Fix 5.12 regression of missing xHC cache clearing command after a Stall
fb808d7c18 UPSTREAM: xhci: fix giving back URB with incorrect status regression in 5.12
12b1e5746c Merge 5.10.41 into android12-5.10
22bc7e38f1 BACKPORT: FROMGIT: scsi: ufs: Fix a possible NULL pointer issue
a0b04503a2 FROMGIT: scsi: ufs: Replace sprintf and snprintf with sysfs_emit
24455210fa FROMGIT: usb: typec: tcpm: Refactor logic to enable/disable auto vbus dicharge
ee87839030 FROMGIT: usb: typec: tcpm: Fix up PR_SWAP when vsafe0v is signalled
cadbca1c5e ANDROID: vendor_hooks: Add a hook for task tagging
4968ab31d1 Merge 5.10.40 into android12-5.10
9f8cf79e74 ANDROID: Update virtual platform symbol list
347bb119f5 ANDROID: dm-user: Fix build warnings
77d89f6d91 ANDROID: abi_gki_aarch64_qcom: Add devfreq_get_devfreq_by_node symbol
629a82a0f3 ANDROID: abi_gki_aarch64_mtk: Remove execute permissions
fbdf9cd38a FROMLIST: mm: page_alloc: dump migrate-failed pages only at -EBUSY
8c944335a3 ANDROID: Fix access invalid addr because it is not initialized
3134ed20c7 f2fs: introduce FI_COMPRESS_RELEASED instead of using IMMUTABLE bit
e79067da34 f2fs: compress: remove unneeded preallocation
42bbf0bcc2 f2fs: avoid attaching SB_ACTIVE flag during mount/remount
df59b5b285 f2fs: atgc: export entries for better tunability via sysfs
b6202381e2 f2fs: compress: fix to disallow temp extension
c3e569d5b8 f2fs: let's allow compression for mmap files
6662ac477e f2fs: add MODULE_SOFTDEP to ensure crc32 is included in the initramfs
c23597effb f2fs: return success if there is no work to do
5a18a6da18 UPSTREAM: kasan: slab: always reset the tag in get_freepointer_safe()
df15808ad3 ANDROID: abi_gki_aarch64_qcom: Add topology update symbols
9d80dbe0a3 ANDROID: dm-user: Fail the IO if there is no daemon
78a9cd650a ANDROID: add initial symbol list for mtk
4b280e66ee ANDROID: fix a warning due to type mismatch in pr_warn
2f056f11e8 ANDROID: sched: fix race with CPU hot-unplug when overriding affinity
b6cab5d17d ANDROID: GKI: Enable CONFIG_IOMMU_IO_PGTABLE_ARMV7S
5212e0235f ANDROID: abi_gki_aarch64_qcom: Add kthread cgroup migration rvh symbol
80fef39de7 ANDROID: usb: gadget: Resolve NULL pointer dereference in composite_disconnect
2ea27b7efa ANDROID: GKI: Kconfig.gki: enable CONFIG_HMM_MIRROR with HIDDEN GPU
3a71ca1496 ANDROID: mm: page_pinner: skip marking failure on freeable pages
0249af9c0e ANDROID: mm: page_alloc: skip dump pages for freeable page
72488b3be4 ANDROID: mm, oom: add vendor hook to prevent oom panic
83aa0320cf FROMLIST: kthread: Fix kthread_mod_delayed_work vs kthread_cancel_delayed_work_sync race
844b79385a f2fs: compress: clean up parameter of __f2fs_cluster_blocks()
11297f9ea4 f2fs: compress: remove unneeded f2fs_put_dnode()
bb5f20d10c f2fs: atgc: fix to set default age threshold
b0d1189801 f2fs: Prevent swap file in LFS mode
f69aba5779 f2fs: fix to avoid racing on fsync_entry_slab by multi filesystem instances
bdc14e1a49 f2fs: restructure f2fs page.private layout
e7eb6b5377 f2fs: add cp_error check in f2fs_write_compressed_pages
1a200c451e f2fs: compress: rename __cluster_may_compress
3b14b6a653 FROMGIT: usb: typec: tcpm: Respond Not_Supported if no snk_vdo
5b94901e9e FROMGIT: usb: typec: tcpm: Properly interrupt VDM AMS
d79aca773d FROMGIT: usb: typec: tcpm: Use LE to CPU conversion when accessing msg->header
855f802610 Merge 5.10.39 into android12-5.10
762674c166 UPSTREAM: swiotlb: Fix the type of index
26a8c2ab13 ANDROID: Don't add image to all target with KBUILD_MIXED_TREE
1592e43590 ANDROID: I3C: Enable I3C core framework
211fb51c3b ANDROID: GKI: Update abi_gki_aarch64_qcom for hung task detect
14fbfc9c0e ANDROID: GKI: 5/21 KMI update
3a173ef887 FROMGIT: blk-mq: clearing flush request reference in tags->rqs[]
72018550d7 FROMGIT: blk-mq: clear stale request in tags->rq[] before freeing one request pool
c944b0c934 FROMGIT: blk-mq: grab rq->refcount before calling ->fn in blk_mq_tagset_busy_iter
0270bff881 Revert "ANDROID: GKI: Enable CONFIG_KUNIT"
ad14489b58 BACKPORT: block: Remove queue_limits.bio_max_bytes
c141d9773b FROMGIT: kasan: use dump_stack_lvl(KERN_ERR) to print stacks
53efd89f41 FROMGIT: fix for "printk: introduce dump_stack_lvl()"
359a038bbf FROMGIT: printk: introduce dump_stack_lvl()
0aa48437bf UPSTREAM: arm64: mte: Remove unused mte_assign_mem_tag_range()
63990c63c3 UPSTREAM: arm64: mte: make the per-task SCTLR_EL1 field usable elsewhere
8bc6337823 ANDROID: vendor_hooks: add hooks for slab memory leak debugging
70094f39c7 Revert "Revert "ANDROID: GKI: Change UCLAMP_BUCKETS_COUNT to 20""
17f9730086 ANDROID: GKI: Disable CONFIG_ZONE_DMA on arm64
065b3eabbd ANDROID: abi_gki_aarch64_qcom: Add *gic_v3_set_affinity trace syms
e80bcd4627 ANDROID: mmc: Add vendor hooks
3bd9ad7eb4 ANDROID: gic-v3: Change GIC v3 vendor hook to restricted
0dc97b664f ANDROID: GKI: enable hidden configs for DMA
6f3a72c462 ANDROID: GKI: remove kernel_read from abi symbol list
51dc321c7d Revert "Revert "mmc: block: Issue a cache flush only when it's enabled""
e606ad4aae Revert "ANDROID: GKI: restore a part of "struct mmc_host""
71a3aa889d Revert "Revert "media: v4l2-ctrls: fix reference to freed memory""
4cef9277ba Revert "Revert "sched,fair: Alternative sched_slice()""
63524ab60a FROMGIT: usb: typec: tcpm: Send DISCOVER_IDENTITY from dedicated work
60b53937ab FROMGIT: usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4
10823e5b1e Revert "Revert "nvme-pci: set min_align_mask""
c53986ee8b Revert "Revert "swiotlb: respect min_align_mask""
a4094253bf Revert "Revert "swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single""
9bd37c7924 Revert "Revert "swiotlb: refactor swiotlb_tbl_map_single""
8ebef45db5 Revert "Revert "swiotlb: clean up swiotlb_tbl_unmap_single""
2893baee79 Revert "Revert "swiotlb: factor out a nr_slots helper""
7b5e000065 Revert "Revert "swiotlb: factor out an io_tlb_offset helper""
fb0759a0d9 Revert "Revert "swiotlb: add a IO_TLB_SIZE define""
20fa297001 Revert "Revert "driver core: add a min_align_mask field to struct device_dma_parameters""
4d55905007 Revert "Revert "capabilities: require CAP_SETFCAP to map uid 0""
b73471e4e7 Revert "ANDROID: usb: typec: ucsi: Ensure bounds check when accessing src_pdos"
167612c1d4 ANDROID: Fix compilation error with huge_pmd_share()
f2f8d7326a UPSTREAM: mm: memblock: add more debug logs
a46e3fa139 UPSTREAM: mm: memblock: drop __init from memblock functions to make it inline
c8df669b7c ANDROID: modpost: Check for KBUILD_MIXED_TREE for Modules.symvers
17b9c24b25 ANDROID: hung_task: Add vendor hook for hung task detect
1b6f2f6e29 ANDROID: vendor_hooks: add hook to balance_dirty_pages()
dc5241048f ANDROID: vendor_hooks: Add hooks for reducing virtual address fragmentation
f150653471 ANDROID: abi_gki_aarch64_qcom: Add aes_encrypt/aes_expandkey
15acc8fac6 ANDROID: iommu: Add vendor hook for iova allocation and free tracking
9b6836900e ANDROID: iommu/io-pgtable-arm: Fix unmapping loop in __arm_lpae_unmap()
bb0eadd830 ANDROID: kernel: Fix debug_kinfo warning message
c34cd7750e Revert "mm: fix struct page layout on 32-bit systems"
4940c943b4 Revert "usb: typec: ucsi: Retrieve all the PDOs instead of just the first 4"
59870a78d4 Revert "kyber: fix out of bounds access when preempted"
6120544b9b Revert "PM: runtime: Fix unpaired parent child_count for force_resume"
cb23d3ef63 Revert "clocksource/drivers/timer-ti-dm: Handle dra7 timer wrap errata i940"
76002c201f Merge 5.10.38 into android12-5.10
4f99801693 ANDROID: ABI: Update allowed list for QCOM
f0fb442d31 ANDROID: Update the ABI xml
86eb213d08 ANDROID: Update the generic symbol list
8848be1eb3 ANDROID: Update the generic symbol list
ebe59c0c1a ANDROID: Update the generic symbol list
5330d613ad ANDROID: abi_gki_aarch64_qcom: Add missing symbols for i3c
394f893451 ANDROID: dm-user: Drop additional reference
560fdb20e4 FROMGIT: scsi: ufs: ufs-mediatek: Fix power down spec violation
b5b3246504 UPSTREAM: scsi: ufs-mediatek: Support option to disable auto-hibern8
12386e9df6 UPSTREAM: scsi: ufs-mediatek: Decouple features from platform bindings
78a43fa169 BACKPORT: scsi: ufs-mediatek: Support VA09 regulator operations
d711e7960c UPSTREAM: scsi: ufs: Add retry flow for failed HBA enabling
f72ddd6f7c UPSTREAM: module: unexport find_module and module_mutex
58980df739 FROMLIST: scsi: ufs: Increase the usable queue depth
8b1ed7526f ANDROID: abi_gki_aarch64_qcom: Add vmemdup_user
2bb462a3af ANDROID: cgroup: add vendor hook to cgroup .attach()
fe24b7f8cd ANDROID: gki_defconfig: Enable HID_BETOP_FF JOYSTICK_XPAD_FF and JOYSTICK_XPAD_LEDS
64d5c84867 ANDROID: abi_gki_aarch64_qcom: Add devm_rproc_* APIs
b6e60f0673 ANDROID: Incremental fs: Add uid to INCFS_IOC_GET_LAST_READ_ERROR
25c3b9e0fe ANDROID: Incremental fs: Make sysfs_name changeable on remount
ed8f5159f0 ANDROID: Incremental fs: Count pending_reads even when very short
f57d242977 ANDROID: sched/fair: export sysctl_sched_min_granularity symbol
73599c263e ANDROID: Fix compat hwcap reporting on asymmetric 32-bit SoCs
17f230fd93 Revert "ANDROID: usb: dwc3: gadget: don't cancel the started requests"
262fd53a10 BACKPORT: sched/uclamp: Allow to reset a task uclamp constraint value
db77ed2052 ANDROID: GKI: restore termiox fields
18593eb97f Revert "spi: Fix use-after-free with devm_spi_alloc_*"
e054456ced Merge 5.10.37 into android12-5.10
5c5381fe0a Merge remote-tracking branch 'aosp/upstream-f2fs-stable-linux-5.10.y' into android12-5.10
d8ef677e32 FROMGIT: block: avoid double io accounting for flush request
56cfcf6cbd UPSTREAM: kasan: fix kasan_byte_accessible() to be consistent with actual checks
e4d47d9a03 FROMLIST: blk-mq: Swap two calls in blk_mq_exit_queue()
fdbfae0347 ANDROID: FUSE OWNERS pointing to android-mainline OWNERS
3b80f9485d BACKPORT: scsi: ufs: Refactor ufshcd_setup_clocks() to remove skip_ref_clk
ac75369368 Revert "xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume"
f66d96b14a ANDROID: vendor_hooks: Add hooks to dup_task_struct
727ab0f839 ANDROID: arm64: enable compat vdso
0c4574ebd8 UPSTREAM: arm64: vdso32: drop -no-integrated-as flag
ff128c2d77 BACKPORT: scsi: ufs-mediatek: Add HS-G4 support
371de759e9 UPSTREAM: scsi: ufs: Add enums for UniPro version higher than 1.6
d1d160b6ee FROMGIT: usb: typec: tcpm: Fix SINK_DISCOVERY current limit for Rp-default
5aafea29ad FROMGIT: xhci: Do not use GFP_KERNEL in (potentially) atomic context
22ae3660e8 FROMGIT: xhci: Fix giving back cancelled URBs even if halted endpoint can't reset
41fe558317 ANDROID: usb: gadget: f_accessory: update SS/SSP descriptors
3d24408745 Revert "sched,fair: Alternative sched_slice()"
36b2c4814a Revert "media: v4l2-ctrls: fix reference to freed memory"
a12132f848 ANDROID: GKI: restore a part of "struct mmc_host"
36c1596556 Revert "mmc: block: Issue a cache flush only when it's enabled"
a1ac3f3093 Merge 5.10.36 into android12-5.10
3c75179a31 ANDROID: iommu/io-pgtable-arm: Free underlying page tables for large mappings
345f1259a0 Revert "UPSTREAM: usb: gadget: f_uac2: validate input parameters"
fe580539f6 ANDROID: vendor_hooks: Add hooks for account irqtime process tick
cf061f35b0 BACKPORT: arm64: fpsimd: run kernel mode NEON with softirqs disabled
7fd5bd54c4 UPSTREAM: arm64: assembler: introduce wxN aliases for wN registers
dccc5bf4b7 BACKPORT: arm64: assembler: remove conditional NEON yield macros
a9e54b6010 UPSTREAM: fsverity: relax build time dependency on CRYPTO_SHA256
f90c8ffbd8 UPSTREAM: fscrypt: relax Kconfig dependencies for crypto API algorithms
57e54404ba UPSTREAM: crypto: arm64/gcm - move authentication tag check to SIMD domain
18525713bb UPSTREAM: crypto: arm64/crc-t10dif - move NEON yield to C code
3249282a95 UPSTREAM: crypto: arm64/aes-ce-mac - simplify NEON yield
4e2acf6395 UPSTREAM: crypto: arm64/aes-neonbs - remove NEON yield calls
2a5f8c85c5 UPSTREAM: crypto: arm64/sha512-ce - simplify NEON yield
cfb375ea9f UPSTREAM: crypto: arm64/sha3-ce - simplify NEON yield
7878a8b055 UPSTREAM: crypto: arm64/sha2-ce - simplify NEON yield
0c278c4b40 UPSTREAM: crypto: arm64/sha1-ce - simplify NEON yield
e7b1004dbf UPSTREAM: arm64: assembler: add cond_yield macro
665fe01c67 UPSTREAM: crypto: remove cipher routines from public crypto API
acff6cbc94 UPSTREAM: chcr_ktls: use AES library for single use cipher
bc6ca71187 ANDROID: add OWNERS for sysfs-fs-f2fs
4738608080 FROMGIT: mm/memory_hotplug: rate limit page migration warnings
b3a1591e82 ANDROID: db845c_gki.fragment: Add QCOM_TSENSE config to avoid thermal crashes
5abbf39685 UPSTREAM: usb: gadget: f_uac2: validate input parameters
5feadee52b UPSTREAM: usb: f_uac2: adds support for SS and SSP
030ee5e654 f2fs: return EINVAL for hole cases in swap file
446e972fab ANDROID: Update the ABI xml and symbol list
2f998899f3 f2fs: avoid swapon failure by giving a warning first
ae8c2a7501 ANDROID: topology: Add flag to indicate topology has been updated
4c4dcb8c24 f2fs: compress: fix to assign cc.cluster_idx correctly
7c6c8dacd4 f2fs: compress: fix race condition of overwrite vs truncate
4de3199a4a f2fs: compress: fix to free compress page correctly
4b1ceab67b f2fs: support iflag change given the mask
fd97226b07 f2fs: avoid null pointer access when handling IPU error
101a64c6c8 ANDROID: Update the ABI xml and symbol list
27eb5ffcb7 ANDROID: Add missing CFI jump table symbols to kallsyms
a1fbf0ead8 Revert "BACKPORT: bio: limit bio max size"
a4af23d274 ANDROID: thermal: Add vendor thermal_pm_notify_suspend function
68d3da6c97 ANDROID: qcom: Add neighbor related symbols
cd04f7fab9 ANDROID: usb: typec: ucsi: Ensure bounds check when accessing src_pdos
107ad0ea68 FROMGIT: usb: typec: tcpm: Fix wrong handling for Not_Supported in VDM AMS
93d7a4c7ea ANDROID: Update the ABI xml and symbol list
c0df53e0ee FROMGIT: usb: dwc3: omap: improve extcon initialization
96d46a7342 FROMGIT: usb: typec: ucsi: Put fwnode in any case during ->probe()
e9c04db1d5 FROMGIT: usb: dwc3: gadget: Return success always for kick transfer in ep queue
c3f92e5f6c FROMGIT: usb: dwc3: gadget: Free gadget structure only after freeing endpoints
56f681803f FROMGIT: usb: dwc2: Fix gadget DMA unmap direction
28ceb4d07f FROMGIT: usb: dwc3: gadget: Rename EOPF event macros to Suspend
36695d0e77 FROMGIT: usb: dwc3: gadget: Enable suspend events
d9d0c09e0a Revert "capabilities: require CAP_SETFCAP to map uid 0"
0ddd59c5da Revert "driver core: add a min_align_mask field to struct device_dma_parameters"
17ba7dfe20 Revert "swiotlb: add a IO_TLB_SIZE define"
78957dcb2c Revert "swiotlb: factor out an io_tlb_offset helper"
cb27079661 Revert "swiotlb: factor out a nr_slots helper"
28a2f5f10f Revert "swiotlb: clean up swiotlb_tbl_unmap_single"
0fb49e91d4 Revert "swiotlb: refactor swiotlb_tbl_map_single"
2201384121 Revert "swiotlb: don't modify orig_addr in swiotlb_tbl_sync_single"
b4ae4430ab Revert "swiotlb: respect min_align_mask"
abc5254824 Revert "nvme-pci: set min_align_mask"
bfac7b85a0 Merge 5.10.35 into android12-5.10
be6f5cf52c UPSTREAM: block: fix inflight statistics of part0
79d3d549f9 ANDROID: GKI: 5/7 KMI update
9458fa0dda BACKPORT: bio: limit bio max size
f9d86ad18a ANDROID: i2c: Add vendor hook to allow assign dev_name to I2C devices
0493c72d6d UPSTREAM: binder: tell userspace to dump current backtrace when detected oneway spamming
f0e99852cb ANDROID: arm64: module: add RELA metadata for FIPS140 use
85f86ef6a8 ANDROID: GKI: rename filp_open to filp_open_block in symbol lists
81ab760224 ANDROID: GKI: dwc3: add Android ABI padding to some structures
866797c77d FROMGIT: usb: dwc3: gadget: Handle DEV_TXF_FLUSH_BYPASS capability
e275019d8c FROMGIT: usb: dwc3: Capture new capability register GHWPARAMS9
b48bcb27ae FROMGIT: usb: dwc3: core: Do core softreset when switch mode
bc1dd753bd ANDROID: android: Add symbols to debug_symbols driver
0cf9435352 BACKPORT: FROMGIT: remoteproc: add is_iomem to da_to_va
775d6f9faf FROMGIT: remoteproc: introduce is_iomem to rproc_mem_entry
f6fdbe9edc ANDROID: abi_gki_aarch64_qcom: Add __bitmap_andnot and cpumask_any_but
188186232a ANDROID: abi_gki_aarch64_qcom: Add __kfifo_free
75a0e03539 ANDROID: abi_gki_aarch64_qcom: Add __page_pinner_migration_failed
8219786218 ANDROID: vendor_hooks: set debugging data when rt_mutex is working
938dc2b9b0 ANDROID: abi_gki_aarch64_qcom: Add irq_do_set_affinity
32b8d85352 ANDROID: Update the ABI xml and symbol list
99fdfd2fa3 ANDROID: ABI: Update the generic symbol list
d88c1e77fd ANDROID: irq: manage: Export irq_do_set_affinity symbol
8c32ea7937 FROMLIST: usb: typec: tcpm: Fix wrong handling in GET_SINK_CAP
44a71750f2 ANDROID: GKI: Enable CONFIG_USB_CONFIGFS_F_UAC2
03cd19b0ae ANDROID: Update the ABI xml and symbol list
2b223f9af1 UPSTREAM: remoteproc: core: Remove casting to rproc_handle_resource_t
14d632886f ANDROID: GKI: enable CONFIG_MTK_TIMER
f7128c7533 ANDROID: sched: Add vendor hooks for update_topology
70d7834861 fsverity: relax build time dependency on CRYPTO_SHA256
5e76a34a26 fscrypt: relax Kconfig dependencies for crypto API algorithms
26e61ea36d ANDROID: GKI: Enable CONFIG_EXFAT_FS in gki_defconfig
29203f8c8f ANDROID: cgroup: Add android_rvh_cgroup_force_kthread_migration
7fe4b54bf0 ANDROID: Update the ABI xml and symbol list
2bb3e44126 FROMLIST: sched: Fix out-of-bound access in uclamp
458e81ecf7 ANDROID: mm: spf: fix task fault accounting
348fb920cf ANDROID: Update the ABI xml and symbol list
e765451bf1 Merge 5.10.34 into android12-5.10
15d55f1f0a Revert "ANDROID: gki_defconfig: temporarily disable KFENCE in GKI"
f423a39522 ANDROID: Update the ABI xml and symbol list
514f06c0b0 FROMGIT: mmc: sdhci: Check for reset prior to DMA address unmap
25a0835d5e ANDROID: ABI: Add symbols for CONFIG_PAGE_PINNER
94acc25d0e ANDROID: GKI: Enable CONFIG_PAGE_PINNER
d600eedfb6 ANDROID: mm: page_pinner: use put_user_page at unstable_tree_search_insert
c2b7c24bc1 ANDROID: mm: page_pinner: unattribute follow_page in munlock_vma_pages_range
ec1dbc10ad ANDROID: mm: page_pinner: use put_user_page at add_page_for_migration
67668f721b ANDROID: mm: page_pinner: use put_user_page at dump_user_range
d14850835c ANDROID: mm: page_pinner: use put_user_page at seq_print_vma_name
2de28a0bdd ANDROID: mm: page_pinner: use put_user_page at fuse_copy_finish
f8d9ffe242 ANDROID: mm: page_pinner: use put_user_page at get_futex_key
d3b077bc15 ANDROID: mm: page_pinner: use put_user_page at copy_string
df9a9d821c ANDROID: mm: page_pinner: use put_user_page at access_remote_vm
ddc4a48797 ANDROID: mm: page_pinner: introduce failure_tracking feature
6e12c5b7d4 ANDROID: mm: introduce page_pinner
926cf69af5 ANDROID: vendor_hooks: Fix psi_event build warning
35014985c2 ANDROID: vendor_hooks: Add hooks for binder proc transaction
577f73412f ANDROID: vendor_hooks: tune reclaim inactive ratio
32124e310c ANDROID: dma-buf: Make DMA-BUF sysfs stats kobjects not send uevents
396a6adfd3 ANDROID: vendor_hooks: bypass shrink slab
0907114be2 Merge 5.10.33 into android12-5.10
9dd11f75e9 FROMGIT: kbuild: update config_data.gz only when the content of .config is changed
ea2c091f13 ANDROID: arm64: Initialise mismatched compat hwcaps from CPU notifier
c5de0d2e10 UPSTREAM: ARM: 9039/1: assembler: generalize byte swapping macro into rev_l
d3f36ae0bb UPSTREAM: ARM: 9035/1: uncompress: Add be32tocpu macro
f72dbeced2 FROMGIT: kfence: use power-efficient work queue to run delayed work
f696af3d11 FROMGIT: kfence: maximize allocation wait timeout duration
b9bb7f3153 FROMGIT: kfence: await for allocation using wait_event
cb42770670 FROMGIT: kfence: zero guard page after out-of-bounds access
372e663644 UPSTREAM: kfence: make compatible with kmemleak
fba94942cc UPSTREAM: kfence: fix reports if constant function prefixes exist
0dedbe7401 UPSTREAM: kfence: fix printk format for ptrdiff_t
7919cae0a9 ANDROID: Support disabling symbol trimming
327b2266d2 ANDROID: Incremental fs: Fix pseudo-file attributes
a64f42d1df ANDROID: sched: Fix missing RQCF_UPDATED in migrate_tasks
28b4b1588e FROMLIST: mm, thp: Relax the VM_DENYWRITE constraint on file-backed THPs
c2c576792a ANDROID: GKI: Update the generic symbol list
edc5c62da7 ANDROID: ABI: Add symbols for crypto
5a641fb83f ANDROID: ABI: Update the ABI XML
39111fc404 Revert "ANDROID: GKI: Change UCLAMP_BUCKETS_COUNT to 20"
2337b9185a ANDROID: vendor_hooks: Add hook for binder
cf881c74d3 UPSTREAM: crypto: arm/blake2s - fix for big endian
0126a08dcd UPSTREAM: crypto: arm/blake2b - drop unnecessary return statement
ccc8708bde FROMGIT: kasan, arm64: tests supports for HW_TAGS async mode
d5a19199c7 FROMGIT: arm64: mte: Report async tag faults before suspend
27ecc98407 FROMGIT: arm64: mte: Enable async tag check fault
c3ca7ea141 FROMGIT: arm64: mte: Conditionally compile mte_enable_kernel_*()
a2f1f07ff4 ANDROID: ABI: Update the ABI xml
621d2bbc84 ANDROID: ABI: Update the generic symbol list
c8bf55afd9 f2fs: drop inplace IO if fs status is abnormal
99139afb1f f2fs: compress: remove unneed check condition
28a1e40c06 f2fs: clean up left deprecated IO trace codes
f35a48edeb f2fs: avoid using native allocate_segment_by_default()
12a68f402e f2fs: remove unnecessary struct declaration
546252f29c ANDROID: selinux: add vendor hook in selinux
4870b68f3f FROMGIT: arm64: mte: Enable TCO in functions that can read beyond buffer limits
f3f8d55011 ANDROID: sched: Add vendor hooks for update_load_avg
2f77dca33d ANDROID: Update ABI with __traceiter_*() additions
6ac06f08b2 ANDROID: Update the cf symbol list
eef08d7dc9 ANDROID: Update the qcom symbol list
020f00a46d ANDROID: Update the hikey960 symbol list
2d2d6428cd ANDROID: Update the generic symbol list
dbe96fb1b9 ANDROID: Update the exynos symbol list
da07f99f19 ANDROID: Update the db845c symbol list
c7d0729a2c UPSTREAM: arm64: Move PSTATE.TCO setting to separate functions
9a928af2cc FROMGIT: kasan: Add report for async mode
f47de37f1f FROMGIT: arm64: mte: Drop arch_enable_tagging()
8bd9e809e9 ANDROID: GKI: 4/23 KMI update
563c7d9596 FROMGIT: kasan: Add KASAN mode kernel parameter
433b85479b FROMGIT: arm64: mte: Add asynchronous mode support
ea97f39295 ANDROID: GKI: update ABI description
4ccc2a6dbc FROMLIST: remoteproc: core: Move cdev add before device add
35eacb5c87 ANDROID: mm: allow vmas with vm_ops to be speculatively handled
77e791866b ANDROID: sched: Add ANDROID_OEM_DATA_ARRAY in user_struct.
54f66141a8 ANDROID: sched: Add vendor hooks for sched.
58b10706f3 ANDROID: sched: Add vendor hooks to compute new cpu freq.
a629454175 Revert "Revert "net: xfrm: Localize sequence counter per network namespace""
2d9841f98d FROMGIT: usb: typec: tcpm: Allow slow charging loops to comply to pSnkStby
4e2ca165ba FROMGIT: usb: dwc3: gadget: Check for disabled LPM quirk
a6b8e73972 ANDROID: GKI: arm64: reserve space in cpu_hwcaps and cpu_hwcap_keys arrays
0f9bfa0e99 FROMLIST: export: Make CRCs robust to symbol trimming
e67935d786 ANDROID: Kconfig.gki Add SND_SOC_TOPOLOGY
327402e1e9 ANDROID: GKI: Change UCLAMP_BUCKETS_COUNT to 20
8451e2e48e FROMGIT: ASoC: soc-component: Add snd_soc_pcm_component_ack
ce1a244af8 UPSTREAM: ASoC: dmaengine_pcm: add peripheral configuration
1dbf9d8dbc UPSTREAM: dmaengine: add peripheral configuration
fb8304fcb8 UPSTREAM: PM: domains: use device's next wakeup to determine domain idle state
e049d04424 UPSTREAM: PM: domains: inform PM domain of a device's next wakeup
98de9de261 Revert "FROMLIST: PM / Domains: add domain feature flag for next wakeup"
14f2208945 Revert "FROMLIST: PM / domains: inform PM domain of a device's next wakeup"
f316415fb2 Revert "FROMLIST: PM / Domains: use device's next wakeup to determine domain idle state"
76782b5633 FROMGIT: mm: cma: add the CMA instance name to cma trace events
1cfa9bc019 FROMGIT: mm: cma: Add the CMA instance name to the cma_alloc_start trace event
c453643efa FROMGIT: mm: cma: add trace events for CMA alloc perf testing
48b3f756ed ANDROID: mm: compaction: fix isolate_and_split_free_page() redefinition
2ead8661c3 ANDROID: vendor_hooks: Fix build-break due to psi_event
d651e1d63c ANDROID: GKI: Update abi_gki_aarch64_qcom list for kprobe module
9b4e02e2ee ANDROID: GKI: Enable CONFIG_HIST_TRIGGERS
1e5b2db654 FROMGIT: tick/broadcast: Allow late registered device to enter oneshot mode
5a1b7a90e9 UPSTREAM: arm64: uaccess: split user/kernel routines
1eb51cfdb4 UPSTREAM: arm64: uaccess: refactor __{get,put}_user
800a0f7b36 BACKPORT: arm64: uaccess: rename privileged uaccess routines
acc13a8440 ANDROID: Incremental fs: Add INCFS_IOC_GET_LAST_READ_ERROR
6cce4fa251 ANDROID: Incremental fs: Fix INCFS_MAGIC_NUMBER casts
44ffa65110 ANDROID: Incremental fs: Add status to sysfs
3d471f0108 ANDROID: Incremental fs: fix u64 integer cast to pointer
ba9602b155 ANDROID: Incremental fs: stat should return actual used blocks
f4c368a3f9 ANDROID: Incremental fs: Add FS_IOC_READ_VERITY_METADATA
16350016d8 ANDROID: export find_user() & free_uid()for GKI purpose.
bc7711817e ANDROID: GKI: update ABI description
e38df2d204 ANDROID: GKI: Update abi_gki_aarch64_qcom for kgsl AO tracing support
52f8b40ff6 ANDROID: ABI: update symbols to unisoc whitelist for the fifth time
50aa353c69 ANDROID: sched: Add vendor hooks for cpu affinity.
0d74600d22 ANDROID: GKI: Update abi_gki_aarch64_qcom list for reverse migration
9197f16834 ANDROID: abi_gki_aarch64_generic: Add a few more symbols
14d08ba7a0 FROMGIT: usb: dwc3: gadget: Remove FS bInterval_m1 limitation
f8f7b2e9e7 ANDROID: abi_gki_aarch64_qcom: Add __bitmap_or
ad02576760 ANDROID: GKI: Update abi_gki_aarch64_qcom for gpio block read tracepoint
002566e608 FROMGIT: dt-bindings: connector: Add slow-charger-loop definition
ee5af5cb09 FROMGIT: usb: dwc3: gadget: Fix START_TRANSFER link state check
fcd2a56bb0 FROMGIT: usb: gadget: Fix double free of device descriptor pointers
3f315db5f8 FROMGIT: usb: typec: tcpm: Fix error while calculating PPS out values
32b16a3a3f Merge 5.10.32 into android12-5.10
b9836d4090 ANDROID: inline isolate_and_split_free_page
2e04650661 ANDROID: kernel: clear debug_kinfo precisely
295ce88224 ANDROID: cgroup: Add vendor hook for cpuset.
e162c57223 ANDROID: GKI: Update abi_gki_aarch64_qcom for PSI tracepoints
b79d1815c4 ANDROID: psi: Add vendor hooks for PSI tracing
25ede723cd ANDROID: abi_gki_aarch64_qcom: Add android_rvh_sched_setaffinity
ef4ff626b3 ANDROID: gki_defconfig: temporarily disable KFENCE in GKI
91a4e8d8c8 ANDROID: GKI: Update abi_gki_aarch64_qcom list for minidump
8cd9aa93b7 ANDROID: implement wrapper for reverse migration
ea527a52d1 ANDROID: cpuidle: enable TEO and MENU governors in gki_defconfig
3b9e4bd9f0 ANDROID: abi_gki_aarch64_qcom: Update symbol list
f096764239 ANDROID: clang: update to 12.0.5
e16264e625 ANDROID: Add initial Exynos symbol list
e98d2de6a6 ANDROID: mm: fix mixed declaration and code warning
73ae4bff1d ANDROID: sched/fair: call set_next_entity() on the replaced next task
6c3c18a4c9 FROMGIT: binder: fix the missing BR_FROZEN_REPLY in binder_return_strings
da9a1b44ee FROMLIST: drivers/clocksource/timer-of: Remove __init markings
23e7d05d56 ANDROID: GKI: Add support for a GKI_DEFCONFIG_FRAGMENT
de777f121d ANDROID: GKI: Update abi_gki_aarch64_qcom for logbuf tracepoint
ab8b108b0a Merge 5.10.31 into android12-5.10
47b8276da1 ANDROID: PCI: dwc: Export symbols for ep driver
005be5a71b ANDROID: abi_gki_aarch64_qcom: Add sock_setsockopt to list
35dafe72dd ANDROID: vendor_hooks: tune reclaim swappiness or scan type
edb1a85895 FROMGIT: media: docs: Document colorimetry class
e6b18e4945 FROMGIT: media: v4l: Add new Colorimetry Class
a0ac76fc0c FROMGIT: media: v4l2-ctrl: Add decoder conceal color control
a6edc4212b FROMGIT: media: v4l2-ctrl: add controls for long term reference.
e628415846 FROMGIT: media: v4l2-ctrls: Add control for AUD generation
9c6ccd3184 FROMGIT: media: docs: Deprecate mfc display delay controls
f677d55e99 FROMGIT: media: s5p-mfc: Use display delay and display enable std controls
2a3e5b8c90 FROMGIT: media: v4l2-ctrl: Make display delay and display enable std controls
308e49bc5f ANDROID: Make KMI_SYMBOL_LIST_STRICT_MODE overrideable
34fde61f72 ANDROID: logbuf: vendor hook for logbuf dump on oops
fc380a2a73 ANDROID: Incremental fs: fix minor printk format warning
1aff922933 Revert "net: xfrm: Localize sequence counter per network namespace"
9a705f0463 Merge 5.10.30 into android12-5.10
7d5e1de98e ANDROID: Kbuild: Add support for KBUILD_MIXED_TREE
e41d160482 ANDROID: build.config: Add vmlinux.symvers and modules.builtin to DIST_DIR
ef07904022 ANDROID: abi_gki_aarch64_qcom: Add thermal zone enable and unregister
b248dd37db FROMGIT: usb: typec: tcpm: Honour pSnkStdby requirement during negotiation
eed5187d41 FROMGIT: dm verity fec: fix misaligned RS roots IO
5ef36bda8f Revert "Revert "dm verity: fix FEC for RS roots unaligned to blo..."
fc503912fd Revert "Revert "dm bufio: subtract the number of initial sectors..."
2feb4789b7 ANDROID: smp: fix preprocessor conditional warning
f226790096 ANDROID: mm/memory_hotplug: fix minor printk format warnings
615edf1635 ANDROID: power_supply: inline empty power_supply_get_by_phandle_array()
3ab775d150 FROMGIT: usb: dwc3: core: Add shutdown callback for dwc3
fbb0ff48a7 FROMGIT: usb: dwc3: gadget: Ignore Packet Pending bit
8d92227969 ANDROID: usb: typec: tcpm: Update tcpm_update_sink_capabilities
c50ebbb88d ANDROID: GKI: Update the ABI xml
750af2afbe ANDROID: GKI: Add generic aarch64 symbol list
01a0d1ea31 ANDROID: usb: host: Use old init scheme when hook unavailable
6aee238019 Revert "dm bufio: subtract the number of initial sectors in dm_bufio_get_device_size"
59977fca5c Revert "dm verity: fix FEC for RS roots unaligned to block size"
ea2cf4bea8 Revert "ANDROID: AVB error handler to invalidate vbmeta partition."
6125b201cc f2fs: fix to avoid NULL pointer dereference
e4947f414c f2fs: avoid duplicated codes for cleanup
e882e7aeff f2fs: document: add description about compressed space handling
d2521bc897 ANDROID: gki_defconfig: reduce KFENCE pool size
c70d90263c FROMGIT: virt_wifi: Return micros for BSS TSF values
09eafb2817 ANDROID: stacktrace: export stack_trace_save_tsk/regs
6f6d8bb444 ANDROID: arm64: declare system_32bit_el0_cpumask as export
b492fa8a50 ANDROID: Fix compilation warning in __iommu_map_pages()
947f7639b3 ANDROID: iommu/io-pgtable-arm: Fix arguments for __arm_lpae_map()
40537e85f7 ANDROID: GKI: Bump KMI_GENERATION, ABI representation
af0bfc5b9d ANDROID: GKI: Update virtual device symbol list
216fe64b61 ANDROID: usb: host: free the offload TR by vendor hook
f10ea3ce74 f2fs: clean up build warnings
c62f09151d Merge 5.10.29 into android12-5.10
1d3b80670f ANDROID: Add GKI_HIDDEN_MM_CONFIGS to support ballooning.
92de566762 ANDROID: usb: dwc3: gadget: don't cancel the started requests
fbcbe0a7a6 FROMGIT: usb: typec: tcpm: update power supply once partner accepts
18a943bbaf FROMGIT: usb: typec: tcpm: Address incorrect values of tcpm psy for pps supply
97e02abb86 FROMGIT: usb: typec: tcpm: Address incorrect values of tcpm psy for fixed supply
8a4d1dc880 ANDROID: first 4/9/2021 KMI update
b73c7360d9 ANDROID: Add a new core symbol list
28949c3e70 FROMLIST: iommu/arm-smmu: Implement the map_pages() IOMMU driver callback
8bc46bd74b FROMLIST: iommu/arm-smmu: Implement the unmap_pages() IOMMU driver callback
83dda912b3 FROMLIST: iommu/io-pgtable-arm-v7s: Implement arm_v7s_map_pages()
a9b45f6174 FROMLIST: iommu/io-pgtable-arm-v7s: Implement arm_v7s_unmap_pages()
ac3994447c FROMLIST: iommu/io-pgtable-arm: Implement arm_lpae_map_pages()
4ad6f2a43c FROMLIST: iommu/io-pgtable-arm: Implement arm_lpae_unmap_pages()
40ec873a9a BACKPORT: FROMLIST: iommu/io-pgtable-arm: Prepare PTE methods for handling multiple entries
08d46858c7 FROMLIST: iommu: Add support for the map_pages() callback
b9a5924547 FROMLIST: iommu: Hook up '->unmap_pages' driver callback
dcf8af32e6 FROMLIST: iommu: Split 'addr_merge' argument to iommu_pgsize() into separate parts
35dde30a45 FROMLIST: iommu: Use bitmap to calculate page size in iommu_pgsize()
16cabf65c7 BACKPORT: FROMLIST: iommu: Add a map_pages() op for IOMMU drivers
ba575b2222 BACKPORT: FROMLIST: iommu/io-pgtable: Introduce map_pages() as a page table op
ced8a6da9c FROMLIST: iommu: Add an unmap_pages() op for IOMMU drivers
1e74a0fd95 FROMLIST: iommu/io-pgtable: Introduce unmap_pages() as a page table op
46074eb650 Revert "Revert "net: introduce CAN specific pointer in the struct net_device""
e094831fec Revert "Revert "bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG""
b16bfd6279 Revert "Revert "bpf: Fix fexit trampoline.""
acff98ad6e Revert "ANDROID: GKI: hack to handle genksyms change in sound/soc/soc-core.c"
421e0ec416 Revert "Revert "can: dev: Move device back to init netns on owning netns delete""
fa5fc9f474 Revert "Revert "net: phy: broadcom: Fix RGMII delays for BCM50160 and BCM50610M""
ccd273758c Revert "Revert "net: phy: broadcom: Set proper 1000BaseX/SGMII interface mode for BCM54616S""
15ba58936b Revert "Revert "net: phy: broadcom: Avoid forward for bcm54xx_config_clock_delay()""
c4ac290425 Revert "Revert "net: phy: introduce phydev->port""
81d375222a ANDROID: abi_gki_aarch64_qcom: Add __tracepoint_android_rvh_replace_next_task_fair
a038be9b2c ANDROID: sched: Update android_rvh_check_preempt_wakeup hook
087cb51ae7 FROMGIT: scsi: ufs: ufs-debugfs: Add error counters
7c6fce275c FROMGIT: scsi: ufs: Refine error history functions
ed2197ba47 ANDROID: GKI: Add android_rvh_cpu_cgroup_online to qcom symbol list
ddeb3cdc3a ANDROID: sched: Add android_rvh_cpu_cgroup_online hook
02732576b1 FROMLIST: userfaultfd/shmem: fix minor fault page leak
26d1bb8087 FROMLIST: userfaultfd/hugetlbfs: Fix minor fault page leak
606bb05382 BACKPORT: FROMGIT: userfaultfd/selftests: unify error handling
642412b1ac FROMGIT: userfaultfd/selftests: only dump counts if mode enabled
f4ab74004a FROMGIT: userfaultfd/selftests: drop VERIFY check in locking_thread
56cfdd46b8 FROMGIT: userfaultfd/selftests: remove the time() check on delayed uffd
1e1eb31e95 FROMGIT: userfaultfd/selftests: use user mode only
2039d96cb7 FROMGIT: userfaultfd/selftests: exercise minor fault handling shmem support
91b66856b8 BACKPORT: FROMGIT: userfaultfd/selftests: reinitialize test context in each test
4a460b5cba FROMGIT: userfaultfd/selftests: create alias mappings in the shmem test
94f1573615 FROMGIT: userfaultfd/selftests: use memfd_create for shmem test type
d672123ec4 BACKPORT: FROMGIT: userfaultfd: support minor fault handling for shmem
357700fcc3 FROMGIT: userfaultfd/selftests: add test exercising minor fault handling
0dc6a0929f FROMGIT: userfaultfd: update documentation to describe minor fault handling
4a5cf92412 BACKPORT: FROMGIT: userfaultfd: add UFFDIO_CONTINUE ioctl
e6bf076c2a BACKPORT: FROMGIT: userfaultfd: hugetlbfs: only compile UFFD helpers if config enabled
2c64edbe69 FROMGIT: userfaultfd: disable huge PMD sharing for MINOR registered VMAs
4d3dd339de BACKPORT: FROMGIT: userfaultfd: add minor fault registration mode
343cacfa06 FROMGIT: hugetlb/userfaultfd: unshare all pmds for hugetlbfs when register wp
5c3d6acc99 FROMGIT: mm/hugetlb: move flush_hugetlb_tlb_range() into hugetlb.h
8b03b57113 FROMGIT: mm/hugetlb: fix build with !ARCH_WANT_HUGE_PMD_SHARE
f1d8bd5b4b FROMGIT: hugetlb/userfaultfd: forbid huge pmd sharing when uffd enabled
59caf93f36 BACKPORT: FROMGIT: hugetlb: pass vma into huge_pte_alloc() and huge_pmd_share()
9905016d1b ANDROID: arm64: coresight: Fix a sparse warning
1f99f71f2c ANDROID: usb: dwc3: export tracepoint for dwc3 read/write
c64c734708 ANDROID: GKI: hack to handle genksyms change in sound/soc/soc-core.c
bc751d322e Revert "bpf: Fix fexit trampoline."
21e2297dae Revert "bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG"
4a23c8ded3 Revert "net: introduce CAN specific pointer in the struct net_device"
e92949726c Merge 5.10.28 into android12-5.10
d623f1ff72 ANDROID: Add vendor hooks to signal.
128b8a7ad2 ANDROID: mm: cma: Add forward definition of cma in vendor hook
da3074b19c ANDROID: arm64/mm: fix minor printk format warning
db6a2dd55a FROMLIST: gcov: re-fix clang-11+ support
ad5be8a9b1 ANDROID: GKI: Add deferred_free to qcom symbol list
aeecae11f9 ANDROID: android/OWNERS: drop gki-abi-approvers@
1cdf332fe5 ANDROID: GKI: Update abi_gki_aarch64_qcom for VBO support
34fc082d21 ANDROID: qcom: Add dev, inet and skb related symbols
70249b572c FROMGIT: arm64: fix inline asm in load_unaligned_zeropad()
c51e9f8bf8 ANDROID: Add Image.lz4 to arm64 GKI outputs
a9b76c4519 UPSTREAM: drm/drm_vblank: set the dma-fence timestamp during send_vblank_event
430a4283cb UPSTREAM: dma-fence: allow signaling drivers to set fence timestamp
c18ab1d162 ANDROID: sched: Initialize arguments of android_rvh_replace_next_task_fair
6804a59039 ANDROID: usb: typec: tcpm: Add vendor hook to update current limit
c6e85ea56b ANDROID: mm: cma: add vendor hoook in cma_alloc()
180ab1b1e5 ANDROID: GKI: Update ABI XML
63785deb40 ANDROID: GKI: Update virtual_device symbol list
126c2fc191 ANDROID: dma-heap: Make the page-pool/deferred-free libraries built-in
8f3f46d77c ANDROID: vendor_hooks: Add hooks to recognize special worker thread.
af7214914a ANDROID: usb: typec: tcpm: Add vendor hook to store partner source capabilities
73be6141e9 UPSTREAM: KVM: arm64: Fix CPU interface MMIO compatibility detection
9b42d1c8d4 f2fs: modify open brace '{' following function definitions
1757598ffa f2fs: fix the periodic wakeups of discard thread
d731e43cfc f2fs: fix to avoid accessing invalid fio in f2fs_allocate_data_block()
380faaa0aa f2fs: fix to avoid GC/mmap race with f2fs_truncate()
52840dfa57 FROMGIT: xhci: prevent double-fetch of transfer and transfer event TRBs
c037ca6598 FROMGIT: xhci: fix potential array out of bounds with several interrupters
d535e4b2ca FROMGIT: xhci: check control context is valid before dereferencing it.
a201b4369c FROMGIT: xhci: check port array allocation was successful before dereferencing it
412bd71850 ANDROID: tracing: Make automounting in debugfs optional
eacad94c98 ANDROID: usb: add EXPORT_TRACE_SYMBOL to export tracepoint
70cf1983fe ANDROID: Add a build config fragment for KHWASan.
60aabb9a5b FROMGIT: driver core: Use unbound workqueue for deferred probes
519c8c6b2e ANDROID: usb: host: xhci: provide function prototype for xhci_address_device
5113fd3158 ANDROID: usb: host: add bus_suspend/bus_resume to xhci overrides
285973b22e ANDROID: usb: host: add address_device to xhci overrides
2e4b322b06 ANDROID: Add OWNERS files referring to the respective android-mainline OWNERS
9d10efa2a0 ANDROID: usb: host: add max packet parameter on alloc_transfer_ring hook
3390f5d0dc ANDROID: usb: host: add xhci hooks for vendor specific container context
a7d2724e52 ANDROID: ABI: Update allowed symbol list for QCOM
a4d0971961 ANDROID: abi_gki_aarch64_qcom: Add android_rvh_probe_register
7361785b8f f2fs: set checkpoint_merge by default
e15d220552 f2fs: Fix a hungtask problem in atomic write
e4491f8134 f2fs: fix to restrict mount condition on readonly block device
b667340b25 f2fs: introduce gc_merge mount option
79d06e20a4 f2fs: fix to cover __allocate_new_section() with curseg_lock
6defd53006 f2fs: fix wrong alloc_type in f2fs_do_replace_block
f74afaf1bf f2fs: delete empty compress.h
cc4ff1f3de f2fs: fix a typo in inode.c
528611246f f2fs: allow to change discard policy based on cached discard cmds
adbeec301c f2fs: fix to avoid touching checkpointed data in get_victim()
e457ef6709 f2fs: fix to update last i_size if fallocate partially succeeds
c4346bbb51 f2fs: fix error path of f2fs_remount()
fcbab6e80b f2fs: fix wrong comment of nat_tree_lock
0d36b38e1e f2fs: fix to avoid out-of-bounds memory access
a940a9ad96 f2fs: don't start checkpoint thread in readonly mountpoint
f7dca8471d f2fs: do not use AT_SSR mode in FG_GC & high urgent BG_GC
48b532703f f2fs: add sysfs nodes to get runtime compression stat
a5717d2ca6 f2fs: fix to use per-inode maxbytes in f2fs_fiemap
26423921ac f2fs: fix to align to section for fallocate() on pinned file
a5407f50d3 f2fs: expose # of overprivision segments
672d8b3cab f2fs: fix error handling in f2fs_end_enable_verity()
5459e25504 f2fs: fix a redundant call to f2fs_balance_fs if an error occurs
60eac71600 f2fs: remove unused file_clear_encrypt()
533d45fefd f2fs: check if swapfile is section-alligned
e0a507f5c5 f2fs: fix last_lblock check in check_swap_activate_fast
8e8184cc49 f2fs: remove unnecessary IS_SWAPFILE check
54af5b35f4 f2fs: Replace one-element array with flexible-array member
1e2bd9c6c2 f2fs: compress: Allow modular (de)compression algorithms
7688fb401d f2fs: check discard command number before traversing discard pending list
6cd5fef390 f2fs: update comments for explicit memory barrier
14d0fdac3c f2fs: remove unused FORCE_FG_GC macro
b8719b37cd f2fs: avoid unused f2fs_show_compress_options()
841a52ae07 f2fs: fix panic during f2fs_resize_fs()
ba25abde92 f2fs: fix to allow migrating fully valid segment
c6acf57aeb f2fs: fix a spelling error
e262ecf61b f2fs: fix a spacing coding style

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ic746701c2cc25419fe66f07ddc616618c9d39444
2021-06-17 14:45:33 +02:00
Greg Kroah-Hartman
8ba1da1234 Merge 5.10.44 into android13-5.10
Changes in 5.10.44
	proc: Track /proc/$pid/attr/ opener mm_struct
	ASoC: max98088: fix ni clock divider calculation
	ASoC: amd: fix for pcm_read() error
	spi: Fix spi device unregister flow
	spi: spi-zynq-qspi: Fix stack violation bug
	bpf: Forbid trampoline attach for functions with variable arguments
	net/nfc/rawsock.c: fix a permission check bug
	usb: cdns3: Fix runtime PM imbalance on error
	ASoC: Intel: bytcr_rt5640: Add quirk for the Glavey TM800A550L tablet
	ASoC: Intel: bytcr_rt5640: Add quirk for the Lenovo Miix 3-830 tablet
	vfio-ccw: Reset FSM state to IDLE inside FSM
	vfio-ccw: Serialize FSM IDLE state with I/O completion
	ASoC: sti-sas: add missing MODULE_DEVICE_TABLE
	spi: sprd: Add missing MODULE_DEVICE_TABLE
	usb: chipidea: udc: assign interrupt number to USB gadget structure
	isdn: mISDN: netjet: Fix crash in nj_probe:
	bonding: init notify_work earlier to avoid uninitialized use
	netlink: disable IRQs for netlink_lock_table()
	net: mdiobus: get rid of a BUG_ON()
	cgroup: disable controllers at parse time
	wq: handle VM suspension in stall detection
	net/qla3xxx: fix schedule while atomic in ql_sem_spinlock
	RDS tcp loopback connection can hang
	net:sfc: fix non-freed irq in legacy irq mode
	scsi: bnx2fc: Return failure if io_req is already in ABTS processing
	scsi: vmw_pvscsi: Set correct residual data length
	scsi: hisi_sas: Drop free_irq() of devm_request_irq() allocated irq
	scsi: target: qla2xxx: Wait for stop_phase1 at WWN removal
	net: macb: ensure the device is available before accessing GEMGXL control registers
	net: appletalk: cops: Fix data race in cops_probe1
	net: dsa: microchip: enable phy errata workaround on 9567
	nvme-fabrics: decode host pathing error for connect
	MIPS: Fix kernel hang under FUNCTION_GRAPH_TRACER and PREEMPT_TRACER
	dm verity: fix require_signatures module_param permissions
	bnx2x: Fix missing error code in bnx2x_iov_init_one()
	nvme-tcp: remove incorrect Kconfig dep in BLK_DEV_NVME
	nvmet: fix false keep-alive timeout when a controller is torn down
	powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P2041 i2c controllers
	powerpc/fsl: set fsl,i2c-erratum-a004447 flag for P1010 i2c controllers
	spi: Don't have controller clean up spi device before driver unbind
	spi: Cleanup on failure of initial setup
	i2c: mpc: Make use of i2c_recover_bus()
	i2c: mpc: implement erratum A-004447 workaround
	ALSA: seq: Fix race of snd_seq_timer_open()
	ALSA: firewire-lib: fix the context to call snd_pcm_stop_xrun()
	ALSA: hda/realtek: headphone and mic don't work on an Acer laptop
	ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP Elite Dragonfly G2
	ALSA: hda/realtek: fix mute/micmute LEDs and speaker for HP EliteBook x360 1040 G8
	ALSA: hda/realtek: fix mute/micmute LEDs for HP EliteBook 840 Aero G8
	ALSA: hda/realtek: fix mute/micmute LEDs for HP ZBook Power G8
	spi: bcm2835: Fix out-of-bounds access with more than 4 slaves
	Revert "ACPI: sleep: Put the FACS table after using it"
	drm: Fix use-after-free read in drm_getunique()
	drm: Lock pointer access in drm_master_release()
	perf/x86/intel/uncore: Fix M2M event umask for Ice Lake server
	KVM: X86: MMU: Use the correct inherited permissions to get shadow page
	kvm: avoid speculation-based attacks from out-of-range memslot accesses
	staging: rtl8723bs: Fix uninitialized variables
	async_xor: check src_offs is not NULL before updating it
	btrfs: return value from btrfs_mark_extent_written() in case of error
	btrfs: promote debugging asserts to full-fledged checks in validate_super
	cgroup1: don't allow '\n' in renaming
	ftrace: Do not blindly read the ip address in ftrace_bug()
	mmc: renesas_sdhi: abort tuning when timeout detected
	mmc: renesas_sdhi: Fix HS400 on R-Car M3-W+
	USB: f_ncm: ncm_bitrate (speed) is unsigned
	usb: f_ncm: only first packet of aggregate needs to start timer
	usb: pd: Set PD_T_SINK_WAIT_CAP to 310ms
	usb: dwc3-meson-g12a: fix usb2 PHY glue init when phy0 is disabled
	usb: dwc3: meson-g12a: Disable the regulator in the error handling path of the probe
	usb: dwc3: gadget: Bail from dwc3_gadget_exit() if dwc->gadget is NULL
	usb: dwc3: ep0: fix NULL pointer exception
	usb: musb: fix MUSB_QUIRK_B_DISCONNECT_99 handling
	usb: typec: wcove: Use LE to CPU conversion when accessing msg->header
	usb: typec: ucsi: Clear PPM capability data in ucsi_init() error path
	usb: typec: intel_pmc_mux: Put fwnode in error case during ->probe()
	usb: typec: intel_pmc_mux: Add missed error check for devm_ioremap_resource()
	usb: gadget: f_fs: Ensure io_completion_wq is idle during unbind
	USB: serial: ftdi_sio: add NovaTech OrionMX product ID
	USB: serial: omninet: add device id for Zyxel Omni 56K Plus
	USB: serial: quatech2: fix control-request directions
	USB: serial: cp210x: fix alternate function for CP2102N QFN20
	usb: gadget: eem: fix wrong eem header operation
	usb: fix various gadgets null ptr deref on 10gbps cabling.
	usb: fix various gadget panics on 10gbps cabling
	usb: typec: tcpm: cancel vdm and state machine hrtimer when unregister tcpm port
	usb: typec: tcpm: cancel frs hrtimer when unregister tcpm port
	regulator: core: resolve supply for boot-on/always-on regulators
	regulator: max77620: Use device_set_of_node_from_dev()
	regulator: bd718x7: Fix the BUCK7 voltage setting on BD71837
	regulator: fan53880: Fix missing n_voltages setting
	regulator: bd71828: Fix .n_voltages settings
	regulator: rtmv20: Fix .set_current_limit/.get_current_limit callbacks
	phy: usb: Fix misuse of IS_ENABLED
	usb: dwc3: gadget: Disable gadget IRQ during pullup disable
	usb: typec: mux: Fix copy-paste mistake in typec_mux_match
	drm/mcde: Fix off by 10^3 in calculation
	drm/msm/a6xx: fix incorrectly set uavflagprd_inv field for A650
	drm/msm/a6xx: update/fix CP_PROTECT initialization
	drm/msm/a6xx: avoid shadow NULL reference in failure path
	RDMA/ipoib: Fix warning caused by destroying non-initial netns
	RDMA/mlx4: Do not map the core_clock page to user space unless enabled
	ARM: cpuidle: Avoid orphan section warning
	vmlinux.lds.h: Avoid orphan section with !SMP
	tools/bootconfig: Fix error return code in apply_xbc()
	phy: cadence: Sierra: Fix error return code in cdns_sierra_phy_probe()
	ASoC: core: Fix Null-point-dereference in fmt_single_name()
	ASoC: meson: gx-card: fix sound-dai dt schema
	phy: ti: Fix an error code in wiz_probe()
	gpio: wcd934x: Fix shift-out-of-bounds error
	perf: Fix data race between pin_count increment/decrement
	sched/fair: Keep load_avg and load_sum synced
	sched/fair: Make sure to update tg contrib for blocked load
	sched/fair: Fix util_est UTIL_AVG_UNCHANGED handling
	x86/nmi_watchdog: Fix old-style NMI watchdog regression on old Intel CPUs
	KVM: x86: Ensure liveliness of nested VM-Enter fail tracepoint message
	IB/mlx5: Fix initializing CQ fragments buffer
	NFS: Fix a potential NULL dereference in nfs_get_client()
	NFSv4: Fix deadlock between nfs4_evict_inode() and nfs4_opendata_get_inode()
	perf session: Correct buffer copying when peeking events
	kvm: fix previous commit for 32-bit builds
	NFS: Fix use-after-free in nfs4_init_client()
	NFSv4: Fix second deadlock in nfs4_evict_inode()
	NFSv4: nfs4_proc_set_acl needs to restore NFS_CAP_UIDGID_NOMAP on error.
	scsi: core: Fix error handling of scsi_host_alloc()
	scsi: core: Fix failure handling of scsi_add_host_with_dma()
	scsi: core: Put .shost_dev in failure path if host state changes to RUNNING
	scsi: core: Only put parent device if host state differs from SHOST_CREATED
	tracing: Correct the length check which causes memory corruption
	proc: only require mm_struct for writing
	Linux 5.10.44

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0f42a46e99786aaaf72d4f065f8095323cbec541
2021-06-16 18:01:35 +02:00
Sergey Senozhatsky
ad241cb1cf wq: handle VM suspension in stall detection
[ Upstream commit 940d71c646 ]

If VCPU is suspended (VM suspend) in wq_watchdog_timer_fn() then
once this VCPU resumes it will see the new jiffies value, while it
may take a while before IRQ detects PVCLOCK_GUEST_STOPPED on this
VCPU and updates all the watchdogs via pvclock_touch_watchdogs().
There is a small chance of misreported WQ stalls in the meantime,
because new jiffies is time_after() old 'ts + thresh'.

wq_watchdog_timer_fn()
{
	for_each_pool(pool, pi) {
		if (time_after(jiffies, ts + thresh)) {
			pr_emerg("BUG: workqueue lockup - pool");
		}
	}
}

Save jiffies at the beginning of this function and use that value
for stall detection. If VM gets suspended then we continue using
"old" jiffies value and old WQ touch timestamps. If IRQ at some
point restarts the stall detection cycle (pvclock_touch_watchdogs())
then old jiffies will always be before new 'ts + thresh'.

Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-06-16 12:01:36 +02:00
Greg Kroah-Hartman
9a705f0463 Merge 5.10.30 into android12-5.10
Changes in 5.10.30
	xfrm/compat: Cleanup WARN()s that can be user-triggered
	ALSA: aloop: Fix initialization of controls
	ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1
	ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model
	ASoC: intel: atom: Stop advertising non working S24LE support
	nfc: fix refcount leak in llcp_sock_bind()
	nfc: fix refcount leak in llcp_sock_connect()
	nfc: fix memory leak in llcp_sock_connect()
	nfc: Avoid endless loops caused by repeated llcp_sock_connect()
	selinux: make nslot handling in avtab more robust
	selinux: fix cond_list corruption when changing booleans
	selinux: fix race between old and new sidtab
	xen/evtchn: Change irq_info lock to raw_spinlock_t
	net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh
	net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock
	net: dsa: lantiq_gswip: Don't use PHY auto polling
	net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits
	drm/i915: Fix invalid access to ACPI _DSM objects
	ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m
	IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS
	LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late
	gcov: re-fix clang-11+ support
	ia64: fix user_stack_pointer() for ptrace()
	nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff
	ocfs2: fix deadlock between setattr and dio_end_io_write
	fs: direct-io: fix missing sdio->boundary
	ethtool: fix incorrect datatype in set_eee ops
	of: property: fw_devlink: do not link ".*,nr-gpios"
	parisc: parisc-agp requires SBA IOMMU driver
	parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers
	ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
	batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field
	ice: Continue probe on link/PHY errors
	ice: Increase control queue timeout
	ice: prevent ice_open and ice_stop during reset
	ice: fix memory allocation call
	ice: remove DCBNL_DEVRESET bit from PF state
	ice: Fix for dereference of NULL pointer
	ice: Use port number instead of PF ID for WoL
	ice: Cleanup fltr list in case of allocation issues
	iwlwifi: pcie: properly set LTR workarounds on 22000 devices
	ice: fix memory leak of aRFS after resuming from suspend
	net: hso: fix null-ptr-deref during tty device unregistration
	libbpf: Fix bail out from 'ringbuf_process_ring()' on error
	bpf: Enforce that struct_ops programs be GPL-only
	bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET
	ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx
	libbpf: Ensure umem pointer is non-NULL before dereferencing
	libbpf: Restore umem state after socket create failure
	libbpf: Only create rx and tx XDP rings when necessary
	bpf: Refcount task stack in bpf_get_task_stack
	bpf, sockmap: Fix sk->prot unhash op reset
	bpf, sockmap: Fix incorrect fwd_alloc accounting
	net: ensure mac header is set in virtio_net_hdr_to_skb()
	i40e: Fix sparse warning: missing error code 'err'
	i40e: Fix sparse error: 'vsi->netdev' could be null
	i40e: Fix sparse error: uninitialized symbol 'ring'
	i40e: Fix sparse errors in i40e_txrx.c
	vdpa/mlx5: Fix suspend/resume index restoration
	net: sched: sch_teql: fix null-pointer dereference
	net: sched: fix action overwrite reference counting
	nl80211: fix beacon head validation
	nl80211: fix potential leak of ACL params
	cfg80211: check S1G beacon compat element length
	mac80211: fix time-is-after bug in mlme
	mac80211: fix TXQ AC confusion
	net: hsr: Reset MAC header for Tx path
	net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind()
	net: let skb_orphan_partial wake-up waiters.
	thunderbolt: Fix a leak in tb_retimer_add()
	thunderbolt: Fix off by one in tb_port_find_retimer()
	usbip: add sysfs_lock to synchronize sysfs code paths
	usbip: stub-dev synchronize sysfs code paths
	usbip: vudc synchronize sysfs code paths
	usbip: synchronize event handler with sysfs code paths
	driver core: Fix locking bug in deferred_probe_timeout_work_func()
	scsi: pm80xx: Fix chip initialization failure
	scsi: target: iscsi: Fix zero tag inside a trace event
	percpu: make pcpu_nr_empty_pop_pages per chunk type
	i2c: turn recovery error on init to debug
	KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched
	KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched
	KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn
	KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter
	KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed
	KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap
	KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping
	KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages
	KVM: x86/mmu: preserve pending TLB flush across calls to kvm_tdp_mmu_zap_sp
	net: sched: fix err handler in tcf_action_init()
	ice: Refactor DCB related variables out of the ice_port_info struct
	ice: Recognize 860 as iSCSI port in CEE mode
	xfrm: interface: fix ipv4 pmtu check to honor ip header df
	xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume
	remoteproc: qcom: pil_info: avoid 64-bit division
	regulator: bd9571mwv: Fix AVS and DVFS voltage range
	ARM: OMAP4: Fix PMIC voltage domains for bionic
	ARM: OMAP4: PM: update ROM return address for OSWR and OFF
	net: xfrm: Localize sequence counter per network namespace
	esp: delete NETIF_F_SCTP_CRC bit from features for esp offload
	ASoC: SOF: Intel: HDA: fix core status verification
	ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips
	xfrm: Fix NULL pointer dereference on policy lookup
	virtchnl: Fix layout of RSS structures
	i40e: Added Asym_Pause to supported link modes
	i40e: Fix kernel oops when i40e driver removes VF's
	hostfs: fix memory handling in follow_link()
	amd-xgbe: Update DMA coherency values
	vxlan: do not modify the shared tunnel info when PMTU triggers an ICMP reply
	geneve: do not modify the shared tunnel info when PMTU triggers an ICMP reply
	sch_red: fix off-by-one checks in red_check_params()
	drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit
	arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0
	xfrm: Provide private skb extensions for segmented and hw offloaded ESP packets
	can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE
	can: isotp: fix msg_namelen values depending on CAN_REQUIRED_SIZE
	mlxsw: spectrum: Fix ECN marking in tunnel decapsulation
	ethernet: myri10ge: Fix a use after free in myri10ge_sw_tso
	gianfar: Handle error code at MAC address change
	net: dsa: Fix type was not set for devlink port
	cxgb4: avoid collecting SGE_QBASE regs during traffic
	net:tipc: Fix a double free in tipc_sk_mcast_rcv
	ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
	net/ncsi: Avoid channel_monitor hrtimer deadlock
	net: qrtr: Fix memory leak on qrtr_tx_wait failure
	nfp: flower: ignore duplicate merge hints from FW
	net: phy: broadcom: Only advertise EEE for supported modes
	I2C: JZ4780: Fix bug for Ingenic X1000.
	ASoC: sunxi: sun4i-codec: fill ASoC card owner
	net/mlx5e: Fix mapping of ct_label zero
	net/mlx5e: Fix ethtool indication of connector type
	net/mlx5: Don't request more than supported EQs
	net/rds: Fix a use after free in rds_message_map_pages
	xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model
	soc/fsl: qbman: fix conflicting alignment attributes
	i40e: Fix display statistics for veb_tc
	RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session files
	drm/msm: Set drvdata to NULL when msm_drm_init() fails
	net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...);
	mptcp: forbit mcast-related sockopt on MPTCP sockets
	scsi: ufs: core: Fix task management request completion timeout
	scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs
	net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb
	net: macb: restore cmp registers on resume path
	clk: fix invalid usage of list cursor in register
	clk: fix invalid usage of list cursor in unregister
	workqueue: Move the position of debug_work_activate() in __queue_work()
	s390/cpcmd: fix inline assembly register clobbering
	perf inject: Fix repipe usage
	net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit()
	openvswitch: fix send of uninitialized stack memory in ct limit reply
	i2c: designware: Adjust bus_freq_hz when refuse high speed mode set
	iwlwifi: fix 11ax disabled bit in the regulatory capability flags
	can: mcp251x: fix support for half duplex SPI host controllers
	tipc: increment the tmp aead refcnt before attaching it
	net: hns3: clear VF down state bit before request link status
	net/mlx5: Fix placement of log_max_flow_counter
	net/mlx5: Fix PPLM register mapping
	net/mlx5: Fix PBMC register mapping
	RDMA/cxgb4: check for ipv6 address properly while destroying listener
	perf report: Fix wrong LBR block sorting
	RDMA/qedr: Fix kernel panic when trying to access recv_cq
	drm/vc4: crtc: Reduce PV fifo threshold on hvs4
	i40e: Fix parameters in aq_get_phy_register()
	RDMA/addr: Be strict with gid size
	vdpa/mlx5: should exclude header length and fcs from mtu
	vdpa/mlx5: Fix wrong use of bit numbers
	RAS/CEC: Correct ce_add_elem()'s returned values
	clk: socfpga: fix iomem pointer cast on 64-bit
	lockdep: Address clang -Wformat warning printing for %hd
	dt-bindings: net: ethernet-controller: fix typo in NVMEM
	net: sched: bump refcount for new action in ACT replace mode
	gpiolib: Read "gpio-line-names" from a firmware node
	cfg80211: remove WARN_ON() in cfg80211_sme_connect
	net: tun: set tun->dev->addr_len during TUNSETLINK processing
	drivers: net: fix memory leak in atusb_probe
	drivers: net: fix memory leak in peak_usb_create_dev
	net: mac802154: Fix general protection fault
	net: ieee802154: nl-mac: fix check on panid
	net: ieee802154: fix nl802154 del llsec key
	net: ieee802154: fix nl802154 del llsec dev
	net: ieee802154: fix nl802154 add llsec key
	net: ieee802154: fix nl802154 del llsec devkey
	net: ieee802154: forbid monitor for set llsec params
	net: ieee802154: forbid monitor for del llsec seclevel
	net: ieee802154: stop dump llsec params for monitors
	Revert "net: sched: bump refcount for new action in ACT replace mode"
	Linux 5.10.30

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie8754a2e4dfef03bf1f2b878843cde19a4adab21
2021-04-15 14:23:41 +02:00
Greg Kroah-Hartman
f592625f0e Merge 5.10.30 into android13-5.10
Changes in 5.10.30
	xfrm/compat: Cleanup WARN()s that can be user-triggered
	ALSA: aloop: Fix initialization of controls
	ALSA: hda/realtek: Fix speaker amp setup on Acer Aspire E1
	ALSA: hda/conexant: Apply quirk for another HP ZBook G5 model
	ASoC: intel: atom: Stop advertising non working S24LE support
	nfc: fix refcount leak in llcp_sock_bind()
	nfc: fix refcount leak in llcp_sock_connect()
	nfc: fix memory leak in llcp_sock_connect()
	nfc: Avoid endless loops caused by repeated llcp_sock_connect()
	selinux: make nslot handling in avtab more robust
	selinux: fix cond_list corruption when changing booleans
	selinux: fix race between old and new sidtab
	xen/evtchn: Change irq_info lock to raw_spinlock_t
	net: ipv6: check for validity before dereferencing cfg->fc_nlinfo.nlh
	net: dsa: lantiq_gswip: Let GSWIP automatically set the xMII clock
	net: dsa: lantiq_gswip: Don't use PHY auto polling
	net: dsa: lantiq_gswip: Configure all remaining GSWIP_MII_CFG bits
	drm/i915: Fix invalid access to ACPI _DSM objects
	ACPI: processor: Fix build when CONFIG_ACPI_PROCESSOR=m
	IB/hfi1: Fix probe time panic when AIP is enabled with a buggy BIOS
	LOOKUP_MOUNTPOINT: we are cleaning "jumped" flag too late
	gcov: re-fix clang-11+ support
	ia64: fix user_stack_pointer() for ptrace()
	nds32: flush_dcache_page: use page_mapping_file to avoid races with swapoff
	ocfs2: fix deadlock between setattr and dio_end_io_write
	fs: direct-io: fix missing sdio->boundary
	ethtool: fix incorrect datatype in set_eee ops
	of: property: fw_devlink: do not link ".*,nr-gpios"
	parisc: parisc-agp requires SBA IOMMU driver
	parisc: avoid a warning on u8 cast for cmpxchg on u8 pointers
	ARM: dts: turris-omnia: configure LED[2]/INTn pin as interrupt pin
	batman-adv: initialize "struct batadv_tvlv_tt_vlan_data"->reserved field
	ice: Continue probe on link/PHY errors
	ice: Increase control queue timeout
	ice: prevent ice_open and ice_stop during reset
	ice: fix memory allocation call
	ice: remove DCBNL_DEVRESET bit from PF state
	ice: Fix for dereference of NULL pointer
	ice: Use port number instead of PF ID for WoL
	ice: Cleanup fltr list in case of allocation issues
	iwlwifi: pcie: properly set LTR workarounds on 22000 devices
	ice: fix memory leak of aRFS after resuming from suspend
	net: hso: fix null-ptr-deref during tty device unregistration
	libbpf: Fix bail out from 'ringbuf_process_ring()' on error
	bpf: Enforce that struct_ops programs be GPL-only
	bpf: link: Refuse non-O_RDWR flags in BPF_OBJ_GET
	ethernet/netronome/nfp: Fix a use after free in nfp_bpf_ctrl_msg_rx
	libbpf: Ensure umem pointer is non-NULL before dereferencing
	libbpf: Restore umem state after socket create failure
	libbpf: Only create rx and tx XDP rings when necessary
	bpf: Refcount task stack in bpf_get_task_stack
	bpf, sockmap: Fix sk->prot unhash op reset
	bpf, sockmap: Fix incorrect fwd_alloc accounting
	net: ensure mac header is set in virtio_net_hdr_to_skb()
	i40e: Fix sparse warning: missing error code 'err'
	i40e: Fix sparse error: 'vsi->netdev' could be null
	i40e: Fix sparse error: uninitialized symbol 'ring'
	i40e: Fix sparse errors in i40e_txrx.c
	vdpa/mlx5: Fix suspend/resume index restoration
	net: sched: sch_teql: fix null-pointer dereference
	net: sched: fix action overwrite reference counting
	nl80211: fix beacon head validation
	nl80211: fix potential leak of ACL params
	cfg80211: check S1G beacon compat element length
	mac80211: fix time-is-after bug in mlme
	mac80211: fix TXQ AC confusion
	net: hsr: Reset MAC header for Tx path
	net-ipv6: bugfix - raw & sctp - switch to ipv6_can_nonlocal_bind()
	net: let skb_orphan_partial wake-up waiters.
	thunderbolt: Fix a leak in tb_retimer_add()
	thunderbolt: Fix off by one in tb_port_find_retimer()
	usbip: add sysfs_lock to synchronize sysfs code paths
	usbip: stub-dev synchronize sysfs code paths
	usbip: vudc synchronize sysfs code paths
	usbip: synchronize event handler with sysfs code paths
	driver core: Fix locking bug in deferred_probe_timeout_work_func()
	scsi: pm80xx: Fix chip initialization failure
	scsi: target: iscsi: Fix zero tag inside a trace event
	percpu: make pcpu_nr_empty_pop_pages per chunk type
	i2c: turn recovery error on init to debug
	KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched
	KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched
	KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn
	KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter
	KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed
	KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap
	KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping
	KVM: x86/mmu: Don't allow TDP MMU to yield when recovering NX pages
	KVM: x86/mmu: preserve pending TLB flush across calls to kvm_tdp_mmu_zap_sp
	net: sched: fix err handler in tcf_action_init()
	ice: Refactor DCB related variables out of the ice_port_info struct
	ice: Recognize 860 as iSCSI port in CEE mode
	xfrm: interface: fix ipv4 pmtu check to honor ip header df
	xfrm: Use actual socket sk instead of skb socket for xfrm_output_resume
	remoteproc: qcom: pil_info: avoid 64-bit division
	regulator: bd9571mwv: Fix AVS and DVFS voltage range
	ARM: OMAP4: Fix PMIC voltage domains for bionic
	ARM: OMAP4: PM: update ROM return address for OSWR and OFF
	net: xfrm: Localize sequence counter per network namespace
	esp: delete NETIF_F_SCTP_CRC bit from features for esp offload
	ASoC: SOF: Intel: HDA: fix core status verification
	ASoC: wm8960: Fix wrong bclk and lrclk with pll enabled for some chips
	xfrm: Fix NULL pointer dereference on policy lookup
	virtchnl: Fix layout of RSS structures
	i40e: Added Asym_Pause to supported link modes
	i40e: Fix kernel oops when i40e driver removes VF's
	hostfs: fix memory handling in follow_link()
	amd-xgbe: Update DMA coherency values
	vxlan: do not modify the shared tunnel info when PMTU triggers an ICMP reply
	geneve: do not modify the shared tunnel info when PMTU triggers an ICMP reply
	sch_red: fix off-by-one checks in red_check_params()
	drivers/net/wan/hdlc_fr: Fix a double free in pvc_xmit
	arm64: dts: imx8mm/q: Fix pad control of SD1_DATA0
	xfrm: Provide private skb extensions for segmented and hw offloaded ESP packets
	can: bcm/raw: fix msg_namelen values depending on CAN_REQUIRED_SIZE
	can: isotp: fix msg_namelen values depending on CAN_REQUIRED_SIZE
	mlxsw: spectrum: Fix ECN marking in tunnel decapsulation
	ethernet: myri10ge: Fix a use after free in myri10ge_sw_tso
	gianfar: Handle error code at MAC address change
	net: dsa: Fix type was not set for devlink port
	cxgb4: avoid collecting SGE_QBASE regs during traffic
	net:tipc: Fix a double free in tipc_sk_mcast_rcv
	ARM: dts: imx6: pbab01: Set vmmc supply for both SD interfaces
	net/ncsi: Avoid channel_monitor hrtimer deadlock
	net: qrtr: Fix memory leak on qrtr_tx_wait failure
	nfp: flower: ignore duplicate merge hints from FW
	net: phy: broadcom: Only advertise EEE for supported modes
	I2C: JZ4780: Fix bug for Ingenic X1000.
	ASoC: sunxi: sun4i-codec: fill ASoC card owner
	net/mlx5e: Fix mapping of ct_label zero
	net/mlx5e: Fix ethtool indication of connector type
	net/mlx5: Don't request more than supported EQs
	net/rds: Fix a use after free in rds_message_map_pages
	xdp: fix xdp_return_frame() kernel BUG throw for page_pool memory model
	soc/fsl: qbman: fix conflicting alignment attributes
	i40e: Fix display statistics for veb_tc
	RDMA/rtrs-clt: Close rtrs client conn before destroying rtrs clt session files
	drm/msm: Set drvdata to NULL when msm_drm_init() fails
	net: udp: Add support for getsockopt(..., ..., UDP_GRO, ..., ...);
	mptcp: forbit mcast-related sockopt on MPTCP sockets
	scsi: ufs: core: Fix task management request completion timeout
	scsi: ufs: core: Fix wrong Task Tag used in task management request UPIUs
	net: cls_api: Fix uninitialised struct field bo->unlocked_driver_cb
	net: macb: restore cmp registers on resume path
	clk: fix invalid usage of list cursor in register
	clk: fix invalid usage of list cursor in unregister
	workqueue: Move the position of debug_work_activate() in __queue_work()
	s390/cpcmd: fix inline assembly register clobbering
	perf inject: Fix repipe usage
	net: openvswitch: conntrack: simplify the return expression of ovs_ct_limit_get_default_limit()
	openvswitch: fix send of uninitialized stack memory in ct limit reply
	i2c: designware: Adjust bus_freq_hz when refuse high speed mode set
	iwlwifi: fix 11ax disabled bit in the regulatory capability flags
	can: mcp251x: fix support for half duplex SPI host controllers
	tipc: increment the tmp aead refcnt before attaching it
	net: hns3: clear VF down state bit before request link status
	net/mlx5: Fix placement of log_max_flow_counter
	net/mlx5: Fix PPLM register mapping
	net/mlx5: Fix PBMC register mapping
	RDMA/cxgb4: check for ipv6 address properly while destroying listener
	perf report: Fix wrong LBR block sorting
	RDMA/qedr: Fix kernel panic when trying to access recv_cq
	drm/vc4: crtc: Reduce PV fifo threshold on hvs4
	i40e: Fix parameters in aq_get_phy_register()
	RDMA/addr: Be strict with gid size
	vdpa/mlx5: should exclude header length and fcs from mtu
	vdpa/mlx5: Fix wrong use of bit numbers
	RAS/CEC: Correct ce_add_elem()'s returned values
	clk: socfpga: fix iomem pointer cast on 64-bit
	lockdep: Address clang -Wformat warning printing for %hd
	dt-bindings: net: ethernet-controller: fix typo in NVMEM
	net: sched: bump refcount for new action in ACT replace mode
	gpiolib: Read "gpio-line-names" from a firmware node
	cfg80211: remove WARN_ON() in cfg80211_sme_connect
	net: tun: set tun->dev->addr_len during TUNSETLINK processing
	drivers: net: fix memory leak in atusb_probe
	drivers: net: fix memory leak in peak_usb_create_dev
	net: mac802154: Fix general protection fault
	net: ieee802154: nl-mac: fix check on panid
	net: ieee802154: fix nl802154 del llsec key
	net: ieee802154: fix nl802154 del llsec dev
	net: ieee802154: fix nl802154 add llsec key
	net: ieee802154: fix nl802154 del llsec devkey
	net: ieee802154: forbid monitor for set llsec params
	net: ieee802154: forbid monitor for del llsec seclevel
	net: ieee802154: stop dump llsec params for monitors
	Revert "net: sched: bump refcount for new action in ACT replace mode"
	Linux 5.10.30

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I88d580f3578c13c0c8d6a7b5918b3be60314105d
2021-04-14 12:15:14 +02:00
Zqiang
7943f749f0 workqueue: Move the position of debug_work_activate() in __queue_work()
[ Upstream commit 0687c66b5f ]

The debug_work_activate() is called on the premise that
the work can be inserted, because if wq be in WQ_DRAINING
status, insert work may be failed.

Fixes: e41e704bc4 ("workqueue: improve destroy_workqueue() debuggability")
Signed-off-by: Zqiang <qiang.zhang@windriver.com>
Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-04-14 08:42:10 +02:00
Liujie Xie
8f3f46d77c ANDROID: vendor_hooks: Add hooks to recognize special worker thread.
Recognize special worker thread.

Bug: 184571803
Signed-off-by: Liujie Xie <xieliujie@oppo.com>
Change-Id: I2ad112627eb18b98d0868bac6bd00bbfd84b34c4
2021-04-06 19:42:07 +00:00
Greg Kroah-Hartman
d0d8327012 Merge 5.10.14 into android12-5.10
Changes in 5.10.14
	net: dsa: microchip: Adjust reset release timing to match reference reset circuit
	net: stmmac: dwmac-intel-plat: remove config data on error
	net: fec: put child node on error path
	net: octeontx2: Make sure the buffer is 128 byte aligned
	stmmac: intel: Configure EHL PSE0 GbE and PSE1 GbE to 32 bits DMA addressing
	mlxsw: spectrum_span: Do not overwrite policer configuration
	net: dsa: bcm_sf2: put device node before return
	net: switchdev: don't set port_obj_info->handled true when -EOPNOTSUPP
	ibmvnic: Ensure that CRQ entry read are correctly ordered
	iommu/io-pgtable-arm: Support coherency for Mali LPAE
	drm/panfrost: Support cache-coherent integrations
	arm64: dts: meson: Describe G12b GPU as coherent
	arm64: Fix kernel address detection of __is_lm_address()
	arm64: Do not pass tagged addresses to __is_lm_address()
	Revert "x86/setup: don't remove E820_TYPE_RAM for pfn 0"
	ARM: 9025/1: Kconfig: CPU_BIG_ENDIAN depends on !LD_IS_LLD
	iommu/vt-d: Do not use flush-queue when caching-mode is on
	phy: cpcap-usb: Fix warning for missing regulator_disable
	tools/power/x86/intel-speed-select: Set scaling_max_freq to base_frequency
	tools/power/x86/intel-speed-select: Set higher of cpuinfo_max_freq or base_frequency
	platform/x86: touchscreen_dmi: Add swap-x-y quirk for Goodix touchscreen on Estar Beauty HD tablet
	platform/x86: intel-vbtn: Support for tablet mode on Dell Inspiron 7352
	habanalabs: fix dma_addr passed to dma_mmap_coherent
	locking/lockdep: Avoid noinstr warning for DEBUG_LOCKDEP
	x86: __always_inline __{rd,wr}msr()
	scsi: scsi_transport_srp: Don't block target in failfast state
	scsi: libfc: Avoid invoking response handler twice if ep is already completed
	scsi: fnic: Fix memleak in vnic_dev_init_devcmd2
	ASoC: SOF: Intel: hda: Resume codec to do jack detection
	ALSA: hda: Add AlderLake-P PCI ID and HDMI codec vid
	objtool: Don't add empty symbols to the rbtree
	mac80211: fix incorrect strlen of .write in debugfs
	mac80211: fix fast-rx encryption check
	mac80211: fix encryption key selection for 802.3 xmit
	scsi: ibmvfc: Set default timeout to avoid crash during migration
	ALSA: hda: Add Cometlake-R PCI ID
	i2c: tegra: Create i2c_writesl_vi() to use with VI I2C for filling TX FIFO
	udf: fix the problem that the disc content is not displayed
	nvme: check the PRINFO bit before deciding the host buffer length
	nvme-rdma: avoid request double completion for concurrent nvme_rdma_timeout
	nvme-tcp: avoid request double completion for concurrent nvme_tcp_timeout
	nvme-pci: allow use of cmb on v1.4 controllers
	nvmet: set right status on error in id-ns handler
	platform/x86: thinkpad_acpi: Add P53/73 firmware to fan_quirk_table for dual fan control
	selftests/powerpc: Only test lwm/stmw on big endian
	drm/amd/display: Update dram_clock_change_latency for DCN2.1
	drm/amd/display: Allow PSTATE chnage when no displays are enabled
	drm/amd/display: Change function decide_dp_link_settings to avoid infinite looping
	drm/amd/display: Use hardware sequencer functions for PG control
	drm/amd/display: Fixed corruptions on HPDRX link loss restore
	habanalabs: zero pci counters packet before submit to FW
	habanalabs: fix backward compatibility of idle check
	habanalabs: disable FW events on device removal
	objtool: Don't fail the kernel build on fatal errors
	x86/cpu: Add another Alder Lake CPU to the Intel family
	kthread: Extract KTHREAD_IS_PER_CPU
	workqueue: Restrict affinity change to rescuer
	Linux 5.10.14

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I14bb472e4128e97ea84e91547b9223d1157b93c8
2021-02-08 20:05:12 -08:00
Peter Zijlstra
b80df6517d workqueue: Restrict affinity change to rescuer
[ Upstream commit 640f17c824 ]

create_worker() will already set the right affinity using
kthread_bind_mask(), this means only the rescuer will need to change
it's affinity.

Howveer, while in cpu-hot-unplug a regular task is not allowed to run
on online&&!active as it would be pushed away quite agressively. We
need KTHREAD_IS_PER_CPU to survive in that environment.

Therefore set the affinity after getting that magic flag.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Tested-by: Valentin Schneider <valentin.schneider@arm.com>
Link: https://lkml.kernel.org/r/20210121103506.826629830@infradead.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-02-07 15:37:17 +01:00
Walter Wu
789956f2bc UPSTREAM: workqueue: kasan: record workqueue stack
[ Upstream commit e89a85d63f ]

Patch series "kasan: add workqueue stack for generic KASAN", v5.

Syzbot reports many UAF issues for workqueue, see [1].

In some of these access/allocation happened in process_one_work(), we
see the free stack is useless in KASAN report, it doesn't help
programmers to solve UAF for workqueue issue.

This patchset improves KASAN reports by making them to have workqueue
queueing stack.  It is useful for programmers to solve use-after-free or
double-free memory issue.

Generic KASAN also records the last two workqueue stacks and prints them
in KASAN report.  It is only suitable for generic KASAN.

[1] https://groups.google.com/g/syzkaller-bugs/search?q=%22use-after-free%22+process_one_work
[2] https://bugzilla.kernel.org/show_bug.cgi?id=198437

This patch (of 4):

When analyzing use-after-free or double-free issue, recording the
enqueuing work stacks is helpful to preserve usage history which
potentially gives a hint about the affected code.

For workqueue it has turned out to be useful to record the enqueuing work
call stacks.  Because user can see KASAN report to determine whether it is
root cause.  They don't need to enable debugobjects, but they have a
chance to find out the root cause.

Link: https://lkml.kernel.org/r/20201203022148.29754-1-walter-zh.wu@mediatek.com
Link: https://lkml.kernel.org/r/20201203022442.30006-1-walter-zh.wu@mediatek.com
Signed-off-by: Walter Wu <walter-zh.wu@mediatek.com>
Suggested-by: Marco Elver <elver@google.com>
Acked-by: Marco Elver <elver@google.com>
Acked-by: Tejun Heo <tj@kernel.org>
Reviewed-by: Dmitry Vyukov <dvyukov@google.com>
Reviewed-by: Andrey Konovalov <andreyknvl@google.com>
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
Cc: Alexander Potapenko <glider@google.com>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Marco Elver <elver@google.com>
Cc: Matthias Brugger <matthias.bgg@gmail.com>
Cc: Jonathan Corbet <corbet@lwn.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Bug: 172318110
Signed-off-by: Andrey Konovalov <andreyknvl@google.com>
Change-Id: I3a27e632eb744742bf09e24013f4fcc341fb867f
2021-01-19 21:47:26 -08:00
Sami Tolvanen
83eeb88742 ANDROID: workqueue: cfi: disable callback pointer check with modules
With CFI, a callback function passed to __queue_delayed_work from a
module can point to a jump table entry defined in the module instead
of the one used in the core kernel, which breaks this test:

  WARN_ON_ONCE(timer->function != delayed_work_timer_fn);

To work around the problem, disable the warning when CFI and modules
are both enabled.

Bug: 145210207
Change-Id: I2a631ea3da9e401af38accf1001082b93b9b3443
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2021-01-14 16:30:53 +00:00
Greg Kroah-Hartman
7eadb0006a Merge 5.10.7 into android12-5.10
Changes in 5.10.7
	i40e: Fix Error I40E_AQ_RC_EINVAL when removing VFs
	iavf: fix double-release of rtnl_lock
	net/sched: sch_taprio: ensure to reset/destroy all child qdiscs
	net: mvpp2: Add TCAM entry to drop flow control pause frames
	net: mvpp2: prs: fix PPPoE with ipv6 packet parse
	net: systemport: set dev->max_mtu to UMAC_MAX_MTU_SIZE
	ethernet: ucc_geth: fix use-after-free in ucc_geth_remove()
	ethernet: ucc_geth: set dev->max_mtu to 1518
	ionic: account for vlan tag len in rx buffer len
	atm: idt77252: call pci_disable_device() on error path
	net: mvpp2: Fix GoP port 3 Networking Complex Control configurations
	net: stmmac: dwmac-meson8b: ignore the second clock input
	ibmvnic: fix login buffer memory leak
	ibmvnic: continue fatal error reset after passive init
	net: ethernet: mvneta: Fix error handling in mvneta_probe
	qede: fix offload for IPIP tunnel packets
	virtio_net: Fix recursive call to cpus_read_lock()
	net/ncsi: Use real net-device for response handler
	net: ethernet: Fix memleak in ethoc_probe
	net-sysfs: take the rtnl lock when storing xps_cpus
	net-sysfs: take the rtnl lock when accessing xps_cpus_map and num_tc
	net-sysfs: take the rtnl lock when storing xps_rxqs
	net-sysfs: take the rtnl lock when accessing xps_rxqs_map and num_tc
	net: ethernet: ti: cpts: fix ethtool output when no ptp_clock registered
	tun: fix return value when the number of iovs exceeds MAX_SKB_FRAGS
	e1000e: Only run S0ix flows if shutdown succeeded
	e1000e: bump up timeout to wait when ME un-configures ULP mode
	Revert "e1000e: disable s0ix entry and exit flows for ME systems"
	e1000e: Export S0ix flags to ethtool
	bnxt_en: Check TQM rings for maximum supported value.
	net: mvpp2: fix pkt coalescing int-threshold configuration
	bnxt_en: Fix AER recovery.
	ipv4: Ignore ECN bits for fib lookups in fib_compute_spec_dst()
	net: sched: prevent invalid Scell_log shift count
	net: hns: fix return value check in __lb_other_process()
	erspan: fix version 1 check in gre_parse_header()
	net: hdlc_ppp: Fix issues when mod_timer is called while timer is running
	bareudp: set NETIF_F_LLTX flag
	bareudp: Fix use of incorrect min_headroom size
	vhost_net: fix ubuf refcount incorrectly when sendmsg fails
	r8169: work around power-saving bug on some chip versions
	net: dsa: lantiq_gswip: Enable GSWIP_MII_CFG_EN also for internal PHYs
	net: dsa: lantiq_gswip: Fix GSWIP_MII_CFG(p) register access
	CDC-NCM: remove "connected" log message
	ibmvnic: fix: NULL pointer dereference.
	net: usb: qmi_wwan: add Quectel EM160R-GL
	selftests: mlxsw: Set headroom size of correct port
	stmmac: intel: Add PCI IDs for TGL-H platform
	selftests/vm: fix building protection keys test
	block: add debugfs stanza for QUEUE_FLAG_NOWAIT
	workqueue: Kick a worker based on the actual activation of delayed works
	scsi: ufs: Fix wrong print message in dev_err()
	scsi: ufs-pci: Fix restore from S4 for Intel controllers
	scsi: ufs-pci: Ensure UFS device is in PowerDown mode for suspend-to-disk ->poweroff()
	scsi: ufs-pci: Fix recovery from hibernate exit errors for Intel controllers
	scsi: ufs-pci: Enable UFSHCD_CAP_RPM_AUTOSUSPEND for Intel controllers
	scsi: block: Introduce BLK_MQ_REQ_PM
	scsi: ide: Do not set the RQF_PREEMPT flag for sense requests
	scsi: ide: Mark power management requests with RQF_PM instead of RQF_PREEMPT
	scsi: scsi_transport_spi: Set RQF_PM for domain validation commands
	scsi: core: Only process PM requests if rpm_status != RPM_ACTIVE
	local64.h: make <asm/local64.h> mandatory
	lib/genalloc: fix the overflow when size is too big
	depmod: handle the case of /sbin/depmod without /sbin in PATH
	scsi: ufs: Clear UAC for FFU and RPMB LUNs
	kbuild: don't hardcode depmod path
	Bluetooth: revert: hci_h5: close serdev device and free hu in h5_close
	scsi: block: Remove RQF_PREEMPT and BLK_MQ_REQ_PREEMPT
	scsi: block: Do not accept any requests while suspended
	crypto: ecdh - avoid buffer overflow in ecdh_set_secret()
	crypto: asym_tpm: correct zero out potential secrets
	powerpc: Handle .text.{hot,unlikely}.* in linker script
	Staging: comedi: Return -EFAULT if copy_to_user() fails
	staging: mt7621-dma: Fix a resource leak in an error handling path
	usb: gadget: enable super speed plus
	USB: cdc-acm: blacklist another IR Droid device
	USB: cdc-wdm: Fix use after free in service_outstanding_interrupt().
	usb: typec: intel_pmc_mux: Configure HPD first for HPD+IRQ request
	usb: dwc3: meson-g12a: disable clk on error handling path in probe
	usb: dwc3: gadget: Restart DWC3 gadget when enabling pullup
	usb: dwc3: gadget: Clear wait flag on dequeue
	usb: dwc3: ulpi: Use VStsDone to detect PHY regs access completion
	usb: dwc3: ulpi: Replace CPU-based busyloop with Protocol-based one
	usb: dwc3: ulpi: Fix USB2.0 HS/FS/LS PHY suspend regression
	usb: chipidea: ci_hdrc_imx: add missing put_device() call in usbmisc_get_init_data()
	USB: xhci: fix U1/U2 handling for hardware with XHCI_INTEL_HOST quirk set
	usb: usbip: vhci_hcd: protect shift size
	usb: uas: Add PNY USB Portable SSD to unusual_uas
	USB: serial: iuu_phoenix: fix DMA from stack
	USB: serial: option: add LongSung M5710 module support
	USB: serial: option: add Quectel EM160R-GL
	USB: yurex: fix control-URB timeout handling
	USB: usblp: fix DMA to stack
	ALSA: usb-audio: Fix UBSAN warnings for MIDI jacks
	usb: gadget: select CONFIG_CRC32
	USB: Gadget: dummy-hcd: Fix shift-out-of-bounds bug
	usb: gadget: f_uac2: reset wMaxPacketSize
	usb: gadget: function: printer: Fix a memory leak for interface descriptor
	usb: gadget: u_ether: Fix MTU size mismatch with RX packet size
	USB: gadget: legacy: fix return error code in acm_ms_bind()
	usb: gadget: Fix spinlock lockup on usb_function_deactivate
	usb: gadget: configfs: Preserve function ordering after bind failure
	usb: gadget: configfs: Fix use-after-free issue with udc_name
	USB: serial: keyspan_pda: remove unused variable
	hwmon: (amd_energy) fix allocation of hwmon_channel_info config
	mm: make wait_on_page_writeback() wait for multiple pending writebacks
	x86/mm: Fix leak of pmd ptlock
	KVM: x86/mmu: Use -1 to flag an undefined spte in get_mmio_spte()
	KVM: x86/mmu: Get root level from walkers when retrieving MMIO SPTE
	kvm: check tlbs_dirty directly
	KVM: x86/mmu: Ensure TDP MMU roots are freed after yield
	x86/resctrl: Use an IPI instead of task_work_add() to update PQR_ASSOC MSR
	x86/resctrl: Don't move a task to the same resource group
	blk-iocost: fix NULL iocg deref from racing against initialization
	ALSA: hda/via: Fix runtime PM for Clevo W35xSS
	ALSA: hda/conexant: add a new hda codec CX11970
	ALSA: hda/realtek - Fix speaker volume control on Lenovo C940
	ALSA: hda/realtek: Add mute LED quirk for more HP laptops
	ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7
	ALSA: hda/realtek: Add two "Intel Reference board" SSID in the ALC256.
	iommu/vt-d: Move intel_iommu info from struct intel_svm to struct intel_svm_dev
	btrfs: qgroup: don't try to wait flushing if we're already holding a transaction
	btrfs: send: fix wrong file path when there is an inode with a pending rmdir
	Revert "device property: Keep secondary firmware node secondary by type"
	dmabuf: fix use-after-free of dmabuf's file->f_inode
	arm64: link with -z norelro for LLD or aarch64-elf
	drm/i915: clear the shadow batch
	drm/i915: clear the gpu reloc batch
	bcache: fix typo from SUUP to SUPP in features.h
	bcache: check unsupported feature sets for bcache register
	bcache: introduce BCH_FEATURE_INCOMPAT_LOG_LARGE_BUCKET_SIZE for large bucket
	net/mlx5e: Fix SWP offsets when vlan inserted by driver
	ARM: dts: OMAP3: disable AES on N950/N9
	netfilter: x_tables: Update remaining dereference to RCU
	netfilter: ipset: fix shift-out-of-bounds in htable_bits()
	netfilter: xt_RATEEST: reject non-null terminated string from userspace
	netfilter: nft_dynset: report EOPNOTSUPP on missing set feature
	dmaengine: idxd: off by one in cleanup code
	x86/mtrr: Correct the range check before performing MTRR type lookups
	KVM: x86: fix shift out of bounds reported by UBSAN
	xsk: Fix memory leak for failed bind
	rtlwifi: rise completion at the last step of firmware callback
	scsi: target: Fix XCOPY NAA identifier lookup
	Linux 5.10.7

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I1a7c195af35831fe362b027fe013c0c7e4dc20ea
2021-01-13 10:29:42 +01:00
Yunfeng Ye
dfec7dc891 workqueue: Kick a worker based on the actual activation of delayed works
[ Upstream commit 01341fbd0d ]

In realtime scenario, We do not want to have interference on the
isolated cpu cores. but when invoking alloc_workqueue() for percpu wq
on the housekeeping cpu, it kick a kworker on the isolated cpu.

  alloc_workqueue
    pwq_adjust_max_active
      wake_up_worker

The comment in pwq_adjust_max_active() said:
  "Need to kick a worker after thawed or an unbound wq's
   max_active is bumped"

So it is unnecessary to kick a kworker for percpu's wq when invoking
alloc_workqueue(). this patch only kick a worker based on the actual
activation of delayed works.

Signed-off-by: Yunfeng Ye <yeyunfeng@huawei.com>
Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-01-12 20:18:14 +01:00
Changki Kim
c7c6b3a0de ANDROID: workqueue: Export workqueue_execute_start/end tracepoints
Export workqueue_execute_start/end tracepoints, so that vendor modules
can register probes for these tracepoints.

Bug: 175936268
Change-Id: Ib4c8f39ff8305a1d52fbca9d06b5e792396a3a2d
Signed-off-by: Changki Kim <changki.kim@samsung.com>
2020-12-21 17:48:38 +00:00
Greg Kroah-Hartman
05d2a661fd Merge 54a4c789ca ("Merge tag 'docs/v5.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media") into android-mainline
Steps on the way to 5.10-rc1

Resolves conflicts in:
	fs/userfaultfd.c

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie3fe3c818f1f6565cfd4fa551de72d2b72ef60af
2020-10-26 09:23:33 +01:00
Greg Kroah-Hartman
60735ebe2a Merge 20d49bfcc3 ("Merge tag 'core-debugobjects-2020-10-12' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip") into android-mainline
Steps on the way to 5.10-rc1

Change-Id: I354c03b310a92c4271b496c04bf597335e019e30
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2020-10-21 09:31:27 +02:00
Mauro Carvalho Chehab
3eb6b31bfb workqueue: fix a kernel-doc warning
As warned by Sphinx:

	./Documentation/core-api/workqueue:400: ./kernel/workqueue.c:1218: WARNING: Unexpected indentation.

the return code table is currently not recognized, as it lacks
markups.

Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
2020-10-16 07:28:20 +02:00
Sangmoon Kim
34f087452f ANDROID: workqueue: add vendor hook for wq lockup information
- Add the hook to provide additional information like
   a task scheduling log.

Bug: 169374262

Signed-off-by: Sangmoon Kim <sangmoon.kim@samsung.com>
Change-Id: I203dbc6faa77687ea48769f76658d28b29ef46fd
(cherry picked from commit 2ea974a00c7bdbbee140d68d8867ddcbfb529ecc)
2020-10-06 16:09:23 +00:00
Stephen Boyd
f9e62f318f treewide: Make all debug_obj_descriptors const
This should make it harder for the kernel to corrupt the debug object
descriptor, used to call functions to fixup state and track debug objects,
by moving the structure to read-only memory.

Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20200815004027.2046113-3-swboyd@chromium.org
2020-09-24 21:56:25 +02:00
Greg Kroah-Hartman
5a2a02b634 Revert "ANDROID: Disable wq fp check in CFI builds"
This reverts commit fc33a8fd54 as CFI is
being removed from the tree to come back later as a "clean" set of
patches.

Bug: 145210207
Cc: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ie2c41854aa7613c7466dda6e88b3ce4b48460b80
2020-07-17 14:45:48 +02:00
Greg Kroah-Hartman
1d722fa8e9 Merge 5.8-rc2 into android-mainline
Linux 5.8-rc2

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I0e2f0302387539982d5577ad72079621c35c5f61
2020-06-27 09:48:57 +02:00
Greg Kroah-Hartman
2f9c5c39bf Merge 3b69e8b457 ("Merge tag 'sh-for-5.8' of git://git.libc.org/linux-sh") into android-mainline
Steps on the way to 5.8-rc1.

Change-Id: I9fcdd820bc1555c51a93d77278079ec8c1b4c186
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2020-06-24 12:27:21 +02:00
Christoph Hellwig
fe557319aa maccess: rename probe_kernel_{read,write} to copy_{from,to}_kernel_nofault
Better describe what these functions do.

Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2020-06-17 10:57:41 -07:00
Lai Jiangshan
10cdb15759 workqueue: use BUILD_BUG_ON() for compile time test instead of WARN_ON()
Any runtime WARN_ON() has to be fixed, and BUILD_BUG_ON() can
help you nitice it earlier.

Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-06-01 11:02:42 -04:00
Lai Jiangshan
b8f06b0444 workqueue: remove useless unlock() and lock() in series
This is no point to unlock() and then lock() the same mutex
back to back.

Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-05-29 10:25:23 -04:00
Lai Jiangshan
4f3f4cf388 workqueue: void unneeded requeuing the pwq in rescuer thread
008847f66c ("workqueue: allow rescuer thread to do more work.") made
the rescuer worker requeue the pwq immediately if there may be more
work items which need rescuing instead of waiting for the next mayday
timer expiration.  Unfortunately, it checks only whether the pool needs
help from rescuers, but it doesn't check whether the pwq has work items
in the pool (the real reason that this rescuer can help for the pool).

The patch adds the check and void unneeded requeuing.

Signed-off-by: Lai Jiangshan <laijs@linux.alibaba.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-05-29 10:22:10 -04:00
Sebastian Andrzej Siewior
a9b8a98529 workqueue: Convert the pool::lock and wq_mayday_lock to raw_spinlock_t
The workqueue code has it's internal spinlocks (pool::lock), which
are acquired on most workqueue operations. These spinlocks are
converted to 'sleeping' spinlocks on a RT-kernel.

Workqueue functions can be invoked from contexts which are truly atomic
even on a PREEMPT_RT enabled kernel. Taking sleeping locks from such
contexts is forbidden.

The pool::lock hold times are bound and the code sections are
relatively short, which allows to convert pool::lock and as a
consequence wq_mayday_lock to raw spinlocks which are truly spinning
locks even on a PREEMPT_RT kernel.

With the previous conversion of the manager waitqueue to a simple
waitqueue workqueues are now fully RT compliant.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-05-29 10:03:47 -04:00
Sebastian Andrzej Siewior
d8bb65ab70 workqueue: Use rcuwait for wq_manager_wait
The workqueue code has it's internal spinlock (pool::lock) and also
implicit spinlock usage in the wq_manager waitqueue. These spinlocks
are converted to 'sleeping' spinlocks on a RT-kernel.

Workqueue functions can be invoked from contexts which are truly atomic
even on a PREEMPT_RT enabled kernel. Taking sleeping locks from such
contexts is forbidden.

pool::lock can be converted to a raw spinlock as the lock held times
are short. But the workqueue manager waitqueue is handled inside of
pool::lock held regions which again violates the lock nesting rules
of raw and regular spinlocks.

The manager waitqueue has no special requirements like custom wakeup
callbacks or mass wakeups. While it does not use exclusive wait mode
explicitly there is no strict requirement to queue the waiters in a
particular order as there is only one waiter at a time.

This allows to replace the waitqueue with rcuwait which solves the
locking problem because rcuwait relies on existing locking.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-05-29 10:00:35 -04:00
Zhang Qiang
342ed2400b workqueue: Remove unnecessary kfree() call in rcu_free_wq()
The data structure member "wq->rescuer" was reset to a null pointer
in one if branch. It was passed to a call of the function "kfree"
in the callback function "rcu_free_wq" (which was eventually executed).
The function "kfree" does not perform more meaningful data processing
for a passed null pointer (besides immediately returning from such a call).
Thus delete this function call which became unnecessary with the referenced
software update.

Fixes: def98c84b6 ("workqueue: Fix spurious sanity check failures in destroy_workqueue()")

Suggested-by: Markus Elfring <Markus.Elfring@web.de>
Signed-off-by: Zhang Qiang <qiang.zhang@windriver.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-05-27 09:52:41 -04:00
Dan Carpenter
b92b36eadf workqueue: Fix an use after free in init_rescuer()
We need to preserve error code before freeing "rescuer".

Fixes: f187b6974f ("workqueue: Use IS_ERR and PTR_ERR instead of PTR_ERR_OR_ZERO.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-05-11 10:25:42 -04:00
Sean Fu
f187b6974f workqueue: Use IS_ERR and PTR_ERR instead of PTR_ERR_OR_ZERO.
Replace inline function PTR_ERR_OR_ZERO with IS_ERR and PTR_ERR to
remove redundant parameter definitions and checks.
Reduce code size.
Before:
   text	   data	    bss	    dec	    hex	filename
  47510	   5979	    840	  54329	   d439	kernel/workqueue.o
After:
   text	   data	    bss	    dec	    hex	filename
  47474	   5979	    840	  54293	   d415	kernel/workqueue.o

Signed-off-by: Sean Fu <fxinrong@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-05-05 11:56:07 -04:00
Greg Kroah-Hartman
ba9bbd9498 Merge 5.7-rc1 into android-mainline
Linux 5.7-rc1

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I40037d3be5c3181d58f7aa1122d1fb06353d98b9
2020-04-13 09:13:20 +02:00
Sebastian Andrzej Siewior
62849a9612 workqueue: Remove the warning in wq_worker_sleeping()
The kernel test robot triggered a warning with the following race:
   task-ctx A                            interrupt-ctx B
 worker
  -> process_one_work()
    -> work_item()
      -> schedule();
         -> sched_submit_work()
           -> wq_worker_sleeping()
             -> ->sleeping = 1
               atomic_dec_and_test(nr_running)
         __schedule();                *interrupt*
                                       async_page_fault()
                                       -> local_irq_enable();
                                       -> schedule();
                                          -> sched_submit_work()
                                            -> wq_worker_sleeping()
                                               -> if (WARN_ON(->sleeping)) return
                                          -> __schedule()
                                            ->  sched_update_worker()
                                              -> wq_worker_running()
                                                 -> atomic_inc(nr_running);
                                                 -> ->sleeping = 0;

      ->  sched_update_worker()
        -> wq_worker_running()
          if (!->sleeping) return

In this context the warning is pointless everything is fine.
An interrupt before wq_worker_sleeping() will perform the ->sleeping
assignment (0 -> 1 > 0) twice.
An interrupt after wq_worker_sleeping() will trigger the warning and
nr_running will be decremented (by A) and incremented once (only by B, A
will skip it). This is the case until the ->sleeping is zeroed again in
wq_worker_running().

Remove the WARN statement because this condition may happen. Document
that preemption around wq_worker_sleeping() needs to be disabled to
protect ->sleeping and not just as an optimisation.

Fixes: 6d25be5782 ("sched/core, workqueues: Distangle worker accounting from rq lock")
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Cc: Tejun Heo <tj@kernel.org>
Link: https://lkml.kernel.org/r/20200327074308.GY11705@shao2-debian
2020-04-08 11:35:20 +02:00
Greg Kroah-Hartman
34ed0e2946 Merge 5364abc579 ("Merge tag 'arc-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc") into android-mainline
Steps along the 5.7-rc1 merge.

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: Ib9f87147ac3d81985496818b0c61bdd086140eed
2020-04-08 09:25:42 +02:00
Linus Torvalds
0adb8bc039 Merge branch 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq
Pull workqueue updates from Tejun Heo:
 "Nothing too interesting. Just two trivial patches"

* 'for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
  workqueue: Mark up unlocked access to wq->first_flusher
  workqueue: Make workqueue_init*() return void
2020-04-03 12:27:36 -07:00
Alistair Delva
494d70ec87 ANDROID: Fix wq fp check for CFI builds
A previous change added a test on the wrong config flag; rename
CFI to CFI_CLANG.

Bug: 145210207
Change-Id: Id8aead2eb2c75ad6442d10165f6cb86ccfb9c2f9
Signed-off-by: Alistair Delva <adelva@google.com>
2020-04-02 21:00:29 +00:00
Greg Kroah-Hartman
ae56fd997e Merge 5.6-rc6 into android-mainline
Linux 5.6-rc6

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Change-Id: I6c2d7aff44ad5a9b75030b72d34ca5dbd5ad3ceb
2020-03-16 08:09:43 +01:00
Chris Wilson
00d5d15b06 workqueue: Mark up unlocked access to wq->first_flusher
[ 7329.671518] BUG: KCSAN: data-race in flush_workqueue / flush_workqueue
[ 7329.671549]
[ 7329.671572] write to 0xffff8881f65fb250 of 8 bytes by task 37173 on cpu 2:
[ 7329.671607]  flush_workqueue+0x3bc/0x9b0 (kernel/workqueue.c:2844)
[ 7329.672527]
[ 7329.672540] read to 0xffff8881f65fb250 of 8 bytes by task 37175 on cpu 0:
[ 7329.672571]  flush_workqueue+0x28d/0x9b0 (kernel/workqueue.c:2835)

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tejun Heo <tj@kernel.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-03-12 14:26:50 -04:00
Hillf Danton
aa202f1f56 workqueue: don't use wq_select_unbound_cpu() for bound works
wq_select_unbound_cpu() is designed for unbound workqueues only, but
it's wrongly called when using a bound workqueue too.

Fixing this ensures work queued to a bound workqueue with
cpu=WORK_CPU_UNBOUND always runs on the local CPU.

Before, that would happen only if wq_unbound_cpumask happened to include
it (likely almost always the case), or was empty, or we got lucky with
forced round-robin placement.  So restricting
/sys/devices/virtual/workqueue/cpumask to a small subset of a machine's
CPUs would cause some bound work items to run unexpectedly there.

Fixes: ef55718044 ("workqueue: schedule WORK_CPU_UNBOUND work on wq_unbound_cpumask CPUs")
Cc: stable@vger.kernel.org # v4.5+
Signed-off-by: Hillf Danton <hdanton@sina.com>
[dj: massage changelog]
Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-03-10 10:30:51 -04:00
Yu Chen
2333e82995 workqueue: Make workqueue_init*() return void
The return values of workqueue_init() and workqueue_early_int() are
always 0, and there is no usage of their return value.  So just make
them return void.

Signed-off-by: Yu Chen <chen.yu@easystack.cn>
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-03-04 11:21:49 -05:00
Sami Tolvanen
fc33a8fd54 ANDROID: Disable wq fp check in CFI builds
With non-canonical CFI, LLVM generates jump table entries for external
symbols in modules and as a result, a function pointer passed from a
module to the core kernel will have a different address.

Disable the warning for now.

Bug: 145210207
Change-Id: Ifdcee3479280f7b97abdee6b4c746f447e0944e6
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Alistair Delva <adelva@google.com>
2020-02-27 00:07:36 +00:00
Linus Torvalds
c677124e63 Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull scheduler updates from Ingo Molnar:
 "These were the main changes in this cycle:

   - More -rt motivated separation of CONFIG_PREEMPT and
     CONFIG_PREEMPTION.

   - Add more low level scheduling topology sanity checks and warnings
     to filter out nonsensical topologies that break scheduling.

   - Extend uclamp constraints to influence wakeup CPU placement

   - Make the RT scheduler more aware of asymmetric topologies and CPU
     capacities, via uclamp metrics, if CONFIG_UCLAMP_TASK=y

   - Make idle CPU selection more consistent

   - Various fixes, smaller cleanups, updates and enhancements - please
     see the git log for details"

* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits)
  sched/fair: Define sched_idle_cpu() only for SMP configurations
  sched/topology: Assert non-NUMA topology masks don't (partially) overlap
  idle: fix spelling mistake "iterrupts" -> "interrupts"
  sched/fair: Remove redundant call to cpufreq_update_util()
  sched/psi: create /proc/pressure and /proc/pressure/{io|memory|cpu} only when psi enabled
  sched/fair: Fix sgc->{min,max}_capacity calculation for SD_OVERLAP
  sched/fair: calculate delta runnable load only when it's needed
  sched/cputime: move rq parameter in irqtime_account_process_tick
  stop_machine: Make stop_cpus() static
  sched/debug: Reset watchdog on all CPUs while processing sysrq-t
  sched/core: Fix size of rq::uclamp initialization
  sched/uclamp: Fix a bug in propagating uclamp value in new cgroups
  sched/fair: Load balance aggressively for SCHED_IDLE CPUs
  sched/fair : Improve update_sd_pick_busiest for spare capacity case
  watchdog: Remove soft_lockup_hrtimer_cnt and related code
  sched/rt: Make RT capacity-aware
  sched/fair: Make EAS wakeup placement consider uclamp restrictions
  sched/fair: Make task_fits_capacity() consider uclamp restrictions
  sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with()
  sched/uclamp: Make uclamp util helpers use and return UL values
  ...
2020-01-28 10:07:09 -08:00
Daniel Jordan
1c5da0ec7f workqueue: add worker function to workqueue_execute_end tracepoint
It's surprising that workqueue_execute_end includes only the work when
its counterpart workqueue_execute_start has both the work and the worker
function.

You can't set a tracing filter or trigger based on the function, and
postprocessing scripts interested in specific functions are harder to
write since they have to remember the work from _start and match it up
with the same field in _end.

Add the function name, taking care to use the copy stashed in the
worker since the work is no longer safe to touch.

Signed-off-by: Daniel Jordan <daniel.m.jordan@oracle.com>
Cc: Tejun Heo <tj@kernel.org>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Tejun Heo <tj@kernel.org>
2020-01-15 08:02:47 -08:00
Ingo Molnar
1e5f8a3085 Merge tag 'v5.5-rc3' into sched/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-12-25 10:41:37 +01:00
Sebastian Andrzej Siewior
025f50f386 sched/rt, workqueue: Use PREEMPTION
CONFIG_PREEMPTION is selected by CONFIG_PREEMPT and by CONFIG_PREEMPT_RT.
Both PREEMPT and PREEMPT_RT require the same functionality which today
depends on CONFIG_PREEMPT.

Update the comment to use PREEMPTION because it is true for both
preemption models.

Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Lai Jiangshan <jiangshanlai@gmail.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Tejun Heo <tj@kernel.org>
Link: https://lore.kernel.org/r/20191015191821.11479-35-bigeasy@linutronix.de
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2019-12-08 14:37:37 +01:00
Kefeng Wang
1d9a6159bd workqueue: Use pr_warn instead of pr_warning
Use pr_warn() instead of the remaining pr_warning() calls.

Link: http://lkml.kernel.org/r/20191128004752.35268-2-wangkefeng.wang@huawei.com
To: joe@perches.com
To: linux-kernel@vger.kernel.org
Cc: gregkh@linuxfoundation.org
Cc: tj@kernel.org
Cc: arnd@arndb.de
Cc: sergey.senozhatsky@gmail.com
Cc: rostedt@goodmis.org
Signed-off-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Petr Mladek <pmladek@suse.com>
2019-12-06 09:59:30 +01:00
Linus Torvalds
1ae78780ed Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull RCU updates from Ingo Molnar:
 "The main changes in this cycle were:

   - Dynamic tick (nohz) updates, perhaps most notably changes to force
     the tick on when needed due to lengthy in-kernel execution on CPUs
     on which RCU is waiting.

   - Linux-kernel memory consistency model updates.

   - Replace rcu_swap_protected() with rcu_prepace_pointer().

   - Torture-test updates.

   - Documentation updates.

   - Miscellaneous fixes"

* 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (51 commits)
  security/safesetid: Replace rcu_swap_protected() with rcu_replace_pointer()
  net/sched: Replace rcu_swap_protected() with rcu_replace_pointer()
  net/netfilter: Replace rcu_swap_protected() with rcu_replace_pointer()
  net/core: Replace rcu_swap_protected() with rcu_replace_pointer()
  bpf/cgroup: Replace rcu_swap_protected() with rcu_replace_pointer()
  fs/afs: Replace rcu_swap_protected() with rcu_replace_pointer()
  drivers/scsi: Replace rcu_swap_protected() with rcu_replace_pointer()
  drm/i915: Replace rcu_swap_protected() with rcu_replace_pointer()
  x86/kvm/pmu: Replace rcu_swap_protected() with rcu_replace_pointer()
  rcu: Upgrade rcu_swap_protected() to rcu_replace_pointer()
  rcu: Suppress levelspread uninitialized messages
  rcu: Fix uninitialized variable in nocb_gp_wait()
  rcu: Update descriptions for rcu_future_grace_period tracepoint
  rcu: Update descriptions for rcu_nocb_wake tracepoint
  rcu: Remove obsolete descriptions for rcu_barrier tracepoint
  rcu: Ensure that ->rcu_urgent_qs is set before resched IPI
  workqueue: Convert for_each_wq to use built-in list check
  rcu: Several rcu_segcblist functions can be static
  rcu: Remove unused function hlist_bl_del_init_rcu()
  Documentation: Rename rcu_node_context_switch() to rcu_note_context_switch()
  ...
2019-11-26 15:42:43 -08:00
Sebastian Andrzej Siewior
49e9d1a9fa workqueue: Add RCU annotation for pwq list walk
An additional check has been recently added to ensure that a RCU related lock
is held while the RCU list is iterated.
The `pwqs' are sometimes iterated without a RCU lock but with the &wq->mutex
acquired leading to a warning.

Teach list_for_each_entry_rcu() that the RCU usage is okay if &wq->mutex
is acquired during the list traversal.

Fixes: 28875945ba ("rcu: Add support for consolidated-RCU reader checking")
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Tejun Heo <tj@kernel.org>
2019-11-15 11:53:35 -08:00
Joel Fernandes (Google)
5a6446626d workqueue: Convert for_each_wq to use built-in list check
Because list_for_each_entry_rcu() can now check for holding a
lock as well as for being in an RCU read-side critical section,
this commit replaces the workqueue_sysfs_unregister() function's
use of assert_rcu_or_wq_mutex() and list_for_each_entry_rcu() with
list_for_each_entry_rcu() augmented with a lockdep_is_held() optional
argument.

Acked-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Joel Fernandes (Google) <joel@joelfernandes.org>
Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
2019-10-30 08:34:10 -07:00
Tejun Heo
e66b39af00 workqueue: Fix pwq ref leak in rescuer_thread()
008847f66c ("workqueue: allow rescuer thread to do more work.") made
the rescuer worker requeue the pwq immediately if there may be more
work items which need rescuing instead of waiting for the next mayday
timer expiration.  Unfortunately, it doesn't check whether the pwq is
already on the mayday list and unconditionally gets the ref and moves
it onto the list.  This doesn't corrupt the list but creates an
additional reference to the pwq.  It got queued twice but will only be
removed once.

This leak later can trigger pwq refcnt warning on workqueue
destruction and prevent freeing of the workqueue.

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: "Williams, Gerald S" <gerald.s.williams@intel.com>
Cc: NeilBrown <neilb@suse.de>
Cc: stable@vger.kernel.org # v3.19+
2019-10-04 10:23:11 -07:00