Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update from linux #2

Merged
merged 100 commits into from
Jan 2, 2018
Merged

update from linux #2

merged 100 commits into from
Jan 2, 2018

Commits on Nov 21, 2017

  1. HID: cp2112: Fix I2C_BLOCK_DATA transactions

    The existing driver erroneously treats I2C_BLOCK_DATA and BLOCK_DATA
    commands the same.
    
    For I2C_BLOCK_DATA reads, the length of the read is provided in
    data->block[0], but the length itself should not be sent to the slave. In
    contrast, for BLOCK_DATA reads no length is specified since the length
    will be the first byte returned from the slave. When copying data back
    to the data buffer, for an I2C_BLOCK_DATA read we have to take care not to
    overwrite data->block[0] to avoid overwriting the length. A BLOCK_DATA
    read doesn't have this concern since the first byte returned by the device
    is the length and belongs in data->block[0].
    
    For I2C_BLOCK_DATA writes, the length is also provided in data->block[0],
    but the length itself is not sent to the slave (in contrast to BLOCK_DATA
    writes where the length prefixes the data sent to the slave).
    
    This was tested on physical hardware using i2cdump with the i and s flags
    to test the behavior of I2C_BLOCK_DATA reads and BLOCK_DATA reads,
    respectively. Writes were not tested but the I2C_BLOCK_DATA write change
    is pretty simple to verify by inspection.
    
    Signed-off-by: Eudean Sun <eudean@arista.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    eudean-arista authored and Jiri Kosina committed Nov 21, 2017
    Configuration menu
    Copy the full SHA
    542134c View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2017

  1. HID: holtekff: move MODULE_* parameters out of #ifdef block

    If you compile with:
    CONFIG_HID_HOLTEK=m
    CONFIG_HOLTEK_FF is not set
    
    You get the following warning:
    WARNING: modpost: missing MODULE_LICENSE() in drivers/hid/hid-holtekff.o
    see include/linux/module.h for more information
    
    Fix this by moving the module info out of the #ifdef CONFIG_HOLTEK_FF
    block and into the un-guarded part of the file.
    
    Signed-off-by: Daniel Axtens <dja@axtens.net>
    Acked-by: Anssi Hannula <anssi.hannula@iki.fi>
    Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    daxtens authored and Jiri Kosina committed Dec 1, 2017
    Configuration menu
    Copy the full SHA
    56075f6 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2017

  1. HID: core: lower log level for unknown main item tags to warnings

    Given all the effort distros have done with splash-screens to give
    users a nice clean boot experience, we really want dmesg --level=err
    to not print anything unless there is a real problem with either the
    hardware or the kernel. Buggy HID descriptors unfortunately happen
    all too often, so lower the log level to warning keep the console
    clear of error messages such as:
    
    [  441.079664] apple 0005:05AC:0239.0003: unknown main item tag 0x0
    
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    jwrdegoede authored and Jiri Kosina committed Dec 7, 2017
    Configuration menu
    Copy the full SHA
    7cb4774 View commit details
    Browse the repository at this point in the history

