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 security backports and ext4 crypto patches landed in aosp/android-3.18 since last pull request.
Build tested for arm64(defconfig + android configs), arm(vexpress + android configs) and boot tested on Qemu with Android M.
Regards, Amit Pundir
The following changes since commit 3e729690a51c2e54ce399a274e0835f381c71c79:
Merge branch 'linux-linaro-lsk-v3.18' into linux-linaro-lsk-v3.18-android (2016-10-25 12:30:09 +0800)
are available in the git repository at:
git://android.git.linaro.org/kernel/linaro-android
for you to fetch changes up to 4450e96693acc193205906318b0f6e6e6eca4e64:
ARM64: Ignore Image-dtb from git point of view (2016-10-28 23:12:35 +0800)
---------------------------------------------------------------- Al Viro (11): UPSTREAM: debugfs_{mkdir,create,link}(): get rid of redundant argument UPSTREAM: debugfs: split the beginning and the end of __create_file() off UPSTREAM: debugfs: kill __create_file() UPSTREAM: fold debugfs_link() into caller UPSTREAM: debugfs_mknod(): get rid useless arguments UPSTREAM: fold debugfs_mkdir() into caller UPSTREAM: fold debugfs_create() into caller UPSTREAM: fold debugfs_mknod() into callers UPSTREAM: debugfs: take mode-dependent parts of debugfs_get_inode() into callers UPSTREAM: debugfs: split end_creating() into success and failure cases UPSTREAM: new primitive: debugfs_create_automount()
Andrew Lunn (1): UPSTREAM: ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro
Andy Lutomirski (3): UPSTREAM: capabilities: ambient capabilities UPSTREAM: x86/uaccess: Tell the compiler that uaccess is unlikely to fault UPSTREAM: all arches, signal: move restart_block to struct task_struct
Ard Biesheuvel (2): BACKPORT: arm64: mm: fix location of _etext UPSTREAM: ARM: 8314/1: replace PROCINFO embedded branch with relative offset
Arve Hjønnevåg (2): ANDROID: binder: Add strong ref checks ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct
Badhri Jagan Sridharan (3): ANDROID: dm: android-verity: Allow android-verity to be compiled as an independent module ANDROID: dm: Fix symbol exports for dm target callbacks ANDROID: dm: android-verity: Remove fec_header location constraint
Benjamin Tissoires (1): UPSTREAM: HID: core: prevent out-of-bound readings
Calvin Owens (1): UPSTREAM: sg: Fix double-free when drives detach during SG_IO
Chao Yu (1): ext4 crypto: release crypto resource on module exit
Dan Carpenter (1): UPSTREAM: [media] xc2028: unlock on error in xc2028_set_config()
Daniel Borkmann (1): UPSTREAM: tracefs: Fix refcount imbalance in start_creating()
Daniel Thompson (1): UPSTREAM: ARM: 8266/1: Remove early stack deallocation from restore_user_regs
David Ahern (2): net: diag: Add support to filter on device index net: diag: support SOCK_DESTROY for UDP sockets
David Hildenbrand (1): UPSTREAM: sched/preempt, arm/futex: Disable preemption in UP futex_atomic_op_inuser() explicitly
Dmitry Shmidt (1): ARM64: Ignore Image-dtb from git point of view
Eric Biggers (1): UPSTREAM: usercopy: avoid potentially undefined behavior in pointer math
Eric Dumazet (1): UPSTREAM: tcp: fix use after free in tcp_xmit_retransmit_queue()
EunTaik Lee (1): UPSTREAM: staging/android/ion : fix a race condition in the ion driver
Fabian Frederick (1): ext4 crypto: fix sparse warnings in fs/ext4/ioctl.c
Haojian Zhuang (1): arm64: add option to build Image-dtb
Heiko Carstens (1): UPSTREAM: vmlinux.lds.h: allow arch specific handling of ro_after_init data section
Herbert Xu (1): ext4 crypto: Do not select from EXT4_FS_ENCRYPTION
Jiri Olsa (2): UPSTREAM: fs/proc/kcore.c: Make bounce buffer global for read UPSTREAM: fs/proc/kcore.c: Add bounce buffer for ktext data
Joonsoo Kim (1): UPSTREAM: mm/slub: support left redzone
Josh Poimboeuf (1): UPSTREAM: usercopy: fix overlap check for kernel text
Jungseung Lee (2): BACKPORT: ARM: 8235/1: Support for the PXN CPU feature on ARMv7 UPSTREAM: ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor
Kees Cook (18): BACKPORT: ARM: 8583/1: mm: fix location of _etext BACKPORT: mm: Implement stack frame object validation BACKPORT: mm: Hardened usercopy BACKPORT: x86/uaccess: Enable hardened usercopy BACKPORT: ARM: uaccess: Enable hardened usercopy BACKPORT: arm64/uaccess: Enable hardened usercopy UPSTREAM: mm: SLAB hardened usercopy support UPSTREAM: mm: SLUB hardened usercopy support UPSTREAM: x86/uaccess: force copy_*_user() to be inlined BACKPORT: usercopy: fold builtin_const check into inline function UPSTREAM: usercopy: force check_object_size() inline UPSTREAM: usercopy: remove page-spanning test for now UPSTREAM: asm-generic: Consolidate mark_rodata_ro() UPSTREAM: mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings BACKPORT: x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option UPSTREAM: arch: Introduce post-init read-only memory UPSTREAM: lkdtm: Verify that '__ro_after_init' works correctly UPSTREAM: x86/vdso: Mark the vDSO code read-only after init
Lars-Peter Clausen (1): BACKPORT: usb: gadget: f_fs: Fix use-after-free
Laura Abbott (2): UPSTREAM: mm: Add is_migrate_cma_page BACKPORT: arm64: Correctly bounds check virt_addr_valid
Laurent Navet (2): ext4 crypto: exit cleanly if ext4_derive_key_aes() fails ext4 crypto: fix spelling typo in comment
Linus Torvalds (6): UPSTREAM: x86: reorganize SMAP handling in user space accesses BACKPORT: Add 'unsafe' user access functions for batched accesses UPSTREAM: Use the new batched user accesses in generic user string handling UPSTREAM: unsafe_[get|put]_user: change interface to use a error target label UPSTREAM: Make the hardened user-copy code depend on having a hardened allocator BACKPORT: x86: fix SMAP in 32-bit environments
Lorenzo Colitti (4): net: diag: slightly refactor the inet_diag_bc_audit error checks. net: diag: allow socket bytecode filters to match socket marks net: diag: make udp_diag_destroy work for mapped addresses. net: inet: diag: expose the socket mark to privileged processes.
Mark Rutland (2): UPSTREAM: arm64: make sys_call_table const BACKPORT: lib: harden strncpy_from_user
Mark Salyzyn (1): FROMLIST: pstore: drop pmsg bounce buffer
Mauro Carvalho Chehab (1): UPSTREAM: [media] xc2028: avoid use after free
Michael Halcrow (13): ext4 crypto: export ext4_empty_dir() ext4 crypto: add encryption xattr support ext4 crypto: add encryption policy and password salt support ext4 crypto: add ext4 encryption facilities ext4 crypto: add encryption key management facilities ext4 crypto: inherit encryption policies on inode and directory create ext4 crypto: implement the ext4 encryption write path ext4 crypto: implement the ext4 decryption read path ext4 crypto: filename encryption facilities ext4 crypto: insert encrypted filenames into a leaf directory block ext4 crypto: partial update to namei.c for fname crypto ext4 crypto: filename encryption modifications ext4 crypto: enable filename encryption
Michael S. Tsirkin (1): UPSTREAM: x86/uaccess: fix sparse errors
Mohamad Ayyash (1): Don't show empty tag stats for unprivileged uids
Mohan Srinivasan (5): Android: MMC/UFS IO Latency Histograms. Android: Fix build breakages. ANDROID: fs: FS tracepoints to track IO. ANDROID: fs: Fix for a (allmod) build failure. Fix a build issue with CONFIG_MMC but !CONFIG_BLOCK.
Patrick Bellasi (4): FIXUP: sched/tune: add fixes missing from a previous patch FIXUP: sched/tune: update accouting before CPU capacity sched/walt: remove unused RQ "nt_" runnable sums DEBUG: sched/walt: make WALT tracepoints parsable by Trappy
Paul Moore (1): BACKPORT: audit: consistently record PIDs with task_tgid_nr()
Peter Hurley (1): UPSTREAM: tty: Prevent ldisc drivers from re-using stale tty fields
Peter Zijlstra (1): UPSTREAM: perf: Fix race in swevent hash
Phil Turnbull (1): BACKPORT: netfilter: nfnetlink: correctly validate length of batch messages
Riley Andrews (1): cpuset: Make cpusets restore on hotplug
Robert Jarzmik (1): UPSTREAM: ARM: 8431/1: fix alignement of __bug_table section entries
Russell King (17): BACKPORT: ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore() UPSTREAM: ARM: fix uaccess_with_memcpy() with SW_DOMAIN_PAN UPSTREAM: ARM: domains: switch to keeping domain value in register UPSTREAM: ARM: domains: provide domain_mask() UPSTREAM: ARM: redo TTBR setup code for LPAE UPSTREAM: ARM: domains: move initial domain setting value to asm/domains.h UPSTREAM: ARM: domains: get rid of manager mode for user domain UPSTREAM: ARM: domains: keep vectors in separate domain UPSTREAM: ARM: domains: remove DOMAIN_TABLE UPSTREAM: ARM: swpan: fix nwfpe for uaccess changes UPSTREAM: ARM: mm: improve do_ldrd_abort macro UPSTREAM: ARM: entry: get rid of multiple macro definitions UPSTREAM: ARM: entry: provide uaccess assembly macro hooks UPSTREAM: ARM: uaccess: fix undefined instruction on ARMv7M/noMMU UPSTREAM: ARM: domains: thread_info.h no longer needs asm/domains.h UPSTREAM: ARM: domains: add memory dependencies to get_domain/set_domain UPSTREAM: ARM: alignment: fix alignment handling for uaccess changes
Sami Tolvanen (3): BACKPORT: sched/preempt, arm/futex: Disable preemption in UP futex_atomic_cmpxchg_inatomic() explicitly UPSTREAM: ARM: software-based priviledged-no-access support ANDROID: android-base: CONFIG_HARDENED_USERCOPY=y
Srinath Sridharan (1): eas/sched/fair: Fixing comments in find_best_target.
Stephen Boyd (1): UPSTREAM: ARM: 8196/1: vfp: Workaround bad MVFR1 register on some Kraits
Steven Rostedt (Red Hat) (9): UPSTREAM: tracefs: Add new tracefs file system UPSTREAM: tracefs: Add directory /sys/kernel/tracing UPSTREAM: tracing: Use IS_ERR() check for return value of tracing_init_dentry() UPSTREAM: tracing: Make tracing_init_dentry_tr() static UPSTREAM: tracing: Separate out initializing top level dir from instances UPSTREAM: tracing: Move enabling tracepoints to just after rcu_init() UPSTREAM: tracing: Convert the tracing facility over to use tracefs UPSTREAM: tracing: Automatically mount tracefs on debugfs/tracing UPSTREAM: tracing: Have mkdir and rmdir be part of tracefs
Theodore Ts'o (39): ext4 crypto: add ext4_mpage_readpages() ext4 crypto: reserve codepoints used by the ext4 encryption feature ext4 crypto: add ext4 encryption Kconfig ext4 crypto: enforce context consistency ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames ext4 crypto: Add symlink encryption ext4 crypto: enable encryption feature flag ext4 crypto: simplify and speed up filename encryption ext4 crypto: add padding to filenames before encrypting ext4 crypto: optimize filename encryption ext4 crypto: don't allocate a page when encrypting/decrypting file names ext4 crypto: separate kernel and userspace structure for the key ext4 crypto: reorganize how we store keys in the inode ext4: clean up superblock encryption mode fields ext4 crypto: use slab caches ext4 crypto: get rid of ci_mode from struct ext4_crypt_info ext4 crypto: shrink size of the ext4_crypto_ctx structure ext4 crypto: require CONFIG_CRYPTO_CTR if ext4 encryption is enabled ext4 crypto: use per-inode tfm structure ext4 crypto: fix memory leaks in ext4_encrypted_zeroout ext4 crypto: set up encryption info for new inodes in ext4_inherit_context() ext4 crypto: make sure the encryption info is initialized on opendir(2) ext4 crypto: encrypt tmpfile located in encryption protected directory ext4 crypto: enforce crypto policy restrictions on cross-renames ext4 crypto: policies may only be set on directories ext4 crypto: clean up error handling in ext4_fname_setup_filename ext4 crypto: allocate the right amount of memory for the on-disk symlink ext4 crypto: handle unexpected lack of encryption keys ext4 crypto: allocate bounce pages using GFP_NOWAIT ext4 crypto: fix ext4_get_crypto_ctx()'s calling convention in ext4_decrypt_one ext4 crypto: fail the mount if blocksize != pagesize ext4 crypto: use a jbd2 transaction when adding a crypto policy ext4 crypto: check for too-short encrypted file names ext4: disable zeroout optimization when encryption is enabled ext4 crypto: fix memory leak in ext4_bio_write_page() ext4: optimize ext4_writepage() for attempted 4k delalloc writes ext4 crypto: ext4_page_crypto() doesn't need a encryption context ext4 crypto: replace some BUG_ON()'s with error checks ext4 crypto: fix bugs in ext4_encrypted_zeroout()
Yongqin Liu (1): ANDROID: base-cfg: enable SECCOMP config
kbuild test robot (2): ANDROID: sched/tune: __pcpu_scope_cpu_boost_groups can be static ANDROID: sched/tune: schedtune_allow_attach() can be static
zilong.liu (1): ext4 crypto: remove duplicate header file
Documentation/kernel-parameters.txt | 4 + android/configs/android-base.cfg | 2 + arch/Kconfig | 9 ++ arch/alpha/include/asm/thread_info.h | 5 - arch/alpha/kernel/signal.c | 2 +- arch/arc/include/asm/thread_info.h | 4 - arch/arc/kernel/signal.c | 2 +- arch/arm/Kconfig | 16 +++ arch/arm/include/asm/assembler.h | 47 +++++++++ arch/arm/include/asm/bug.h | 1 + arch/arm/include/asm/cacheflush.h | 1 - arch/arm/include/asm/domain.h | 57 ++++++++-- arch/arm/include/asm/futex.h | 32 +++++- arch/arm/include/asm/memory.h | 16 --- arch/arm/include/asm/pgalloc.h | 10 +- arch/arm/include/asm/pgtable-2level-hwdef.h | 3 + arch/arm/include/asm/pgtable-3level-hwdef.h | 1 + arch/arm/include/asm/proc-fns.h | 7 -- arch/arm/include/asm/smp.h | 2 +- arch/arm/include/asm/thread_info.h | 8 -- arch/arm/include/asm/uaccess.h | 96 ++++++++++++++++- arch/arm/kernel/armksyms.c | 6 +- arch/arm/kernel/entry-armv.S | 32 ++++-- arch/arm/kernel/entry-common.S | 2 + arch/arm/kernel/entry-header.S | 123 ++++++++++------------ arch/arm/kernel/head-nommu.S | 2 +- arch/arm/kernel/head.S | 61 +++++++---- arch/arm/kernel/process.c | 51 +++++++-- arch/arm/kernel/setup.c | 2 +- arch/arm/kernel/signal.c | 4 +- arch/arm/kernel/smp.c | 10 +- arch/arm/kernel/swp_emulate.c | 3 + arch/arm/kernel/traps.c | 1 - arch/arm/kernel/vmlinux.lds.S | 4 +- arch/arm/lib/clear_user.S | 6 +- arch/arm/lib/copy_from_user.S | 6 +- arch/arm/lib/copy_to_user.S | 6 +- arch/arm/lib/csumpartialcopyuser.S | 14 +++ arch/arm/lib/uaccess_with_memcpy.c | 33 ++++-- arch/arm/mach-keystone/platsmp.c | 13 --- arch/arm/mm/abort-ev4.S | 1 + arch/arm/mm/abort-ev5t.S | 4 +- arch/arm/mm/abort-ev5tj.S | 4 +- arch/arm/mm/abort-ev6.S | 8 +- arch/arm/mm/abort-ev7.S | 1 + arch/arm/mm/abort-lv4t.S | 2 + arch/arm/mm/abort-macro.S | 14 ++- arch/arm/mm/alignment.c | 30 +++++- arch/arm/mm/mmu.c | 30 +++++- arch/arm/mm/pgd.c | 10 ++ arch/arm/mm/proc-arm1020.S | 4 +- arch/arm/mm/proc-arm1020e.S | 4 +- arch/arm/mm/proc-arm1022.S | 4 +- arch/arm/mm/proc-arm1026.S | 4 +- arch/arm/mm/proc-arm720.S | 4 +- arch/arm/mm/proc-arm740.S | 4 +- arch/arm/mm/proc-arm7tdmi.S | 4 +- arch/arm/mm/proc-arm920.S | 4 +- arch/arm/mm/proc-arm922.S | 4 +- arch/arm/mm/proc-arm925.S | 4 +- arch/arm/mm/proc-arm926.S | 4 +- arch/arm/mm/proc-arm940.S | 4 +- arch/arm/mm/proc-arm946.S | 4 +- arch/arm/mm/proc-arm9tdmi.S | 4 +- arch/arm/mm/proc-fa526.S | 4 +- arch/arm/mm/proc-feroceon.S | 4 +- arch/arm/mm/proc-macros.S | 4 + arch/arm/mm/proc-mohawk.S | 4 +- arch/arm/mm/proc-sa110.S | 4 +- arch/arm/mm/proc-sa1100.S | 4 +- arch/arm/mm/proc-v6.S | 4 +- arch/arm/mm/proc-v7-2level.S | 6 +- arch/arm/mm/proc-v7-3level.S | 14 +-- arch/arm/mm/proc-v7.S | 57 +++++----- arch/arm/mm/proc-v7m.S | 4 +- arch/arm/mm/proc-xsc3.S | 4 +- arch/arm/mm/proc-xscale.S | 4 +- arch/arm/nwfpe/entry.S | 3 +- arch/arm64/Kconfig | 1 + arch/arm64/Makefile | 2 +- arch/arm64/boot/.gitignore | 1 + arch/arm64/boot/Makefile | 3 + arch/arm64/include/asm/cacheflush.h | 4 - arch/arm64/include/asm/memory.h | 6 +- arch/arm64/include/asm/thread_info.h | 4 - arch/arm64/include/asm/uaccess.h | 29 ++++-- arch/arm64/kernel/arm64ksyms.c | 4 +- arch/arm64/kernel/setup.c | 2 +- arch/arm64/kernel/signal.c | 2 +- arch/arm64/kernel/signal32.c | 4 +- arch/arm64/kernel/sys.c | 2 +- arch/arm64/kernel/vmlinux.lds.S | 3 +- arch/arm64/lib/copy_from_user.S | 4 +- arch/arm64/lib/copy_to_user.S | 4 +- arch/arm64/mm/mmu.c | 4 +- arch/avr32/include/asm/thread_info.h | 4 - arch/avr32/kernel/asm-offsets.c | 1 - arch/avr32/kernel/signal.c | 2 +- arch/blackfin/include/asm/thread_info.h | 4 - arch/blackfin/kernel/signal.c | 2 +- arch/c6x/include/asm/thread_info.h | 4 - arch/c6x/kernel/signal.c | 2 +- arch/cris/arch-v10/kernel/signal.c | 2 +- arch/cris/arch-v32/kernel/signal.c | 2 +- arch/cris/include/asm/thread_info.h | 4 - arch/frv/include/asm/thread_info.h | 4 - arch/frv/kernel/asm-offsets.c | 1 - arch/frv/kernel/signal.c | 2 +- arch/hexagon/include/asm/thread_info.h | 4 - arch/hexagon/kernel/signal.c | 2 +- arch/ia64/include/asm/thread_info.h | 4 - arch/ia64/kernel/signal.c | 2 +- arch/m32r/include/asm/thread_info.h | 5 - arch/m32r/kernel/signal.c | 2 +- arch/m68k/include/asm/thread_info.h | 4 - arch/m68k/kernel/signal.c | 4 +- arch/metag/include/asm/thread_info.h | 6 +- arch/metag/kernel/signal.c | 2 +- arch/microblaze/include/asm/thread_info.h | 4 - arch/microblaze/kernel/signal.c | 2 +- arch/mips/include/asm/thread_info.h | 4 - arch/mips/kernel/asm-offsets.c | 1 - arch/mips/kernel/signal.c | 2 +- arch/mips/kernel/signal32.c | 2 +- arch/mn10300/include/asm/thread_info.h | 4 - arch/mn10300/kernel/asm-offsets.c | 1 - arch/mn10300/kernel/signal.c | 2 +- arch/openrisc/include/asm/thread_info.h | 4 - arch/openrisc/kernel/signal.c | 2 +- arch/parisc/include/asm/cache.h | 3 + arch/parisc/include/asm/cacheflush.h | 4 - arch/parisc/include/asm/thread_info.h | 4 - arch/parisc/kernel/signal.c | 2 +- arch/powerpc/include/asm/thread_info.h | 4 - arch/powerpc/kernel/signal_32.c | 4 +- arch/powerpc/kernel/signal_64.c | 2 +- arch/s390/include/asm/thread_info.h | 4 - arch/s390/kernel/compat_signal.c | 2 +- arch/s390/kernel/signal.c | 2 +- arch/score/include/asm/thread_info.h | 4 - arch/score/kernel/asm-offsets.c | 1 - arch/score/kernel/signal.c | 2 +- arch/sh/include/asm/thread_info.h | 4 - arch/sh/kernel/asm-offsets.c | 1 - arch/sh/kernel/signal_32.c | 4 +- arch/sh/kernel/signal_64.c | 4 +- arch/sparc/include/asm/thread_info_32.h | 6 -- arch/sparc/include/asm/thread_info_64.h | 12 +-- arch/sparc/kernel/signal32.c | 4 +- arch/sparc/kernel/signal_32.c | 2 +- arch/sparc/kernel/signal_64.c | 2 +- arch/sparc/kernel/traps_64.c | 2 - arch/tile/include/asm/thread_info.h | 4 - arch/tile/kernel/signal.c | 2 +- arch/um/include/asm/thread_info.h | 4 - arch/unicore32/include/asm/thread_info.h | 4 - arch/unicore32/kernel/signal.c | 2 +- arch/x86/Kconfig | 5 + arch/x86/Kconfig.debug | 17 +-- arch/x86/ia32/ia32_signal.c | 2 +- arch/x86/include/asm/cacheflush.h | 6 -- arch/x86/include/asm/kvm_para.h | 7 -- arch/x86/include/asm/sections.h | 2 +- arch/x86/include/asm/thread_info.h | 48 ++++++++- arch/x86/include/asm/uaccess.h | 102 ++++++++++++------ arch/x86/include/asm/uaccess_32.h | 26 +++++ arch/x86/include/asm/uaccess_64.h | 96 ++++++++++++----- arch/x86/kernel/ftrace.c | 6 +- arch/x86/kernel/kgdb.c | 8 +- arch/x86/kernel/signal.c | 2 +- arch/x86/kernel/test_nx.c | 2 - arch/x86/kernel/test_rodata.c | 2 +- arch/x86/kernel/vmlinux.lds.S | 25 ++--- arch/x86/mm/init_32.c | 3 - arch/x86/mm/init_64.c | 3 - arch/x86/mm/pageattr.c | 2 +- arch/x86/um/signal.c | 2 +- arch/x86/vdso/vdso2c.h | 2 +- arch/xtensa/include/asm/thread_info.h | 5 - arch/xtensa/kernel/signal.c | 2 +- block/blk-core.c | 84 +++++++++++++++ drivers/hid/hid-core.c | 3 + drivers/md/Kconfig | 3 +- drivers/md/Makefile | 5 +- drivers/md/dm-android-verity.c | 5 +- drivers/md/dm-linear.c | 7 ++ drivers/md/dm-verity-target.c | 8 ++ drivers/media/tuners/tuner-xc2028.c | 6 +- drivers/misc/lkdtm.c | 29 +++++- drivers/mmc/core/core.c | 72 ++++++++++++- drivers/mmc/core/host.c | 9 +- drivers/mmc/core/host.h | 7 ++ drivers/scsi/sg.c | 8 +- drivers/scsi/ufs/ufshcd.c | 80 ++++++++++++++ drivers/scsi/ufs/ufshcd.h | 3 + drivers/staging/android/binder.c | 31 ++++-- drivers/staging/android/ion/ion.c | 55 +++++++--- drivers/tty/tty_ldisc.c | 7 ++ drivers/usb/gadget/function/f_fs.c | 1 - fs/Makefile | 1 + fs/debugfs/inode.c | 251 ++++++++++++++++++++++---------------------- fs/ext4/Kconfig | 23 +++++ fs/ext4/Makefile | 4 +- fs/ext4/crypto.c | 472 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_fname.c | 470 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_key.c | 272 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_policy.c | 229 ++++++++++++++++++++++++++++++++++++++++ fs/ext4/dir.c | 82 +++++++++++---- fs/ext4/ext4.h | 240 +++++++++++++++++++++++++++++++++++++----- fs/ext4/ext4_crypto.h | 159 ++++++++++++++++++++++++++++ fs/ext4/extents.c | 23 ++++- fs/ext4/file.c | 19 +++- fs/ext4/ialloc.c | 22 +++- fs/ext4/inline.c | 47 +++++---- fs/ext4/inode.c | 164 +++++++++++++++++++++++++++-- fs/ext4/ioctl.c | 85 +++++++++++++++ fs/ext4/namei.c | 567 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- fs/ext4/page-io.c | 48 ++++++++- fs/ext4/readpage.c | 361 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/super.c | 46 ++++++++- fs/ext4/symlink.c | 92 ++++++++++++++++- fs/ext4/xattr.h | 3 + fs/f2fs/data.c | 17 +++ fs/f2fs/inline.c | 8 ++ fs/mpage.c | 30 ++++++ fs/proc/array.c | 5 +- fs/proc/kcore.c | 31 ++++-- fs/pstore/platform.c | 36 +++++++ fs/pstore/pmsg.c | 35 ++----- fs/pstore/ram.c | 19 ++++ fs/pstore/ram_core.c | 47 ++++++++- fs/select.c | 2 +- fs/tracefs/Makefile | 4 + fs/tracefs/inode.c | 654 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/asm-generic/vmlinux.lds.h | 9 ++ include/linux/blkdev.h | 76 ++++++++++++++ include/linux/cache.h | 14 +++ include/linux/cred.h | 8 ++ include/linux/debugfs.h | 5 + include/linux/ftrace.h | 6 ++ include/linux/inet_diag.h | 2 +- include/linux/init.h | 4 + include/linux/init_task.h | 3 + include/linux/mmc/core.h | 4 + include/linux/mmc/host.h | 6 ++ include/linux/mmzone.h | 2 + include/linux/pstore.h | 11 +- include/linux/pstore_ram.h | 7 +- include/linux/sched.h | 2 + include/linux/slab.h | 12 +++ include/linux/slub_def.h | 1 + include/linux/thread_info.h | 25 +++++ include/linux/tracefs.h | 45 ++++++++ include/linux/uaccess.h | 7 ++ include/net/tcp.h | 2 + include/net/udp.h | 1 + include/trace/events/android_fs.h | 31 ++++++ include/trace/events/android_fs_template.h | 79 ++++++++++++++ include/trace/events/sched.h | 103 +++++++++--------- include/uapi/linux/inet_diag.h | 15 ++- include/uapi/linux/magic.h | 2 + include/uapi/linux/prctl.h | 7 ++ init/Kconfig | 2 + init/main.c | 31 +++++- kernel/audit.c | 8 +- kernel/auditsc.c | 12 +-- kernel/compat.c | 5 +- kernel/cpuset.c | 33 ++++-- kernel/debug/kdb/kdb_bp.c | 4 +- kernel/events/core.c | 20 +--- kernel/futex.c | 2 +- kernel/sched/fair.c | 46 +++++++-- kernel/sched/sched.h | 2 - kernel/sched/tune.c | 24 ++--- kernel/signal.c | 2 +- kernel/time/alarmtimer.c | 2 +- kernel/time/hrtimer.c | 2 +- kernel/time/posix-cpu-timers.c | 3 +- kernel/trace/ftrace.c | 24 ++--- kernel/trace/trace.c | 211 ++++++++++++++++++------------------- kernel/trace/trace.h | 16 ++- kernel/trace/trace_events.c | 44 ++++---- kernel/trace/trace_functions_graph.c | 9 +- kernel/trace/trace_kprobe.c | 12 +-- kernel/trace/trace_printk.c | 2 +- kernel/trace/trace_probe.h | 2 +- kernel/trace/trace_stack.c | 2 +- kernel/trace/trace_stat.c | 12 +-- kernel/trace/trace_syscalls.c | 7 +- kernel/trace/trace_uprobe.c | 2 +- kernel/user_namespace.c | 1 + lib/strncpy_from_user.c | 17 ++- lib/strnlen_user.c | 21 ++-- mm/Makefile | 4 + mm/slab.c | 30 ++++++ mm/slub.c | 140 +++++++++++++++++++------ mm/usercopy.c | 278 +++++++++++++++++++++++++++++++++++++++++++++++++ net/ipv4/inet_diag.c | 112 ++++++++++++++++---- net/ipv4/udp.c | 15 +++ net/ipv4/udp_diag.c | 89 +++++++++++++++- net/ipv6/udp.c | 1 + net/netfilter/nfnetlink.c | 10 +- net/netfilter/xt_qtaguid.c | 5 +- security/Kconfig | 40 +++++++ security/commoncap.c | 102 ++++++++++++++++-- security/keys/process_keys.c | 1 + security/lsm_audit.c | 4 +- 307 files changed, 7044 insertions(+), 1477 deletions(-) create mode 100644 fs/ext4/crypto.c create mode 100644 fs/ext4/crypto_fname.c create mode 100644 fs/ext4/crypto_key.c create mode 100644 fs/ext4/crypto_policy.c create mode 100644 fs/ext4/ext4_crypto.h create mode 100644 fs/ext4/readpage.c create mode 100644 fs/tracefs/Makefile create mode 100644 fs/tracefs/inode.c create mode 100644 include/linux/tracefs.h create mode 100644 include/trace/events/android_fs.h create mode 100644 include/trace/events/android_fs_template.h create mode 100644 mm/usercopy.c
huh.. Something went wrong and git did not publish my topic branch name in pull request. Sorry about that. Please pull the changes from
git://android.git.linaro.org/kernel/linaro-android lsk-v3.18-android
while I fix my git config.
Regards, Amit Pundir
On 28 October 2016 at 23:56, Amit Pundir amit.pundir@linaro.org wrote:
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 security backports and ext4 crypto patches landed in aosp/android-3.18 since last pull request.
Build tested for arm64(defconfig + android configs), arm(vexpress + android configs) and boot tested on Qemu with Android M.
Regards, Amit Pundir
The following changes since commit 3e729690a51c2e54ce399a274e0835f381c71c79:
Merge branch 'linux-linaro-lsk-v3.18' into linux-linaro-lsk-v3.18-android (2016-10-25 12:30:09 +0800)
are available in the git repository at:
git://android.git.linaro.org/kernel/linaro-android
for you to fetch changes up to 4450e96693acc193205906318b0f6e6e6eca4e64:
ARM64: Ignore Image-dtb from git point of view (2016-10-28 23:12:35 +0800)
Al Viro (11): UPSTREAM: debugfs_{mkdir,create,link}(): get rid of redundant argument UPSTREAM: debugfs: split the beginning and the end of __create_file() off UPSTREAM: debugfs: kill __create_file() UPSTREAM: fold debugfs_link() into caller UPSTREAM: debugfs_mknod(): get rid useless arguments UPSTREAM: fold debugfs_mkdir() into caller UPSTREAM: fold debugfs_create() into caller UPSTREAM: fold debugfs_mknod() into callers UPSTREAM: debugfs: take mode-dependent parts of debugfs_get_inode() into callers UPSTREAM: debugfs: split end_creating() into success and failure cases UPSTREAM: new primitive: debugfs_create_automount()
Andrew Lunn (1): UPSTREAM: ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro
Andy Lutomirski (3): UPSTREAM: capabilities: ambient capabilities UPSTREAM: x86/uaccess: Tell the compiler that uaccess is unlikely to fault UPSTREAM: all arches, signal: move restart_block to struct task_struct
Ard Biesheuvel (2): BACKPORT: arm64: mm: fix location of _etext UPSTREAM: ARM: 8314/1: replace PROCINFO embedded branch with relative offset
Arve Hjønnevåg (2): ANDROID: binder: Add strong ref checks ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct
Badhri Jagan Sridharan (3): ANDROID: dm: android-verity: Allow android-verity to be compiled as an independent module ANDROID: dm: Fix symbol exports for dm target callbacks ANDROID: dm: android-verity: Remove fec_header location constraint
Benjamin Tissoires (1): UPSTREAM: HID: core: prevent out-of-bound readings
Calvin Owens (1): UPSTREAM: sg: Fix double-free when drives detach during SG_IO
Chao Yu (1): ext4 crypto: release crypto resource on module exit
Dan Carpenter (1): UPSTREAM: [media] xc2028: unlock on error in xc2028_set_config()
Daniel Borkmann (1): UPSTREAM: tracefs: Fix refcount imbalance in start_creating()
Daniel Thompson (1): UPSTREAM: ARM: 8266/1: Remove early stack deallocation from restore_user_regs
David Ahern (2): net: diag: Add support to filter on device index net: diag: support SOCK_DESTROY for UDP sockets
David Hildenbrand (1): UPSTREAM: sched/preempt, arm/futex: Disable preemption in UP futex_atomic_op_inuser() explicitly
Dmitry Shmidt (1): ARM64: Ignore Image-dtb from git point of view
Eric Biggers (1): UPSTREAM: usercopy: avoid potentially undefined behavior in pointer math
Eric Dumazet (1): UPSTREAM: tcp: fix use after free in tcp_xmit_retransmit_queue()
EunTaik Lee (1): UPSTREAM: staging/android/ion : fix a race condition in the ion driver
Fabian Frederick (1): ext4 crypto: fix sparse warnings in fs/ext4/ioctl.c
Haojian Zhuang (1): arm64: add option to build Image-dtb
Heiko Carstens (1): UPSTREAM: vmlinux.lds.h: allow arch specific handling of ro_after_init data section
Herbert Xu (1): ext4 crypto: Do not select from EXT4_FS_ENCRYPTION
Jiri Olsa (2): UPSTREAM: fs/proc/kcore.c: Make bounce buffer global for read UPSTREAM: fs/proc/kcore.c: Add bounce buffer for ktext data
Joonsoo Kim (1): UPSTREAM: mm/slub: support left redzone
Josh Poimboeuf (1): UPSTREAM: usercopy: fix overlap check for kernel text
Jungseung Lee (2): BACKPORT: ARM: 8235/1: Support for the PXN CPU feature on ARMv7 UPSTREAM: ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor
Kees Cook (18): BACKPORT: ARM: 8583/1: mm: fix location of _etext BACKPORT: mm: Implement stack frame object validation BACKPORT: mm: Hardened usercopy BACKPORT: x86/uaccess: Enable hardened usercopy BACKPORT: ARM: uaccess: Enable hardened usercopy BACKPORT: arm64/uaccess: Enable hardened usercopy UPSTREAM: mm: SLAB hardened usercopy support UPSTREAM: mm: SLUB hardened usercopy support UPSTREAM: x86/uaccess: force copy_*_user() to be inlined BACKPORT: usercopy: fold builtin_const check into inline function UPSTREAM: usercopy: force check_object_size() inline UPSTREAM: usercopy: remove page-spanning test for now UPSTREAM: asm-generic: Consolidate mark_rodata_ro() UPSTREAM: mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings BACKPORT: x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option UPSTREAM: arch: Introduce post-init read-only memory UPSTREAM: lkdtm: Verify that '__ro_after_init' works correctly UPSTREAM: x86/vdso: Mark the vDSO code read-only after init
Lars-Peter Clausen (1): BACKPORT: usb: gadget: f_fs: Fix use-after-free
Laura Abbott (2): UPSTREAM: mm: Add is_migrate_cma_page BACKPORT: arm64: Correctly bounds check virt_addr_valid
Laurent Navet (2): ext4 crypto: exit cleanly if ext4_derive_key_aes() fails ext4 crypto: fix spelling typo in comment
Linus Torvalds (6): UPSTREAM: x86: reorganize SMAP handling in user space accesses BACKPORT: Add 'unsafe' user access functions for batched accesses UPSTREAM: Use the new batched user accesses in generic user string handling UPSTREAM: unsafe_[get|put]_user: change interface to use a error target label UPSTREAM: Make the hardened user-copy code depend on having a hardened allocator BACKPORT: x86: fix SMAP in 32-bit environments
Lorenzo Colitti (4): net: diag: slightly refactor the inet_diag_bc_audit error checks. net: diag: allow socket bytecode filters to match socket marks net: diag: make udp_diag_destroy work for mapped addresses. net: inet: diag: expose the socket mark to privileged processes.
Mark Rutland (2): UPSTREAM: arm64: make sys_call_table const BACKPORT: lib: harden strncpy_from_user
Mark Salyzyn (1): FROMLIST: pstore: drop pmsg bounce buffer
Mauro Carvalho Chehab (1): UPSTREAM: [media] xc2028: avoid use after free
Michael Halcrow (13): ext4 crypto: export ext4_empty_dir() ext4 crypto: add encryption xattr support ext4 crypto: add encryption policy and password salt support ext4 crypto: add ext4 encryption facilities ext4 crypto: add encryption key management facilities ext4 crypto: inherit encryption policies on inode and directory create ext4 crypto: implement the ext4 encryption write path ext4 crypto: implement the ext4 decryption read path ext4 crypto: filename encryption facilities ext4 crypto: insert encrypted filenames into a leaf directory block ext4 crypto: partial update to namei.c for fname crypto ext4 crypto: filename encryption modifications ext4 crypto: enable filename encryption
Michael S. Tsirkin (1): UPSTREAM: x86/uaccess: fix sparse errors
Mohamad Ayyash (1): Don't show empty tag stats for unprivileged uids
Mohan Srinivasan (5): Android: MMC/UFS IO Latency Histograms. Android: Fix build breakages. ANDROID: fs: FS tracepoints to track IO. ANDROID: fs: Fix for a (allmod) build failure. Fix a build issue with CONFIG_MMC but !CONFIG_BLOCK.
Patrick Bellasi (4): FIXUP: sched/tune: add fixes missing from a previous patch FIXUP: sched/tune: update accouting before CPU capacity sched/walt: remove unused RQ "nt_" runnable sums DEBUG: sched/walt: make WALT tracepoints parsable by Trappy
Paul Moore (1): BACKPORT: audit: consistently record PIDs with task_tgid_nr()
Peter Hurley (1): UPSTREAM: tty: Prevent ldisc drivers from re-using stale tty fields
Peter Zijlstra (1): UPSTREAM: perf: Fix race in swevent hash
Phil Turnbull (1): BACKPORT: netfilter: nfnetlink: correctly validate length of batch messages
Riley Andrews (1): cpuset: Make cpusets restore on hotplug
Robert Jarzmik (1): UPSTREAM: ARM: 8431/1: fix alignement of __bug_table section entries
Russell King (17): BACKPORT: ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore() UPSTREAM: ARM: fix uaccess_with_memcpy() with SW_DOMAIN_PAN UPSTREAM: ARM: domains: switch to keeping domain value in register UPSTREAM: ARM: domains: provide domain_mask() UPSTREAM: ARM: redo TTBR setup code for LPAE UPSTREAM: ARM: domains: move initial domain setting value to asm/domains.h UPSTREAM: ARM: domains: get rid of manager mode for user domain UPSTREAM: ARM: domains: keep vectors in separate domain UPSTREAM: ARM: domains: remove DOMAIN_TABLE UPSTREAM: ARM: swpan: fix nwfpe for uaccess changes UPSTREAM: ARM: mm: improve do_ldrd_abort macro UPSTREAM: ARM: entry: get rid of multiple macro definitions UPSTREAM: ARM: entry: provide uaccess assembly macro hooks UPSTREAM: ARM: uaccess: fix undefined instruction on ARMv7M/noMMU UPSTREAM: ARM: domains: thread_info.h no longer needs asm/domains.h UPSTREAM: ARM: domains: add memory dependencies to get_domain/set_domain UPSTREAM: ARM: alignment: fix alignment handling for uaccess changes
Sami Tolvanen (3): BACKPORT: sched/preempt, arm/futex: Disable preemption in UP futex_atomic_cmpxchg_inatomic() explicitly UPSTREAM: ARM: software-based priviledged-no-access support ANDROID: android-base: CONFIG_HARDENED_USERCOPY=y
Srinath Sridharan (1): eas/sched/fair: Fixing comments in find_best_target.
Stephen Boyd (1): UPSTREAM: ARM: 8196/1: vfp: Workaround bad MVFR1 register on some Kraits
Steven Rostedt (Red Hat) (9): UPSTREAM: tracefs: Add new tracefs file system UPSTREAM: tracefs: Add directory /sys/kernel/tracing UPSTREAM: tracing: Use IS_ERR() check for return value of tracing_init_dentry() UPSTREAM: tracing: Make tracing_init_dentry_tr() static UPSTREAM: tracing: Separate out initializing top level dir from instances UPSTREAM: tracing: Move enabling tracepoints to just after rcu_init() UPSTREAM: tracing: Convert the tracing facility over to use tracefs UPSTREAM: tracing: Automatically mount tracefs on debugfs/tracing UPSTREAM: tracing: Have mkdir and rmdir be part of tracefs
Theodore Ts'o (39): ext4 crypto: add ext4_mpage_readpages() ext4 crypto: reserve codepoints used by the ext4 encryption feature ext4 crypto: add ext4 encryption Kconfig ext4 crypto: enforce context consistency ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames ext4 crypto: Add symlink encryption ext4 crypto: enable encryption feature flag ext4 crypto: simplify and speed up filename encryption ext4 crypto: add padding to filenames before encrypting ext4 crypto: optimize filename encryption ext4 crypto: don't allocate a page when encrypting/decrypting file names ext4 crypto: separate kernel and userspace structure for the key ext4 crypto: reorganize how we store keys in the inode ext4: clean up superblock encryption mode fields ext4 crypto: use slab caches ext4 crypto: get rid of ci_mode from struct ext4_crypt_info ext4 crypto: shrink size of the ext4_crypto_ctx structure ext4 crypto: require CONFIG_CRYPTO_CTR if ext4 encryption is enabled ext4 crypto: use per-inode tfm structure ext4 crypto: fix memory leaks in ext4_encrypted_zeroout ext4 crypto: set up encryption info for new inodes in ext4_inherit_context() ext4 crypto: make sure the encryption info is initialized on opendir(2) ext4 crypto: encrypt tmpfile located in encryption protected directory ext4 crypto: enforce crypto policy restrictions on cross-renames ext4 crypto: policies may only be set on directories ext4 crypto: clean up error handling in ext4_fname_setup_filename ext4 crypto: allocate the right amount of memory for the on-disk symlink ext4 crypto: handle unexpected lack of encryption keys ext4 crypto: allocate bounce pages using GFP_NOWAIT ext4 crypto: fix ext4_get_crypto_ctx()'s calling convention in ext4_decrypt_one ext4 crypto: fail the mount if blocksize != pagesize ext4 crypto: use a jbd2 transaction when adding a crypto policy ext4 crypto: check for too-short encrypted file names ext4: disable zeroout optimization when encryption is enabled ext4 crypto: fix memory leak in ext4_bio_write_page() ext4: optimize ext4_writepage() for attempted 4k delalloc writes ext4 crypto: ext4_page_crypto() doesn't need a encryption context ext4 crypto: replace some BUG_ON()'s with error checks ext4 crypto: fix bugs in ext4_encrypted_zeroout()
Yongqin Liu (1): ANDROID: base-cfg: enable SECCOMP config
kbuild test robot (2): ANDROID: sched/tune: __pcpu_scope_cpu_boost_groups can be static ANDROID: sched/tune: schedtune_allow_attach() can be static
zilong.liu (1): ext4 crypto: remove duplicate header file
Documentation/kernel-parameters.txt | 4 + android/configs/android-base.cfg | 2 + arch/Kconfig | 9 ++ arch/alpha/include/asm/thread_info.h | 5 - arch/alpha/kernel/signal.c | 2 +- arch/arc/include/asm/thread_info.h | 4 - arch/arc/kernel/signal.c | 2 +- arch/arm/Kconfig | 16 +++ arch/arm/include/asm/assembler.h | 47 +++++++++ arch/arm/include/asm/bug.h | 1 + arch/arm/include/asm/cacheflush.h | 1 - arch/arm/include/asm/domain.h | 57 ++++++++-- arch/arm/include/asm/futex.h | 32 +++++- arch/arm/include/asm/memory.h | 16 --- arch/arm/include/asm/pgalloc.h | 10 +- arch/arm/include/asm/pgtable-2level-hwdef.h | 3 + arch/arm/include/asm/pgtable-3level-hwdef.h | 1 + arch/arm/include/asm/proc-fns.h | 7 -- arch/arm/include/asm/smp.h | 2 +- arch/arm/include/asm/thread_info.h | 8 -- arch/arm/include/asm/uaccess.h | 96 ++++++++++++++++- arch/arm/kernel/armksyms.c | 6 +- arch/arm/kernel/entry-armv.S | 32 ++++-- arch/arm/kernel/entry-common.S | 2 + arch/arm/kernel/entry-header.S | 123 ++++++++++------------ arch/arm/kernel/head-nommu.S | 2 +- arch/arm/kernel/head.S | 61 +++++++---- arch/arm/kernel/process.c | 51 +++++++-- arch/arm/kernel/setup.c | 2 +- arch/arm/kernel/signal.c | 4 +- arch/arm/kernel/smp.c | 10 +- arch/arm/kernel/swp_emulate.c | 3 + arch/arm/kernel/traps.c | 1 - arch/arm/kernel/vmlinux.lds.S | 4 +- arch/arm/lib/clear_user.S | 6 +- arch/arm/lib/copy_from_user.S | 6 +- arch/arm/lib/copy_to_user.S | 6 +- arch/arm/lib/csumpartialcopyuser.S | 14 +++ arch/arm/lib/uaccess_with_memcpy.c | 33 ++++-- arch/arm/mach-keystone/platsmp.c | 13 --- arch/arm/mm/abort-ev4.S | 1 + arch/arm/mm/abort-ev5t.S | 4 +- arch/arm/mm/abort-ev5tj.S | 4 +- arch/arm/mm/abort-ev6.S | 8 +- arch/arm/mm/abort-ev7.S | 1 + arch/arm/mm/abort-lv4t.S | 2 + arch/arm/mm/abort-macro.S | 14 ++- arch/arm/mm/alignment.c | 30 +++++- arch/arm/mm/mmu.c | 30 +++++- arch/arm/mm/pgd.c | 10 ++ arch/arm/mm/proc-arm1020.S | 4 +- arch/arm/mm/proc-arm1020e.S | 4 +- arch/arm/mm/proc-arm1022.S | 4 +- arch/arm/mm/proc-arm1026.S | 4 +- arch/arm/mm/proc-arm720.S | 4 +- arch/arm/mm/proc-arm740.S | 4 +- arch/arm/mm/proc-arm7tdmi.S | 4 +- arch/arm/mm/proc-arm920.S | 4 +- arch/arm/mm/proc-arm922.S | 4 +- arch/arm/mm/proc-arm925.S | 4 +- arch/arm/mm/proc-arm926.S | 4 +- arch/arm/mm/proc-arm940.S | 4 +- arch/arm/mm/proc-arm946.S | 4 +- arch/arm/mm/proc-arm9tdmi.S | 4 +- arch/arm/mm/proc-fa526.S | 4 +- arch/arm/mm/proc-feroceon.S | 4 +- arch/arm/mm/proc-macros.S | 4 + arch/arm/mm/proc-mohawk.S | 4 +- arch/arm/mm/proc-sa110.S | 4 +- arch/arm/mm/proc-sa1100.S | 4 +- arch/arm/mm/proc-v6.S | 4 +- arch/arm/mm/proc-v7-2level.S | 6 +- arch/arm/mm/proc-v7-3level.S | 14 +-- arch/arm/mm/proc-v7.S | 57 +++++----- arch/arm/mm/proc-v7m.S | 4 +- arch/arm/mm/proc-xsc3.S | 4 +- arch/arm/mm/proc-xscale.S | 4 +- arch/arm/nwfpe/entry.S | 3 +- arch/arm64/Kconfig | 1 + arch/arm64/Makefile | 2 +- arch/arm64/boot/.gitignore | 1 + arch/arm64/boot/Makefile | 3 + arch/arm64/include/asm/cacheflush.h | 4 - arch/arm64/include/asm/memory.h | 6 +- arch/arm64/include/asm/thread_info.h | 4 - arch/arm64/include/asm/uaccess.h | 29 ++++-- arch/arm64/kernel/arm64ksyms.c | 4 +- arch/arm64/kernel/setup.c | 2 +- arch/arm64/kernel/signal.c | 2 +- arch/arm64/kernel/signal32.c | 4 +- arch/arm64/kernel/sys.c | 2 +- arch/arm64/kernel/vmlinux.lds.S | 3 +- arch/arm64/lib/copy_from_user.S | 4 +- arch/arm64/lib/copy_to_user.S | 4 +- arch/arm64/mm/mmu.c | 4 +- arch/avr32/include/asm/thread_info.h | 4 - arch/avr32/kernel/asm-offsets.c | 1 - arch/avr32/kernel/signal.c | 2 +- arch/blackfin/include/asm/thread_info.h | 4 - arch/blackfin/kernel/signal.c | 2 +- arch/c6x/include/asm/thread_info.h | 4 - arch/c6x/kernel/signal.c | 2 +- arch/cris/arch-v10/kernel/signal.c | 2 +- arch/cris/arch-v32/kernel/signal.c | 2 +- arch/cris/include/asm/thread_info.h | 4 - arch/frv/include/asm/thread_info.h | 4 - arch/frv/kernel/asm-offsets.c | 1 - arch/frv/kernel/signal.c | 2 +- arch/hexagon/include/asm/thread_info.h | 4 - arch/hexagon/kernel/signal.c | 2 +- arch/ia64/include/asm/thread_info.h | 4 - arch/ia64/kernel/signal.c | 2 +- arch/m32r/include/asm/thread_info.h | 5 - arch/m32r/kernel/signal.c | 2 +- arch/m68k/include/asm/thread_info.h | 4 - arch/m68k/kernel/signal.c | 4 +- arch/metag/include/asm/thread_info.h | 6 +- arch/metag/kernel/signal.c | 2 +- arch/microblaze/include/asm/thread_info.h | 4 - arch/microblaze/kernel/signal.c | 2 +- arch/mips/include/asm/thread_info.h | 4 - arch/mips/kernel/asm-offsets.c | 1 - arch/mips/kernel/signal.c | 2 +- arch/mips/kernel/signal32.c | 2 +- arch/mn10300/include/asm/thread_info.h | 4 - arch/mn10300/kernel/asm-offsets.c | 1 - arch/mn10300/kernel/signal.c | 2 +- arch/openrisc/include/asm/thread_info.h | 4 - arch/openrisc/kernel/signal.c | 2 +- arch/parisc/include/asm/cache.h | 3 + arch/parisc/include/asm/cacheflush.h | 4 - arch/parisc/include/asm/thread_info.h | 4 - arch/parisc/kernel/signal.c | 2 +- arch/powerpc/include/asm/thread_info.h | 4 - arch/powerpc/kernel/signal_32.c | 4 +- arch/powerpc/kernel/signal_64.c | 2 +- arch/s390/include/asm/thread_info.h | 4 - arch/s390/kernel/compat_signal.c | 2 +- arch/s390/kernel/signal.c | 2 +- arch/score/include/asm/thread_info.h | 4 - arch/score/kernel/asm-offsets.c | 1 - arch/score/kernel/signal.c | 2 +- arch/sh/include/asm/thread_info.h | 4 - arch/sh/kernel/asm-offsets.c | 1 - arch/sh/kernel/signal_32.c | 4 +- arch/sh/kernel/signal_64.c | 4 +- arch/sparc/include/asm/thread_info_32.h | 6 -- arch/sparc/include/asm/thread_info_64.h | 12 +-- arch/sparc/kernel/signal32.c | 4 +- arch/sparc/kernel/signal_32.c | 2 +- arch/sparc/kernel/signal_64.c | 2 +- arch/sparc/kernel/traps_64.c | 2 - arch/tile/include/asm/thread_info.h | 4 - arch/tile/kernel/signal.c | 2 +- arch/um/include/asm/thread_info.h | 4 - arch/unicore32/include/asm/thread_info.h | 4 - arch/unicore32/kernel/signal.c | 2 +- arch/x86/Kconfig | 5 + arch/x86/Kconfig.debug | 17 +-- arch/x86/ia32/ia32_signal.c | 2 +- arch/x86/include/asm/cacheflush.h | 6 -- arch/x86/include/asm/kvm_para.h | 7 -- arch/x86/include/asm/sections.h | 2 +- arch/x86/include/asm/thread_info.h | 48 ++++++++- arch/x86/include/asm/uaccess.h | 102 ++++++++++++------ arch/x86/include/asm/uaccess_32.h | 26 +++++ arch/x86/include/asm/uaccess_64.h | 96 ++++++++++++----- arch/x86/kernel/ftrace.c | 6 +- arch/x86/kernel/kgdb.c | 8 +- arch/x86/kernel/signal.c | 2 +- arch/x86/kernel/test_nx.c | 2 - arch/x86/kernel/test_rodata.c | 2 +- arch/x86/kernel/vmlinux.lds.S | 25 ++--- arch/x86/mm/init_32.c | 3 - arch/x86/mm/init_64.c | 3 - arch/x86/mm/pageattr.c | 2 +- arch/x86/um/signal.c | 2 +- arch/x86/vdso/vdso2c.h | 2 +- arch/xtensa/include/asm/thread_info.h | 5 - arch/xtensa/kernel/signal.c | 2 +- block/blk-core.c | 84 +++++++++++++++ drivers/hid/hid-core.c | 3 + drivers/md/Kconfig | 3 +- drivers/md/Makefile | 5 +- drivers/md/dm-android-verity.c | 5 +- drivers/md/dm-linear.c | 7 ++ drivers/md/dm-verity-target.c | 8 ++ drivers/media/tuners/tuner-xc2028.c | 6 +- drivers/misc/lkdtm.c | 29 +++++- drivers/mmc/core/core.c | 72 ++++++++++++- drivers/mmc/core/host.c | 9 +- drivers/mmc/core/host.h | 7 ++ drivers/scsi/sg.c | 8 +- drivers/scsi/ufs/ufshcd.c | 80 ++++++++++++++ drivers/scsi/ufs/ufshcd.h | 3 + drivers/staging/android/binder.c | 31 ++++-- drivers/staging/android/ion/ion.c | 55 +++++++--- drivers/tty/tty_ldisc.c | 7 ++ drivers/usb/gadget/function/f_fs.c | 1 - fs/Makefile | 1 + fs/debugfs/inode.c | 251 ++++++++++++++++++++++---------------------- fs/ext4/Kconfig | 23 +++++ fs/ext4/Makefile | 4 +- fs/ext4/crypto.c | 472 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_fname.c | 470 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_key.c | 272 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_policy.c | 229 ++++++++++++++++++++++++++++++++++++++++ fs/ext4/dir.c | 82 +++++++++++---- fs/ext4/ext4.h | 240 +++++++++++++++++++++++++++++++++++++----- fs/ext4/ext4_crypto.h | 159 ++++++++++++++++++++++++++++ fs/ext4/extents.c | 23 ++++- fs/ext4/file.c | 19 +++- fs/ext4/ialloc.c | 22 +++- fs/ext4/inline.c | 47 +++++---- fs/ext4/inode.c | 164 +++++++++++++++++++++++++++-- fs/ext4/ioctl.c | 85 +++++++++++++++ fs/ext4/namei.c | 567 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- fs/ext4/page-io.c | 48 ++++++++- fs/ext4/readpage.c | 361 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/super.c | 46 ++++++++- fs/ext4/symlink.c | 92 ++++++++++++++++- fs/ext4/xattr.h | 3 + fs/f2fs/data.c | 17 +++ fs/f2fs/inline.c | 8 ++ fs/mpage.c | 30 ++++++ fs/proc/array.c | 5 +- fs/proc/kcore.c | 31 ++++-- fs/pstore/platform.c | 36 +++++++ fs/pstore/pmsg.c | 35 ++----- fs/pstore/ram.c | 19 ++++ fs/pstore/ram_core.c | 47 ++++++++- fs/select.c | 2 +- fs/tracefs/Makefile | 4 + fs/tracefs/inode.c | 654 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/asm-generic/vmlinux.lds.h | 9 ++ include/linux/blkdev.h | 76 ++++++++++++++ include/linux/cache.h | 14 +++ include/linux/cred.h | 8 ++ include/linux/debugfs.h | 5 + include/linux/ftrace.h | 6 ++ include/linux/inet_diag.h | 2 +- include/linux/init.h | 4 + include/linux/init_task.h | 3 + include/linux/mmc/core.h | 4 + include/linux/mmc/host.h | 6 ++ include/linux/mmzone.h | 2 + include/linux/pstore.h | 11 +- include/linux/pstore_ram.h | 7 +- include/linux/sched.h | 2 + include/linux/slab.h | 12 +++ include/linux/slub_def.h | 1 + include/linux/thread_info.h | 25 +++++ include/linux/tracefs.h | 45 ++++++++ include/linux/uaccess.h | 7 ++ include/net/tcp.h | 2 + include/net/udp.h | 1 + include/trace/events/android_fs.h | 31 ++++++ include/trace/events/android_fs_template.h | 79 ++++++++++++++ include/trace/events/sched.h | 103 +++++++++--------- include/uapi/linux/inet_diag.h | 15 ++- include/uapi/linux/magic.h | 2 + include/uapi/linux/prctl.h | 7 ++ init/Kconfig | 2 + init/main.c | 31 +++++- kernel/audit.c | 8 +- kernel/auditsc.c | 12 +-- kernel/compat.c | 5 +- kernel/cpuset.c | 33 ++++-- kernel/debug/kdb/kdb_bp.c | 4 +- kernel/events/core.c | 20 +--- kernel/futex.c | 2 +- kernel/sched/fair.c | 46 +++++++-- kernel/sched/sched.h | 2 - kernel/sched/tune.c | 24 ++--- kernel/signal.c | 2 +- kernel/time/alarmtimer.c | 2 +- kernel/time/hrtimer.c | 2 +- kernel/time/posix-cpu-timers.c | 3 +- kernel/trace/ftrace.c | 24 ++--- kernel/trace/trace.c | 211 ++++++++++++++++++------------------- kernel/trace/trace.h | 16 ++- kernel/trace/trace_events.c | 44 ++++---- kernel/trace/trace_functions_graph.c | 9 +- kernel/trace/trace_kprobe.c | 12 +-- kernel/trace/trace_printk.c | 2 +- kernel/trace/trace_probe.h | 2 +- kernel/trace/trace_stack.c | 2 +- kernel/trace/trace_stat.c | 12 +-- kernel/trace/trace_syscalls.c | 7 +- kernel/trace/trace_uprobe.c | 2 +- kernel/user_namespace.c | 1 + lib/strncpy_from_user.c | 17 ++- lib/strnlen_user.c | 21 ++-- mm/Makefile | 4 + mm/slab.c | 30 ++++++ mm/slub.c | 140 +++++++++++++++++++------ mm/usercopy.c | 278 +++++++++++++++++++++++++++++++++++++++++++++++++ net/ipv4/inet_diag.c | 112 ++++++++++++++++---- net/ipv4/udp.c | 15 +++ net/ipv4/udp_diag.c | 89 +++++++++++++++- net/ipv6/udp.c | 1 + net/netfilter/nfnetlink.c | 10 +- net/netfilter/xt_qtaguid.c | 5 +- security/Kconfig | 40 +++++++ security/commoncap.c | 102 ++++++++++++++++-- security/keys/process_keys.c | 1 + security/lsm_audit.c | 4 +- 307 files changed, 7044 insertions(+), 1477 deletions(-) create mode 100644 fs/ext4/crypto.c create mode 100644 fs/ext4/crypto_fname.c create mode 100644 fs/ext4/crypto_key.c create mode 100644 fs/ext4/crypto_policy.c create mode 100644 fs/ext4/ext4_crypto.h create mode 100644 fs/ext4/readpage.c create mode 100644 fs/tracefs/Makefile create mode 100644 fs/tracefs/inode.c create mode 100644 include/linux/tracefs.h create mode 100644 include/trace/events/android_fs.h create mode 100644 include/trace/events/android_fs_template.h create mode 100644 mm/usercopy.c
Got and pushed. Thanks!
On 10/29/2016 12:00 AM, Amit Pundir wrote:
huh.. Something went wrong and git did not publish my topic branch name in pull request. Sorry about that. Please pull the changes from
git://android.git.linaro.org/kernel/linaro-android lsk-v3.18-android
while I fix my git config.
Regards, Amit Pundir
On 28 October 2016 at 23:56, Amit Pundir amit.pundir@linaro.org wrote:
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 security backports and ext4 crypto patches landed in aosp/android-3.18 since last pull request.
Build tested for arm64(defconfig + android configs), arm(vexpress + android configs) and boot tested on Qemu with Android M.
Regards, Amit Pundir
The following changes since commit 3e729690a51c2e54ce399a274e0835f381c71c79:
Merge branch 'linux-linaro-lsk-v3.18' into linux-linaro-lsk-v3.18-android (2016-10-25 12:30:09 +0800)
are available in the git repository at:
git://android.git.linaro.org/kernel/linaro-android
for you to fetch changes up to 4450e96693acc193205906318b0f6e6e6eca4e64:
ARM64: Ignore Image-dtb from git point of view (2016-10-28 23:12:35 +0800)
Al Viro (11): UPSTREAM: debugfs_{mkdir,create,link}(): get rid of redundant argument UPSTREAM: debugfs: split the beginning and the end of __create_file() off UPSTREAM: debugfs: kill __create_file() UPSTREAM: fold debugfs_link() into caller UPSTREAM: debugfs_mknod(): get rid useless arguments UPSTREAM: fold debugfs_mkdir() into caller UPSTREAM: fold debugfs_create() into caller UPSTREAM: fold debugfs_mknod() into callers UPSTREAM: debugfs: take mode-dependent parts of debugfs_get_inode() into callers UPSTREAM: debugfs: split end_creating() into success and failure cases UPSTREAM: new primitive: debugfs_create_automount()
Andrew Lunn (1): UPSTREAM: ARM: 8350/1: proc-feroceon: Fix feroceon_proc_info macro
Andy Lutomirski (3): UPSTREAM: capabilities: ambient capabilities UPSTREAM: x86/uaccess: Tell the compiler that uaccess is unlikely to fault UPSTREAM: all arches, signal: move restart_block to struct task_struct
Ard Biesheuvel (2): BACKPORT: arm64: mm: fix location of _etext UPSTREAM: ARM: 8314/1: replace PROCINFO embedded branch with relative offset
Arve Hjønnevåg (2): ANDROID: binder: Add strong ref checks ANDROID: binder: Clear binder and cookie when setting handle in flat binder struct
Badhri Jagan Sridharan (3): ANDROID: dm: android-verity: Allow android-verity to be compiled as an independent module ANDROID: dm: Fix symbol exports for dm target callbacks ANDROID: dm: android-verity: Remove fec_header location constraint
Benjamin Tissoires (1): UPSTREAM: HID: core: prevent out-of-bound readings
Calvin Owens (1): UPSTREAM: sg: Fix double-free when drives detach during SG_IO
Chao Yu (1): ext4 crypto: release crypto resource on module exit
Dan Carpenter (1): UPSTREAM: [media] xc2028: unlock on error in xc2028_set_config()
Daniel Borkmann (1): UPSTREAM: tracefs: Fix refcount imbalance in start_creating()
Daniel Thompson (1): UPSTREAM: ARM: 8266/1: Remove early stack deallocation from restore_user_regs
David Ahern (2): net: diag: Add support to filter on device index net: diag: support SOCK_DESTROY for UDP sockets
David Hildenbrand (1): UPSTREAM: sched/preempt, arm/futex: Disable preemption in UP futex_atomic_op_inuser() explicitly
Dmitry Shmidt (1): ARM64: Ignore Image-dtb from git point of view
Eric Biggers (1): UPSTREAM: usercopy: avoid potentially undefined behavior in pointer math
Eric Dumazet (1): UPSTREAM: tcp: fix use after free in tcp_xmit_retransmit_queue()
EunTaik Lee (1): UPSTREAM: staging/android/ion : fix a race condition in the ion driver
Fabian Frederick (1): ext4 crypto: fix sparse warnings in fs/ext4/ioctl.c
Haojian Zhuang (1): arm64: add option to build Image-dtb
Heiko Carstens (1): UPSTREAM: vmlinux.lds.h: allow arch specific handling of ro_after_init data section
Herbert Xu (1): ext4 crypto: Do not select from EXT4_FS_ENCRYPTION
Jiri Olsa (2): UPSTREAM: fs/proc/kcore.c: Make bounce buffer global for read UPSTREAM: fs/proc/kcore.c: Add bounce buffer for ktext data
Joonsoo Kim (1): UPSTREAM: mm/slub: support left redzone
Josh Poimboeuf (1): UPSTREAM: usercopy: fix overlap check for kernel text
Jungseung Lee (2): BACKPORT: ARM: 8235/1: Support for the PXN CPU feature on ARMv7 UPSTREAM: ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor
Kees Cook (18): BACKPORT: ARM: 8583/1: mm: fix location of _etext BACKPORT: mm: Implement stack frame object validation BACKPORT: mm: Hardened usercopy BACKPORT: x86/uaccess: Enable hardened usercopy BACKPORT: ARM: uaccess: Enable hardened usercopy BACKPORT: arm64/uaccess: Enable hardened usercopy UPSTREAM: mm: SLAB hardened usercopy support UPSTREAM: mm: SLUB hardened usercopy support UPSTREAM: x86/uaccess: force copy_*_user() to be inlined BACKPORT: usercopy: fold builtin_const check into inline function UPSTREAM: usercopy: force check_object_size() inline UPSTREAM: usercopy: remove page-spanning test for now UPSTREAM: asm-generic: Consolidate mark_rodata_ro() UPSTREAM: mm/init: Add 'rodata=off' boot cmdline parameter to disable read-only kernel mappings BACKPORT: x86/mm: Always enable CONFIG_DEBUG_RODATA and remove the Kconfig option UPSTREAM: arch: Introduce post-init read-only memory UPSTREAM: lkdtm: Verify that '__ro_after_init' works correctly UPSTREAM: x86/vdso: Mark the vDSO code read-only after init
Lars-Peter Clausen (1): BACKPORT: usb: gadget: f_fs: Fix use-after-free
Laura Abbott (2): UPSTREAM: mm: Add is_migrate_cma_page BACKPORT: arm64: Correctly bounds check virt_addr_valid
Laurent Navet (2): ext4 crypto: exit cleanly if ext4_derive_key_aes() fails ext4 crypto: fix spelling typo in comment
Linus Torvalds (6): UPSTREAM: x86: reorganize SMAP handling in user space accesses BACKPORT: Add 'unsafe' user access functions for batched accesses UPSTREAM: Use the new batched user accesses in generic user string handling UPSTREAM: unsafe_[get|put]_user: change interface to use a error target label UPSTREAM: Make the hardened user-copy code depend on having a hardened allocator BACKPORT: x86: fix SMAP in 32-bit environments
Lorenzo Colitti (4): net: diag: slightly refactor the inet_diag_bc_audit error checks. net: diag: allow socket bytecode filters to match socket marks net: diag: make udp_diag_destroy work for mapped addresses. net: inet: diag: expose the socket mark to privileged processes.
Mark Rutland (2): UPSTREAM: arm64: make sys_call_table const BACKPORT: lib: harden strncpy_from_user
Mark Salyzyn (1): FROMLIST: pstore: drop pmsg bounce buffer
Mauro Carvalho Chehab (1): UPSTREAM: [media] xc2028: avoid use after free
Michael Halcrow (13): ext4 crypto: export ext4_empty_dir() ext4 crypto: add encryption xattr support ext4 crypto: add encryption policy and password salt support ext4 crypto: add ext4 encryption facilities ext4 crypto: add encryption key management facilities ext4 crypto: inherit encryption policies on inode and directory create ext4 crypto: implement the ext4 encryption write path ext4 crypto: implement the ext4 decryption read path ext4 crypto: filename encryption facilities ext4 crypto: insert encrypted filenames into a leaf directory block ext4 crypto: partial update to namei.c for fname crypto ext4 crypto: filename encryption modifications ext4 crypto: enable filename encryption
Michael S. Tsirkin (1): UPSTREAM: x86/uaccess: fix sparse errors
Mohamad Ayyash (1): Don't show empty tag stats for unprivileged uids
Mohan Srinivasan (5): Android: MMC/UFS IO Latency Histograms. Android: Fix build breakages. ANDROID: fs: FS tracepoints to track IO. ANDROID: fs: Fix for a (allmod) build failure. Fix a build issue with CONFIG_MMC but !CONFIG_BLOCK.
Patrick Bellasi (4): FIXUP: sched/tune: add fixes missing from a previous patch FIXUP: sched/tune: update accouting before CPU capacity sched/walt: remove unused RQ "nt_" runnable sums DEBUG: sched/walt: make WALT tracepoints parsable by Trappy
Paul Moore (1): BACKPORT: audit: consistently record PIDs with task_tgid_nr()
Peter Hurley (1): UPSTREAM: tty: Prevent ldisc drivers from re-using stale tty fields
Peter Zijlstra (1): UPSTREAM: perf: Fix race in swevent hash
Phil Turnbull (1): BACKPORT: netfilter: nfnetlink: correctly validate length of batch messages
Riley Andrews (1): cpuset: Make cpusets restore on hotplug
Robert Jarzmik (1): UPSTREAM: ARM: 8431/1: fix alignement of __bug_table section entries
Russell King (17): BACKPORT: ARM: uaccess: provide uaccess_save_and_enable() and uaccess_restore() UPSTREAM: ARM: fix uaccess_with_memcpy() with SW_DOMAIN_PAN UPSTREAM: ARM: domains: switch to keeping domain value in register UPSTREAM: ARM: domains: provide domain_mask() UPSTREAM: ARM: redo TTBR setup code for LPAE UPSTREAM: ARM: domains: move initial domain setting value to asm/domains.h UPSTREAM: ARM: domains: get rid of manager mode for user domain UPSTREAM: ARM: domains: keep vectors in separate domain UPSTREAM: ARM: domains: remove DOMAIN_TABLE UPSTREAM: ARM: swpan: fix nwfpe for uaccess changes UPSTREAM: ARM: mm: improve do_ldrd_abort macro UPSTREAM: ARM: entry: get rid of multiple macro definitions UPSTREAM: ARM: entry: provide uaccess assembly macro hooks UPSTREAM: ARM: uaccess: fix undefined instruction on ARMv7M/noMMU UPSTREAM: ARM: domains: thread_info.h no longer needs asm/domains.h UPSTREAM: ARM: domains: add memory dependencies to get_domain/set_domain UPSTREAM: ARM: alignment: fix alignment handling for uaccess changes
Sami Tolvanen (3): BACKPORT: sched/preempt, arm/futex: Disable preemption in UP futex_atomic_cmpxchg_inatomic() explicitly UPSTREAM: ARM: software-based priviledged-no-access support ANDROID: android-base: CONFIG_HARDENED_USERCOPY=y
Srinath Sridharan (1): eas/sched/fair: Fixing comments in find_best_target.
Stephen Boyd (1): UPSTREAM: ARM: 8196/1: vfp: Workaround bad MVFR1 register on some Kraits
Steven Rostedt (Red Hat) (9): UPSTREAM: tracefs: Add new tracefs file system UPSTREAM: tracefs: Add directory /sys/kernel/tracing UPSTREAM: tracing: Use IS_ERR() check for return value of tracing_init_dentry() UPSTREAM: tracing: Make tracing_init_dentry_tr() static UPSTREAM: tracing: Separate out initializing top level dir from instances UPSTREAM: tracing: Move enabling tracepoints to just after rcu_init() UPSTREAM: tracing: Convert the tracing facility over to use tracefs UPSTREAM: tracing: Automatically mount tracefs on debugfs/tracing UPSTREAM: tracing: Have mkdir and rmdir be part of tracefs
Theodore Ts'o (39): ext4 crypto: add ext4_mpage_readpages() ext4 crypto: reserve codepoints used by the ext4 encryption feature ext4 crypto: add ext4 encryption Kconfig ext4 crypto: enforce context consistency ext4 crypto: teach ext4_htree_store_dirent() to store decrypted filenames ext4 crypto: Add symlink encryption ext4 crypto: enable encryption feature flag ext4 crypto: simplify and speed up filename encryption ext4 crypto: add padding to filenames before encrypting ext4 crypto: optimize filename encryption ext4 crypto: don't allocate a page when encrypting/decrypting file names ext4 crypto: separate kernel and userspace structure for the key ext4 crypto: reorganize how we store keys in the inode ext4: clean up superblock encryption mode fields ext4 crypto: use slab caches ext4 crypto: get rid of ci_mode from struct ext4_crypt_info ext4 crypto: shrink size of the ext4_crypto_ctx structure ext4 crypto: require CONFIG_CRYPTO_CTR if ext4 encryption is enabled ext4 crypto: use per-inode tfm structure ext4 crypto: fix memory leaks in ext4_encrypted_zeroout ext4 crypto: set up encryption info for new inodes in ext4_inherit_context() ext4 crypto: make sure the encryption info is initialized on opendir(2) ext4 crypto: encrypt tmpfile located in encryption protected directory ext4 crypto: enforce crypto policy restrictions on cross-renames ext4 crypto: policies may only be set on directories ext4 crypto: clean up error handling in ext4_fname_setup_filename ext4 crypto: allocate the right amount of memory for the on-disk symlink ext4 crypto: handle unexpected lack of encryption keys ext4 crypto: allocate bounce pages using GFP_NOWAIT ext4 crypto: fix ext4_get_crypto_ctx()'s calling convention in ext4_decrypt_one ext4 crypto: fail the mount if blocksize != pagesize ext4 crypto: use a jbd2 transaction when adding a crypto policy ext4 crypto: check for too-short encrypted file names ext4: disable zeroout optimization when encryption is enabled ext4 crypto: fix memory leak in ext4_bio_write_page() ext4: optimize ext4_writepage() for attempted 4k delalloc writes ext4 crypto: ext4_page_crypto() doesn't need a encryption context ext4 crypto: replace some BUG_ON()'s with error checks ext4 crypto: fix bugs in ext4_encrypted_zeroout()
Yongqin Liu (1): ANDROID: base-cfg: enable SECCOMP config
kbuild test robot (2): ANDROID: sched/tune: __pcpu_scope_cpu_boost_groups can be static ANDROID: sched/tune: schedtune_allow_attach() can be static
zilong.liu (1): ext4 crypto: remove duplicate header file
Documentation/kernel-parameters.txt | 4 + android/configs/android-base.cfg | 2 + arch/Kconfig | 9 ++ arch/alpha/include/asm/thread_info.h | 5 - arch/alpha/kernel/signal.c | 2 +- arch/arc/include/asm/thread_info.h | 4 - arch/arc/kernel/signal.c | 2 +- arch/arm/Kconfig | 16 +++ arch/arm/include/asm/assembler.h | 47 +++++++++ arch/arm/include/asm/bug.h | 1 + arch/arm/include/asm/cacheflush.h | 1 - arch/arm/include/asm/domain.h | 57 ++++++++-- arch/arm/include/asm/futex.h | 32 +++++- arch/arm/include/asm/memory.h | 16 --- arch/arm/include/asm/pgalloc.h | 10 +- arch/arm/include/asm/pgtable-2level-hwdef.h | 3 + arch/arm/include/asm/pgtable-3level-hwdef.h | 1 + arch/arm/include/asm/proc-fns.h | 7 -- arch/arm/include/asm/smp.h | 2 +- arch/arm/include/asm/thread_info.h | 8 -- arch/arm/include/asm/uaccess.h | 96 ++++++++++++++++- arch/arm/kernel/armksyms.c | 6 +- arch/arm/kernel/entry-armv.S | 32 ++++-- arch/arm/kernel/entry-common.S | 2 + arch/arm/kernel/entry-header.S | 123 ++++++++++------------ arch/arm/kernel/head-nommu.S | 2 +- arch/arm/kernel/head.S | 61 +++++++---- arch/arm/kernel/process.c | 51 +++++++-- arch/arm/kernel/setup.c | 2 +- arch/arm/kernel/signal.c | 4 +- arch/arm/kernel/smp.c | 10 +- arch/arm/kernel/swp_emulate.c | 3 + arch/arm/kernel/traps.c | 1 - arch/arm/kernel/vmlinux.lds.S | 4 +- arch/arm/lib/clear_user.S | 6 +- arch/arm/lib/copy_from_user.S | 6 +- arch/arm/lib/copy_to_user.S | 6 +- arch/arm/lib/csumpartialcopyuser.S | 14 +++ arch/arm/lib/uaccess_with_memcpy.c | 33 ++++-- arch/arm/mach-keystone/platsmp.c | 13 --- arch/arm/mm/abort-ev4.S | 1 + arch/arm/mm/abort-ev5t.S | 4 +- arch/arm/mm/abort-ev5tj.S | 4 +- arch/arm/mm/abort-ev6.S | 8 +- arch/arm/mm/abort-ev7.S | 1 + arch/arm/mm/abort-lv4t.S | 2 + arch/arm/mm/abort-macro.S | 14 ++- arch/arm/mm/alignment.c | 30 +++++- arch/arm/mm/mmu.c | 30 +++++- arch/arm/mm/pgd.c | 10 ++ arch/arm/mm/proc-arm1020.S | 4 +- arch/arm/mm/proc-arm1020e.S | 4 +- arch/arm/mm/proc-arm1022.S | 4 +- arch/arm/mm/proc-arm1026.S | 4 +- arch/arm/mm/proc-arm720.S | 4 +- arch/arm/mm/proc-arm740.S | 4 +- arch/arm/mm/proc-arm7tdmi.S | 4 +- arch/arm/mm/proc-arm920.S | 4 +- arch/arm/mm/proc-arm922.S | 4 +- arch/arm/mm/proc-arm925.S | 4 +- arch/arm/mm/proc-arm926.S | 4 +- arch/arm/mm/proc-arm940.S | 4 +- arch/arm/mm/proc-arm946.S | 4 +- arch/arm/mm/proc-arm9tdmi.S | 4 +- arch/arm/mm/proc-fa526.S | 4 +- arch/arm/mm/proc-feroceon.S | 4 +- arch/arm/mm/proc-macros.S | 4 + arch/arm/mm/proc-mohawk.S | 4 +- arch/arm/mm/proc-sa110.S | 4 +- arch/arm/mm/proc-sa1100.S | 4 +- arch/arm/mm/proc-v6.S | 4 +- arch/arm/mm/proc-v7-2level.S | 6 +- arch/arm/mm/proc-v7-3level.S | 14 +-- arch/arm/mm/proc-v7.S | 57 +++++----- arch/arm/mm/proc-v7m.S | 4 +- arch/arm/mm/proc-xsc3.S | 4 +- arch/arm/mm/proc-xscale.S | 4 +- arch/arm/nwfpe/entry.S | 3 +- arch/arm64/Kconfig | 1 + arch/arm64/Makefile | 2 +- arch/arm64/boot/.gitignore | 1 + arch/arm64/boot/Makefile | 3 + arch/arm64/include/asm/cacheflush.h | 4 - arch/arm64/include/asm/memory.h | 6 +- arch/arm64/include/asm/thread_info.h | 4 - arch/arm64/include/asm/uaccess.h | 29 ++++-- arch/arm64/kernel/arm64ksyms.c | 4 +- arch/arm64/kernel/setup.c | 2 +- arch/arm64/kernel/signal.c | 2 +- arch/arm64/kernel/signal32.c | 4 +- arch/arm64/kernel/sys.c | 2 +- arch/arm64/kernel/vmlinux.lds.S | 3 +- arch/arm64/lib/copy_from_user.S | 4 +- arch/arm64/lib/copy_to_user.S | 4 +- arch/arm64/mm/mmu.c | 4 +- arch/avr32/include/asm/thread_info.h | 4 - arch/avr32/kernel/asm-offsets.c | 1 - arch/avr32/kernel/signal.c | 2 +- arch/blackfin/include/asm/thread_info.h | 4 - arch/blackfin/kernel/signal.c | 2 +- arch/c6x/include/asm/thread_info.h | 4 - arch/c6x/kernel/signal.c | 2 +- arch/cris/arch-v10/kernel/signal.c | 2 +- arch/cris/arch-v32/kernel/signal.c | 2 +- arch/cris/include/asm/thread_info.h | 4 - arch/frv/include/asm/thread_info.h | 4 - arch/frv/kernel/asm-offsets.c | 1 - arch/frv/kernel/signal.c | 2 +- arch/hexagon/include/asm/thread_info.h | 4 - arch/hexagon/kernel/signal.c | 2 +- arch/ia64/include/asm/thread_info.h | 4 - arch/ia64/kernel/signal.c | 2 +- arch/m32r/include/asm/thread_info.h | 5 - arch/m32r/kernel/signal.c | 2 +- arch/m68k/include/asm/thread_info.h | 4 - arch/m68k/kernel/signal.c | 4 +- arch/metag/include/asm/thread_info.h | 6 +- arch/metag/kernel/signal.c | 2 +- arch/microblaze/include/asm/thread_info.h | 4 - arch/microblaze/kernel/signal.c | 2 +- arch/mips/include/asm/thread_info.h | 4 - arch/mips/kernel/asm-offsets.c | 1 - arch/mips/kernel/signal.c | 2 +- arch/mips/kernel/signal32.c | 2 +- arch/mn10300/include/asm/thread_info.h | 4 - arch/mn10300/kernel/asm-offsets.c | 1 - arch/mn10300/kernel/signal.c | 2 +- arch/openrisc/include/asm/thread_info.h | 4 - arch/openrisc/kernel/signal.c | 2 +- arch/parisc/include/asm/cache.h | 3 + arch/parisc/include/asm/cacheflush.h | 4 - arch/parisc/include/asm/thread_info.h | 4 - arch/parisc/kernel/signal.c | 2 +- arch/powerpc/include/asm/thread_info.h | 4 - arch/powerpc/kernel/signal_32.c | 4 +- arch/powerpc/kernel/signal_64.c | 2 +- arch/s390/include/asm/thread_info.h | 4 - arch/s390/kernel/compat_signal.c | 2 +- arch/s390/kernel/signal.c | 2 +- arch/score/include/asm/thread_info.h | 4 - arch/score/kernel/asm-offsets.c | 1 - arch/score/kernel/signal.c | 2 +- arch/sh/include/asm/thread_info.h | 4 - arch/sh/kernel/asm-offsets.c | 1 - arch/sh/kernel/signal_32.c | 4 +- arch/sh/kernel/signal_64.c | 4 +- arch/sparc/include/asm/thread_info_32.h | 6 -- arch/sparc/include/asm/thread_info_64.h | 12 +-- arch/sparc/kernel/signal32.c | 4 +- arch/sparc/kernel/signal_32.c | 2 +- arch/sparc/kernel/signal_64.c | 2 +- arch/sparc/kernel/traps_64.c | 2 - arch/tile/include/asm/thread_info.h | 4 - arch/tile/kernel/signal.c | 2 +- arch/um/include/asm/thread_info.h | 4 - arch/unicore32/include/asm/thread_info.h | 4 - arch/unicore32/kernel/signal.c | 2 +- arch/x86/Kconfig | 5 + arch/x86/Kconfig.debug | 17 +-- arch/x86/ia32/ia32_signal.c | 2 +- arch/x86/include/asm/cacheflush.h | 6 -- arch/x86/include/asm/kvm_para.h | 7 -- arch/x86/include/asm/sections.h | 2 +- arch/x86/include/asm/thread_info.h | 48 ++++++++- arch/x86/include/asm/uaccess.h | 102 ++++++++++++------ arch/x86/include/asm/uaccess_32.h | 26 +++++ arch/x86/include/asm/uaccess_64.h | 96 ++++++++++++----- arch/x86/kernel/ftrace.c | 6 +- arch/x86/kernel/kgdb.c | 8 +- arch/x86/kernel/signal.c | 2 +- arch/x86/kernel/test_nx.c | 2 - arch/x86/kernel/test_rodata.c | 2 +- arch/x86/kernel/vmlinux.lds.S | 25 ++--- arch/x86/mm/init_32.c | 3 - arch/x86/mm/init_64.c | 3 - arch/x86/mm/pageattr.c | 2 +- arch/x86/um/signal.c | 2 +- arch/x86/vdso/vdso2c.h | 2 +- arch/xtensa/include/asm/thread_info.h | 5 - arch/xtensa/kernel/signal.c | 2 +- block/blk-core.c | 84 +++++++++++++++ drivers/hid/hid-core.c | 3 + drivers/md/Kconfig | 3 +- drivers/md/Makefile | 5 +- drivers/md/dm-android-verity.c | 5 +- drivers/md/dm-linear.c | 7 ++ drivers/md/dm-verity-target.c | 8 ++ drivers/media/tuners/tuner-xc2028.c | 6 +- drivers/misc/lkdtm.c | 29 +++++- drivers/mmc/core/core.c | 72 ++++++++++++- drivers/mmc/core/host.c | 9 +- drivers/mmc/core/host.h | 7 ++ drivers/scsi/sg.c | 8 +- drivers/scsi/ufs/ufshcd.c | 80 ++++++++++++++ drivers/scsi/ufs/ufshcd.h | 3 + drivers/staging/android/binder.c | 31 ++++-- drivers/staging/android/ion/ion.c | 55 +++++++--- drivers/tty/tty_ldisc.c | 7 ++ drivers/usb/gadget/function/f_fs.c | 1 - fs/Makefile | 1 + fs/debugfs/inode.c | 251 ++++++++++++++++++++++---------------------- fs/ext4/Kconfig | 23 +++++ fs/ext4/Makefile | 4 +- fs/ext4/crypto.c | 472 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_fname.c | 470 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_key.c | 272 ++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/crypto_policy.c | 229 ++++++++++++++++++++++++++++++++++++++++ fs/ext4/dir.c | 82 +++++++++++---- fs/ext4/ext4.h | 240 +++++++++++++++++++++++++++++++++++++----- fs/ext4/ext4_crypto.h | 159 ++++++++++++++++++++++++++++ fs/ext4/extents.c | 23 ++++- fs/ext4/file.c | 19 +++- fs/ext4/ialloc.c | 22 +++- fs/ext4/inline.c | 47 +++++---- fs/ext4/inode.c | 164 +++++++++++++++++++++++++++-- fs/ext4/ioctl.c | 85 +++++++++++++++ fs/ext4/namei.c | 567 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------- fs/ext4/page-io.c | 48 ++++++++- fs/ext4/readpage.c | 361 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ fs/ext4/super.c | 46 ++++++++- fs/ext4/symlink.c | 92 ++++++++++++++++- fs/ext4/xattr.h | 3 + fs/f2fs/data.c | 17 +++ fs/f2fs/inline.c | 8 ++ fs/mpage.c | 30 ++++++ fs/proc/array.c | 5 +- fs/proc/kcore.c | 31 ++++-- fs/pstore/platform.c | 36 +++++++ fs/pstore/pmsg.c | 35 ++----- fs/pstore/ram.c | 19 ++++ fs/pstore/ram_core.c | 47 ++++++++- fs/select.c | 2 +- fs/tracefs/Makefile | 4 + fs/tracefs/inode.c | 654 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ include/asm-generic/vmlinux.lds.h | 9 ++ include/linux/blkdev.h | 76 ++++++++++++++ include/linux/cache.h | 14 +++ include/linux/cred.h | 8 ++ include/linux/debugfs.h | 5 + include/linux/ftrace.h | 6 ++ include/linux/inet_diag.h | 2 +- include/linux/init.h | 4 + include/linux/init_task.h | 3 + include/linux/mmc/core.h | 4 + include/linux/mmc/host.h | 6 ++ include/linux/mmzone.h | 2 + include/linux/pstore.h | 11 +- include/linux/pstore_ram.h | 7 +- include/linux/sched.h | 2 + include/linux/slab.h | 12 +++ include/linux/slub_def.h | 1 + include/linux/thread_info.h | 25 +++++ include/linux/tracefs.h | 45 ++++++++ include/linux/uaccess.h | 7 ++ include/net/tcp.h | 2 + include/net/udp.h | 1 + include/trace/events/android_fs.h | 31 ++++++ include/trace/events/android_fs_template.h | 79 ++++++++++++++ include/trace/events/sched.h | 103 +++++++++--------- include/uapi/linux/inet_diag.h | 15 ++- include/uapi/linux/magic.h | 2 + include/uapi/linux/prctl.h | 7 ++ init/Kconfig | 2 + init/main.c | 31 +++++- kernel/audit.c | 8 +- kernel/auditsc.c | 12 +-- kernel/compat.c | 5 +- kernel/cpuset.c | 33 ++++-- kernel/debug/kdb/kdb_bp.c | 4 +- kernel/events/core.c | 20 +--- kernel/futex.c | 2 +- kernel/sched/fair.c | 46 +++++++-- kernel/sched/sched.h | 2 - kernel/sched/tune.c | 24 ++--- kernel/signal.c | 2 +- kernel/time/alarmtimer.c | 2 +- kernel/time/hrtimer.c | 2 +- kernel/time/posix-cpu-timers.c | 3 +- kernel/trace/ftrace.c | 24 ++--- kernel/trace/trace.c | 211 ++++++++++++++++++------------------- kernel/trace/trace.h | 16 ++- kernel/trace/trace_events.c | 44 ++++---- kernel/trace/trace_functions_graph.c | 9 +- kernel/trace/trace_kprobe.c | 12 +-- kernel/trace/trace_printk.c | 2 +- kernel/trace/trace_probe.h | 2 +- kernel/trace/trace_stack.c | 2 +- kernel/trace/trace_stat.c | 12 +-- kernel/trace/trace_syscalls.c | 7 +- kernel/trace/trace_uprobe.c | 2 +- kernel/user_namespace.c | 1 + lib/strncpy_from_user.c | 17 ++- lib/strnlen_user.c | 21 ++-- mm/Makefile | 4 + mm/slab.c | 30 ++++++ mm/slub.c | 140 +++++++++++++++++++------ mm/usercopy.c | 278 +++++++++++++++++++++++++++++++++++++++++++++++++ net/ipv4/inet_diag.c | 112 ++++++++++++++++---- net/ipv4/udp.c | 15 +++ net/ipv4/udp_diag.c | 89 +++++++++++++++- net/ipv6/udp.c | 1 + net/netfilter/nfnetlink.c | 10 +- net/netfilter/xt_qtaguid.c | 5 +- security/Kconfig | 40 +++++++ security/commoncap.c | 102 ++++++++++++++++-- security/keys/process_keys.c | 1 + security/lsm_audit.c | 4 +- 307 files changed, 7044 insertions(+), 1477 deletions(-) create mode 100644 fs/ext4/crypto.c create mode 100644 fs/ext4/crypto_fname.c create mode 100644 fs/ext4/crypto_key.c create mode 100644 fs/ext4/crypto_policy.c create mode 100644 fs/ext4/ext4_crypto.h create mode 100644 fs/ext4/readpage.c create mode 100644 fs/tracefs/Makefile create mode 100644 fs/tracefs/inode.c create mode 100644 include/linux/tracefs.h create mode 100644 include/trace/events/android_fs.h create mode 100644 include/trace/events/android_fs_template.h create mode 100644 mm/usercopy.c
linaro-kernel@lists.linaro.org