Merge 4.14.27 into android-4.14
authorGreg Kroah-Hartman <gregkh@google.com>
Thu, 15 Mar 2018 13:32:23 +0000 (14:32 +0100)
committerGreg Kroah-Hartman <gregkh@google.com>
Thu, 15 Mar 2018 13:32:23 +0000 (14:32 +0100)
Changes in 4.14.27
kbuild: move "_all" target out of $(KBUILD_SRC) conditional
watchdog: hpwdt: SMBIOS check
watchdog: hpwdt: Check source of NMI
watchdog: hpwdt: fix unused variable warning
watchdog: hpwdt: Remove legacy NMI sourcing.
ARM: omap2: hide omap3_save_secure_ram on non-OMAP3 builds
ASoC: Intel: Skylake: Fix jack name format substitution
ASoC: Intel: kbl: fix jack name
netfilter: add back stackpointer size checks
netfilter: ipt_CLUSTERIP: fix a race condition of proc file creation
netfilter: xt_hashlimit: fix lock imbalance
netfilter: x_tables: fix missing timer initialization in xt_LED
netfilter: nat: cope with negative port range
netfilter: IDLETIMER: be syzkaller friendly
netfilter: ebtables: CONFIG_COMPAT: don't trust userland offsets
netfilter: bridge: ebt_among: add missing match size checks
netfilter: ipv6: fix use-after-free Write in nf_nat_ipv6_manip_pkt
netfilter: use skb_to_full_sk in ip6_route_me_harder
tpm_tis: Move ilb_base_addr to tpm_tis_data
tpm: Keep CLKRUN enabled throughout the duration of transmit_cmd()
tpm: delete the TPM_TIS_CLK_ENABLE flag
tpm: remove unused variables
tpm: only attempt to disable the LPC CLKRUN if is already enabled
scsi: qla2xxx: Fix system crash for Notify ack timeout handling
scsi: qla2xxx: Fix gpnid error processing
scsi: qla2xxx: Move session delete to driver work queue
scsi: qla2xxx: Skip IRQ affinity for Target QPairs
scsi: qla2xxx: Fix re-login for Nport Handle in use
scsi: qla2xxx: Retry switch command on time out
scsi: qla2xxx: Serialize GPNID for multiple RSCN
scsi: qla2xxx: Fix login state machine stuck at GPDB
scsi: qla2xxx: Fix NPIV host cleanup in target mode
scsi: qla2xxx: Fix Relogin being triggered too fast
scsi: qla2xxx: Fix PRLI state check
scsi: qla2xxx: Fix abort command deadlock due to spinlock
scsi: qla2xxx: Replace fcport alloc with qla2x00_alloc_fcport
scsi: qla2xxx: Fix scan state field for fcport
scsi: qla2xxx: Clear loop id after delete
scsi: qla2xxx: Defer processing of GS IOCB calls
scsi: qla2xxx: Remove aborting ELS IOCB call issued as part of timeout.
scsi: qla2xxx: Fix system crash in qlt_plogi_ack_unref
scsi: qla2xxx: Fix memory leak in dual/target mode
NFS: Fix an incorrect type in struct nfs_direct_req
pNFS: Prevent the layout header refcount going to zero in pnfs_roc()
NFS: Fix unstable write completion
RDMA/ucma: Limit possible option size
RDMA/ucma: Check that user doesn't overflow QP state
RDMA/mlx5: Fix integer overflow while resizing CQ
IB/uverbs: Improve lockdep_check
net/smc: fix NULL pointer dereference on sock_create_kern() error path
regulator: stm32-vrefbuf: fix check on ready flag
drm/i915: Fix rsvd2 mask when out-fence is returned
drm/i915: Clear the in-use marker on execbuf failure
drm/i915: Disable DC states around GMBUS on GLK
drm/i915: Update watermark state correctly in sanitize_watermarks
drm/i915: Try EDID bitbanging on HDMI after failed read
drm/i915/perf: fix perf stream opening lock
scsi: core: Avoid that ATA error handling can trigger a kernel hang or oops
scsi: qla2xxx: Fix NULL pointer crash due to active timer for ABTS
drm/i915: Always call to intel_display_set_init_power() in resume_early.
workqueue: Allow retrieval of current task's work struct
drm: Allow determining if current task is output poll worker
drm/nouveau: Fix deadlock on runtime suspend
drm/radeon: Fix deadlock on runtime suspend
drm/amdgpu: Fix deadlock on runtime suspend
drm/nouveau: prefer XBGR2101010 for addfb ioctl
drm/amd/powerplay/smu7: allow mclk switching with no displays
drm/amd/powerplay/vega10: allow mclk switching with no displays
Revert "drm/radeon/pm: autoswitch power state when in balanced mode"
drm/radeon: insist on 32-bit DMA for Cedar on PPC64/PPC64LE
drm/amd/powerplay: fix power over limit on Fiji
drm/amdgpu: used cached pcie gen info for SI (v2)
drm/amdgpu: Notify sbios device ready before send request
drm/radeon: fix KV harvesting
drm/amdgpu: fix KV harvesting
drm/amdgpu:Correct max uvd handles
drm/amdgpu:Always save uvd vcpu_bo in VM Mode
MIPS: BMIPS: Do not mask IPIs during suspend
MIPS: ath25: Check for kzalloc allocation failure
MIPS: OCTEON: irq: Check for null return on kzalloc allocation
PCI: dwc: Fix enumeration end when reaching root subordinate
Input: matrix_keypad - fix race when disabling interrupts
lib/bug.c: exclude non-BUG/WARN exceptions from report_bug()
mm/memblock.c: hardcode the end_pfn being -1
Documentation/sphinx: Fix Directive import error
loop: Fix lost writes caused by missing flag
virtio_ring: fix num_free handling in error case
KVM: s390: fix memory overwrites when not using SCA entries
arm64: mm: fix thinko in non-global page table attribute check
IB/core: Fix missing RDMA cgroups release in case of failure to register device
kbuild: Handle builtin dtb file names containing hyphens
dm bufio: avoid false-positive Wmaybe-uninitialized warning
IB/mlx5: Fix incorrect size of klms in the memory region
bcache: fix crashes in duplicate cache device register
bcache: don't attach backing with duplicate UUID
x86/MCE: Save microcode revision in machine check records
x86/MCE: Serialize sysfs changes
perf tools: Fix trigger class trigger_on()
x86/spectre_v2: Don't check microcode versions when running under hypervisors
ALSA: hda/realtek - Add support headset mode for DELL WYSE
ALSA: hda/realtek - Add headset mode support for Dell laptop
ALSA: hda/realtek: Limit mic boost on T480
ALSA: hda/realtek - Fix dock line-out volume on Dell Precision 7520
ALSA: hda/realtek - Make dock sound work on ThinkPad L570
ALSA: seq: Don't allow resizing pool in use
ALSA: seq: More protection for concurrent write and ioctl races
ALSA: hda - Fix a wrong FIXUP for alc289 on Dell machines
ALSA: hda: add dock and led support for HP EliteBook 820 G3
ALSA: hda: add dock and led support for HP ProBook 640 G2
scsi: qla2xxx: Fix NULL pointer crash due to probe failure
scsi: qla2xxx: Fix recursion while sending terminate exchange
dt-bindings: Document mti,mips-cpc binding
MIPS: CPC: Map registers using DT in mips_cpc_default_phys_base()
nospec: Kill array_index_nospec_mask_check()
nospec: Include <asm/barrier.h> dependency
x86/entry: Reduce the code footprint of the 'idtentry' macro
x86/entry/64: Use 'xorl' for faster register clearing
x86/mm: Remove stale comment about KMEMCHECK
x86/asm: Improve how GEN_*_SUFFIXED_RMWcc() specify clobbers
x86/LDT: Avoid warning in 32-bit builds with older gcc
x86-64/realmode: Add instruction suffix
Revert "x86/retpoline: Simplify vmexit_fill_RSB()"
x86/speculation: Use IBRS if available before calling into firmware
x86/retpoline: Support retpoline builds with Clang
x86/speculation, objtool: Annotate indirect calls/jumps for objtool
x86/speculation: Move firmware_restrict_branch_speculation_*() from C to CPP
x86/paravirt, objtool: Annotate indirect calls
x86/boot, objtool: Annotate indirect jump in secondary_startup_64()
x86/mm/sme, objtool: Annotate indirect call in sme_encrypt_execute()
objtool: Use existing global variables for options
objtool: Add retpoline validation
kbuild: re-order the code to not parse unnecessary variables
kbuild: Set KBUILD_CFLAGS before incl. arch Makefile
kbuild: move cc-option and cc-disable-warning after incl. arch Makefile
objtool: Add module specific retpoline rules
objtool, retpolines: Integrate objtool with retpoline support more closely
objtool: Fix another switch table detection issue
objtool: Fix 32-bit build
x86/kprobes: Fix kernel crash when probing .entry_trampoline code
Linux 4.14.27

Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
1  2 
Makefile
arch/x86/Makefile
net/netfilter/xt_IDLETIMER.c
scripts/Makefile.lib

