18 Apr, 2019

6 commits


17 Apr, 2019

1 commit

  • commit a165dcc923ada2ffdee1d4f41f12f81b66d04c55 upstream.

    Select REGMAP_I2C to avoid below build error:
    ERROR: "__devm_regmap_init_i2c" [drivers/hwmon/w83773g.ko] undefined!

    Fixes: ee249f271524 ("hwmon: Add W83773G driver")
    Cc: stable@vger.kernel.org
    Signed-off-by: Axel Lin
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     

27 Feb, 2019

1 commit


23 Feb, 2019

1 commit

  • commit 07bd14ccc3049f9c0147a91a4227a571f981601a upstream.

    Add the missing unlock before return from function set_fan_div()
    in the error handling case.

    Fixes: c9c63915519b ("hwmon: (lm80) fix a missing check of the status of SMBus read")
    Signed-off-by: Wei Yongjun
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Wei Yongjun
     

13 Feb, 2019

2 commits

  • [ Upstream commit 9aa3aa15f4c2f74f47afd6c5db4b420fadf3f315 ]

    In lm80_probe(), if lm80_read_value() fails, it returns a negative
    error number which is stored to data->fan[f_min] and will be further
    used. We should avoid using the data if the read fails.

    The fix checks if lm80_read_value() fails, and if so, returns with the
    error number.

    Signed-off-by: Kangjie Lu
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Kangjie Lu
     
  • [ Upstream commit c9c63915519b1def7043b184680f33c24cd49d7b ]

    If lm80_read_value() fails, it returns a negative number instead of the
    correct read data. Therefore, we should avoid using the data if it
    fails.

    The fix checks if lm80_read_value() fails, and if so, returns with the
    error number.

    Signed-off-by: Kangjie Lu
    [groeck: One variable for return values is enough]
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Kangjie Lu
     

17 Dec, 2018

5 commits

  • [ Upstream commit 09aaf6813cfca4c18034fda7a43e68763f34abb1 ]

    Both datasheet and comments of store_temp_mode() tell us that temp1~4_type
    is writable, so fix it.

    Signed-off-by: Yao Wang
    Signed-off-by: Huacai Chen
    Fixes: 39deb6993e7c (" hwmon: (w83795) Simplify temperature sensor type handling")
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Huacai Chen
     
  • [ Upstream commit 243cfe3fb8978c7eec24511aba7dac98819ed896 ]

    Fix macros for tacometer fault reading.
    This fix is relevant for three Mellanox systems MQMB7, MSN37, MSN34,
    which are about to be released to the customers.
    At the moment, none of them is at customers sites.

    Fixes: 65afb4c8e7e4 ("hwmon: (mlxreg-fan) Add support for Mellanox FAN driver")
    Signed-off-by: Vadim Pasternak
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Vadim Pasternak
     
  • [ Upstream commit 38cd989ee38c16388cde89db5b734f9d55b905f9 ]

    The current register (04h) has a sign bit at MSB. The comments
    for this calculation also mention that it's a signed register.

    However, the regval is unsigned type so result of calculation
    turns out to be an incorrect value when current is negative.

    This patch simply fixes this by adding a casting to s16.

    Fixes: 5d389b125186c ("hwmon: (ina2xx) Make calibration register value fixed")
    Signed-off-by: Nicolin Chen
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Nicolin Chen
     
  • [ Upstream commit 35fdc3902179366489a12cae4cb3ccc3b95f0afe ]

    In case an under-voltage happens before probing the driver wont
    write the critical warning into the kernel log. So don't init
    of last_throttled during probe and fix this issue.

    Fixes: 74d1e007915f ("hwmon: Add support for RPi voltage sensor")
    Reported-by: "Noralf Trønnes"
    Signed-off-by: Stefan Wahren
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Stefan Wahren
     
  • [ Upstream commit 70df9ebbd82c794ddfbb49d45b337f18d5588dc2 ]

    When using DT configurations, the id pointer might turn out to
    be NULL. Then the driver encounters NULL pointer access:

    Unable to handle kernel read from unreadable memory at vaddr 00000018
    [...]
    PC is at ina2xx_probe+0x114/0x200
    LR is at ina2xx_probe+0x10c/0x200
    [...]
    Kernel panic - not syncing: Attempted to kill init! exitcode=0x0000000b

    The reason is that i2c core returns the id pointer by matching
    id_table with client->name, while the client->name is actually
    using the name from the first string in the DT compatible list,
    not the best one. So i2c core would fail to match the id_table
    if the best matched compatible string isn't the first one, and
    then would return a NULL id pointer.

    This probably should be fixed in i2c core. But it doesn't hurt
    to make the driver robust. So this patch fixes it by using the
    "chip" that's added to unify both DT and non-DT configurations.

    Additionally, since id pointer could be null, so as id->name:
    ina2xx 10-0047: power monitor (null) (Rshunt = 1000 uOhm)
    ina2xx 10-0048: power monitor (null) (Rshunt = 10000 uOhm)

    So this patch also fixes NULL name pointer, using client->name
    to play safe and to align with hwmon->name.

    Fixes: bd0ddd4d0883 ("hwmon: (ina2xx) Add OF device ID table")
    Signed-off-by: Nicolin Chen
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Nicolin Chen
     

