August 20, 2021

Detailed Changelogs

Date: 20/08/2021

- arm64: configs: sakura: Update and Regenerate defconfig
- arm64: configs: sakura: Update defconfig
- Makefile: Optimize LDFLAGS for lld
- vdso: Makefile: Enable some optimisations
- arm64: Makefile: Optimize compile for the device
- arm64: Optimize Makefile
- dts: msm8953: Switch to Efficient CPU Frequencies
- proc: reject "." and ".." as filenames
- proc: do mmput ASAP for /proc/*/map_files
- proc: faster /proc/cmdline
- proc: fix /proc/*/map_files lookup some more
- fs/proc/proc_sysctl.c: remove redundant link check in proc_sys_link_fill_cache()
- proc: use set_puts() at /proc/*/wchan
- proc: check permissions earlier for /proc/*/wchan
- proc: replace seq_printf by seq_put_smth to speed up /proc/pid/status
- proc: optimize single-symbol delimiters to spead up seq_put_decimal_ull
- proc: replace seq_printf on seq_putc to speed up /proc/pid/smaps
- proc: add seq_put_decimal_ull_width to speed up /proc/pid/smaps
- fs/proc/task_mmu.c: do not show VmExe bigger than total executable virtual memory
- mm: consolidate page table accounting
- mm: introduce wrappers to access mm->nr_ptes
- mm: account pud page tables
- proc: account "struct pde_opener"
- proc: move "struct pde_opener" to kmem cache
- fs/proc: use __ro_after_init
- proc: move /proc/sysvipc creation to where it belongs
- proc: get rid of task lock/unlock pair to read umask for the "status" file
- procfs: optimize seq_pad() to speed up /proc/pid/maps
- procfs: add seq_put_hex_ll to speed up /proc/pid/maps
- proc: faster open/close of files without ->release hook
- proc: do less stuff under ->pde_unload_lock
- proc: register filesystem last
- loop: Add PF_LESS_THROTTLE to block/loop device thread.
- fix int_sqrt64() for very large numbers
- kgsl: add low_prio_worker thread
- msm: ipa: Fix race condition between timer expiry for wq and pipe teardown
- msm: kgsl: improve memory stats maintenance
- msm: kgsl: Fix memory leak in _insert_gpuaddr()
- msm: kgsl: convert some workqueues to use kthreads.
- UPSTREAM: include/linux/slab.h: fix sparse warning in kmalloc_type()
- UPSTREAM: mm, slab: shorten kmalloc cache names for large sizes
- UPSTREAM: mm, proc: add KReclaimable to /proc/meminfo
- BACKPORT: mm: rename and change semantics of nr_indirectly_reclaimable_bytes
- UPSTREAM: dcache: allocate external names from reclaimable kmalloc caches
- BACKPORT: mm, slab/slub: introduce kmalloc-reclaimable caches
- UPSTREAM: mm, slab: combine kmalloc_caches and kmalloc_dma_caches
- mm: zero-seek shrinkers
- power_supply: don't allocate attrname
- mm, slab: faster active and free stats
- ion: add movability support for page pools
- mm: alloc_contig: re-allow CMA to compact FS pages
- pinctrl: msm: Remove explicit barriers from mmio ops where unneeded
- cpu/hotplug: Provide lockdep_assert_cpus_held()
- arm64/kernel: jump_label: Switch to relative references
- jump_label: Add branch hints to static_branch_{un,}likely()
- locking/static_key: Don't take sleeping locks in __static_key_slow_dec_deferred()
- locking/static_key: Factor out the fast path of static_key_slow_dec()
- locking/static_key: Add support for deferred static branches
- locking/static_key: Fix false positive warnings on concurrent dec/inc
- jump_label: Fix NULL dereference bug in __jump_label_mod_update()
- jump_label: Annotate entries that operate on __init code earlier
- jump_label: Implement generic support for relative references
- jump_label: Abstract jump_entry member accessors
- jump_label/lockdep: Assert we hold the hotplug lock for _cpuslocked() operations
- jump_label: Fix typo in warning message
- jump_label: Use static_key_linked() accessor
- jump_label: Disable jump labels in __exit code
- jump_label: Fix sparc64 warning
- jump_label: Use our current cpus function
- sched/core: Fix cpu.max vs. cpuhotplug deadlock
- jump_label: Provide hotplug context variants
- jump_label: Split out code under the hotplug lock
- jump_label: Move CPU hotplug locking
- jump_label: Add RELEASE barrier after text changes
- jump_label: Fix concurrent static_key_enable/disable()
- jump_label: Reorder hotplug lock and jump_label_lock
- jump_label: Reduce the size of struct static_key
- jump_label: Disable jump labels in __exit code
- extable: Make init_kernel_text() global
- jump_label: Explicitly disable jump labels in __init code
- jump_label: Warn on failed jump_label patching attempt
- mbcache: Speed up cache entry creation
- mbcache: make sure c_entry_count is not decremented past zero
- mbcache: make mbcache naming more generic
- mbcache: document that "find" functions only return reusable entries
- mbcache: use consistent type for entry count
- mbcache: remove unnecessary module_get/module_put
- mbcache: don't BUG() if entry cache cannot be allocated
- mbcache: correctly handle 'e_referenced' bit
- f2fs: Fix absolute jiffy duration in write uncongestion timeout
- f2fs: use a seperate mutex for setting wakelock
- f2fs: trigger rapid GC only when screen state actually changes
- f2fs: unlock wakelock properly when f2fs_stop_rapid_gc() is called
- f2fs: catch a global wakelock instead of per gc_kthread
- f2fs: improve naming schemes for rapid GC
- f2fs: mark gc_threads() functions as static
- f2fs: don't wait with each discards under gc_urgent
- f2fs: use a more reasonable discard policy for high utilization
- f2fs: reduce timeout for uncongestion on f2fs_write_cache_pages()
- f2fs: rename /sys/fs/f2fs
- f2fs: do not expose tunables that doesn't work with rapid GC
- f2fs: drop caches upon rapid GC exit
- fs: drop_caches: expose mm_drop_caches()
- f2fs: explicitly flush device upon foreground GC
- f2fs/rapid_gc: Clean up return codes
- f2fs/rapid_gc: do not wait until all invalid blocks are discarded
- f2fs: convert wakelock APIs to wakeup_source
- f2fs: implement rapid GC for Android
- f2fs: set ioprio of GC kthread to idle
- net: Import Wireguard
- Makefile: Enable store motion pass for gcse
- dts: msm8953: thermal: Increase modem trip temperature
- mkcompile: Support a custom compiler and linker name
- BACKPORT: FROMGIT: kbuild: mkcompile_h: Include $LD version in /proc/version
- scripts: Silent gpios_property dtc warnings by default
- kbuild: disable new dtc graph and unit-address warnings
- scripts: turn off some new dtc warnings by default
- scripts: re-enable some now fixed dtc warnings
- kbuild: add dtc as dependency on .dtb files
- kbuild: fix W= option checks for extra DTC warnings
- UPSTREAM: scripts/mkcompile_h: Remove trailing spaces from compiler version
- scripts/dtc: Update to upstream version v1.4.6-21-g84e414b0b5bc
- dtc: checks: drop warning for missing PCI bridge bus-range
- scripts/dtc: Update to upstream version v1.4.6-9-gaadd0b65c987
- scripts/dtc: Update to upstream version v1.4.5-6-gc1e55a5513e9
- scripts/dtc: Update to upstream version v1.4.5-3-gb1a60033c110
- scripts/dtc: add fdt_overlay.c and fdt_addresses.c to sync script
- scripts/dtc: dtx_diff - 2nd update of include dts paths to match build
- scripts/dtc: fix '%zx' warning
- scripts/dtc: dtx_diff - update include dts paths to match build
- scripts/dtc: dtx_diff - Show real file names in diff header
- dtc: check.c fix compile error
- dtc: update warning settings for new bus and node/property name checks
- scripts/dtc: Update to upstream version v1.4.4-8-g756ffc4f52f6
- scripts/dtc: automate getting dtc version and log in update script
- scripts/dtc: Update to upstream version 0931cea3ba20
- Revert "scripts: Makefile: add support to use external DTC"
- Revert "dtc: add integer overflow checks in fdt header"
- arm64: configs: sakura: Update defconfig
- scripts: Guard LDFINAL when lto is disabled
- scripts: gcc-ld: Fix -m* flag parsing
- Revert "kbuild: thin archives final link close --whole-archives option"
- Makefile: Enable intraprocedural pointer analysis for LTO
- lto: Add Link Time Optimization support for GCC
- arm64: Fix section mismatch with LTO caused by ambiguous const
- arm64: Make __stack_chk_guard visible
- sys_ni: Fix cond_syscall() alias for LTO
- sys_ni: Remove duplicate cond_syscall(sys_madvise) entry
- lto: Add __noreorder and mark initcalls __noreorder
- BACKPORT: crypto: arm64/aes-ce-cipher - move assembler code to .S file
- UPSTREAM: crypto: arm64/aes-ce-cipher: add non-SIMD generic fallback
- UPSTREAM: crypto: arm64/aes-ce-cipher - match round key endianness with generic code
- BACKPORT: crypto: arm64/aes - add scalar implementation
- kallsyms: fix nonconverging kallsyms table with lld
- scripts/kallsyms: skip ppc compiler stub *.long_branch.* / *.plt_branch.*
- arm64: disable ARM64_ERRATUM_843419 for clang LTO
- arm64: relocatable: Tweak linker flags to yield a smaller Image with LLD
- ANDROID: kbuild: merge module sections with LTO
- ANDROID: soc/tegra: disable ARCH_TEGRA_210_SOC with LTO
- ANDROID: kernel/Makefile: do not disable LTO for sys_ni.c with CFI
- FROMLIST: arm64: kvm: use -fno-jump-tables with clang
- ANDROID: kallsyms: strip hashes from function names with ThinLTO
- ANDROID: irqchip/gic-v3: rename gic_of_init to work around a ThinLTO+CFI bug
- ANDROID: arm64: allow ThinLTO to be selected
- Makefile: Only use the --thinlto-cache-* when linking with LLD
- ANDROID: add support for ThinLTO
- ANDROID: kbuild: merge more sections with LTO
- ANDROID: enable ARM64_ERRATUM_843419 by default with LTO_CLANG
- ANDROID: kbuild: export LTO and CFI flags
- ANDROID: kbuild: avoid excessively long argument lists
- ANDROID: kbuild: fix module linker script flags for LTO
- ANDROID: kbuild: limit LTO inlining
- ANDROID: kbuild: do not merge .section..* into .section in modules
- ANDROID: kbuild: merge module sections with LTO
- ANDROID: init: ensure initcall ordering with LTO
- Revert "HACK: init: ensure initcall ordering with LTO"
- kbuild: Add support for LLVM's Polly optimizer
- UPSTREAM: scsi: ilog2: create truly constant version for sparse
- [REVERT 2/2] "selinux: ensure we cleanup the internal AVC counters on error in avc_update()"
- UPSTREAM: selinux: make "selinux_policycap_names[]" const char *
- Revert "selinux: Relocate ss_initialized to a separate 4k page"
- Revert "selinux: Relocate selinux_enforcing to a separate 4k page"
- UPSTREAM: selinux: Use kmem_cache for hashtab_node
- UPSTREAM: selinux: Generalize support for NNP/nosuid SELinux domain transitions
- BACKPORT: selinux: log policy capability state when a policy is loaded
- [REVERT 1/2] "ANDROID: selinux: modify RTM_GETLINK permission"
- UPSTREAM: selinux: Adjust four checks for null pointers
- UPSTREAM: selinux: Use kmalloc_array() in hashtab_create()
- UPSTREAM: selinux: use kmem_cache for ebitmap
- UPSTREAM: selinux: Convert isec->lock into a spinlock
- UPSTREAM: selinux: Clean up initialization of isec->sclass
- UPSTREAM: proc: Pass file mode to proc_pid_make_inode
- BACKPORT: perf_event: Add support for LSM and SELinux checks
- kbuild: use LLVM integrated assembler for C files
- Makefile: use llvm nm and objcopy with RELR
- kbuild: select TOOLS_SUPPORT_RELR when using LLD as linker
- BACKPORT: arm64: Add support for relocating the kernel with RELR relocations
- arm64: Use aarch64elf and aarch64elfb emulation mode variants
- vmlinux.lds.h: Coalesce LLVM dead code elimination sections
- arm64: relocatable: fix inconsistencies in linker script and options
- arm64: ensure the kernel is compiled for LP64
- kbuild: clear LDFLAGS in the top Makefile
- ANDROID: modpost: filter function/data section ldflags
- ANDROID: arm64: vdso: guard against -Wl,-n
- vdso32: use $(LD) instead of $(CC) to link VDSO
- ANDROID: Makefile: set -Qunused-arguments sooner
- FROMLIST: Makefile: lld: set -O2 linker flag when linking with LLD
- FROMLIST: Makefile: lld: tell clang to use lld
- kbuild: Support explicitly selecting LD linker
- kbuild: Disable stack conservation for GCC
- kbuild: Silence noisy GCC warnings up to GCC 10
- kbuild: Fix asm-generic/vmlinux.lds.h for LD_DEAD_CODE_DATA_ELIMINATION
- kbuild: keep data tables through dead code elimination
- arm64: Allow LD_DEAD_CODE_DATA_ELIMINATION to be selected
- kbuild: Allow LD_DEAD_CODE_DATA_ELIMINATION to be selectable if enabled
- msm: mdss: fix inconsistent mutex_lock
- msm: mdss: fix inconsistent mutex_lock
- msm: mdss: fix inconsistent mutex_lock
- soc: qcom: qmi: Fix inconsistent locking
- msm: ipa_v2: Fix inconsistent locking
- msm: mdss: improve performance coming out of idle pc
- UPSTREAM: PM / wakeup: Use wakeup_source_register() in wakelock.c
- PM / wakeirq: Enable dedicated wakeirq for suspend
- PM / wakeirq: Fix spurious wake-up events for dedicated wakeirqs
- power: process: decrease time to enter sleep
- power: supply: qcom: qpnp-fg_d1a: queue work on power efficient wq
- Revert "Perf: arm64: Add Snapshot of perf tracepoints"
- BACKPORT: arm64: vdso: Add -fasynchronous-unwind-tables to cflags
- BACKPORT: arm64: vdso32: Remove jump label config option in Makefile
- vdso32: Makefile: add --hash-style= and --build-id unconditionally
- arm64: vdso32: Fix '--prefix=' value for newer versions of clang
- ARM64/vdso32: Silence Snapdragon LLVM's vectorizer-no-neon warning
- vdso32: Invoke clang with correct path to GCC toolchain
- FROMLIST: arm64: Build vDSO with -ffixed-x18
- FROMLIST: arm64: vdso32: Use full path to Clang instead of relying on PATH
- ANDROID: clock_gettime(CLOCK_BOOTTIME,) slows down >20x
- ANDROID: CROSS_COMPILE_ARM32 must work if CONFIG_COMPAT_VDSO
- FROMLIST: BACKPORT: [PATCH 6/6] arm64: Wire up and expose the new compat vDSO
- FROMLIST: [PATCH 5/6] arm64: compat: 32-bit vDSO setup
- FROMLIST: [PATCH 4/6] arm64: compat: Add a 32-bit vDSO
- FROMLIST: BACKPORT: [PATCH 3/6] arm64: Refactor vDSO init/setup
- FROMLIST: [PATCH 2/6] arm64: elf: Set AT_SYSINFO_EHDR in compat processes
- FROMLIST: [PATCH 1/6] arm64: compat: Use vDSO sigreturn trampolines if available
- FROMLIST: lib: vdso: add support for time
- FROMLIST: [PATCH] arm64: compat: Expose offset to registers in sigframes
- FROMLIST: [PATCH v5 12/12] lib: vdso: do not expose gettimeofday, if no arch supported timer
- FROMLIST: [PATCH v5 11/12] lib: vdso: Add support for CLOCK_BOOTTIME
- FROMLIST: [PATCH v5 10/12] arm64: vdso: replace gettimeofday.S with global vgettimeofday.C
- FROMLIST: [PATCH v5 09/12] arm: vdso: move vgettimeofday.c to lib/vdso/
- FROMLIST: [PATCH v5 08/12] arm: vdso: Add ARCH_CLOCK_FIXED_MASK
- FROMLIST: [PATCH v5 07/12] arm: vdso: disable profiling
- FROMLIST: [PATCH v5 06/12] arm: vdso: add support for clock_getres
- FROMLIST: [PATCH v6 05/12] arm: vdso: Add support for CLOCK_MONOTONIC_RAW
- FROMLIST: [PATCH v5 04/12] arm: vdso: do calculations outside reader loops
- FROMLIST: [PATCH v5 03/12] arm: vdso: inline assembler operations to compiler.h
- FROMLIST: [PATCH v5 02/12] arm: vdso: add include file defining __get_datapage()
- FROMLIST: [PATCH v5 01/12] arm: vdso: rename vdso_datapage variables
- FROMLIST: [PATCH v3 3/3] arm64: compat: Add CONFIG_KUSER_HELPERS
- FROMLIST: [PATCH v3 2/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (assembler sources)
- FROMLIST: [PATCH v3 1/3] arm64: compat: Split the sigreturn trampolines and kuser helpers (C sources)
- Revert "arm64: gettimeofday change for timer rollover condition"
- ARM{,64}/vdso: Revert commits from 4.9.180 stable merge
- arm64: configs: sakura: Update defconfig
- [PATCH] dts_eagle: Cleanup
- drivers: dts_eagle software driver port
- adreno_tz: Remove partner devfreq management
- msm: kgsl: Fix drawqueue timer race condition
- msm: kgsl: Do GPU bus governor management
- zram: fix idle/writeback string compare
- lz4: do not export static symbol
- include/linux/lz4.h: fix spelling and copy-paste errors in documentation
- lib/lz4: update LZ4 decompressor module
- lib/lz4: make arrays static const, reduces object code size
- UPSTREAM: crypto: acomp - add support for lz4 via scomp
- UPSTREAM: crypto: acomp - add support for lz4hc via scomp
- UPSTREAM: crypto: acomp - add driver-side scomp interface
- UPSTREAM: crypto: acomp - add asynchronous compression api
- UPSTREAM: lib/decompress_unlz4: change module to work with new LZ4 module version
- lz4: fix compress max output bound
- UPSTREAM: lib: update LZ4 compressor module
- zram: Move default compression algorithm choice to Kconfig
- rslib: Allocate decoder buffers to avoid VLAs
- crypto: remove several VLAs
- ion: nuke dbg_str to avoid VLA
- msm_smem: make temp_string_size a constant to avoid VLA
- crypto: shash - Remove VLA usage in unaligned hashing
- msm: vidc: avoid VLA
- techpack: avoid VLA
- kthread: Fix build
- kernel/kthread.c: kthread_worker: don't hog the cpu
- kthread: add __printf attributes
- kthread, sched: Fix kthread_parkme() (again...)
- sched/core: Introduce set_special_state()
- kthread: Allow kthread_park() on a parked kthread
- kthread, sched/wait: Fix kthread_parkme() completion issue
- kthread, sched/wait: Fix kthread_parkme() wait-loop
- kthread: Don't abuse kthread_create_on_cpu() in __kthread_create_worker()
- kthread: Don't use to_live_kthread() in kthread_[un]park()
- kthread: Don't use to_live_kthread() in kthread_stop()
- Revert "kthread: Pin the stack via try_get_task_stack()/put_task_stack() in to_live_kthread() function"
- kthread: Make struct kthread kmalloc'ed
- arm64: configs: sakura: Update defconfig

+ more