diff --cc Makefile
index df0b96dbf0d01d1999e7fe592cf6d4db25e21df5,00e969db94b8699292f9826fe60ae6aaaed0466d..5175b9570ba9ff27353b0e134ee294f921426982
+++ b/Makefile
@@@ -459,73 -482,23 +482,24 @@@ ifneq ($(KBUILD_SRC),
            $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)
  endif
  
- # Support for using generic headers in asm-generic
- PHONY += asm-generic uapi-asm-generic
- asm-generic: uapi-asm-generic
-       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \
-                   src=asm obj=arch/$(SRCARCH)/include/generated/asm
- uapi-asm-generic:
-       $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.asm-generic \
-                   src=uapi/asm obj=arch/$(SRCARCH)/include/generated/uapi/asm
- # To make sure we do not include .config for any of the *config targets
- # catch them early, and hand them over to scripts/kconfig/Makefile
- # It is allowed to specify more targets when calling make, including
- # mixing *config targets and build targets.
- # For example 'make oldconfig all'.
- # Detect when mixed targets is specified, and make a second invocation
- # of make so .config is not included in this case either (for *config).
- version_h := include/generated/uapi/linux/version.h
- old_version_h := include/linux/version.h
- no-dot-config-targets := clean mrproper distclean \
-                        cscope gtags TAGS tags help% %docs check% coccicheck \
-                        $(version_h) headers_% archheaders archscripts \
-                        kernelversion %src-pkg
- config-targets := 0
- mixed-targets  := 0
- dot-config     := 1
- ifneq ($(filter $(no-dot-config-targets), $(MAKECMDGOALS)),)
-       ifeq ($(filter-out $(no-dot-config-targets), $(MAKECMDGOALS)),)
-               dot-config := 0
-       endif
+ ifeq ($(cc-name),clang)
+ ifneq ($(CROSS_COMPILE),)
 -CLANG_TARGET  := --target=$(notdir $(CROSS_COMPILE:%-=%))