27 Nov, 2018

1 commit

  • [ Upstream commit e3e61f01d755188cb6c2dcf5a244b9c0937c258e ]

    If gcc decides not to inline make_sensor_label():

    WARNING: vmlinux.o(.text+0x4df549c): Section mismatch in reference from the function .create_device_attrs() to the function .init.text:.make_sensor_label()
    The function .create_device_attrs() references
    the function __init .make_sensor_label().
    This is often because .create_device_attrs lacks a __init
    annotation or the annotation of .make_sensor_label is wrong.

    As .probe() can be called after freeing of __init memory, all __init
    annotiations in the driver are bogus, and should be removed.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin

    Geert Uytterhoeven
     

21 Nov, 2018

1 commit

  • commit 74e3512731bd5c9673176425a76a7cc5efa8ddb6 upstream.

    Fix double-free that happens when thermal zone setup fails, see KASAN log
    below.

    ==================================================================
    BUG: KASAN: double-free or invalid-free in __hwmon_device_register+0x5dc/0xa7c

    CPU: 0 PID: 132 Comm: kworker/0:2 Tainted: G B 4.19.0-rc8-next-20181016-00042-gb52cd80401e9-dirty #41
    Hardware name: NVIDIA Tegra SoC (Flattened Device Tree)
    Workqueue: events deferred_probe_work_func
    Backtrace:
    [] (dump_backtrace) from [] (show_stack+0x20/0x24)
    [] (show_stack) from [] (dump_stack+0x9c/0xb0)
    [] (dump_stack) from [] (print_address_description+0x68/0x250)
    [] (print_address_description) from [] (kasan_report_invalid_free+0x68/0x88)
    [] (kasan_report_invalid_free) from [] (__kasan_slab_free+0x1f4/0x200)
    [] (__kasan_slab_free) from [] (kasan_slab_free+0x14/0x18)
    [] (kasan_slab_free) from [] (kfree+0x90/0x294)
    [] (kfree) from [] (__hwmon_device_register+0x5dc/0xa7c)
    [] (__hwmon_device_register) from [] (hwmon_device_register_with_info+0xa0/0xa8)
    [] (hwmon_device_register_with_info) from [] (devm_hwmon_device_register_with_info+0x74/0xb4)
    [] (devm_hwmon_device_register_with_info) from [] (lm90_probe+0x414/0x578)
    [] (lm90_probe) from [] (i2c_device_probe+0x35c/0x384)
    [] (i2c_device_probe) from [] (really_probe+0x290/0x3e4)
    [] (really_probe) from [] (driver_probe_device+0x80/0x1c4)
    [] (driver_probe_device) from [] (__device_attach_driver+0x104/0x11c)
    [] (__device_attach_driver) from [] (bus_for_each_drv+0xa4/0xc8)
    [] (bus_for_each_drv) from [] (__device_attach+0xf0/0x15c)
    [] (__device_attach) from [] (device_initial_probe+0x1c/0x20)
    [] (device_initial_probe) from [] (bus_probe_device+0xdc/0xec)
    [] (bus_probe_device) from [] (deferred_probe_work_func+0xa8/0xd4)
    [] (deferred_probe_work_func) from [] (process_one_work+0x3dc/0x96c)
    [] (process_one_work) from [] (worker_thread+0x4ec/0x8bc)
    [] (worker_thread) from [] (kthread+0x230/0x240)
    [] (kthread) from [] (ret_from_fork+0x14/0x38)
    Exception stack(0xcf743fb0 to 0xcf743ff8)
    3fa0: 00000000 00000000 00000000 00000000
    3fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
    3fe0: 00000000 00000000 00000000 00000000 00000013 00000000

    Allocated by task 132:
    kasan_kmalloc.part.1+0x58/0xf4
    kasan_kmalloc+0x90/0xa4
    kmem_cache_alloc_trace+0x90/0x2a0
    __hwmon_device_register+0xbc/0xa7c
    hwmon_device_register_with_info+0xa0/0xa8
    devm_hwmon_device_register_with_info+0x74/0xb4
    lm90_probe+0x414/0x578
    i2c_device_probe+0x35c/0x384
    really_probe+0x290/0x3e4
    driver_probe_device+0x80/0x1c4
    __device_attach_driver+0x104/0x11c
    bus_for_each_drv+0xa4/0xc8
    __device_attach+0xf0/0x15c
    device_initial_probe+0x1c/0x20
    bus_probe_device+0xdc/0xec
    deferred_probe_work_func+0xa8/0xd4
    process_one_work+0x3dc/0x96c
    worker_thread+0x4ec/0x8bc
    kthread+0x230/0x240
    ret_from_fork+0x14/0x38
    (null)

    Freed by task 132:
    __kasan_slab_free+0x12c/0x200
    kasan_slab_free+0x14/0x18
    kfree+0x90/0x294
    hwmon_dev_release+0x1c/0x20
    device_release+0x4c/0xe8
    kobject_put+0xac/0x11c
    device_unregister+0x2c/0x30
    __hwmon_device_register+0xa58/0xa7c
    hwmon_device_register_with_info+0xa0/0xa8
    devm_hwmon_device_register_with_info+0x74/0xb4
    lm90_probe+0x414/0x578
    i2c_device_probe+0x35c/0x384
    really_probe+0x290/0x3e4
    driver_probe_device+0x80/0x1c4
    __device_attach_driver+0x104/0x11c
    bus_for_each_drv+0xa4/0xc8
    __device_attach+0xf0/0x15c
    device_initial_probe+0x1c/0x20
    bus_probe_device+0xdc/0xec
    deferred_probe_work_func+0xa8/0xd4
    process_one_work+0x3dc/0x96c
    worker_thread+0x4ec/0x8bc
    kthread+0x230/0x240
    ret_from_fork+0x14/0x38
    (null)

    Cc: # v4.15+
    Fixes: 47c332deb8e8 ("hwmon: Deal with errors from the thermal subsystem")
    Signed-off-by: Dmitry Osipenko
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Osipenko
     