Commits on Dec 13, 2017

  1. USB: chipidea: msm: fix ulpi-node lookup

    Fix child-node lookup during probe, which ended up searching the whole
    device tree depth-first starting at the parent rather than just matching
    on its children.
    
    Note that the original premature free of the parent node has already
    been fixed separately, but that fix was apparently never backported to
    stable.
    
    Fixes: 47654a1 ("usb: chipidea: msm: Restore wrapper settings after reset")
    Fixes: b74c431 ("usb: chipidea: msm: ci_hdrc_msm_probe() missing of_node_get()")
    Cc: stable <stable@vger.kernel.org>     # 4.10: b74c431
    Cc: Stephen Boyd <stephen.boyd@linaro.org>
    Cc: Frank Rowand <frank.rowand@sony.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Peter Chen <peter.chen@nxp.com>
    jhovold authored and Peter Chen committed Dec 13, 2017
    Configuration menu
    Copy the full SHA
    964728f View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2017

  1. USB: serial: option: add support for Telit ME910 PID 0x1101

    This patch adds support for PID 0x1101 of Telit ME910.
    
    Signed-off-by: Daniele Palmas <dnlplm@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    dnlplm authored and jhovold committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    0893309 View commit details
    Browse the repository at this point in the history
  2. USB: serial: qcserial: add Sierra Wireless EM7565

    Sierra Wireless EM7565 devices use the QCSERIAL_SWI layout for their
    serial ports
    
    T:  Bus=01 Lev=03 Prnt=29 Port=01 Cnt=02 Dev#= 31 Spd=480  MxCh= 0
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
    P:  Vendor=1199 ProdID=9091 Rev= 0.06
    S:  Manufacturer=Sierra Wireless, Incorporated
    S:  Product=Sierra Wireless EM7565 Qualcomm Snapdragon X16 LTE-A
    S:  SerialNumber=xxxxxxxx
    C:* #Ifs= 4 Cfg#= 1 Atr=a0 MxPwr=500mA
    I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=qcserial
    E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial
    E:  Ad=83(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=qcserial
    E:  Ad=85(I) Atr=03(Int.) MxPS=  10 Ivl=32ms
    E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    I:* If#= 8 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
    E:  Ad=86(I) Atr=03(Int.) MxPS=   8 Ivl=32ms
    E:  Ad=8e(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
    
    but need sendsetup = true for the NMEA port to make it work properly.
    
    Simplify the patch compared to v1 as suggested by Bjørn Mork by taking
    advantage of the fact that existing devices work with sendsetup = true
    too.
    
    Use sendsetup = true for the NMEA interface of QCSERIAL_SWI and add
    DEVICE_SWI entries for the EM7565 PID 0x9091 and the EM7565 QDL PID
    0x9090.
    
    Tests with several MC73xx/MC74xx/MC77xx devices have been performed in
    order to verify backward compatibility.
    
    Signed-off-by: Reinhard Speyerer <rspmn@arcor.de>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Reinhard Speyerer authored and jhovold committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    92a18a6 View commit details
    Browse the repository at this point in the history
  3. phy: tegra: fix device-tree node lookups

    Fix child-node lookups during probe, which ended up searching the whole
    device tree depth-first starting at the parents rather than just
    matching on their children.
    
    To make things worse, some parent nodes could end up being being
    prematurely freed (by tegra_xusb_pad_register()) as
    of_find_node_by_name() drops a reference to its first argument.
    
    Fixes: 53d2a71 ("phy: Add Tegra XUSB pad controller support")
    Cc: stable <stable@vger.kernel.org>     # 4.7
    Cc: Thierry Reding <treding@nvidia.com>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    jhovold authored and kishon committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    0460467 View commit details
    Browse the repository at this point in the history
  4. phy: cpcap-usb: Fix platform_get_irq_byname's error checking.

    The platform_get_irq_byname() function returns negative if an error occurs.
    zero or positive number on success. platform_get_irq_byname() error
    checking for zero is not correct.
    
    Fixes: 6d6ce40 ("phy: cpcap-usb: Add CPCAP PMIC USB support")
    Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com>
    Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
    Acked-by: Tony Lindgren <tony@atomide.com>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    ArvindYadavCs authored and kishon committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    e796cc6 View commit details
    Browse the repository at this point in the history
  5. phy: rockchip-typec: add pm_runtime_disable in err case

    Add pm_runtime_disable in err case to make the pm_runtime_enable/disable
    is invoked balanced.
    
    Signed-off-by: Chris Zhong <zyw@rock-chips.com>
    Reviewed-by: Brian Norris <briannorris@chromium.org>
    Reviewed-by: Douglas Anderson <dianders@chromium.org>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    zywang33 authored and kishon committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    3cb0ab6 View commit details
    Browse the repository at this point in the history
  6. phy: rcar-gen3-usb2: select USB_COMMON

    When USB is disabled, we get a link error for this driver
    because of the added OTG support
    
    drivers/phy/renesas/phy-rcar-gen3-usb2.o: In function `rcar_gen3_phy_usb2_probe':
    phy-rcar-gen3-usb2.c:(.text+0x250): undefined reference to `of_usb_get_dr_mode_by_phy'
    
    Other phy drivers select USB_COMMON for this, so let's do the same
    here.
    
    Fixes: 7e0540f ("phy: rcar-gen3-usb2: check dr_mode for otg mode")
    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Acked-by: Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    arndb authored and kishon committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    2b88212 View commit details
    Browse the repository at this point in the history
  7. x86/espfix/64: Fix espfix double-fault handling on 5-level systems

    Using PGDIR_SHIFT to identify espfix64 addresses on 5-level systems
    was wrong, and it resulted in panics due to unhandled double faults.
    Use P4D_SHIFT instead, which is correct on 4-level and 5-level
    machines.
    
    This fixes a panic when running x86 selftests on 5-level machines.
    
    Signed-off-by: Andy Lutomirski <luto@kernel.org>
    Acked-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: David Laight <David.Laight@aculab.com>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Kirill A. Shutemov <kirill@shutemov.name>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: stable@vger.kernel.org
    Fixes: 1d33b21 ("x86/espfix: Add support for 5-level paging")
    Link: http://lkml.kernel.org/r/24c898b4f44fdf8c22d93703850fb384ef87cfdc.1513035461.git.luto@kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    amluto authored and Ingo Molnar committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    c739f93 View commit details
    Browse the repository at this point in the history
  8. drivers: base: cacheinfo: fix cache type for non-architected system c…

    …ache
    
    Commit dfea747 ("drivers: base: cacheinfo: support DT overrides for
    cache properties") doesn't initialise the cache type if it's present
    only in DT and the architecture is not aware of it. They are unified
    system level cache which are generally transparent.
    
    This patch check if the cache type is set to NOCACHE but the DT node
    indicates that it's unified cache and sets the cache type accordingly.
    
    Fixes: dfea747 ("drivers: base: cacheinfo: support DT overrides for cache properties")
    Reported-and-tested-by: Tan Xiaojun <tanxiaojun@huawei.com>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    sudeep-holla authored and gregkh committed Dec 15, 2017
    Configuration menu
    Copy the full SHA
    f57ab9a View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2017

  1. x86/build: Make isoimage work on Debian

    Debian does not ship a 'mkisofs' symlink to genisoimage.  All modern
    distros ship genisoimage, so just use that directly.  That requires
    renaming the 'genisoimage' function.  Also neaten up the 'for' loop
    while I'm in here.
    
    Signed-off-by: Matthew Wilcox <mawilcox@microsoft.com>
    Cc: Changbin Du <changbin.du@intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: linux-kernel@vger.kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Matthew Wilcox authored and Ingo Molnar committed Dec 16, 2017
    Configuration menu
    Copy the full SHA
    5f0e3fe View commit details
    Browse the repository at this point in the history
  2. thunderbolt: Make pathname to force_power shorter

    WMI is the bus inside kernel, so, we may access the GUID via
    /sys/bus/wmi instead of doing this through /sys/devices path.
    
    Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Acked-by: Mario Limonciello <mario.limonciello@dell.com>
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    andy-shev authored and gregkh committed Dec 16, 2017
    Configuration menu
    Copy the full SHA
    cce1fea View commit details
    Browse the repository at this point in the history
  3. MAINTAINERS: Add thunderbolt.rst to the Thunderbolt driver entry

    Make sure Thunderbolt maintainers get to see patches that touch
    documentation of the Thunderbolt driver as well.
    
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    westeri authored and gregkh committed Dec 16, 2017
    Configuration menu
    Copy the full SHA
    78dfa29 View commit details
    Browse the repository at this point in the history
  4. thunderbolt: Mask ring interrupt properly when polling starts

    When ring enters polling mode we are expected to mask the ring interrupt
    before the callback is called. However, the current code actually
    unmasks it probably because of a copy-paste mistake.
    
    Mask the interrupt properly from now on.
    
    Fixes: 4ffe722 ("thunderbolt: Add polling mode for rings")
    Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
    Acked-by: Yehezkel Bernat <yehezkel.bernat@intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    westeri authored and gregkh committed Dec 16, 2017
    Configuration menu
    Copy the full SHA
    7465718 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2017

  1. x86/mm: Unbreak modules that use the DMA API

    Commit d8aa7ee ("x86/mm: Add Secure Encrypted Virtualization (SEV)
    support") changed sme_active() from an inline function that referenced
    sme_me_mask to a non-inlined function in order to make the sev_enabled
    variable a static variable.  This function was marked EXPORT_SYMBOL_GPL
    because at the time the patch was submitted, sme_me_mask was marked
    EXPORT_SYMBOL_GPL.
    
    Commit 87df261 ("x86/mm: Unbreak modules that rely on external
    PAGE_KERNEL availability") changed sme_me_mask variable from
    EXPORT_SYMBOL_GPL to EXPORT_SYMBOL, allowing external modules the ability
    to build with CONFIG_AMD_MEM_ENCRYPT=y.  Now, however, with sev_active()
    no longer an inline function and marked as EXPORT_SYMBOL_GPL, external
    modules that use the DMA API are once again broken in 4.15. Since the DMA
    API is meant to be used by external modules, this needs to be changed.
    
    Change the sme_active() and sev_active() functions from EXPORT_SYMBOL_GPL
    to EXPORT_SYMBOL.
    
    Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brijesh Singh <brijesh.singh@amd.com>
    Link: https://lkml.kernel.org/r/20171215162011.14125.7113.stgit@tlendack-t1.amdoffice.net
    tlendacky authored and KAGA-KOKO committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    9d5f38b View commit details
    Browse the repository at this point in the history
  2. sched/isolation: Make CONFIG_NO_HZ_FULL select CONFIG_CPU_ISOLATION

    CONFIG_NO_HZ_FULL doesn't make sense without CONFIG_CPU_ISOLATION. In
    fact enabling the first without the second is a regression as nohz_full=
    boot parameter gets silently ignored.
    
    Besides this unnatural combination hangs RCU gp kthread when running
    rcutorture for reasons that are not yet fully understood:
    
    	rcu_preempt kthread starved for 9974 jiffies! g4294967208
    	+c4294967207 f0x0 RCU_GP_WAIT_FQS(3) ->state=0x402 ->cpu=0
    	rcu_preempt     I 7464     8      2 0x80000000
    	Call Trace:
    		__schedule+0x493/0x620
    		schedule+0x24/0x40
    		schedule_timeout+0x330/0x3b0
    		? preempt_count_sub+0xea/0x140
    		? collect_expired_timers+0xb0/0xb0
    		rcu_gp_kthread+0x6bf/0xef0
    
    This commit therefore makes NO_HZ_FULL select CPU_ISOLATION, which
    prevents all these bad behaviours.
    
    Reported-by: kernel test robot <xiaolong.ye@intel.com>
    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Wanpeng Li <kernellwp@gmail.com>
    Fixes: 5c4991e ("sched/isolation: Split out new CONFIG_CPU_ISOLATION=y config from CONFIG_NO_HZ_FULL")
    Link: http://lkml.kernel.org/r/1513275507-29200-2-git-send-email-frederic@kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    paulmck authored and Ingo Molnar committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    bf29cb2 View commit details
    Browse the repository at this point in the history
  3. sched/isolation: Enable CONFIG_CPU_ISOLATION=y by default

    The "isolcpus=" boot parameter support was always built-in before we
    moved the related code under CONFIG_CPU_ISOLATION. Having it disabled by
    default is very confusing for people accustomed to use this parameter.
    
    So enable it by dafault to keep the previous behaviour but keep it
    optable for those who want to tinify their kernels.
    
    Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Wanpeng Li <kernellwp@gmail.com>
    Cc: kernel test robot <xiaolong.ye@intel.com>
    Link: http://lkml.kernel.org/r/1513275507-29200-3-git-send-email-frederic@kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Frederic Weisbecker authored and Ingo Molnar committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    2c43838 View commit details
    Browse the repository at this point in the history
  4. sched/isolation: Document boot parameters dependency on CONFIG_CPU_IS…

    …OLATION=y
    
    The "isolcpus=" and "nohz_full=" boot parameters depend on CPU Isolation
    support. Let's document that.
    
    Signed-off-by: Frederic Weisbecker <frederic@kernel.org>
    Cc: Chris Metcalf <cmetcalf@mellanox.com>
    Cc: Christoph Lameter <cl@linux.com>
    Cc: John Stultz <john.stultz@linaro.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Luiz Capitulino <lcapitulino@redhat.com>
    Cc: Mike Galbraith <efault@gmx.de>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Wanpeng Li <kernellwp@gmail.com>
    Cc: kernel test robot <xiaolong.ye@intel.com>
    Link: http://lkml.kernel.org/r/1513275507-29200-4-git-send-email-frederic@kernel.org
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Frederic Weisbecker authored and Ingo Molnar committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    d94d105 View commit details
    Browse the repository at this point in the history
  5. vmbus: unregister device_obj->channels_kset

    Without the patch, a device can't be thoroughly destroyed, because
    vmbus_device_register() -> kset_create_and_add() still holds a reference
    to the hv_device's device.kobj.
    
    Signed-off-by: Dexuan Cui <decui@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Fixes: c2e5df6 ("vmbus: add per-channel sysfs info")
    Signed-off-by: K. Y. Srinivasan <kys@microsoft.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    dcui authored and gregkh committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    869b556 View commit details
    Browse the repository at this point in the history
  6. binder: fix proc->files use-after-free

    proc->files cleanup is initiated by binder_vma_close. Therefore
    a reference on the binder_proc is not enough to prevent the
    files_struct from being released while the binder_proc still has
    a reference. This can lead to an attempt to dereference the
    stale pointer obtained from proc->files prior to proc->files
    cleanup. This has been seen once in task_get_unused_fd_flags()
    when __alloc_fd() is called with a stale "files".
    
    The fix is to protect proc->files with a mutex to prevent cleanup
    while in use.
    
    Signed-off-by: Todd Kjos <tkjos@google.com>
    Cc: stable <stable@vger.kernel.org> # 4.14
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Todd Kjos authored and gregkh committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    7f3dc00 View commit details
    Browse the repository at this point in the history
  7. perf tools: Use shell function for perl cflags retrieval

    Using the shell function for perl CFLAGS retrieval instead of back
    quotes (``). Both execute shell with the command, but the latter is more
    explicit and seems to be the preferred way.
    
    Also we don't have any other use of the back quotes in perf Makefiles.
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20171108102739.30338-2-jolsa@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    olsajiri authored and acmel committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    5cfee7a View commit details
    Browse the repository at this point in the history
  8. perf tools: Fix up build in hardened environments

    On Fedora systems the perl and python CFLAGS/LDFLAGS include the
    hardened specs from redhat-rpm-config package. We apply them only for
    perl/python objects, which makes them not compatible with the rest of
    the objects and the build fails with:
    
      /usr/bin/ld: perf-in.o: relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -f
    +PIC
      /usr/bin/ld: libperf.a(libperf-in.o): relocation R_X86_64_32S against `.text' can not be used when making a shared object; recompile w
    +ith -fPIC
      /usr/bin/ld: final link failed: Nonrepresentable section on output
      collect2: error: ld returned 1 exit status
      make[2]: *** [Makefile.perf:507: perf] Error 1
      make[1]: *** [Makefile.perf:210: sub-make] Error 2
      make: *** [Makefile:69: all] Error 2
    
    Mainly it's caused by perl/python objects being compiled with:
    
      -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1
    
    which prevent the final link impossible, because it will check
    for 'proper' objects with following option:
    
      -specs=/usr/lib/rpm/redhat/redhat-hardened-ld
    
    Signed-off-by: Jiri Olsa <jolsa@kernel.org>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lkml.kernel.org/r/20171204082437.GC30564@krava
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    olsajiri authored and acmel committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    61fb26a View commit details
    Browse the repository at this point in the history
  9. perf jvmti: Generate correct debug information for inlined code

    tools/perf/jvmti is broken in so far as it generates incorrect debug
    information. Specifically it attributes all debug lines to the original
    method being output even in the case that some code is being inlined
    from elsewhere.  This patch fixes the issue.
    
    To test (from within linux/tools/perf):
    
    export JDIR=/usr/lib/jvm/java-8-openjdk-amd64/
    make
    cat << __EOF > Test.java
    public class Test
    {
        private StringBuilder b = new StringBuilder();
    
        private void loop(int i, String... args)
        {
            for (String a : args)
                b.append(a);
    
            long hc = b.hashCode() * System.nanoTime();
    
            b = new StringBuilder();
            b.append(hc);
    
            System.out.printf("Iteration %d = %d\n", i, hc);
        }
    
        public void run(String... args)
        {
            for (int i = 0; i < 10000; ++i)
            {
                loop(i, args);
            }
        }
    
        public static void main(String... args)
        {
            Test t = new Test();
            t.run(args);
        }
    }
    __EOF
    $JDIR/bin/javac Test.java
    ./perf record -F 10000 -g -k mono $JDIR/bin/java -agentpath:`pwd`/libperf-jvmti.so Test
    ./perf inject --jit -i perf.data -o perf.data.jitted
    ./perf annotate -i perf.data.jitted --stdio | grep Test\.java: | sort -u
    
    Before this patch, Test.java line numbers get reported that are greater
    than the number of lines in the Test.java file.  They come from the
    source file of the inlined function, e.g. java/lang/String.java:1085.
    For further validation one can examine those lines in the JDK source
    distribution and confirm that they map to inlined functions called by
    Test.java.
    
    After this patch, the filename of the inlined function is output
    rather than the incorrect original source filename.
    
    Signed-off-by: Ben Gainey <ben.gainey@arm.com>
    Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Tested-by: Stephane Eranian <eranian@google.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ben Gainey <ben.gainey@arm.com>
    Cc: Colin King <colin.king@canonical.com>
    Cc: Darren Hart <dvhart@infradead.org>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: 598b7c6 ("perf jit: add source line info support")
    Link: http://lkml.kernel.org/r/20171122182541.d25599a3eb1ada3480d142fa@arm.com
    Signed-off-by: Kim Phillips <kim.phillips@arm.com>
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    bengaineyarm authored and acmel committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    ca58d7e View commit details
    Browse the repository at this point in the history
  10. tools arch s390: Do not include header files from the kernel sources

    Long ago we decided to be verbotten including files in the kernel git
    sources from tools/ living source code, to avoid disturbing kernel
    development (and perf's and other tools/) when, say, a kernel hacker
    adds something, tests everything but tools/ and have tools/ build
    broken.
    
    This got broken recently by s/390, fix it by copying
    arch/s390/include/uapi/asm/perf_regs.h to tools/arch/s390/include/uapi/asm/,
    making this one be used by means of <asm/perf_regs.h> and updating
    tools/perf/check_headers.sh to make sure we are notified when the
    original changes, so that we can check if anything is needed on the
    tooling side.
    
    This would have been caught by the 'tarkpg' test entry in:
    
    $ make -C tools/perf build-test
    
    When run on a s/390 build system or container.
    
    Acked-by: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Hendrik Brueckner <brueckner@linux.vnet.ibm.com>
    Cc: Thomas Richter <tmricht@linux.vnet.ibm.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Wang Nan <wangnan0@huawei.com>
    Fixes: f704ef4 ("s390/perf: add support for perf_regs and libdw")
    Link: https://lkml.kernel.org/n/tip-n57139ic0v9uffx8wdqi3d8a@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    10b9baa View commit details
    Browse the repository at this point in the history
  11. x86/asm: Allow again using asm.h when building for the 'bpf' clang ta…

    …rget
    
    Up to f5caf62 ("x86/asm: Fix inline asm call constraints for Clang")
    we were able to use x86 headers to build to the 'bpf' clang target, as
    done by the BPF code in tools/perf/.
    
    With that commit, we ended up with following failure for 'perf test LLVM', this
    is because "clang ... -target bpf ..." fails since 4.0 does not have bpf inline
    asm support and 6.0 does not recognize the register 'esp', fix it by guarding
    that part with an #ifndef __BPF__, that is defined by clang when building to
    the "bpf" target.
    
      # perf test -v LLVM
      37: LLVM search and compile                               :
      37.1: Basic BPF llvm compile                              :
      --- start ---
      test child forked, pid 25526
      Kernel build dir is set to /lib/modules/4.14.0+/build
      set env: KBUILD_DIR=/lib/modules/4.14.0+/build
      unset env: KBUILD_OPTS
      include option is set to  -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/7/include -I/home/acme/git/linux/arch/x86/include -I./arch/x86/include/generated  -I/home/acme/git/linux/include -I./include -I/home/acme/git/linux/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/home/acme/git/linux/include/uapi -I./include/generated/uapi -include /home/acme/git/linux/include/linux/kconfig.h
      set env: NR_CPUS=4
      set env: LINUX_VERSION_CODE=0x40e00
      set env: CLANG_EXEC=/usr/local/bin/clang
      set env: CLANG_OPTIONS=-xc
      set env: KERNEL_INC_OPTIONS= -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/7/include -I/home/acme/git/linux/arch/x86/include -I./arch/x86/include/generated  -I/home/acme/git/linux/include -I./include -I/home/acme/git/linux/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/home/acme/git/linux/include/uapi -I./include/generated/uapi -include /home/acme/git/linux/include/linux/kconfig.h
      set env: WORKING_DIR=/lib/modules/4.14.0+/build
      set env: CLANG_SOURCE=-
      llvm compiling command template: echo '/*
       * bpf-script-example.c
       * Test basic LLVM building
       */
      #ifndef LINUX_VERSION_CODE
      # error Need LINUX_VERSION_CODE
      # error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x40200" into llvm section of ~/.perfconfig'
      #endif
      #define BPF_ANY 0
      #define BPF_MAP_TYPE_ARRAY 2
      #define BPF_FUNC_map_lookup_elem 1
      #define BPF_FUNC_map_update_elem 2
    
      static void *(*bpf_map_lookup_elem)(void *map, void *key) =
    	  (void *) BPF_FUNC_map_lookup_elem;
      static void *(*bpf_map_update_elem)(void *map, void *key, void *value, int flags) =
    	  (void *) BPF_FUNC_map_update_elem;
    
      struct bpf_map_def {
    	  unsigned int type;
    	  unsigned int key_size;
    	  unsigned int value_size;
    	  unsigned int max_entries;
      };
    
      #define SEC(NAME) __attribute__((section(NAME), used))
      struct bpf_map_def SEC("maps") flip_table = {
    	  .type = BPF_MAP_TYPE_ARRAY,
    	  .key_size = sizeof(int),
    	  .value_size = sizeof(int),
    	  .max_entries = 1,
      };
    
      SEC("func=SyS_epoll_wait")
      int bpf_func__SyS_epoll_wait(void *ctx)
      {
    	  int ind =0;
    	  int *flag = bpf_map_lookup_elem(&flip_table, &ind);
    	  int new_flag;
    	  if (!flag)
    		  return 0;
    	  /* flip flag and store back */
    	  new_flag = !*flag;
    	  bpf_map_update_elem(&flip_table, &ind, &new_flag, BPF_ANY);
    	  return new_flag;
      }
      char _license[] SEC("license") = "GPL";
      int _version SEC("version") = LINUX_VERSION_CODE;
      ' | $CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS -DLINUX_VERSION_CODE=$LINUX_VERSION_CODE $CLANG_OPTIONS $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o -
      test child finished with 0
      ---- end ----
      LLVM search and compile subtest 0: Ok
      37.2: kbuild searching                                    :
      --- start ---
      test child forked, pid 25950
      Kernel build dir is set to /lib/modules/4.14.0+/build
      set env: KBUILD_DIR=/lib/modules/4.14.0+/build
      unset env: KBUILD_OPTS
      include option is set to  -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/7/include -I/home/acme/git/linux/arch/x86/include -I./arch/x86/include/generated  -I/home/acme/git/linux/include -I./include -I/home/acme/git/linux/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/home/acme/git/linux/include/uapi -I./include/generated/uapi -include /home/acme/git/linux/include/linux/kconfig.h
      set env: NR_CPUS=4
      set env: LINUX_VERSION_CODE=0x40e00
      set env: CLANG_EXEC=/usr/local/bin/clang
      set env: CLANG_OPTIONS=-xc
      set env: KERNEL_INC_OPTIONS= -nostdinc -isystem /usr/lib/gcc/x86_64-redhat-linux/7/include -I/home/acme/git/linux/arch/x86/include -I./arch/x86/include/generated  -I/home/acme/git/linux/include -I./include -I/home/acme/git/linux/arch/x86/include/uapi -I./arch/x86/include/generated/uapi -I/home/acme/git/linux/include/uapi -I./include/generated/uapi -include /home/acme/git/linux/include/linux/kconfig.h
      set env: WORKING_DIR=/lib/modules/4.14.0+/build
      set env: CLANG_SOURCE=-
      llvm compiling command template: echo '/*
       * bpf-script-test-kbuild.c
       * Test include from kernel header
       */
      #ifndef LINUX_VERSION_CODE
      # error Need LINUX_VERSION_CODE
      # error Example: for 4.2 kernel, put 'clang-opt="-DLINUX_VERSION_CODE=0x40200" into llvm section of ~/.perfconfig'
      #endif
      #define SEC(NAME) __attribute__((section(NAME), used))
    
      #include <uapi/linux/fs.h>
      #include <uapi/asm/ptrace.h>
    
      SEC("func=vfs_llseek")
      int bpf_func__vfs_llseek(void *ctx)
      {
    	  return 0;
      }
    
      char _license[] SEC("license") = "GPL";
      int _version SEC("version") = LINUX_VERSION_CODE;
      ' | $CLANG_EXEC -D__KERNEL__ -D__NR_CPUS__=$NR_CPUS -DLINUX_VERSION_CODE=$LINUX_VERSION_CODE $CLANG_OPTIONS $KERNEL_INC_OPTIONS -Wno-unused-value -Wno-pointer-sign -working-directory $WORKING_DIR -c "$CLANG_SOURCE" -target bpf -O2 -o -
      In file included from <stdin>:12:
      In file included from /home/acme/git/linux/arch/x86/include/uapi/asm/ptrace.h:5:
      In file included from /home/acme/git/linux/include/linux/compiler.h:242:
      In file included from /home/acme/git/linux/arch/x86/include/asm/barrier.h:5:
      In file included from /home/acme/git/linux/arch/x86/include/asm/alternative.h:10:
      /home/acme/git/linux/arch/x86/include/asm/asm.h:145:50: error: unknown register name 'esp' in asm
      register unsigned long current_stack_pointer asm(_ASM_SP);
                                                       ^
      /home/acme/git/linux/arch/x86/include/asm/asm.h:44:18: note: expanded from macro '_ASM_SP'
      #define _ASM_SP         __ASM_REG(sp)
                              ^
      /home/acme/git/linux/arch/x86/include/asm/asm.h:27:32: note: expanded from macro '__ASM_REG'
      #define __ASM_REG(reg)         __ASM_SEL_RAW(e##reg, r##reg)
                                     ^
      /home/acme/git/linux/arch/x86/include/asm/asm.h:18:29: note: expanded from macro '__ASM_SEL_RAW'
      # define __ASM_SEL_RAW(a,b) __ASM_FORM_RAW(a)
                                  ^
      /home/acme/git/linux/arch/x86/include/asm/asm.h:11:32: note: expanded from macro '__ASM_FORM_RAW'
      # define __ASM_FORM_RAW(x)     #x
                                     ^
      <scratch space>:4:1: note: expanded from here
      "esp"
      ^
      1 error generated.
      ERROR:	unable to compile -
      Hint:	Check error message shown above.
      Hint:	You can also pre-compile it into .o using:
         		  clang -target bpf -O2 -c -
         	  with proper -I and -D options.
      Failed to compile test case: 'kbuild searching'
      test child finished with -1
      ---- end ----
      LLVM search and compile subtest 1: FAILED!
    
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Potapenko <glider@google.com>
    Cc: Alexei Starovoitov <alexei.starovoitov@gmail.com>
    Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: Dmitriy Vyukov <dvyukov@google.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Matthias Kaehlcke <mka@chromium.org>
    Cc: Miguel Bernal Marin <miguel.bernal.marin@linux.intel.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: Wang Nan <wangnan0@huawei.com>
    Cc: Yonghong Song <yhs@fb.com>
    Link: https://lkml.kernel.org/r/20171128175948.GL3298@kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    acmel committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    ca26cff View commit details
    Browse the repository at this point in the history
  12. Merge tag 'perf-urgent-for-mingo-4.15-20171218' of git://git.kernel.o…

    …rg/pub/scm/linux/kernel/git/acme/linux into perf/urgent
    
    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:
    
    - Fix up build in hardened environments, such as fedora 27 (Jiri Olsa)
    
    - Do not include header files from the kernel sources for the s/390 arch,
      fixing the detached tarball building (Arnaldo Carvalho de Melo)
    
    - Allow again using asm.h when building for the 'bpf' clang target,
      guarding x86 specific bits under ifndef __BPF__ (Arnaldo Carvalho de Melo)
    
    - Generate correct debug information for inlined code when generating
      ELF images for JITted java programs (Ben Gainey)
    
    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    Ingo Molnar committed Dec 18, 2017
    Configuration menu
    Copy the full SHA
    2e36463 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2017

  1. scsi: core: check for device state in __scsi_remove_target()

    As it turned out device_get() doesn't use kref_get_unless_zero(), so we
    will be always getting a device pointer.  Consequently, we need to check
    for the device state in __scsi_remove_target() to avoid tripping over
    deleted objects.
    
    Fixes: fbce4d9 ("scsi: fixup kernel warning during rmmod()")
    Reported-by: Jason Yan <yanaijie@huawei.com>
    Signed-off-by: Hannes Reinecke <hare@suse.com>
    Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com>
    Reviewed-by: Ewan D. Milne <emilne@redhat.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    hreinecke authored and martinkpetersen committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    81b6c99 View commit details
    Browse the repository at this point in the history
  2. x86/stacktrace: Make zombie stack traces reliable

    Commit:
    
      1959a60 ("x86/dumpstack: Pin the target stack when dumping it")
    
    changed the behavior of stack traces for zombies.  Before that commit,
    /proc/<pid>/stack reported the last execution path of the zombie before
    it died:
    
      [<ffffffff8105b877>] do_exit+0x6f7/0xa80
      [<ffffffff8105bc79>] do_group_exit+0x39/0xa0
      [<ffffffff8105bcf0>] __wake_up_parent+0x0/0x30
      [<ffffffff8152dd09>] system_call_fastpath+0x16/0x1b
      [<00007fd128f9c4f9>] 0x7fd128f9c4f9
      [<ffffffffffffffff>] 0xffffffffffffffff
    
    After the commit, it just reports an empty stack trace.
    
    The new behavior is actually probably more correct.  If the stack
    refcount has gone down to zero, then the task has already gone through
    do_exit() and isn't going to run anymore.  The stack could be freed at
    any time and is basically gone, so reporting an empty stack makes sense.
    
    However, save_stack_trace_tsk_reliable() treats such a missing stack
    condition as an error.  That can cause livepatch transition stalls if
    there are any unreaped zombies.  Instead, just treat it as a reliable,
    empty stack.
    
    Reported-and-tested-by: Miroslav Benes <mbenes@suse.cz>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: live-patching@vger.kernel.org
    Fixes: af085d9 ("stacktrace/x86: add function for detecting reliable stack traces")
    Link: http://lkml.kernel.org/r/e4b09e630e99d0c1080528f0821fc9d9dbaeea82.1513631620.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    jpoimboe authored and Ingo Molnar committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    6454b3b View commit details
    Browse the repository at this point in the history
  3. USB: serial: option: adding support for YUGA CLM920-NC5

    This patch adds support for YUGA CLM920-NC5 PID 0x9625 USB modem to option
    driver.
    
    Interface layout:
    0: QCDM/DIAG
    1: ADB
    2: MODEM
    3: AT
    4: RMNET
    
    Signed-off-by: Taiyi Wu <taiyity.wu@moxa.com>
    Signed-off-by: SZ Lin (林上智) <sz.lin@moxa.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    SZ Lin (林上智) authored and jhovold committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    3920bb7 View commit details
    Browse the repository at this point in the history
  4. Merge tag 'phy-for-4.15-rc_v2' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/kishon/linux-phy into usb-linus
    
    Kishon writes:
    
    phy: for 4.15 -rc
    
     *) Fix device-tree node lookups in tegra xusb
     *) Fix platform_get_irq_byname's error checking in cpcap-usb phy driver
     *) Fix in rockchip-typec phy driver to balance pm_runtime_enable/disable
     *) Fix compiler error in rcar-gen3-usb2 phy when USB is disabled
    
    Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
    gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    6074bc0 View commit details
    Browse the repository at this point in the history
  5. USB: Fix off by one in type-specific length check of BOS SSP capability

    USB 3.1 devices are not detected as 3.1 capable since 4.15-rc3 due to a
    off by one in commit 81cf4a4 ("USB: core: Add type-specific length
    check of BOS descriptors")
    
    It uses USB_DT_USB_SSP_CAP_SIZE() to get SSP capability size which takes
    the zero based SSAC as argument, not the actual count of sublink speed
    attributes.
    
    USB3 spec 9.6.2.5 says "The number of Sublink Speed Attributes = SSAC + 1."
    
    The type-specific length check patch was added to stable and needs to be
    fixed there as well
    
    Fixes: 81cf4a4 ("USB: core: Add type-specific length check of BOS descriptors")
    Cc: linux-stable <stable@vger.kernel.org>
    CC: Masakazu Mokuno <masakazu.mokuno@gmail.com>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    matnyman authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    07b9f12 View commit details
    Browse the repository at this point in the history
  6. usbip: vhci: stop printing kernel pointer addresses in messages

    Remove and/or change debug, info. and error messages to not print
    kernel pointer addresses.
    
    Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Shuah Khan authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    8272d09 View commit details
    Browse the repository at this point in the history
  7. usbip: stub: stop printing kernel pointer addresses in messages

    Remove and/or change debug, info. and error messages to not print
    kernel pointer addresses.
    
    Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Shuah Khan authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    248a220 View commit details
    Browse the repository at this point in the history
  8. usbip: prevent leaking socket pointer address in messages

    usbip driver is leaking socket pointer address in messages. Remove
    the messages that aren't useful and print sockfd in the ones that
    are useful for debugging.
    
    Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Shuah Khan authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    90120d1 View commit details
    Browse the repository at this point in the history
  9. usbip: stub_rx: fix static checker warning on unnecessary checks

    Fix the following static checker warnings:
    
    The patch c6688ef: "usbip: fix stub_rx: harden CMD_SUBMIT path
    to handle malicious input" from Dec 7, 2017, leads to the following
    static checker warning:
    
        drivers/usb/usbip/stub_rx.c:346 get_pipe()
        warn: impossible condition
    '(pdu->u.cmd_submit.transfer_buffer_length > ((~0 >> 1))) =>
    (s32min-s32max > s32max)'
        drivers/usb/usbip/stub_rx.c:486 stub_recv_cmd_submit()
        warn: always true condition
    '(pdu->u.cmd_submit.transfer_buffer_length <= ((~0 >> 1))) =>
    (s32min-s32max <= s32max)'
    
    Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
    Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Shuah Khan authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    10c9012 View commit details
    Browse the repository at this point in the history
  10. usbip: fix usbip bind writing random string after command in match_busid

    usbip bind writes commands followed by random string when writing to
    match_busid attribute in sysfs, caused by using full variable size
    instead of string length.
    
    Signed-off-by: Juan Zea <juan.zea@qindel.com>
    Acked-by: Shuah Khan <shuahkh@osg.samsung.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Juan Zea authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    544c460 View commit details
    Browse the repository at this point in the history
  11. usb: add RESET_RESUME for ELSA MicroLink 56K

    This modem needs this quirk to operate. It produces timeouts when
    resumed without reset.
    
    Signed-off-by: Oliver Neukum <oneukum@suse.com>
    CC: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    oneukum authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    b9096d9 View commit details
    Browse the repository at this point in the history
  12. usb: Add device quirk for Logitech HD Pro Webcam C925e

    Commit e042936
    ("usb: Add device quirk for Logitech HD Pro Webcams C920 and C930e")
    introduced quirk to workaround an issue with some Logitech webcams.
    
    There is one more model that has the same issue - C925e, so applying
    the same quirk as well.
    
    See aforementioned commit message for detailed explanation of the problem.
    
    Signed-off-by: Dmitry Fleytman <dmitry.fleytman@gmail.com>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    dmitryfleytman authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    7f038d2 View commit details
    Browse the repository at this point in the history
  13. staging: lustre: lnet: Fix recent breakage from list_for_each conversion

    Commit 8e55b6f ("staging: lustre: lnet: replace list_for_each
    with list_for_each_entry") was intended to be an idempotent change,
    but actually broke the behavior of ksocknal_add_peer() causing mounts to fail.
    The fact that it caused an existing "route2 = NULL;" to become
    redundant could have been a clue.  The fact that the loop body
    set the new loop variable to NULL might also have been a clue
    
    The original code relied on "route2" being NULL if nothing was found.
    The new code would always set route2 to a non-NULL value if the list
    was empty, and would likely crash if the list was not empty.
    
    Restore correct functionality by using code-flow rather the value of
    "route2" to determine whether to use on old route, or to add a new one.
    
    Fixes: 8e55b6f ("staging: lustre: lnet: replace list_for_each with list_for_each_entry")
    Signed-off-by: NeilBrown <neilb@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    NeilBrown authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    a936390 View commit details
    Browse the repository at this point in the history
  14. staging: ion: Fix ion_cma_heap allocations

    In trying to add support for drm_hwcomposer to HiKey,
    I've needed to utilize the ION CMA heap, and I've noticed
    problems with allocations on newer kernels failing.
    
    It seems back with 204f672 ("ion: Use CMA APIs directly"),
    the ion_cma_heap code was modified to use the CMA API, but
    kept the arguments as buffer lengths rather then number of pages.
    
    This results in errors as we don't have enough pages in CMA to
    satisfy the exaggerated requests.
    
    This patch converts the ion_cma_heap CMA API usage to properly
    request pages.
    
    It also fixes a minor issue in the allocation where in the error
    path, the cma_release is called with the buffer->size value which
    hasn't yet been set.
    
    Cc: Laura Abbott <labbott@redhat.com>
    Cc: Sumit Semwal <sumit.semwal@linaro.org>
    Cc: Benjamin Gaignard <benjamin.gaignard@linaro.org>
    Cc: Archit Taneja <architt@codeaurora.org>
    Cc: Greg KH <gregkh@linuxfoundation.org>
    Cc: Daniel Vetter <daniel@ffwll.ch>
    Cc: Dmitry Shmidt <dimitrysh@google.com>
    Cc: Todd Kjos <tkjos@google.com>
    Cc: Amit Pundir <amit.pundir@linaro.org>
    Fixes: 204f672 ("staging: android: ion: Use CMA APIs directly")
    Acked-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: John Stultz <john.stultz@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    johnstultz-work authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    f292b9b View commit details
    Browse the repository at this point in the history
  15. staging: android: ion: Fix dma direction for dma_sync_sg_for_cpu/device

    Use the direction argument passed into begin_cpu_access
    and end_cpu_access when calling the dma_sync_sg_for_cpu/device.
    The actual cache primitive called depends on the direction
    passed in.
    
    Signed-off-by: Sushmita Susheelendra <ssusheel@codeaurora.org>
    Cc: stable <stable@vger.kernel.org>
    Acked-by: Laura Abbott <labbott@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Sushmita Susheelendra authored and gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    d6b246b View commit details
    Browse the repository at this point in the history
  16. Merge tag 'usb-ci-v4.15-rc5' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/peter.chen/usb into usb-linus
    
    Peter writes:
    
    One fix for ulpi-node lookup at msm glue driver
    gregkh committed Dec 19, 2017
    Configuration menu
    Copy the full SHA
    76916b6 View commit details
    Browse the repository at this point in the history

Commits on Dec 21, 2017

  1. scsi: storvsc: Fix scsi_cmd error assignments in storvsc_handle_error

    When an I/O is returned with an srb_status of SRB_STATUS_INVALID_LUN
    which has zero good_bytes it must be assigned an error. Otherwise the
    I/O will be continuously requeued and will cause a deadlock in the case
    where disks are being hot added and removed. sd_probe_async will wait
    forever for its I/O to complete while holding scsi_sd_probe_domain.
    
    Also returning the default error of DID_TARGET_FAILURE causes multipath
    to not retry the I/O resulting in applications receiving I/O errors
    before a failover can occur.
    
    Signed-off-by: Cathy Avery <cavery@redhat.com>
    Signed-off-by: Long Li <longli@microsoft.com>
    Reviewed-by: Stephen Hemminger <stephen@networkplumber.org>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    caavery authored and martinkpetersen committed Dec 21, 2017
    Configuration menu
    Copy the full SHA
    d1b8b23 View commit details
    Browse the repository at this point in the history
  2. kobject: fix suppressing modalias in uevents delivered over netlink

    The commit 4a336a2 ("kobject: copy env blob in one go") optimized
    constructing uevent data for delivery over netlink by using the raw
    environment buffer, instead of reconstructing it from individual
    environment pointers. Unfortunately in doing so it broke suppressing
    MODALIAS attribute for KOBJ_UNBIND events, as the code that suppressed this
    attribute only adjusted the environment pointers, but left the buffer
    itself alone. Let's fix it by making sure the offending attribute is
    obliterated form the buffer as well.
    
    Reported-by: Tariq Toukan <tariqt@mellanox.com>
    Reported-by: Casey Leedom <leedom@chelsio.com>
    Fixes: 4a336a2 ("kobject: copy env blob in one go")
    Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    dtor authored and gregkh committed Dec 21, 2017
    Configuration menu
    Copy the full SHA
    9b3fa47 View commit details
    Browse the repository at this point in the history
  3. n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD)

    We added support for EXTPROC back in 2010 in commit 26df6d1 ("tty:
    Add EXTPROC support for LINEMODE") and the intent was to allow it to
    override some (all?) ICANON behavior.  Quoting from that original commit
    message:
    
             There is a new bit in the termios local flag word, EXTPROC.
             When this bit is set, several aspects of the terminal driver
             are disabled.  Input line editing, character echo, and mapping
             of signals are all disabled.  This allows the telnetd to turn
             off these functions when in linemode, but still keep track of
             what state the user wants the terminal to be in.
    
    but the problem turns out that "several aspects of the terminal driver
    are disabled" is a bit ambiguous, and you can really confuse the n_tty
    layer by setting EXTPROC and then causing some of the ICANON invariants
    to no longer be maintained.
    
    This fixes at least one such case (TIOCINQ) becoming unhappy because of
    the confusion over whether ICANON really means ICANON when EXTPROC is set.
    
    This basically makes TIOCINQ match the case of read: if EXTPROC is set,
    we ignore ICANON.  Also, make sure to reset the ICANON state ie EXTPROC
    changes, not just if ICANON changes.
    
    Fixes: 26df6d1 ("tty: Add EXTPROC support for LINEMODE")
    Reported-by: Tetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
    Reported-by: syzkaller <syzkaller@googlegroups.com>
    Cc: Jiri Slaby <jslaby@suse.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    torvalds authored and gregkh committed Dec 21, 2017
    Configuration menu
    Copy the full SHA
    966031f View commit details
    Browse the repository at this point in the history

Commits on Dec 23, 2017

  1. nvmem: meson-mx-efuse: fix reading from an offset other than 0

    meson_mx_efuse_read calculates the address internal to the eFuse based
    on the offset and the word size. This works fine with any given offset.
    However, the offset is also included when writing to the output buffer.
    This means that reading 4 bytes at offset 500 tries to write beyond the
    array allocated by the nvmem core as it wants to write the 4 bytes to
    "buffer address + offset (500)".
    This issue did not show up in the previous tests since no driver uses
    any value from the eFuse yet and reading the eFuse via sysfs simply
    reads the whole eFuse, starting at offset 0.
    
    Fix this by only including the offset in the internal address
    calculation.
    
    Fixes: 8caef1f ("nvmem: add a driver for the Amlogic Meson6/Meson8/Meson8b SoCs")
    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
    Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    xdarklight authored and gregkh committed Dec 23, 2017
    Configuration menu
    Copy the full SHA
    8a42d3f View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2017

  1. USB: serial: ftdi_sio: add id for Airbus DS P8GR

    Add AIRBUS_DS_P8GR device IDs to ftdi_sio driver.
    
    Signed-off-by: Max Schulze <max.schulze@posteo.de>
    Cc: stable <stable@vger.kernel.org>
    Signed-off-by: Johan Hovold <johan@kernel.org>
    Max Schulze authored and jhovold committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    c6a36ad View commit details
    Browse the repository at this point in the history
  2. Merge tag 'usb-serial-4.15-rc6' of https://git.kernel.org/pub/scm/lin…

    …ux/kernel/git/johan/usb-serial into usb-linus
    
    Johan writes
    
    USB-serial fixes for v4.15-rc6
    
    Here are some new device ids for ftdi_sio, option and qcserial.
    
    Note that the qcserial patch enables the SetControlLineState request
    (used to raise DTR/RTS) for the GPS interface of all devices using the
    Sierra Wireless layout. This was required for the Sierra Wireless EM7565
    and has been tested using several other modems as well.
    
    All but the final commit have been in linux-next without any reported
    issues.
    
    Signed-off-by: Johan Hovold <johan@kernel.org>
    gregkh committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    66da168 View commit details
    Browse the repository at this point in the history
  3. xhci: Fix xhci debugfs NULL pointer dereference in resume from hibernate

    Free the virt_device and its debugfs_private member together.
    
    When resuming from hibernate the .free_dev callback unconditionally
    freed the debugfs_private member, but could leave virt_device intact.
    
    This triggered a NULL pointer dereference after resume when usbmuxd
    sent a USBDEVFS_SETCONFIGURATION ioctl to a device, trying to add a
    endpoint debugfs entry to a already freed debugfs_private pointer.
    
    Fixes: 02b6fdc ("usb: xhci: Add debugfs interface for xHCI driver")
    Reported-by: Alexander Kappner <agk@godking.net>
    Tested-by: Alexander Kappner <agk@godking.net>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    matnyman authored and gregkh committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    052f71e View commit details
    Browse the repository at this point in the history
  4. xhci: Fix use-after-free in xhci debugfs

    Trying to read from debugfs after the system has resumed from
    hibernate causes a use-after-free and thus a protection fault.
    
    Steps to reproduce:
    Hibernate system, resume from hibernate, then run
    $ cat /sys/kernel/debug/usb/xhci/*/command-ring/enqueue
    
    [ 3902.765086] general protection fault: 0000 [#1] PREEMPT SMP
    ...
    [ 3902.765136] RIP: 0010:xhci_trb_virt_to_dma.part.50+0x5/0x30
    ...
    [ 3902.765178] Call Trace:
    [ 3902.765188]  xhci_ring_enqueue_show+0x1e/0x40
    [ 3902.765197]  seq_read+0xdb/0x3a0
    [ 3902.765204]  ? __handle_mm_fault+0x5fb/0x1210
    [ 3902.765211]  full_proxy_read+0x4a/0x70
    [ 3902.765219]  __vfs_read+0x23/0x120
    [ 3902.765228]  vfs_read+0x8e/0x130
    [ 3902.765235]  SyS_read+0x42/0x90
    [ 3902.765242]  do_syscall_64+0x6b/0x290
    [ 3902.765251]  entry_SYSCALL64_slow_path+0x25/0x25
    
    The issue is caused by the xhci ring structures being reallocated
    when the system is resumed, but pointers to the old structures
    being retained in the debugfs files "private" field:
    
    The proposed patch fixes this issue by storing a pointer to the xhci_ring
    field in the xhci device structure in debugfs rather than directly
    storing a pointer to the xhci_ring.
    
    Fixes: 02b6fdc ("usb: xhci: Add debugfs interface for xHCI driver")
    Signed-off-by: Alexander Kappner <agk@godking.net>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Alexander Kappner authored and gregkh committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    dde6340 View commit details
    Browse the repository at this point in the history
  5. usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201

    When plugging in a USB webcam I see the following message:
    xhci_hcd 0000:04:00.0: WARN Successful completion on short TX: needs
    XHCI_TRUST_TX_LENGTH quirk?
    handle_tx_event: 913 callbacks suppressed
    
    All is quiet again with this patch (and I've done a fair but of soak
    testing with the camera since).
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Daniel Thompson <daniel.thompson@linaro.org>
    Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    daniel-thompson authored and gregkh committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    da99706 View commit details
    Browse the repository at this point in the history
  6. cpu/hotplug: Move inline keyword at the beginning of declaration

    Fix non-fatal warnings such as:
    
    kernel/cpu.c:95:1: warning: ‘inline’ is not at beginning of declaration [-Wold-style-declaration]
     static void inline cpuhp_lock_release(bool bringup) { }
     ^~~~~~
    
    Signed-off-by: Mathieu Malaterre <malat@debian.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
    Link: https://lkml.kernel.org/r/20171226140855.16583-1-malat@debian.org
    malaterre authored and KAGA-KOKO committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    76dc6c0 View commit details
    Browse the repository at this point in the history
  7. perf/x86/intel: Plug memory leak in intel_pmu_init()

    A recent commit introduced an extra merge_attr() call in the skylake
    branch, which causes a memory leak.
    
    Store the pointer to the extra allocated memory and free it at the end of
    the function.
    
    Fixes: a5df70c ("perf/x86: Only show format attributes when supported")
    Reported-by: Tommi Rantala <tommi.t.rantala@nokia.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Andi Kleen <ak@linux.intel.com>
    KAGA-KOKO committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    7ad1437 View commit details
    Browse the repository at this point in the history
  8. x86: Remove unused parameter of prepare_switch_to

    Commit e37e43a ("x86/mm/64: Enable vmapped stacks
    (CONFIG_HAVE_ARCH_VMAP_STACK=y)") added prepare_switch_to with one extra
    parameter which is not used by the function, remove it.
    
    Signed-off-by: Rodrigo Siqueira <rodrigosiqueiramelo@gmail.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: kernel-janitors@vger.kernel.org
    Link: https://lkml.kernel.org/r/20171215131533.hp6kqebw45o7uvsb@smtp.gmail.com
    rodrigosiqueira authored and KAGA-KOKO committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    7ac139e View commit details
    Browse the repository at this point in the history
  9. x86-32: Fix kexec with stack canary (CONFIG_CC_STACKPROTECTOR)

    Commit e802a51 ("x86/idt: Consolidate IDT invalidation") cleaned up
    and unified the IDT invalidation that existed in a couple of places.  It
    changed no actual real code.
    
    Despite not changing any actual real code, it _did_ change code generation:
    by implementing the common idt_invalidate() function in
    archx86/kernel/idt.c, it made the use of the function in
    arch/x86/kernel/machine_kexec_32.c be a real function call rather than an
    (accidental) inlining of the function.
    
    That, in turn, exposed two issues:
    
     - in load_segments(), we had incorrectly reset all the segment
       registers, which then made the stack canary load (which gcc does
       using offset of %gs) cause a trap.  Instead of %gs pointing to the
       stack canary, it will be the normal zero-based kernel segment, and
       the stack canary load will take a page fault at address 0x14.
    
     - to make this even harder to debug, we had invalidated the GDT just
       before calling idt_invalidate(), which meant that the fault happened
       with an invalid GDT, which in turn causes a triple fault and
       immediate reboot.
    
    Fix this by
    
     (a) not reloading the special segments in load_segments(). We currently
         don't do any percpu accesses (which would require %fs on x86-32) in
         this area, but there's no reason to think that we might not want to
         do them, and like %gs, it's pointless to break it.
    
     (b) doing idt_invalidate() before invalidating the GDT, to keep things
         at least _slightly_ more debuggable for a bit longer. Without a
         IDT, traps will not work. Without a GDT, traps also will not work,
         but neither will any segment loads etc. So in a very real sense,
         the GDT is even more core than the IDT.
    
    Fixes: e802a51 ("x86/idt: Consolidate IDT invalidation")
    Reported-and-tested-by: Alexandru Chirvasitu <achirvasub@gmail.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/alpine.LFD.2.21.1712271143180.8572@i7.lan
    torvalds authored and KAGA-KOKO committed Dec 27, 2017
    Configuration menu
    Copy the full SHA
    ac46112 View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2017

  1. sparc64: repair calling incorrect hweight function from stubs

    Commit v4.12-rc4-1-g9289ea7f952b introduced a mistake that made the
    64-bit hweight stub call the 16-bit hweight function.
    
    Fixes: 9289ea7 ("sparc64: Use indirect calls in hamming weight stubs")
    Signed-off-by: Jan Engelhardt <jengelh@inai.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    jengelh authored and davem330 committed Dec 28, 2017
    Configuration menu
    Copy the full SHA
    59585b4 View commit details
    Browse the repository at this point in the history
  2. kernel/irq: Extend lockdep class for request mutex

    The IRQ code already has support for lockdep class for the lock mutex
    in an interrupt descriptor. Extend this to add a second class for the
    request mutex in the descriptor. Not having a class is resulting in
    false positive splats in some code paths.
    
    Signed-off-by: Andrew Lunn <andrew@lunn.ch>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: linus.walleij@linaro.org
    Cc: grygorii.strashko@ti.com
    Cc: f.fainelli@gmail.com
    Link: https://lkml.kernel.org/r/1512234664-21555-1-git-send-email-andrew@lunn.ch
    lunn authored and KAGA-KOKO committed Dec 28, 2017
    Configuration menu
    Copy the full SHA
    39c3fd5 View commit details
    Browse the repository at this point in the history
  3. genirq: Guard handle_bad_irq log messages

    An interrupt storm on a bad interrupt will cause the kernel
    log to be clogged.
    
    [   60.089234] ->handle_irq():  ffffffffbe2f803f,
    [   60.090455] 0xffffffffbf2af380
    [   60.090510] handle_bad_irq+0x0/0x2e5
    [   60.090522] ->irq_data.chip(): ffffffffbf2af380,
    [   60.090553]    IRQ_NOPROBE set
    [   60.090584] ->handle_irq():  ffffffffbe2f803f,
    [   60.090590] handle_bad_irq+0x0/0x2e5
    [   60.090596] ->irq_data.chip(): ffffffffbf2af380,
    [   60.090602] 0xffffffffbf2af380
    [   60.090608] ->action():           (null)
    [   60.090779] handle_bad_irq+0x0/0x2e5
    
    This was seen when running an upstream kernel on Acer Chromebook R11.  The
    system was unstable as result.
    
    Guard the log message with __printk_ratelimit to reduce the impact.  This
    won't prevent the interrupt storm from happening, but at least the system
    remains stable.
    
    Signed-off-by: Guenter Roeck <linux@roeck-us.net>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Dmitry Torokhov <dtor@chromium.org>
    Cc: Joe Perches <joe@perches.com>
    Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
    Link: https://bugzilla.kernel.org/show_bug.cgi?id=197953
    Link: https://lkml.kernel.org/r/1512234784-21038-1-git-send-email-linux@roeck-us.net
    groeck authored and KAGA-KOKO committed Dec 28, 2017
    Configuration menu
    Copy the full SHA
    11bca0a View commit details
    Browse the repository at this point in the history
  4. x86/apic: Avoid wrong warning when parsing 'apic=' in X86-32 case

    There are two consumers of apic=:
      apic_set_verbosity() for setting the APIC debug level;
      parse_apic() for registering APIC driver by hand.
    
    X86-32 supports both of them, but sometimes, kernel issues a weird warning.
    eg: when kernel was booted up with 'apic=bigsmp' in command line,
    early_param would warn like that:
    
    ...
    [    0.000000] APIC Verbosity level bigsmp not recognised use apic=verbose or apic=debug
    [    0.000000] Malformed early option 'apic'
    ...
    
    Wrap the warning code in CONFIG_X86_64 case to avoid this.
    
    Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: peterz@infradead.org
    Cc: rdunlap@infradead.org
    Cc: corbet@lwn.net
    Link: https://lkml.kernel.org/r/20171204040313.24824-1-douly.fnst@cn.fujitsu.com
    douliyang authored and KAGA-KOKO committed Dec 28, 2017
    Configuration menu
    Copy the full SHA
    4fcab66 View commit details
    Browse the repository at this point in the history
  5. x86/apic: Update the 'apic=' description of setting APIC driver

    There are two consumers of apic=: the APIC debug level and the low
    level generic architecture code, but Linux just documented the first
    one.
    
    Append the second description.
    
    Signed-off-by: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: peterz@infradead.org
    Cc: rdunlap@infradead.org
    Cc: corbet@lwn.net
    Link: https://lkml.kernel.org/r/20171204040313.24824-2-douly.fnst@cn.fujitsu.com
    douliyang authored and KAGA-KOKO committed Dec 28, 2017
    Configuration menu
    Copy the full SHA
    64e05d1 View commit details
    Browse the repository at this point in the history
  6. objtool: Fix Clang enum conversion warning

    Fix the following Clang enum conversion warning:
    
      arch/x86/decode.c:141:20: error: implicit conversion from enumeration
      type 'enum op_src_type' to different enumeration
      type 'enum op_dest_type' [-Werror,-Wenum-conversion]
    
        op->dest.type = OP_SRC_REG;
    		  ~ ^~~~~~~~~~
    
    It just happened to work before because OP_SRC_REG and OP_DEST_REG have
    the same value.
    
    Signed-off-by: Lukas Bulwahn <lukas.bulwahn@gmail.com>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Reviewed-by: Nicholas Mc Guire <der.herr@hofr.at>
    Reviewed-by: Nick Desaulniers <nick.desaulniers@gmail.com>
    Cc: Jiri Slaby <jslaby@suse.cz>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Fixes: baa4146 ("objtool: Implement stack validation 2.0")
    Link: http://lkml.kernel.org/r/b4156c5738bae781c392e7a3691aed4514ebbdf2.1514323568.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    bulwahn authored and Ingo Molnar committed Dec 28, 2017
    Configuration menu
    Copy the full SHA
    e7e83dd View commit details
    Browse the repository at this point in the history

Commits on Dec 29, 2017

  1. x86/apic: Switch all APICs to Fixed delivery mode

    Some of the APIC incarnations are operating in lowest priority delivery
    mode. This worked as long as the vector management code allocated the same
    vector on all possible CPUs for each interrupt.
    
    Lowest priority delivery mode does not necessarily respect the affinity
    setting and may redirect to some other online CPU. This was documented
    somewhere in the old code and the conversion to single target delivery
    missed to update the delivery mode of the affected APIC drivers which
    results in spurious interrupts on some of the affected CPU/Chipset
    combinations.
    
    Switch the APIC drivers over to Fixed delivery mode and remove all
    leftovers of lowest priority delivery mode.
    
    Switching to Fixed delivery mode is not a problem on these CPUs because the
    kernel already uses Fixed delivery mode for IPIs. The reason for this is
    that th SDM explicitely forbids lowest prio mode for IPIs. The reason is
    obvious: If the irq routing does not honor destination targets in lowest
    prio mode then an IPI targeted at CPU1 might end up on CPU0, which would be
    a fatal problem in many cases.
    
    As a consequence of this change, the apic::irq_delivery_mode field is now
    pointless, but this needs to be cleaned up in a separate patch.
    
    Fixes: fdba46f ("x86/apic: Get rid of multi CPU affinity")
    Reported-by: vcaputo@pengaru.com
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: vcaputo@pengaru.com
    Cc: Pavel Machek <pavel@ucw.cz>
    Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1712281140440.1688@nanos
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    a31e58e View commit details
    Browse the repository at this point in the history
  2. gpio: brcmstb: Make really use of the new lockdep class

    The recent extension of irq_set_lockdep_class() with a second argument
    added the new lockdep class to the mrcmstb driver, but used the already
    existing lockdep class as second argument, which leaves the new lockdep
    class defined but unused.
    
    Use the new lockdep class as that's what the change intended to do.
    
    Fixes: 39c3fd5 ("kernel/irq: Extend lockdep class for request mutex")
    Reported-by: Ingo Molnar <mingo@kernel.org>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Andrew Lunn <andrew@lunn.ch>
    Cc: linus.walleij@linaro.org
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    8880c13 View commit details
    Browse the repository at this point in the history
  3. genirq/msi: Handle reactivation only on success

    When analyzing the fallout of the x86 vector allocation rework it turned
    out that the error handling in msi_domain_alloc_irqs() is broken.
    
    If MSI_FLAG_MUST_REACTIVATE is set for a MSI domain then it clears the
    activation flag for a successfully initialized msi descriptor. If a
    subsequent initialization fails then the error handling code path does not
    deactivate the interrupt because the activation flag got cleared.
    
    Move the clearing of the activation flag outside of the initialization loop
    so that an eventual failure can be cleaned up correctly.
    
    Fixes: 22d0b12 ("genirq/irqdomain: Add force reactivation flag to irq domains")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Alexandru Chirvasitu <achirvasub@gmail.com>
    Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: Mikael Pettersson <mikpelinux@gmail.com>
    Cc: Josh Poulson <jopoulso@microsoft.com>
    Cc: Mihai Costache <v-micos@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: linux-pci@vger.kernel.org
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: Dexuan Cui <decui@microsoft.com>
    Cc: Simon Xiao <sixiao@microsoft.com>
    Cc: Saeed Mahameed <saeedm@mellanox.com>
    Cc: Jork Loeser <Jork.Loeser@microsoft.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: devel@linuxdriverproject.org
    Cc: KY Srinivasan <kys@microsoft.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Cc: Sakari Ailus <sakari.ailus@intel.com>,
    Cc: linux-media@vger.kernel.org
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    da5dd9e View commit details
    Browse the repository at this point in the history
  4. genirq: Introduce IRQD_CAN_RESERVE flag

    Add a new flag to mark interrupts which can use reservation mode. This is
    going to be used in subsequent patches to disable reservation mode for a
    certain class of MSI devices.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Alexandru Chirvasitu <achirvasub@gmail.com>
    Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: Mikael Pettersson <mikpelinux@gmail.com>
    Cc: Josh Poulson <jopoulso@microsoft.com>
    Cc: Mihai Costache <v-micos@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: linux-pci@vger.kernel.org
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: Dexuan Cui <decui@microsoft.com>
    Cc: Simon Xiao <sixiao@microsoft.com>
    Cc: Saeed Mahameed <saeedm@mellanox.com>
    Cc: Jork Loeser <Jork.Loeser@microsoft.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: devel@linuxdriverproject.org
    Cc: KY Srinivasan <kys@microsoft.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Cc: Sakari Ailus <sakari.ailus@intel.com>,
    Cc: linux-media@vger.kernel.org
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    69790ba View commit details
    Browse the repository at this point in the history
  5. x86/vector: Use IRQD_CAN_RESERVE flag

    Set the new CAN_RESERVE flag when the initial reservation for an interrupt
    happens. The flag is used in a subsequent patch to disable reservation mode
    for a certain class of MSI devices.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Alexandru Chirvasitu <achirvasub@gmail.com>
    Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: Mikael Pettersson <mikpelinux@gmail.com>
    Cc: Josh Poulson <jopoulso@microsoft.com>
    Cc: Mihai Costache <v-micos@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: linux-pci@vger.kernel.org
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: Dexuan Cui <decui@microsoft.com>
    Cc: Simon Xiao <sixiao@microsoft.com>
    Cc: Saeed Mahameed <saeedm@mellanox.com>
    Cc: Jork Loeser <Jork.Loeser@microsoft.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: devel@linuxdriverproject.org
    Cc: KY Srinivasan <kys@microsoft.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Cc: Sakari Ailus <sakari.ailus@intel.com>,
    Cc: linux-media@vger.kernel.org
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    945f50a View commit details
    Browse the repository at this point in the history
  6. genirq/irqdomain: Rename early argument of irq_domain_activate_irq()

    The 'early' argument of irq_domain_activate_irq() is actually used to
    denote reservation mode. To avoid confusion, rename it before abuse
    happens.
    
    No functional change.
    
    Fixes: 7249164 ("genirq/irqdomain: Update irq_domain_ops.activate() signature")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Alexandru Chirvasitu <achirvasub@gmail.com>
    Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: Mikael Pettersson <mikpelinux@gmail.com>
    Cc: Josh Poulson <jopoulso@microsoft.com>
    Cc: Mihai Costache <v-micos@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: linux-pci@vger.kernel.org
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: Dexuan Cui <decui@microsoft.com>
    Cc: Simon Xiao <sixiao@microsoft.com>
    Cc: Saeed Mahameed <saeedm@mellanox.com>
    Cc: Jork Loeser <Jork.Loeser@microsoft.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: devel@linuxdriverproject.org
    Cc: KY Srinivasan <kys@microsoft.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Cc: Sakari Ailus <sakari.ailus@intel.com>,
    Cc: linux-media@vger.kernel.org
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    702cb0a View commit details
    Browse the repository at this point in the history
  7. genirq/msi, x86/vector: Prevent reservation mode for non maskable MSI

    The new reservation mode for interrupts assigns a dummy vector when the
    interrupt is allocated and assigns a real vector when the interrupt is
    requested. The reservation mode prevents vector pressure when devices with
    a large amount of queues/interrupts are initialized, but only a minimal
    subset of those queues/interrupts is actually used.
    
    This mode has an issue with MSI interrupts which cannot be masked. If the
    driver is not careful or the hardware emits an interrupt before the device
    irq is requestd by the driver then the interrupt ends up on the dummy
    vector as a spurious interrupt which can cause malfunction of the device or
    in the worst case a lockup of the machine.
    
    Change the logic for the reservation mode so that the early activation of
    MSI interrupts checks whether:
    
     - the device is a PCI/MSI device
     - the reservation mode of the underlying irqdomain is activated
     - PCI/MSI masking is globally enabled
     - the PCI/MSI device uses either MSI-X, which supports masking, or
       MSI with the maskbit supported.
    
    If one of those conditions is false, then clear the reservation mode flag
    in the irq data of the interrupt and invoke irq_domain_activate_irq() with
    the reserve argument cleared. In the x86 vector code, clear the can_reserve
    flag in the vector allocation data so a subsequent free_irq() won't create
    the same situation again. The interrupt stays assigned to a real vector
    until pci_disable_msi() is invoked and all allocations are undone.
    
    Fixes: 4900be8 ("x86/vector/msi: Switch to global reservation mode")
    Reported-by: Alexandru Chirvasitu <achirvasub@gmail.com>
    Reported-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Tested-by: Alexandru Chirvasitu <achirvasub@gmail.com>
    Tested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
    Cc: Dou Liyang <douly.fnst@cn.fujitsu.com>
    Cc: Pavel Machek <pavel@ucw.cz>
    Cc: Maciej W. Rozycki <macro@linux-mips.org>
    Cc: Mikael Pettersson <mikpelinux@gmail.com>
    Cc: Josh Poulson <jopoulso@microsoft.com>
    Cc: Mihai Costache <v-micos@microsoft.com>
    Cc: Stephen Hemminger <sthemmin@microsoft.com>
    Cc: Marc Zyngier <marc.zyngier@arm.com>
    Cc: linux-pci@vger.kernel.org
    Cc: Haiyang Zhang <haiyangz@microsoft.com>
    Cc: Dexuan Cui <decui@microsoft.com>
    Cc: Simon Xiao <sixiao@microsoft.com>
    Cc: Saeed Mahameed <saeedm@mellanox.com>
    Cc: Jork Loeser <Jork.Loeser@microsoft.com>
    Cc: Bjorn Helgaas <bhelgaas@google.com>
    Cc: devel@linuxdriverproject.org
    Cc: KY Srinivasan <kys@microsoft.com>
    Cc: Alan Cox <alan@linux.intel.com>
    Cc: Sakari Ailus <sakari.ailus@intel.com>,
    Cc: linux-media@vger.kernel.org
    Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1712291406420.1899@nanos
    Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1712291409460.1899@nanos
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    bc97623 View commit details
    Browse the repository at this point in the history
  8. timers: Use deferrable base independent of base::nohz_active

    During boot and before base::nohz_active is set in the timer bases, deferrable
    timers are enqueued into the standard timer base. This works correctly as
    long as base::nohz_active is false.
    
    Once it base::nohz_active is set and a timer which was enqueued before that
    is accessed the lock selector code choses the lock of the deferred
    base. This causes unlocked access to the standard base and in case the
    timer is removed it does not clear the pending flag in the standard base
    bitmap which causes get_next_timer_interrupt() to return bogus values.
    
    To prevent that, the deferrable timers must be enqueued in the deferrable
    base, even when base::nohz_active is not set. Those deferrable timers also
    need to be expired unconditional.
    
    Fixes: 500462a ("timers: Switch to a non-cascading wheel")
    Signed-off-by: Anna-Maria Gleixner <anna-maria@linutronix.de>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Reviewed-by: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: stable@vger.kernel.org
    Cc: rt@linutronix.de
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Link: https://lkml.kernel.org/r/20171222145337.633328378@linutronix.de
    anna-marialx authored and KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    ced6d5c View commit details
    Browse the repository at this point in the history
  9. timers: Reinitialize per cpu bases on hotplug

    The timer wheel bases are not (re)initialized on CPU hotplug. That leaves
    them with a potentially stale clk and next_expiry valuem, which can cause
    trouble then the CPU is plugged.
    
    Add a prepare callback which forwards the clock, sets next_expiry to far in
    the future and reset the control flags to a known state.
    
    Set base->must_forward_clk so the first timer which is queued will try to
    forward the clock to current jiffies.
    
    Fixes: 500462a ("timers: Switch to a non-cascading wheel")
    Reported-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: Anna-Maria Gleixner <anna-maria@linutronix.de>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1712272152200.2431@nanos
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    26456f8 View commit details
    Browse the repository at this point in the history
  10. nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()

    The conditions in irq_exit() to invoke tick_nohz_irq_exit() which
    subsequently invokes tick_nohz_stop_sched_tick() are:
    
      if ((idle_cpu(cpu) && !need_resched()) || tick_nohz_full_cpu(cpu))
    
    If need_resched() is not set, but a timer softirq is pending then this is
    an indication that the softirq code punted and delegated the execution to
    softirqd. need_resched() is not true because the current interrupted task
    takes precedence over softirqd.
    
    Invoking tick_nohz_irq_exit() in this case can cause an endless loop of
    timer interrupts because the timer wheel contains an expired timer, but
    softirqs are not yet executed. So it returns an immediate expiry request,
    which causes the timer to fire immediately again. Lather, rinse and
    repeat....
    
    Prevent that by adding a check for a pending timer soft interrupt to the
    conditions in tick_nohz_stop_sched_tick() which avoid calling
    get_next_timer_interrupt(). That keeps the tick sched timer on the tick and
    prevents a repetitive programming of an already expired timer.
    
    Reported-by: Sebastian Siewior <bigeasy@linutronix.d>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Acked-by: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Anna-Maria Gleixner <anna-maria@linutronix.de>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: stable@vger.kernel.org
    Link: https://lkml.kernel.org/r/alpine.DEB.2.20.1712272156050.2431@nanos
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    5d62c18 View commit details
    Browse the repository at this point in the history
  11. timers: Invoke timer_start_debug() where it makes sense

    The timer start debug function is called before the proper timer base is
    set. As a consequence the trace data contains the stale CPU and flags
    values.
    
    Call the debug function after setting the new base and flags.
    
    Fixes: 500462a ("timers: Switch to a non-cascading wheel")
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: stable@vger.kernel.org
    Cc: rt@linutronix.de
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Anna-Maria Gleixner <anna-maria@linutronix.de>
    Link: https://lkml.kernel.org/r/20171222145337.792907137@linutronix.de
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    fd45bb7 View commit details
    Browse the repository at this point in the history
  12. timerqueue: Document return values of timerqueue_add/del()

    The return values of timerqueue_add/del() are not documented in the kernel doc
    comment. Add proper documentation.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Frederic Weisbecker <fweisbec@gmail.com>
    Cc: Sebastian Siewior <bigeasy@linutronix.de>
    Cc: rt@linutronix.de
    Cc: Paul McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Anna-Maria Gleixner <anna-maria@linutronix.de>
    Link: https://lkml.kernel.org/r/20171222145337.872681338@linutronix.de
    KAGA-KOKO committed Dec 29, 2017
    Configuration menu
    Copy the full SHA
    9f4533c View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2017

  1. kbuild: add '-fno-stack-check' to kernel build options

    It appears that hardened gentoo enables "-fstack-check" by default for
    gcc.
    
    That doesn't work _at_all_ for the kernel, because the kernel stack
    doesn't act like a user stack at all: it's much smaller, and it doesn't
    auto-expand on use.  So the extra "probe one page below the stack" code
    generated by -fstack-check just breaks the kernel in horrible ways,
    causing infinite double faults etc.
    
    [ I have to say, that the particular code gcc generates looks very
      stupid even for user space where it works, but that's a separate
      issue.  ]
    
    Reported-and-tested-by: Alexander Tsoy <alexander@tsoy.me>
    Reported-and-tested-by: Toralf Förster <toralf.foerster@gmx.de>
    Cc: stable@kernel.org
    Cc: Dave Hansen <dave.hansen@intel.com>
    Cc: Jiri Kosina <jikos@kernel.org>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    torvalds committed Dec 30, 2017
    Configuration menu
    Copy the full SHA
    3ce120b View commit details
    Browse the repository at this point in the history
  2. Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/jikos/hid
    
    Pull HID fixes from Jiri Kosina:
    
     - two cosmetic fixes from Daniel Axtens and Hans de Goede
    
     - fix for I2C command mismatch fix for cp2112 driver from Eudean Sun
    
    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid:
      HID: core: lower log level for unknown main item tags to warnings
      HID: holtekff: move MODULE_* parameters out of #ifdef block
      HID: cp2112: Fix I2C_BLOCK_DATA transactions
    torvalds committed Dec 30, 2017
    Configuration menu
    Copy the full SHA
    efdd17f View commit details
    Browse the repository at this point in the history
  3. objtool: Fix seg fault caused by missing parameter

    Fix a seg fault when no parameter is provided to 'objtool orc'.
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/9172803ec7ebb72535bcd0b7f966ae96d515968e.1514666459.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    emersion authored and Ingo Molnar committed Dec 30, 2017
    Configuration menu
    Copy the full SHA
    d89e426 View commit details
    Browse the repository at this point in the history
  4. objtool: Fix seg fault with clang-compiled objects

    Fix a seg fault which happens when an input file provided to 'objtool
    orc generate' doesn't have a '.shstrtab' section (for instance, object
    files produced by clang don't have this section).
    
    Signed-off-by: Simon Ser <contact@emersion.fr>
    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/c0f2231683e9bed40fac1f13ce2c33b8389854bc.1514666459.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    emersion authored and Ingo Molnar committed Dec 30, 2017
    Configuration menu
    Copy the full SHA
    ce90aaf View commit details
    Browse the repository at this point in the history
  5. Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/g…

    …it/jejb/scsi
    
    Pull SCSI fixes from James Bottomley:
     "Two simple fixes, both of which cause I/O hangs.
    
      The storvsc one is from the hyper-v which can hang under certain hot
      add/remove conditions and the other is generally, where removing a
      target and a device in close proximity can result in the release
      method being executed twice (and subsequent list and other corruption
      and an eventual panic)"
    
    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
      scsi: storvsc: Fix scsi_cmd error assignments in storvsc_handle_error
      scsi: core: check for device state in __scsi_remove_target()
    torvalds committed Dec 30, 2017
    Configuration menu
    Copy the full SHA
    71ee203 View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2017

  1. x86/smpboot: Remove stale TLB flush invocations

    smpboot_setup_warm_reset_vector() and smpboot_restore_warm_reset_vector()
    invoke local_flush_tlb() for no obvious reason.
    
    Digging in history revealed that the original code in the 2.1 era added
    those because the code manipulated a swapper_pg_dir pagetable entry. The
    pagetable manipulation was removed long ago in the 2.3 timeframe, but the
    TLB flush invocations stayed around forever.
    
    Remove them along with the pointless pr_debug()s which come from the same 2.1
    change.
    
    Reported-by: Dominik Brodowski <linux@dominikbrodowski.net>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: <stable@vger.kernel.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linuxfoundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20171230211829.586548655@linutronix.de
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    KAGA-KOKO authored and Ingo Molnar committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    322f8b8 View commit details
    Browse the repository at this point in the history
  2. x86/mm: Remove preempt_disable/enable() from __native_flush_tlb()

    The preempt_disable/enable() pair in __native_flush_tlb() was added in
    commit:
    
      5cf0791 ("x86/mm: Disable preemption during CR3 read+write")
    
    ... to protect the UP variant of flush_tlb_mm_range().
    
    That preempt_disable/enable() pair should have been added to the UP variant
    of flush_tlb_mm_range() instead.
    
    The UP variant was removed with commit:
    
      ce4a4e5 ("x86/mm: Remove the UP asm/tlbflush.h code, always use the (formerly) SMP code")
    
    ... but the preempt_disable/enable() pair stayed around.
    
    The latest change to __native_flush_tlb() in commit:
    
      6fd166a ("x86/mm: Use/Fix PCID to optimize user/kernel switches")
    
    ... added an access to a per CPU variable outside the preempt disabled
    regions, which makes no sense at all. __native_flush_tlb() must always
    be called with at least preemption disabled.
    
    Remove the preempt_disable/enable() pair and add a WARN_ON_ONCE() to catch
    bad callers independent of the smp_processor_id() debugging.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: <stable@vger.kernel.org>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Dominik Brodowski <linux@dominikbrodowski.net>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linuxfoundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: http://lkml.kernel.org/r/20171230211829.679325424@linutronix.de
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    KAGA-KOKO authored and Ingo Molnar committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    decab08 View commit details
    Browse the repository at this point in the history
  3. x86/ldt: Plug memory leak in error path

    The error path in write_ldt() tries to free 'old_ldt' instead of the newly
    allocated 'new_ldt', resulting in a memory leak. It also misses to clean up a
    half populated LDT pagetable, which is not a leak as it gets cleaned up
    when the process exits.
    
    Free both the potentially half populated LDT pagetable and the newly
    allocated LDT struct. This can be done unconditionally because once an LDT
    is mapped subsequent maps will succeed, because the PTE page is already
    populated and the two LDTs fit into that single page.
    
    Reported-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Dominik Brodowski <linux@dominikbrodowski.net>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Linus Torvalds <torvalds@linuxfoundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Fixes: f55f050 ("x86/pti: Put the LDT in its own PGD if PTI is on")
    Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1712311121340.1899@nanos
    Signed-off-by: Ingo Molnar <mingo@kernel.org>
    KAGA-KOKO authored and Ingo Molnar committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    a62d698 View commit details
    Browse the repository at this point in the history
  4. x86/ldt: Make LDT pgtable free conditional

    Andy prefers to be paranoid about the pagetable free in the error path of
    write_ldt(). Make it conditional and warn whenever the installment of a
    secondary LDT fails.
    
    Requested-by: Andy Lutomirski <luto@amacapital.net>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    KAGA-KOKO committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    7f41419 View commit details
    Browse the repository at this point in the history
  5. Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc

    Pull sparc bugfix from David Miller.
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
      sparc64: repair calling incorrect hweight function from stubs
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    6bba94d View commit details
    Browse the repository at this point in the history
  6. MAINTAINERS: mark arch/blackfin/ and its gubbins as orphaned

    The blackfin architecture has seen no maintainer action of any kind since
    April 2015.  No new code, no pull requests, no acks to patches, no response
    to mails, nothing.
    
    The web site has an expired certificate (expiration Sep 2017, issued in
    2013), the mailing list sees no answers either, with one exception:
    
      https://sourceforge.net/p/adi-buildroot/mailman/adi-buildroot-devel/
      >
      > Steven is no longer working on this for ADI. Acked by me if this works. Thanks.
      >
      > Best regards,
      > Aaron Wu
      > Analog Devices Inc.
    
    But, Aaron doesn't seem to respond to queries either.
    
    Signed-off-by: Adam Borowski <kilobyte@angband.pl>
    Acked-by: Linus Walleij <linus.walleij@linaro.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    kilobyte authored and torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    c0b2390 View commit details
    Browse the repository at this point in the history
  7. Merge tag 'usb-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/usb
    
    Pull USB/PHY fixes from Greg KH:
     "Here are a number of small USB and PHY driver fixes for 4.15-rc6.
    
      Nothing major, but there are a number of regression fixes in here that
      resolve issues that have been reported a bunch. There are also the
      usual xhci fixes as well as a number of new usb serial device ids.
    
      All of these have been in linux-next for a while with no reported
      issues"
    
    * tag 'usb-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
      usb: xhci: Add XHCI_TRUST_TX_LENGTH for Renesas uPD720201
      xhci: Fix use-after-free in xhci debugfs
      xhci: Fix xhci debugfs NULL pointer dereference in resume from hibernate
      USB: serial: ftdi_sio: add id for Airbus DS P8GR
      usb: Add device quirk for Logitech HD Pro Webcam C925e
      usb: add RESET_RESUME for ELSA MicroLink 56K
      usbip: fix usbip bind writing random string after command in match_busid
      usbip: stub_rx: fix static checker warning on unnecessary checks
      usbip: prevent leaking socket pointer address in messages
      usbip: stub: stop printing kernel pointer addresses in messages
      usbip: vhci: stop printing kernel pointer addresses in messages
      USB: Fix off by one in type-specific length check of BOS SSP capability
      USB: serial: option: adding support for YUGA CLM920-NC5
      phy: rcar-gen3-usb2: select USB_COMMON
      phy: rockchip-typec: add pm_runtime_disable in err case
      phy: cpcap-usb: Fix platform_get_irq_byname's error checking.
      phy: tegra: fix device-tree node lookups
      USB: serial: qcserial: add Sierra Wireless EM7565
      USB: serial: option: add support for Telit ME910 PID 0x1101
      USB: chipidea: msm: fix ulpi-node lookup
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    a9746e4 View commit details
    Browse the repository at this point in the history
  8. Merge tag 'tty-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel…

    …/git/gregkh/tty
    
    Pull TTY fix from Greg KH:
     "Here is a single tty fix for a reported issue that you wrote the patch
      for :)
    
      It's been in linux-next for a week or so with no reported issues"
    
    * tag 'tty-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
      n_tty: fix EXTPROC vs ICANON interaction with TIOCINQ (aka FIONREAD)
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    bc7236f View commit details
    Browse the repository at this point in the history
  9. Merge tag 'staging-4.15-rc6' of git://git.kernel.org/pub/scm/linux/ke…

    …rnel/git/gregkh/staging
    
    Pull staging fixes from Greg KH:
     "Here are three staging driver fixes for 4.15-rc6
    
      The first resolves a bug in the lustre driver that came about due to a
      broken cleanup patch, due to crazy list usage in that codebase.
    
      The remaining two are ion driver fixes, finally getting the CMA
      interaction to work properly, resolving two regressions in that area
      of the code.
    
      All have been in linux-next with no reported issues for a while"
    
    * tag 'staging-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
      staging: android: ion: Fix dma direction for dma_sync_sg_for_cpu/device
      staging: ion: Fix ion_cma_heap allocations
      staging: lustre: lnet: Fix recent breakage from list_for_each conversion
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    29a9b00 View commit details
    Browse the repository at this point in the history
  10. Merge tag 'driver-core-4.15-rc6' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/gregkh/driver-core
    
    Pull driver core fixes from Greg KH:
     "Here are two driver core fixes for 4.15-rc6, resolving some reported
      issues.
    
      The first is a cacheinfo fix for DT based systems to resolve a
      reported issue that has been around for a while, and the other is to
      resolve a regression in the kobject uevent code that showed up in
      4.15-rc1.
    
      Both have been in linux-next for a while with no reported issues"
    
    * tag 'driver-core-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
      kobject: fix suppressing modalias in uevents delivered over netlink
      drivers: base: cacheinfo: fix cache type for non-architected system cache
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    4288e6b View commit details
    Browse the repository at this point in the history
  11. Merge tag 'char-misc-4.15-rc6' of git://git.kernel.org/pub/scm/linux/…

    …kernel/git/gregkh/char-misc
    
    Pull char/misc fixes from Greg KH:
     "Here are six small fixes of some of the char/misc drivers that have
      been sent in to resolve reported issues.
    
      Nothing major, a binder use-after-free fix, some thunderbolt bugfixes,
      a hyper-v bugfix, and an nvmem driver fix. All of these have been in
      linux-next with no reported issues for a while"
    
    * tag 'char-misc-4.15-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
      nvmem: meson-mx-efuse: fix reading from an offset other than 0
      binder: fix proc->files use-after-free
      vmbus: unregister device_obj->channels_kset
      thunderbolt: Mask ring interrupt properly when polling starts
      MAINTAINERS: Add thunderbolt.rst to the Thunderbolt driver entry
      thunderbolt: Make pathname to force_power shorter
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    8371e5a View commit details
    Browse the repository at this point in the history
  12. Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull objtool fixes from Thomas Gleixner:
     "Three fixlets for objtool:
    
       - Address two segfaults related to missing parameter and clang
         objects
    
       - Make it compile clean with clang"
    
    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      objtool: Fix seg fault with clang-compiled objects
      objtool: Fix seg fault caused by missing parameter
      objtool: Fix Clang enum conversion warning
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    31336ed View commit details
    Browse the repository at this point in the history
  13. Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull irq fixes from Thomas Gleixner:
     "A rather large update after the kaisered maintainer finally found time
      to handle regression reports.
    
       - The larger part addresses a regression caused by the x86 vector
         management rework.
    
         The reservation based model does not work reliably for MSI
         interrupts, if they cannot be masked (yes, yet another hw
         engineering trainwreck). The reason is that the reservation mode
         assigns a dummy vector when the interrupt is allocated and switches
         to a real vector when the interrupt is requested.
    
         If the MSI entry cannot be masked then the initialization might
         raise an interrupt before the interrupt is requested, which ends up
         as spurious interrupt and causes device malfunction and worse. The
         fix is to exclude MSI interrupts which do not support masking from
         reservation mode and assign a real vector right away.
    
       - Extend the extra lockdep class setup for nested interrupts with a
         class for the recently added irq_desc::request_mutex so lockdep can
         differeniate and does not emit false positive warnings.
    
       - A ratelimit guard for the bad irq printout so in case a bad irq
         comes back immediately the system does not drown in dmesg spam"
    
    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      genirq/msi, x86/vector: Prevent reservation mode for non maskable MSI
      genirq/irqdomain: Rename early argument of irq_domain_activate_irq()
      x86/vector: Use IRQD_CAN_RESERVE flag
      genirq: Introduce IRQD_CAN_RESERVE flag
      genirq/msi: Handle reactivation only on success
      gpio: brcmstb: Make really use of the new lockdep class
      genirq: Guard handle_bad_irq log messages
      kernel/irq: Extend lockdep class for request mutex
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    88fa025 View commit details
    Browse the repository at this point in the history
  14. Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/…

    …linux/kernel/git/tip/tip
    
    Pull perf fixes from Thomas Gleixner:
    
     - plug a memory leak in the intel pmu init code
    
     - clang fixes
    
     - tooling fix to avoid including kernel headers
    
     - a fix for jvmti to generate correct debug information for inlined
       code
    
     - replace backtick with a regular shell function
    
     - fix the build in hardened environments
    
    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      perf/x86/intel: Plug memory leak in intel_pmu_init()
      x86/asm: Allow again using asm.h when building for the 'bpf' clang target
      tools arch s390: Do not include header files from the kernel sources
      perf jvmti: Generate correct debug information for inlined code
      perf tools: Fix up build in hardened environments
      perf tools: Use shell function for perl cflags retrieval
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    e7c632f View commit details
    Browse the repository at this point in the history
  15. Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm…

    …/linux/kernel/git/tip/tip
    
    Pull scheduler fixes from Thomas Gleixner:
     "Three patches addressing the fallout of the CPU_ISOLATION changes
      especially with NO_HZ_FULL plus documentation of boot parameter
      dependency"
    
    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      sched/isolation: Document boot parameters dependency on CONFIG_CPU_ISOLATION=y
      sched/isolation: Enable CONFIG_CPU_ISOLATION=y by default
      sched/isolation: Make CONFIG_NO_HZ_FULL select CONFIG_CPU_ISOLATION
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    4c47031 View commit details
    Browse the repository at this point in the history
  16. Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/l…

    …inux/kernel/git/tip/tip
    
    Pull smp fixlet from Thomas Gleixner:
     "A trivial build warning fix for newer compilers"
    
    * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      cpu/hotplug: Move inline keyword at the beginning of declaration
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    8d517bd View commit details
    Browse the repository at this point in the history
  17. Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/sc…

    …m/linux/kernel/git/tip/tip
    
    Pull timer fixes from Thomas Gleixner:
     "A pile of fixes for long standing issues with the timer wheel and the
      NOHZ code:
    
       - Prevent timer base confusion accross the nohz switch, which can
         cause unlocked access and data corruption
    
       - Reinitialize the stale base clock on cpu hotplug to prevent subtle
         side effects including rollovers on 32bit
    
       - Prevent an interrupt storm when the timer softirq is already
         pending caused by tick_nohz_stop_sched_tick()
    
       - Move the timer start tracepoint to a place where it actually makes
         sense
    
       - Add documentation to timerqueue functions as they caused confusion
         several times now"
    
    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      timerqueue: Document return values of timerqueue_add/del()
      timers: Invoke timer_start_debug() where it makes sense
      nohz: Prevent a timer interrupt storm in tick_nohz_stop_sched_tick()
      timers: Reinitialize per cpu bases on hotplug
      timers: Use deferrable base independent of base::nohz_active
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    cea92e8 View commit details
    Browse the repository at this point in the history
  18. Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linu…

    …x/kernel/git/tip/tip
    
    Pull x86 page table isolation fixes from Thomas Gleixner:
     "Four patches addressing the PTI fallout as discussed and debugged
      yesterday:
    
       - Remove stale and pointless TLB flush invocations from the hotplug
         code
    
       - Remove stale preempt_disable/enable from __native_flush_tlb()
    
       - Plug the memory leak in the write_ldt() error path"
    
    * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/ldt: Make LDT pgtable free conditional
      x86/ldt: Plug memory leak in error path
      x86/mm: Remove preempt_disable/enable() from __native_flush_tlb()
      x86/smpboot: Remove stale TLB flush invocations
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    52c90f2 View commit details
    Browse the repository at this point in the history
  19. Merge branch 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/tip/tip
    
    Pull x86 fixes from Thomas Gleixner:
     "A couple of fixlets for x86:
    
       - Fix the ESPFIX double fault handling for 5-level pagetables
    
       - Fix the commandline parsing for 'apic=' on 32bit systems and update
         documentation
    
       - Make zombie stack traces reliable
    
       - Fix kexec with stack canary
    
       - Fix the delivery mode for APICs which was missed when the x86
         vector management was converted to single target delivery. Caused a
         regression due to the broken hardware which ignores affinity
         settings in lowest prio delivery mode.
    
       - Unbreak modules when AMD memory encryption is enabled
    
       - Remove an unused parameter of prepare_switch_to"
    
    * 'x86/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
      x86/apic: Switch all APICs to Fixed delivery mode
      x86/apic: Update the 'apic=' description of setting APIC driver
      x86/apic: Avoid wrong warning when parsing 'apic=' in X86-32 case
      x86-32: Fix kexec with stack canary (CONFIG_CC_STACKPROTECTOR)
      x86: Remove unused parameter of prepare_switch_to
      x86/stacktrace: Make zombie stack traces reliable
      x86/mm: Unbreak modules that use the DMA API
      x86/build: Make isoimage work on Debian
      x86/espfix/64: Fix espfix double-fault handling on 5-level systems
    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    f39d7d7 View commit details
    Browse the repository at this point in the history
  20. Linux 4.15-rc6

    torvalds committed Dec 31, 2017
    Configuration menu
    Copy the full SHA
    30a7acd View commit details
    Browse the repository at this point in the history