CHROMIUM: Merge 'v4.4.141' into chromeos-4.4

Merge of v4.4.141 into chromeos-4.4

Conflicts:
    arch/x86/include/asm/thread_info.h

Changelog:
----------------------------------------------------------------
Alexander Kuleshov (1):
      x86/boot: Simplify kernel load address alignment check

Andi Kleen (1):
      x86/headers: Don't include asm/processor.h in asm/atomic.h

Borislav Petkov (11):
      x86/cpufeature: Move some of the scattered feature bits to x86_capability
      x86/cpufeature: Cleanup get_cpu_cap()
      x86/cpu: Provide a config option to disable static_cpu_has
      x86/fpu: Add an XSTATE_OP() macro
      x86/fpu: Get rid of xstate_fault()
      x86/cpufeature: Carve out X86_FEATURE_*
      x86/cpufeature: Replace the old static_cpu_has() with safe variant
      x86/cpufeature: Get rid of the non-asm goto variant
      x86/alternatives: Add an auxilary section
      x86/vdso: Use static_cpu_has()
      x86/cpufeature: Speed up cpu_feature_enabled()

Brian Gerst (1):
      x86/alternatives: Discard dynamic check after init

Dan Carpenter (2):
      USB: serial: ch341: fix type promotion bug in ch341_control_in()
      xhci: xhci-mem: off by one in xhci_stream_id_to_ring()

Dave Hansen (6):
      x86/cpufeature, x86/mm/pkeys: Add protection keys related CPUID definitions
      x86/mm/pkeys: Fix mismerge of protection keys CPUID bits
      x86/cpufeature, x86/mm/pkeys: Fix broken compile-time disabling of pkeys
      x86/cpufeature: Update cpufeaure macros
      x86/cpufeature: Make sure DISABLED/REQUIRED macros are updated
      x86/cpufeature: Add helper macro for mask check macros

Eric Dumazet (1):
      netfilter: nf_queue: augment nfqa_cfg_policy

Florian Westphal (1):
      netfilter: x_tables: initialise match/target check parameter struct

Greg Kroah-Hartman (1):
      Linux 4.4.141

Guenter Roeck (1):
      Merge remote-tracking branch 'origin/linux/v4.4.141' into merge/chromeos-4.4-v4.4.141

Hans de Goede (1):
      ahci: Disable LPM on Lenovo 50 series laptops with a too old BIOS

Jann Horn (2):
      ibmasm: don't write out of bounds in read handler
      USB: yurex: fix out-of-bounds uaccess in read handler

Johan Hovold (2):
      USB: serial: keyspan_pda: fix modem-status error handling
      USB: serial: mos7840: fix status-register error handling

Leon Romanovsky (1):
      RDMA/ucm: Mark UCM interface as BROKEN

Linus Torvalds (1):
      Fix up non-directory creation in SGID directories

Nadav Amit (1):
      vmw_balloon: fix inflation with batching

Nico Sneck (1):
      usb: quirks: add delay quirks for Corsair Strafe

Oleg Nesterov (1):
      uprobes/x86: Remove incorrect WARN_ON() in uprobe_init_insn()

Olli Salonen (1):
      USB: serial: cp210x: add another USB ID for Qivicon ZigBee stick

Paul Burton (1):
      MIPS: Fix ioremap() RAM check

Paul Menzel (1):
      tools build: fix # escaping in .cmd files for future Make

Steve Wise (1):
      iw_cxgb4: correctly enforce the max reg_mr depth

Tetsuo Handa (2):
      PM / hibernate: Fix oops at snapshot_write()
      loop: remember whether sysfs_create_group() was done

Theodore Ts'o (1):
      loop: add recursion validation to LOOP_CHANGE_FD

Tomasz Kramkowski (1):
      HID: usbhid: add quirk for innomedia INNEX GENESIS/ATARI adapter