14 Nov, 2018

2 commits

  • [ Upstream commit 95dcd64bc5a27080beaa344edfe5bdcca3d2e7dc ]

    Technically this is not required because disabling the PWM should be
    enough. However, when support for atomic operations was implemented in
    the PWM subsystem, only actual changes to the PWM channel are applied
    during pwm_config(), which means that during after resume from suspend
    the old settings won't be applied.

    One possible solution is for the PWM driver to implement its own PM
    operations such that settings from before suspend get applied on resume.
    This has the disadvantage of completely ignoring any particular ordering
    requirements that PWM user drivers might have, so it is best to leave it
    up to the user drivers to apply the settings that they want at the
    appropriate time.

    Another way to solve this would be to read back the current state of the
    PWM at the time of resume. That way, in case the configuration was lost
    during suspend, applying the old settings in PWM user drivers would
    actually get them applied because they differ from the current settings.
    However, not all PWM drivers support reading the hardware state, and not
    all hardware may support it.

    The best workaround at this point seems to be to let PWM user drivers
    tell the PWM subsystem that the PWM is turned off by, in addition to
    disabling it, also setting the duty cycle to 0. This causes the resume
    operation to apply a configuration that is different from the current
    configuration, resulting in the proper state from before suspend getting
    restored.

    Signed-off-by: Thierry Reding
    Signed-off-by: Guenter Roeck
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Thierry Reding
     
  • commit e7c6a55606b5c46b449d76588968b4d8caae903f upstream.

    Devices with compatible="pmbus" field have zero initial page count,
    and pmbus_clear_faults() being called before the page count auto-
    detection does not actually clear faults because it depends on the
    page count. Non-cleared faults in its turn may fail the subsequent
    page count auto-detection.

    This patch fixes this problem by calling pmbus_clear_fault_page()
    for currently set page and calling pmbus_clear_faults() after the
    page count was detected.

    Cc: stable@vger.kernel.org
    Signed-off-by: Dmitry Bazhenov
    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Dmitry Bazhenov
     

