Hi Alex, Mark,
Please consider following linaro-android pull request for "linux-linaro-lsk-v3.18-android" LSK branch.
Heads up for yet another big pull request from lsk-v3.18-android topic branch. Other than regular Android fixes, a lot of upstream arm64 patches landed in aosp/android-3.18 since last pull request.
Boot tested on Qemu with Android M. I have fixed a couple of build errors, reported at KernelCI https://kernelci.org/build/linaro-android/kernel/v3.18-6295-gb71f5fa3f90b/, in this pull request but a lot still need to be fixed. Most of the existing build errors are due to broken KASAN cherry-picks.
Regards, Amit Pundir
The following changes since commit ffba0bcddf3329d5d411552230267147efc6ffc3:
Merge branch 'linux-linaro-lsk-v3.18' into linux-linaro-lsk-v3.18-android (2016-12-02 11:27:24 +0800)
are available in the git repository at:
git://android.git.linaro.org/kernel/linaro-android lsk-v3.18-android
for you to fetch changes up to 9097f5519b5fce46d534618be21842bfeee5734b:
x86/arm64/kasan, mm: Fix kasan build (2016-12-12 19:57:02 +0530)
---------------------------------------------------------------- Alexander Popov (1): UPSTREAM: x86/kasan: Fix KASAN shadow region page tables
Amit Pundir (16): usb: gadget: f_mtp: simplify ptp NULL pointer check Revert "cpuset: Fix allow_attach hook for cpusets on android." Revert "cpuset: Add allow_attach hook for cpusets on android." Revert "include: linux: cgroup: Fix compiler warning" Revert "Fix generic cgroup subsystem permission checks" Revert "cgroup: Fix issues in allow_attach callback" Revert "cgroup: memcg: pass correct argument to subsys_cgroup_allow_attach" Revert "cgroup: Add generic cgroup subsystem permission checks" Revert "memcg: add permission check" Revert "cgroup: refactor allow_attach function into common code" ANDROID: sched/tune: Remove leftover instances of allow_attach ANDROID: fix bogomips reporting in /proc/cpuinfo ANDROID: fix sdcardfs module build ANDROID: fix dm-verity and dm-android-verity modules build ANDROID: skip building drivers as modules x86/arm64/kasan, mm: Fix kasan build
Andre Przywara (2): UPSTREAM: arm64: add module support for alternatives fixups UPSTREAM: Revert "arm64: alternatives: add enable parameter to conditional asm macros"
Andrew Morton (1): UPSTREAM: include/linux/kmemleak.h: needs slab.h
Andrzej Pietrasiewicz (1): UPSTREAM: usb: gadget: midi: convert to new interface of f_midi
Ard Biesheuvel (12): UPSTREAM: arm64: remove processor_id UPSTREAM: arm64: flush FP/SIMD state correctly after execve() UPSTREAM: arm64: remove __switch_data object from head.S BACKPORT: arm64: use PC-relative reference for secondary_holding_pen_release UPSTREAM: arm64: merge __enable_mmu and __turn_mmu_on UPSTREAM: arm64: remove __calc_phys_offset UPSTREAM: arm64: enforce x1|x2|x3 == 0 upon kernel entry as per boot protocol UPSTREAM: arm64: mm: increase VA range of identity map UPSTREAM: arm64/efi: handle potential failure to remap memory map UPSTREAM: arm64/efi: move virtmap init to early initcall UPSTREAM: arm64/kernel: fix incorrect EL0 check in inv_entry macro UPSTREAM: arm64: use non-global mappings for UEFI runtime regions
Arnd Bergmann (1): UPSTREAM: arm64: mark cpus_have_hwcap as __maybe_unused
Catalin Marinas (10): UPSTREAM: arm64: Remove the get_thread_info() function UPSTREAM: arm64: Fix section mismatch on alloc_init_p[mu]d() UPSTREAM: arm64: Clean up __flush_tlb(_kernel)_range functions UPSTREAM: arm64: Use last level TLBI for user pte changes FROMLIST: arm64: Factor out PAN enabling/disabling into separate uaccess_* macros FROMLIST: arm64: Introduce uaccess_{disable,enable} functionality based on TTBR0_EL1 FROMLIST: arm64: Disable TTBR0_EL1 during normal kernel execution FROMLIST: arm64: Handle faults caused by inadvertent user access with PAN enabled FROMLIST: arm64: xen: Enable user access before a privcmd hvc call FROMLIST: arm64: Enable CONFIG_ARM64_SW_TTBR0_PAN
Daniel Rosenberg (14): sdcardfs: override umask on mkdir and create sdcardfs: Check for other cases on path lookup sdcardfs: Fix locking for permission fix up sdcardfs: Switch package list to RCU sdcardfs: Added top to sdcardfs_inode_info sdcardfs: Move directory unlock before touch mnt: Add filesystem private data to mount points vfs: Allow filesystems to access their private mount data vfs: Add permission2 for filesystems with per mount permissions vfs: Add setattr2 for filesystems with per mount permissions sdcardfs: User new permission2 functions sdcardfs: Add gid and mask to private mount data sdcardfs: Use per mount permissions sdcardfs: Change magic value
Daniel Thompson (2): UPSTREAM: arm64: mm: Adopt new alternative assembler macros BACKPORT: arm64: kernel: Adopt new alternative assembler macros
Dmitry Shmidt (1): sched: Fix sysctl_sched_cfs_boost type to be int
Dmitry Torokhov (1): CHROMIUM: cgroups: relax permissions on moving tasks between cgroups
Dylan Reid (1): ANDROID: mmc: Move tracepoint creation and export symbols
Feng Kan (1): BACKPORT: arm64: copy_to-from-in_user optimization using copy template
Geoff Levand (1): BACKPORT: arm64: Fold proc-macros.S into assembler.h
Guenter Roeck (4): ANDROID: video: adf: Fix modular build ANDROID: video: adf: Set ADF_MEMBLOCK to boolean ANDROID: fs: Export d_absolute_path ANDROID: mm: Export do_munmap
James Morse (6): BACKPORT: arm64: cpufeature: Change read_cpuid() to use sysreg's mrs_s macro UPSTREAM: arm64: add ARMv8.2 id_aa64mmfr2 boiler plate BACKPORT: arm64: kernel: Add support for User Access Override UPSTREAM: arm64: cpufeature: Test 'matches' pointer to find the end of the list BACKPORT: arm64: kernel: Don't toggle PAN on systems with UAO BACKPORT: arm64: kernel: Save and restore UAO and addr_limit on exception entry
Janet Liu (2): UPSTREAM: arm64: kernel thread don't need to save fpsimd context. UPSTREAM: arm64: fix bug for reloading FPSIMD state after CPU hotplug.
Jeremy Linton (1): UPSTREAM: arm64: Add contiguous page flag shifts and constants
Jiang Liu (1): UPSTREAM: PCI: xilinx: Fix typo in function name
Jisheng Zhang (1): BACKPORT: arm64: add __init/__initdata section marker to some functions/variables
John Stultz (1): cgroup: Change from CAP_SYS_NICE to CAP_SYS_RESOURCE for cgroup migration permissions
Jonathan Hamilton (1): ANDROID: video: adf: Avoid directly referencing user pointers
Josh Stone (1): UPSTREAM: arm64: fix missing syscall trace exit
Jungseok Lee (1): UPSTREAM: arm64: Store struct thread_info in sp_el0
Ke Wang (1): sched: tune: Fix lacking spinlock initialization
Kirill A. Shutemov (2): BACKPORT: mm: avoid setting up anonymous pages into file mapping BACKPORT: arm64: expose number of page table levels on Kconfig level
Laura Abbott (1): BACKPORT: arm64: Handle el1 synchronous instruction aborts cleanly
Marc Zyngier (5): UPSTREAM: arm64: insn: Add aarch64_insn_decode_immediate UPSTREAM: arm64: insn: Add aarch64_{get,set}_branch_offset UPSTREAM: arm64: alternative: Allow immediate branch as alternative instruction UPSTREAM: arm64: Get rid of struct cpu_table UPSTREAM: arm/arm64: KVM: Use set/way op trapping to track the state of the caches
Mark Rutland (19): UPSTREAM: arm64: sanity checks: ignore ID_MMFR0.AuxReg UPSTREAM: arm64: sanity checks: add missing newline to print UPSTREAM: arm64: sanity checks: add ID_AA64DFR{0,1}_EL1 UPSTREAM: arm64: introduce common ESR_ELx_* definitions UPSTREAM: arm64: move to ESR_ELx macros UPSTREAM: arm64: decode ESR_ELx.EC when reporting exceptions UPSTREAM: arm64: sanity checks: add missing AArch32 registers UPSTREAM: arm64: fix dump_instr when PAN and UAO are in use UPSTREAM: arm64: remove broken cachepolicy code UPSTREAM: arm64: drop unnecessary cache+tlb maintenance UPSTREAM: arm64: head.S: ensure visibility of page tables UPSTREAM: arm64: head.S: ensure idmap_t0sz is visible UPSTREAM: arm64: kill flush_cache_all() UPSTREAM: arm64: Add macros to read/write system registers UPSTREAM: arm64: mm: mark fault_info table const UPSTREAM: arm64: add macro to extract ESR_ELx.EC UPSTREAM: arm64: kill ESR_LNX_EXEC UPSTREAM: arm64: head.S: use memset to clear BSS BACKPORT: arm64: mm: place empty_zero_page in bss
Mark Salter (1): UPSTREAM: arm64: remove dead code
Martijn Coenen (8): android: binder: split flat_binder_object. android: binder: support multiple context managers. android: binder: deal with contexts in debugfs. android: binder: support multiple /dev instances. android: binder: refactor binder_transact() android: binder: add extra size to allocator. android: binder: support for scatter-gather. android: binder: support for file-descriptor arrays.
Robin Murphy (1): UPSTREAM: arm64: insn: fix compare-and-branch encodings
Suzuki K. Poulose (21): UPSTREAM: arm64: Make the CPU information more clear UPSTREAM: arm64: Delay ELF HWCAP initialisation until all CPUs are up BACKPORT: arm64: Delay cpuinfo_store_boot_cpu BACKPORT: arm64: Move cpu feature detection code BACKPORT: arm64: Move mixed endian support detection BACKPORT: arm64: Move /proc/cpuinfo handling code UPSTREAM: arm64: Handle width of a cpuid feature BACKPORT: arm64: Keep track of CPU feature registers UPSTREAM: arm64: Consolidate CPU Sanity check to CPU Feature infrastructure UPSTREAM: arm64: Read system wide CPUID value UPSTREAM: arm64: Cleanup mixed endian support detection UPSTREAM: arm64: Refactor check_cpu_capabilities UPSTREAM: arm64: Delay cpu feature capability checks BACKPORT: arm64/capabilities: Make use of system wide safe value UPSTREAM: arm64/HWCAP: Use system wide safe values UPSTREAM: arm64: Move FP/ASIMD hwcap handling to common code UPSTREAM: arm64: cpufeature: Add helpers for extracting unsigned values UPSTREAM: arm64: cpufeature: Track unsigned fields BACKPORT: arm64/debug: Make use of the system wide safe value UPSTREAM: arm64/kvm: Make use of the system wide safe values UPSTREAM: arm64: Move swapper pagetable definitions
Vladimir Murzin (1): UPSTREAM: arm64: mm: remove reference to tlb.S from comment block
Will Deacon (25): UPSTREAM: arm64: cpufeature.h: add missing #include of kernel.h BACKPORT: arm64: kconfig: group the v8.1 features together BACKPORT: arm64: lse: use generic cpufeature detection for LSE atomics BACKPORT: arm64: elf: use cpuid_feature_extract_field for hwcap detection UPSTREAM: arm64: alternatives: add enable parameter to conditional asm macros UPSTREAM: arm64: alternative: put secondary CPUs into polling loop during patch UPSTREAM: arm64: cpufeature: declare enable_cpu_capabilities as static UPSTREAM: arm64: move update_mmu_cache() into asm/pgtable.h BACKPORT: arm64: force CONFIG_SMP=y and remove redundant #ifdefs UPSTREAM: arm64: mm: ensure patched kernel text is fetched from PoU UPSTREAM: locking/atomics: Add _{acquire|release|relaxed}() variants of some atomic operations UPSTREAM: arm64: mdscr_el1: avoid exposing DCC to userspace BACKPORT: arm64: entry: use ldp/stp instead of push/pop when saving/restoring regs UPSTREAM: arm64: entry: always restore x0 from the stack on syscall return UPSTREAM: arm64: mm: remove unused cpu_set_idmap_tcr_t0sz function UPSTREAM: arm64: proc: de-scope TLBI operation during cold boot UPSTREAM: arm64: efi: don't restore TTBR0 if active_mm points at init_mm UPSTREAM: arm64: flush: use local TLB and I-cache invalidation BACKPORT: arm64: mm: rewrite ASID allocator and MM context-switching code UPSTREAM: arm64: tlbflush: remove redundant ASID casts to (unsigned long) UPSTREAM: arm64: tlbflush: avoid flushing when fullmm == 1 UPSTREAM: arm64: switch_mm: simplify mm and CPU checks UPSTREAM: arm64: mm: kill mm_cpumask usage UPSTREAM: arm64: tlb: remove redundant barrier from __flush_tlb_pgtable UPSTREAM: arm64: mm: remove dsb from update_mmu_cache
Yingjoe Chen (1): UPSTREAM: arm64: mm: remove unused functions and variable protoypes
alvin_liang (1): sdcardfs: fix external storage exporting incorrect uid
zhichang.yuan (1): UPSTREAM: arm64:mm: free the useless initial page table
Documentation/cgroups/cgroups.txt | 9 -- arch/arm/include/asm/kvm_emulate.h | 10 ++ arch/arm/include/asm/kvm_host.h | 3 - arch/arm/include/asm/kvm_mmu.h | 3 +- arch/arm/kvm/arm.c | 10 -- arch/arm/kvm/coproc.c | 70 ++------- arch/arm/kvm/coproc.h | 6 +- arch/arm/kvm/coproc_a15.c | 2 +- arch/arm/kvm/coproc_a7.c | 2 +- arch/arm/kvm/mmu.c | 70 ++++++++- arch/arm/kvm/trace.h | 39 +++++ arch/arm64/Kconfig | 98 +++++++----- arch/arm64/include/asm/alternative.h | 76 ++++++++- arch/arm64/include/asm/assembler.h | 100 +++++++++++- arch/arm64/include/asm/barrier.h | 25 +-- arch/arm64/include/asm/cacheflush.h | 12 +- arch/arm64/include/asm/cpu.h | 12 ++ arch/arm64/include/asm/cpufeature.h | 122 +++++++++++++-- arch/arm64/include/asm/cputable.h | 30 ---- arch/arm64/include/asm/cputype.h | 35 ++--- arch/arm64/include/asm/efi.h | 18 +-- arch/arm64/include/asm/esr.h | 86 +++++++++++ arch/arm64/include/asm/futex.h | 12 +- arch/arm64/include/asm/hardirq.h | 4 - arch/arm64/include/asm/hwcap.h | 8 + arch/arm64/include/asm/insn.h | 10 +- arch/arm64/include/asm/irq_work.h | 11 -- arch/arm64/include/asm/kernel-pgtable.h | 73 +++++++++ arch/arm64/include/asm/kvm_emulate.h | 10 ++ arch/arm64/include/asm/kvm_host.h | 3 - arch/arm64/include/asm/kvm_mmu.h | 7 +- arch/arm64/include/asm/mmu.h | 16 +- arch/arm64/include/asm/mmu_context.h | 147 +++++++++--------- arch/arm64/include/asm/page.h | 22 +-- arch/arm64/include/asm/percpu.h | 8 - arch/arm64/include/asm/pgalloc.h | 8 +- arch/arm64/include/asm/pgtable-hwdef.h | 13 +- arch/arm64/include/asm/pgtable-types.h | 12 +- arch/arm64/include/asm/pgtable.h | 35 +++-- arch/arm64/include/asm/proc-fns.h | 10 +- arch/arm64/include/asm/processor.h | 3 +- arch/arm64/include/asm/ptrace.h | 8 +- arch/arm64/include/asm/smp.h | 4 - arch/arm64/include/asm/sysreg.h | 163 +++++++++++++++++++- arch/arm64/include/asm/system_misc.h | 1 - arch/arm64/include/asm/thread_info.h | 14 +- arch/arm64/include/asm/tlb.h | 25 ++- arch/arm64/include/asm/tlbflush.h | 101 ++++++------ arch/arm64/include/asm/topology.h | 9 -- arch/arm64/include/asm/uaccess.h | 208 ++++++++++++++++++++++--- arch/arm64/include/uapi/asm/ptrace.h | 1 + arch/arm64/kernel/Makefile | 7 +- arch/arm64/kernel/alternative.c | 119 ++++++++++++-- arch/arm64/kernel/armv8_deprecated.c | 16 +- arch/arm64/kernel/asm-offsets.c | 10 +- arch/arm64/kernel/cpu_errata.c | 2 +- arch/arm64/kernel/cpu_ops.c | 2 - arch/arm64/kernel/cpufeature.c | 892 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- arch/arm64/kernel/cpuinfo.c | 291 ++++++++++++++++++---------------- arch/arm64/kernel/cputable.c | 33 ---- arch/arm64/kernel/debug-monitors.c | 6 +- arch/arm64/kernel/efi.c | 152 ++++++++++-------- arch/arm64/kernel/entry.S | 286 ++++++++++++++++++++++------------ arch/arm64/kernel/fpsimd.c | 48 ++++-- arch/arm64/kernel/head.S | 330 +++++++++++++++------------------------ arch/arm64/kernel/hw_breakpoint.c | 10 +- arch/arm64/kernel/insn.c | 141 +++++++++++++++-- arch/arm64/kernel/irq.c | 2 - arch/arm64/kernel/module.c | 18 +++ arch/arm64/kernel/perf_event.c | 4 +- arch/arm64/kernel/process.c | 31 ++-- arch/arm64/kernel/psci.c | 5 - arch/arm64/kernel/setup.c | 276 +++------------------------------ arch/arm64/kernel/signal32.c | 2 +- arch/arm64/kernel/sleep.S | 17 +- arch/arm64/kernel/smp.c | 24 +-- arch/arm64/kernel/suspend.c | 2 +- arch/arm64/kernel/time.c | 2 - arch/arm64/kernel/traps.c | 80 +++++++--- arch/arm64/kernel/vmlinux.lds.S | 6 + arch/arm64/kvm/reset.c | 2 +- arch/arm64/kvm/sys_regs.c | 87 ++--------- arch/arm64/lib/clear_user.S | 16 +- arch/arm64/lib/copy_from_user.S | 86 ++++++----- arch/arm64/lib/copy_in_user.S | 75 +++++---- arch/arm64/lib/copy_to_user.S | 75 +++++---- arch/arm64/mm/cache.S | 82 +--------- arch/arm64/mm/context.c | 251 +++++++++++++++++------------- arch/arm64/mm/dma-mapping.c | 2 +- arch/arm64/mm/fault.c | 76 +++++++-- arch/arm64/mm/flush.c | 5 - arch/arm64/mm/init.c | 6 +- arch/arm64/mm/mmu.c | 126 +++------------ arch/arm64/mm/proc-macros.S | 54 ------- arch/arm64/mm/proc.S | 66 +------- arch/arm64/xen/hypercall.S | 19 +++ arch/x86/include/asm/kasan.h | 8 +- arch/x86/kernel/head64.c | 7 +- arch/x86/kernel/head_64.S | 29 ---- arch/x86/mm/kasan_init_64.c | 124 +++------------ drivers/cpufreq/Kconfig | 5 +- drivers/input/Kconfig | 10 +- drivers/md/dm.c | 1 + drivers/misc/Kconfig | 2 +- drivers/mmc/card/block.c | 1 - drivers/mmc/core/core.c | 6 + drivers/pci/host/pcie-xilinx.c | 2 +- drivers/staging/android/Kconfig | 12 ++ drivers/staging/android/binder.c | 1002 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------- drivers/staging/android/uapi/binder.h | 104 ++++++++++++- drivers/usb/gadget/configfs.c | 5 - drivers/usb/gadget/function/f_mtp.c | 2 +- drivers/usb/gadget/functions.c | 2 +- drivers/usb/gadget/legacy/Kconfig | 1 + drivers/usb/gadget/legacy/gmidi.c | 41 ++++- drivers/video/adf/Kconfig | 2 +- drivers/video/adf/Makefile | 6 +- drivers/video/adf/adf_fops.c | 73 ++++----- fs/attr.c | 12 +- fs/coredump.c | 2 +- fs/dcache.c | 1 + fs/exec.c | 2 +- fs/fs_struct.c | 3 + fs/inode.c | 6 +- fs/internal.h | 4 +- fs/namei.c | 178 +++++++++++++++------ fs/namespace.c | 32 +++- fs/notify/fanotify/fanotify_user.c | 2 +- fs/notify/inotify/inotify_user.c | 2 +- fs/open.c | 37 +++-- fs/pnode.c | 14 ++ fs/pnode.h | 1 + fs/proc_namespace.c | 8 +- fs/sdcardfs/derived_perm.c | 92 +++++++++-- fs/sdcardfs/inode.c | 261 +++++++++++++++++++++++-------- fs/sdcardfs/lookup.c | 30 +++- fs/sdcardfs/main.c | 115 +++++++++++--- fs/sdcardfs/packagelist.c | 204 +++++++++++------------- fs/sdcardfs/sdcardfs.h | 96 +++++++++--- fs/sdcardfs/super.c | 65 +++++++- fs/super.c | 28 +++- fs/utimes.c | 4 +- include/linux/atomic.h | 323 ++++++++++++++++++++++++++++++++++++++ include/linux/cgroup.h | 18 --- include/linux/fs.h | 22 +++ include/linux/kmemleak.h | 2 + include/linux/mount.h | 1 + include/linux/namei.h | 1 + include/linux/sched/sysctl.h | 6 +- include/uapi/linux/magic.h | 2 +- init/do_mounts.c | 1 + ipc/mqueue.c | 10 +- kernel/cgroup.c | 62 +------- kernel/cpuset.c | 17 -- kernel/sched/core.c | 1 - kernel/sched/tune.c | 11 +- mm/kasan/kasan_init.c | 4 +- mm/memcontrol.c | 12 -- mm/memory.c | 14 +- mm/mmap.c | 1 + security/inode.c | 2 +- 161 files changed, 5821 insertions(+), 2959 deletions(-) delete mode 100644 arch/arm64/include/asm/cputable.h create mode 100644 arch/arm64/include/asm/kernel-pgtable.h delete mode 100644 arch/arm64/kernel/cputable.c delete mode 100644 arch/arm64/mm/proc-macros.S
Thanks Amit. It's pulled and pushed.
On 12/12/2016 10:39 PM, Amit Pundir wrote:
Heads up for yet another big pull request from lsk-v3.18-android topic branch. Other than regular Android fixes, a lot of upstream arm64 patches landed in aosp/android-3.18 since last pull request.
Boot tested on Qemu with Android M. I have fixed a couple of build errors, reported at KernelCI https://kernelci.org/build/linaro-android/kernel/v3.18-6295-gb71f5fa3f90b/, in this pull request but a lot still need to be fixed. Most of the existing build errors are due to broken KASAN cherry-picks.
linaro-kernel@lists.linaro.org