Yazen Ghannam (1):
      x86/cpu: Add detection of AMD RAS Capabilities

 Documentation/kernel-parameters.txt      |   2 +-
 Makefile                                 |   2 +-
 arch/mips/mm/ioremap.c                   |  37 ++-
 arch/x86/Kconfig                         |  11 +
 arch/x86/Kconfig.debug                   |  10 -
 arch/x86/boot/cpuflags.h                 |   2 +-
 arch/x86/boot/mkcpustr.c                 |   2 +-
 arch/x86/crypto/crc32-pclmul_glue.c      |   2 +-
 arch/x86/crypto/crc32c-intel_glue.c      |   2 +-
 arch/x86/crypto/crct10dif-pclmul_glue.c  |   2 +-
 arch/x86/entry/common.c                  |   1 +
 arch/x86/entry/entry_32.S                |   2 +-
 arch/x86/entry/vdso/vdso32-setup.c       |   1 -
 arch/x86/entry/vdso/vdso32/system_call.S |   2 +-
 arch/x86/entry/vdso/vma.c                |   3 +-
 arch/x86/include/asm/alternative.h       |   6 -
 arch/x86/include/asm/apic.h              |   1 -
 arch/x86/include/asm/arch_hweight.h      |   2 +
 arch/x86/include/asm/atomic.h            |   1 -
 arch/x86/include/asm/atomic64_32.h       |   1 -
 arch/x86/include/asm/cmpxchg.h           |   1 +
 arch/x86/include/asm/cpufeature.h        | 546 ++++++-------------------------
 arch/x86/include/asm/cpufeatures.h       | 306 +++++++++++++++++
 arch/x86/include/asm/disabled-features.h |  17 +
 arch/x86/include/asm/fpu/internal.h      | 182 +++++------
 arch/x86/include/asm/irq_work.h          |   2 +-
 arch/x86/include/asm/mwait.h             |   2 +
 arch/x86/include/asm/nospec-branch.h     |   2 +-
 arch/x86/include/asm/processor.h         |   3 +-
 arch/x86/include/asm/required-features.h |   9 +
 arch/x86/include/asm/smap.h              |   2 +-
 arch/x86/include/asm/smp.h               |   1 -
 arch/x86/include/asm/thread_info.h       |   2 +-
 arch/x86/include/asm/tlbflush.h          |   1 +
 arch/x86/include/asm/uaccess_64.h        |   2 +-
 arch/x86/kernel/apic/apic_numachip.c     |   4 +-
 arch/x86/kernel/cpu/Makefile             |   2 +-
 arch/x86/kernel/cpu/centaur.c            |   4 +-
 arch/x86/kernel/cpu/common.c             |  71 ++--
 arch/x86/kernel/cpu/cyrix.c              |   1 +
 arch/x86/kernel/cpu/intel.c              |   2 +-
 arch/x86/kernel/cpu/intel_cacheinfo.c    |   2 +-
 arch/x86/kernel/cpu/match.c              |   2 +-
 arch/x86/kernel/cpu/mkcapflags.sh        |   6 +-
 arch/x86/kernel/cpu/mtrr/main.c          |   2 +-
 arch/x86/kernel/cpu/scattered.c          |  20 --
 arch/x86/kernel/cpu/transmeta.c          |   6 +-
 arch/x86/kernel/e820.c                   |   1 +
 arch/x86/kernel/head_32.S                |   2 +-
 arch/x86/kernel/head_64.S                |   4 +-
 arch/x86/kernel/hpet.c                   |   1 +
 arch/x86/kernel/msr.c                    |   2 +-
 arch/x86/kernel/uprobes.c                |   2 +-
 arch/x86/kernel/verify_cpu.S             |   2 +-
 arch/x86/kernel/vm86_32.c                |   2 +-
 arch/x86/kernel/vmlinux.lds.S            |  11 +
 arch/x86/lib/clear_page_64.S             |   2 +-
 arch/x86/lib/copy_page_64.S              |   2 +-
 arch/x86/lib/copy_user_64.S              |   2 +-
 arch/x86/lib/memcpy_64.S                 |   2 +-
 arch/x86/lib/memmove_64.S                |   2 +-
 arch/x86/lib/memset_64.S                 |   2 +-
 arch/x86/lib/retpoline.S                 |   2 +-
 arch/x86/mm/setup_nx.c                   |   1 +
 arch/x86/oprofile/op_model_amd.c         |   1 -
 arch/x86/um/asm/barrier.h                |   2 +-
 drivers/ata/ahci.c                       |  59 ++++
 drivers/ata/libata-core.c                |   3 +
 drivers/block/loop.c                     |  79 +++--
 drivers/block/loop.h                     |   1 +
 drivers/hid/hid-ids.h                    |   3 +
 drivers/hid/usbhid/hid-quirks.c          |   1 +
 drivers/infiniband/Kconfig               |  12 +
 drivers/infiniband/core/Makefile         |   4 +-
 drivers/infiniband/hw/cxgb4/mem.c        |   2 +-
 drivers/misc/ibmasm/ibmasmfs.c           |  27 +-
 drivers/misc/vmw_balloon.c               |   4 +-
 drivers/usb/core/quirks.c                |   4 +
 drivers/usb/host/xhci-mem.c              |   2 +-
 drivers/usb/misc/yurex.c                 |  23 +-
 drivers/usb/serial/ch341.c               |   2 +-
 drivers/usb/serial/cp210x.c              |   1 +
 drivers/usb/serial/keyspan_pda.c         |   4 +-
 drivers/usb/serial/mos7840.c             |   3 +
 fs/btrfs/disk-io.c                       |   2 +-
 fs/inode.c                               |   6 +
 include/linux/libata.h                   |   1 +
 kernel/power/user.c                      |   5 +
 lib/atomic64_test.c                      |   4 +
 net/bridge/netfilter/ebtables.c          |   2 +
 net/ipv4/netfilter/ip_tables.c           |   1 +
 net/ipv6/netfilter/ip6_tables.c          |   1 +
 net/netfilter/nfnetlink_queue.c          |   3 +
 tools/build/Build.include                |   4 +-
 94 files changed, 830 insertions(+), 770 deletions(-)
 create mode 100644 arch/x86/include/asm/cpufeatures.h

BUG=chromium:864505
TEST=Build and test on various affected systems

Change-Id: Ib6ea2b89e4a056df2de9ede48e7a6e2dc2a67bc1
Signed-off-by: Guenter Roeck <groeck@chromium.org>