12 Oct, 2018

1 commit


06 Oct, 2018

1 commit

  • As done treewide earlier, this catches several more open-coded
    allocation size calculations that were added to the kernel during the
    merge window. This performs the following mechanical transformations
    using Coccinelle:

    kvmalloc(a * b, ...) -> kvmalloc_array(a, b, ...)
    kvzalloc(a * b, ...) -> kvcalloc(a, b, ...)
    devm_kzalloc(..., a * b, ...) -> devm_kcalloc(..., a, b, ...)

    Signed-off-by: Kees Cook

    Kees Cook
     

20 Sep, 2018

1 commit


17 Sep, 2018

1 commit

  • The documented register to retrieve the fan RPM for fan7 is found
    to be unreliable at least with NCT6796D revision 3. Let's use
    register 0x4ce instead. This is undocumented for NCT6796D, but
    documented for NCT6797D and NCT6798D and known to be working.

    Reported-by: Robert Kern
    Cc: Robert Kern
    Fixes: 81820059a428 ("hwmon: (nct6775) Add support for NCT6796D")
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     

16 Sep, 2018

1 commit

  • fan7 on NCT6796D does not have a fan count register; it only has an RPM
    register. Switch to using RPM registers to read the fan speed for all
    chips supporting it to solve the problem for good.

    Reported-by: Robert Kern
    Cc: Robert Kern
    Fixes: 81820059a428 ("hwmon: (nct6775) Add support for NCT6796D")
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     

15 Sep, 2018

1 commit

  • The following kernel log message is reported for the nct6775 driver
    on ASUS WS X299 SAGE.

    nct6775: Found NCT6796D or compatible chip at 0x2e:0x290
    nct6775 nct6775.656: Invalid temperature source 11 at index 0,
    source register 0x100, temp register 0x73
    nct6775 nct6775.656: Invalid temperature source 11 at index 2,
    source register 0x300, temp register 0x77
    nct6775 nct6775.656: Invalid temperature source 11 at index 3,
    source register 0x800, temp register 0x79
    nct6775 nct6775.656: Invalid temperature source 11 at index 4,
    source register 0x900, temp register 0x7b

    A recent version of the datasheet lists temperature source 11 as reserved.
    However, an older version of the datasheet lists temperature sources 10
    and 11 as supported virtual temperature sources. Apparently the older
    version of the datasheet is correct, so list those temperature sources
    as supported.

    Virtual temperature sources are different than other temperature sources:
    Values are not read from a temperature sensor, but written either from
    BIOS or an embedded controller. As such, each virtual temperature has to
    be reported. Since there is now more than one temperature source, we have
    to keep virtual temperature sources in a chip-specific mask and can no
    longer rely on the assumption that there is only one virtual temperature
    source with a fixed index. This accounts for most of the complexity of this
    patch.

    Reported-by: Robert Kern
    Cc: Robert Kern
    Fixes: 81820059a428 ("hwmon: (nct6775) Add support for NCT6796D")
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     

09 Sep, 2018

1 commit

  • Pull ARM SoC fixes from Olof Johansson:
    "A few more fixes who have trickled in:

    - MMC bus width fixup for some Allwinner platforms

    - Fix for NULL deref in ti-aemif when no platform data is passed in

    - Fix div by 0 in SCMI code

    - Add a missing module alias in a new RPi driver"

    * tag 'armsoc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    memory: ti-aemif: fix a potential NULL-pointer dereference
    firmware: arm_scmi: fix divide by zero when sustained_perf_level is zero
    hwmon: rpi: add module alias to raspberrypi-hwmon
    arm64: allwinner: dts: h6: fix Pine H64 MMC bus width

    Linus Torvalds
     