++CLANG_TRIPLE  ?= $(CROSS_COMPILE)
++CLANG_TARGET  := --target=$(notdir $(CLANG_TRIPLE:%-=%))
+ GCC_TOOLCHAIN := $(realpath $(dir $(shell which $(LD)))/..)
  endif
- ifeq ($(KBUILD_EXTMOD),)
-         ifneq ($(filter config %config,$(MAKECMDGOALS)),)
-                 config-targets := 1
-                 ifneq ($(words $(MAKECMDGOALS)),1)
-                         mixed-targets := 1
-                 endif
-         endif
+ ifneq ($(GCC_TOOLCHAIN),)
+ CLANG_GCC_TC  := --gcc-toolchain=$(GCC_TOOLCHAIN)
  endif
- # install and modules_install need also be processed one by one
- ifneq ($(filter install,$(MAKECMDGOALS)),)
-         ifneq ($(filter modules_install,$(MAKECMDGOALS)),)
-               mixed-targets := 1
-         endif
+ KBUILD_CFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
+ KBUILD_AFLAGS += $(CLANG_TARGET) $(CLANG_GCC_TC)
  endif
  
- ifeq ($(mixed-targets),1)
- # ===========================================================================
- # We're called with mixed targets (*config and build targets).
- # Handle them one by one.
- PHONY += $(MAKECMDGOALS) __build_one_by_one
- $(filter-out __build_one_by_one, $(MAKECMDGOALS)): __build_one_by_one
-       @:
- __build_one_by_one:
-       $(Q)set -e; \
-       for i in $(MAKECMDGOALS); do \
-               $(MAKE) -f $(srctree)/Makefile $$i; \
-       done
+ RETPOLINE_CFLAGS_GCC := -mindirect-branch=thunk-extern -mindirect-branch-register
+ RETPOLINE_CFLAGS_CLANG := -mretpoline-external-thunk
+ RETPOLINE_CFLAGS := $(call cc-option,$(RETPOLINE_CFLAGS_GCC),$(call cc-option,$(RETPOLINE_CFLAGS_CLANG)))
+ export RETPOLINE_CFLAGS
  
- else
  ifeq ($(config-targets),1)
  # ===========================================================================
  # *config targets only - make sure prerequisites are updated, and descend
Simple merge
index f11aa28b96ce610d099c5399e717d5a07d31be74,bb5d6a058fb7bca388d279e224ed22d019b1394b..12d33ea361bc0e3d3eb6bb9a554a3d74a767ad7d
@@@ -307,22 -146,9 +307,24 @@@ static int idletimer_tg_create(struct i
        setup_timer(&info->timer->timer, idletimer_tg_expired,
                    (unsigned long) info->timer);
        info->timer->refcnt = 1;
 +      info->timer->send_nl_msg = (info->send_nl_msg == 0) ? false : true;
 +      info->timer->active = true;
 +      info->timer->timeout = info->timeout;
 +
 +      info->timer->delayed_timer_trigger.tv_sec = 0;
 +      info->timer->delayed_timer_trigger.tv_nsec = 0;
 +      info->timer->work_pending = false;
 +      info->timer->uid = 0;
 +      get_monotonic_boottime(&info->timer->last_modified_timer);
 +
 +      info->timer->pm_nb.notifier_call = idletimer_resume;
 +      ret = register_pm_notifier(&info->timer->pm_nb);
 +      if (ret)
 +              printk(KERN_WARNING "[%s] Failed to register pm notifier %d\n",
 +                              __func__, ret);
  
+       INIT_WORK(&info->timer->work, idletimer_tg_work);
        mod_timer(&info->timer->timer,
                  msecs_to_jiffies(info->timeout * 1000) + jiffies);
  
Simple merge