08 Sep, 2018

1 commit

  • Not all fans have a fan pulse register. This can result in reading
    beyond the end of REG_FAN_PULSES and FAN_PULSE_SHIFT arrays,
    and was reported by smatch as possible error.

    1672 for (i = 0; i < ARRAY_SIZE(data->rpm); i++) {
    ^^^^^^^^^^^^^^^^^^^^^^^^
    This is a 7 element array.
    ...
    1685 data->fan_pulses[i] =
    1686 (nct6775_read_value(data, data->REG_FAN_PULSES[i])
    1687 >> data->FAN_PULSE_SHIFT[i]) & 0x03;
    ^^^^^^^^^^^^^^^^^^^^^^^^
    FAN_PULSE_SHIFT is either 5 or 6
    elements.

    To fix the problem, we have to ensure that all REG_FAN_PULSES and
    FAN_PULSE_SHIFT have the appropriate length, and that REG_FAN_PULSES
    is only read if the register actually exists.

    Fixes: 6c009501ff200 ("hwmon: (nct6775) Add support for NCT6102D/6106D")
    Reported-by: Dan Carpenter
    Signed-off-by: Guenter Roeck

    Guenter Roeck
     

06 Sep, 2018

2 commits

  • This is dead code because j can never be 1 at this point. We had
    intended to just test if the bit was clear.

    Fixes: bbd8decd4123 ("hwmon: (nct6775) Add support for weighted fan control")
    Signed-off-by: Dan Carpenter
    Signed-off-by: Guenter Roeck

    Dan Carpenter
     
  • The raspberrypi-hwmon driver doesn't automatically load, although it does work
    when loaded, by adding the alias it auto loads as expected when built as a
    module. Tested on RPi2/RPi3 on 32 bit kernel and RPi3B+ on aarch64 with
    Fedora 28 and a patched 4.18 RC kernel.

    Fixes: 3c493c885cf ("hwmon: Add support for RPi voltage sensor")
    Signed-off-by: Peter Robinson
    CC: Stefan Wahren
    CC: Eric Anholt
    Acked-by: Guenter Roeck
    Tested-by: Stefan Wahren
    Reviewed-by: Eric Anholt
    Signed-off-by: Florian Fainelli

    Peter Robinson
     

27 Aug, 2018

4 commits

  • val can be indirectly controlled by user-space, hence leading to
    a potential exploitation of the Spectre variant 1 vulnerability.

    This issue was detected with the help of Smatch:

    vers/hwmon/nct6775.c:2698 store_pwm_weight_temp_sel() warn: potential
    spectre issue 'data->temp_src' [r]

    Fix this by sanitizing val before using it to index data->temp_src

    Notice that given that speculation windows are large, the policy is
    to kill the speculation on the first load and not worry if it can be
    completed with a dependent load/store [1].

    [1] https://marc.info/?l=linux-kernel&m=152449131114778&w=2

    Cc: stable@vger.kernel.org
    Signed-off-by: Gustavo A. R. Silva
    Signed-off-by: Guenter Roeck

    Gustavo A. R. Silva
     
  • The adt7475_read_word() function was meant to return negative error
    codes on failure.

    Signed-off-by: Dan Carpenter
    Reviewed-by: Tokunori Ikegami
    Signed-off-by: Guenter Roeck

    Dan Carpenter
     
  • The adt7475_update_device() function returns error pointers. The
    problem is that in show_pwmfreq() we dereference it before the check.
    And then in pwm_use_point2_pwm_at_crit_show() there isn't a check at
    all. I don't know if it's required, but it silences a static checker
    warning and it's doesn't hurt anything to check.

    Signed-off-by: Dan Carpenter
    Reviewed-by: Tokunori Ikegami
    Signed-off-by: Guenter Roeck

    Dan Carpenter
     
  • fix the sysfs shunt resistor read access: return the shunt resistor
    value, not the calibration register contents.

    update email address

    Signed-off-by: Lothar Felten
    Signed-off-by: Guenter Roeck

    Lothar Felten
     

24 Aug, 2018

1 commit

  • Pull ARM SoC driver updates from Olof Johansson:
    "Some of the larger changes this merge window:

    - Removal of drivers for Exynos5440, a Samsung SoC that never saw
    widespread use.

    - Uniphier support for USB3 and SPI reset handling

    - Syste control and SRAM drivers and bindings for Allwinner platforms

    - Qualcomm AOSS (Always-on subsystem) reset controller drivers

    - Raspberry Pi hwmon driver for voltage

    - Mediatek pwrap (pmic) support for MT6797 SoC"

    * tag 'armsoc-drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (52 commits)
    drivers/firmware: psci_checker: stash and use topology_core_cpumask for hotplug tests
    soc: fsl: cleanup Kconfig menu
    soc: fsl: dpio: Convert DPIO documentation to .rst
    staging: fsl-mc: Remove remaining files
    staging: fsl-mc: Move DPIO from staging to drivers/soc/fsl
    staging: fsl-dpaa2: eth: move generic FD defines to DPIO
    soc: fsl: qe: gpio: Add qe_gpio_set_multiple
    usb: host: exynos: Remove support for Exynos5440
    clk: samsung: Remove support for Exynos5440
    soc: sunxi: Add the A13, A23 and H3 system control compatibles
    reset: uniphier: add reset control support for SPI
    cpufreq: exynos: Remove support for Exynos5440
    ata: ahci-platform: Remove support for Exynos5440
    soc: imx6qp: Use GENPD_FLAG_ALWAYS_ON for PU errata
    soc: mediatek: pwrap: add mt6351 driver for mt6797 SoCs
    soc: mediatek: pwrap: add pwrap driver for mt6797 SoCs
    soc: mediatek: pwrap: fix cipher init setting error
    dt-bindings: pwrap: mediatek: add pwrap support for MT6797
    reset: uniphier: add USB3 core reset control
    dt-bindings: reset: uniphier: add USB3 core reset support
    ...

    Linus Torvalds
     

19 Aug, 2018

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the bit set of char/misc drivers for 4.19-rc1

    There is a lot here, much more than normal, seems like everyone is
    writing new driver subsystems these days... Anyway, major things here
    are:

    - new FSI driver subsystem, yet-another-powerpc low-level hardware
    bus

    - gnss, finally an in-kernel GPS subsystem to try to tame all of the
    crazy out-of-tree drivers that have been floating around for years,
    combined with some really hacky userspace implementations. This is
    only for GNSS receivers, but you have to start somewhere, and this
    is great to see.

    Other than that, there are new slimbus drivers, new coresight drivers,
    new fpga drivers, and loads of DT bindings for all of these and
    existing drivers.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits)
    android: binder: Rate-limit debug and userspace triggered err msgs
    fsi: sbefifo: Bump max command length
    fsi: scom: Fix NULL dereference
    misc: mic: SCIF Fix scif_get_new_port() error handling
    misc: cxl: changed asterisk position
    genwqe: card_base: Use true and false for boolean values
    misc: eeprom: assignment outside the if statement
    uio: potential double frees if __uio_register_device() fails
    eeprom: idt_89hpesx: clean up an error pointer vs NULL inconsistency
    misc: ti-st: Fix memory leak in the error path of probe()
    android: binder: Show extra_buffers_size in trace
    firmware: vpd: Fix section enabled flag on vpd_section_destroy
    platform: goldfish: Retire pdev_bus
    goldfish: Use dedicated macros instead of manual bit shifting
    goldfish: Add missing includes to goldfish.h
    mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux
    dt-bindings: mux: add adi,adgs1408
    Drivers: hv: vmbus: Cleanup synic memory free path
    Drivers: hv: vmbus: Remove use of slow_virt_to_phys()
    Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
    ...

    Linus Torvalds
     

18 Aug, 2018

1 commit

  • Pull powerpc updates from Michael Ellerman:
    "Notable changes:

    - A fix for a bug in our page table fragment allocator, where a page
    table page could be freed and reallocated for something else while
    still in use, leading to memory corruption etc. The fix reuses
    pt_mm in struct page (x86 only) for a powerpc only refcount.

    - Fixes to our pkey support. Several are user-visible changes, but
    bring us in to line with x86 behaviour and/or fix outright bugs.
    Thanks to Florian Weimer for reporting many of these.

    - A series to improve the hvc driver & related OPAL console code,
    which have been seen to cause hardlockups at times. The hvc driver
    changes in particular have been in linux-next for ~month.

    - Increase our MAX_PHYSMEM_BITS to 128TB when SPARSEMEM_VMEMMAP=y.

    - Remove Power8 DD1 and Power9 DD1 support, neither chip should be in
    use anywhere other than as a paper weight.

    - An optimised memcmp implementation using Power7-or-later VMX
    instructions

    - Support for barrier_nospec on some NXP CPUs.

    - Support for flushing the count cache on context switch on some IBM
    CPUs (controlled by firmware), as a Spectre v2 mitigation.

    - A series to enhance the information we print on unhandled signals
    to bring it into line with other arches, including showing the
    offending VMA and dumping the instructions around the fault.

    Thanks to: Aaro Koskinen, Akshay Adiga, Alastair D'Silva, Alexey
    Kardashevskiy, Alexey Spirkov, Alistair Popple, Andrew Donnellan,
    Aneesh Kumar K.V, Anju T Sudhakar, Arnd Bergmann, Bartosz Golaszewski,
    Benjamin Herrenschmidt, Bharat Bhushan, Bjoern Noetel, Boqun Feng,
    Breno Leitao, Bryant G. Ly, Camelia Groza, Christophe Leroy, Christoph
    Hellwig, Cyril Bur, Dan Carpenter, Daniel Klamt, Darren Stevens, Dave
    Young, David Gibson, Diana Craciun, Finn Thain, Florian Weimer,
    Frederic Barrat, Gautham R. Shenoy, Geert Uytterhoeven, Geoff Levand,
    Guenter Roeck, Gustavo Romero, Haren Myneni, Hari Bathini, Joel
    Stanley, Jonathan Neuschäfer, Kees Cook, Madhavan Srinivasan, Mahesh
    Salgaonkar, Markus Elfring, Mathieu Malaterre, Mauro S. M. Rodrigues,
    Michael Hanselmann, Michael Neuling, Michael Schmitz, Mukesh Ojha,
    Murilo Opsfelder Araujo, Nicholas Piggin, Parth Y Shah, Paul
    Mackerras, Paul Menzel, Ram Pai, Randy Dunlap, Rashmica Gupta, Reza
    Arbab, Rodrigo R. Galvao, Russell Currey, Sam Bobroff, Scott Wood,
    Shilpasri G Bhat, Simon Guo, Souptick Joarder, Stan Johnson, Thiago
    Jung Bauermann, Tyrel Datwyler, Vaibhav Jain, Vasant Hegde, Venkat
    Rao, zhong jiang"

    * tag 'powerpc-4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux: (234 commits)
    powerpc/mm/book3s/radix: Add mapping statistics
    powerpc/uaccess: Enable get_user(u64, *p) on 32-bit
    powerpc/mm/hash: Remove unnecessary do { } while(0) loop
    powerpc/64s: move machine check SLB flushing to mm/slb.c
    powerpc/powernv/idle: Fix build error
    powerpc/mm/tlbflush: update the mmu_gather page size while iterating address range
    powerpc/mm: remove warning about ‘type’ being set
    powerpc/32: Include setup.h header file to fix warnings
    powerpc: Move `path` variable inside DEBUG_PROM
    powerpc/powermac: Make some functions static
    powerpc/powermac: Remove variable x that's never read
    cxl: remove a dead branch
    powerpc/powermac: Add missing include of header pmac.h
    powerpc/kexec: Use common error handling code in setup_new_fdt()
    powerpc/xmon: Add address lookup for percpu symbols
    powerpc/mm: remove huge_pte_offset_and_shift() prototype
    powerpc/lib: Use patch_site to patch copy_32 functions once cache is enabled
    powerpc/pseries: Fix endianness while restoring of r3 in MCE handler.
    powerpc/fadump: merge adjacent memory ranges to reduce PT_LOAD segements
    powerpc/fadump: handle crash memory ranges array index overflow
    ...

    Linus Torvalds
     

16 Aug, 2018

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    - Gustavo A. R. Silva keeps working on the implicit switch fallthru
    changes.

    - Support 802.11ax High-Efficiency wireless in cfg80211 et al, From
    Luca Coelho.

    - Re-enable ASPM in r8169, from Kai-Heng Feng.

    - Add virtual XFRM interfaces, which avoids all of the limitations of
    existing IPSEC tunnels. From Steffen Klassert.

    - Convert GRO over to use a hash table, so that when we have many
    flows active we don't traverse a long list during accumluation.

    - Many new self tests for routing, TC, tunnels, etc. Too many
    contributors to mention them all, but I'm really happy to keep
    seeing this stuff.

    - Hardware timestamping support for dpaa_eth/fsl-fman from Yangbo Lu.

    - Lots of cleanups and fixes in L2TP code from Guillaume Nault.

    - Add IPSEC offload support to netdevsim, from Shannon Nelson.

    - Add support for slotting with non-uniform distribution to netem
    packet scheduler, from Yousuk Seung.

    - Add UDP GSO support to mlx5e, from Boris Pismenny.

    - Support offloading of Team LAG in NFP, from John Hurley.

    - Allow to configure TX queue selection based upon RX queue, from
    Amritha Nambiar.

    - Support ethtool ring size configuration in aquantia, from Anton
    Mikaev.

    - Support DSCP and flowlabel per-transport in SCTP, from Xin Long.

    - Support list based batching and stack traversal of SKBs, this is
    very exciting work. From Edward Cree.

    - Busyloop optimizations in vhost_net, from Toshiaki Makita.

    - Introduce the ETF qdisc, which allows time based transmissions. IGB
    can offload this in hardware. From Vinicius Costa Gomes.

    - Add parameter support to devlink, from Moshe Shemesh.

    - Several multiplication and division optimizations for BPF JIT in
    nfp driver, from Jiong Wang.

    - Lots of prepatory work to make more of the packet scheduler layer
    lockless, when possible, from Vlad Buslov.

    - Add ACK filter and NAT awareness to sch_cake packet scheduler, from
    Toke Høiland-Jørgensen.

    - Support regions and region snapshots in devlink, from Alex Vesker.

    - Allow to attach XDP programs to both HW and SW at the same time on
    a given device, with initial support in nfp. From Jakub Kicinski.

    - Add TLS RX offload and support in mlx5, from Ilya Lesokhin.

    - Use PHYLIB in r8169 driver, from Heiner Kallweit.

    - All sorts of changes to support Spectrum 2 in mlxsw driver, from
    Ido Schimmel.

    - PTP support in mv88e6xxx DSA driver, from Andrew Lunn.

    - Make TCP_USER_TIMEOUT socket option more accurate, from Jon
    Maxwell.

    - Support for templates in packet scheduler classifier, from Jiri
    Pirko.

    - IPV6 support in RDS, from Ka-Cheong Poon.

    - Native tproxy support in nf_tables, from Máté Eckl.

    - Maintain IP fragment queue in an rbtree, but optimize properly for
    in-order frags. From Peter Oskolkov.

    - Improvde handling of ACKs on hole repairs, from Yuchung Cheng"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1996 commits)
    bpf: test: fix spelling mistake "REUSEEPORT" -> "REUSEPORT"
    hv/netvsc: Fix NULL dereference at single queue mode fallback
    net: filter: mark expected switch fall-through
    xen-netfront: fix warn message as irq device name has '/'
    cxgb4: Add new T5 PCI device ids 0x50af and 0x50b0
    net: dsa: mv88e6xxx: missing unlock on error path
    rds: fix building with IPV6=m
    inet/connection_sock: prefer _THIS_IP_ to current_text_addr
    net: dsa: mv88e6xxx: bitwise vs logical bug
    net: sock_diag: Fix spectre v1 gadget in __sock_diag_cmd()
    ieee802154: hwsim: using right kind of iteration
    net: hns3: Add vlan filter setting by ethtool command -K
    net: hns3: Set tx ring' tc info when netdev is up
    net: hns3: Remove tx ring BD len register in hns3_enet
    net: hns3: Fix desc num set to default when setting channel
    net: hns3: Fix for phy link issue when using marvell phy driver
    net: hns3: Fix for information of phydev lost problem when down/up
    net: hns3: Fix for command format parsing error in hclge_is_all_function_id_zero
    net: hns3: Add support for serdes loopback selftest
    bnxt_en: take coredump_record structure off stack
    ...

    Linus Torvalds
     

11 Aug, 2018

2 commits