This is the start of the stable review cycle for the 4.4.209 release.
There are 59 patches in this series, all will be posted as a response
to this one. If anyone has any issues with these being applied, please
let me know.
Responses should be made by Mon, 13 Jan 2020 09:46:17 +0000.
Anything received after that time might be too late.
The whole patch series can be found in one patch at:
https://www.kernel.org/pub/linux/kernel/v4.x/stable-review/patch-4.4.209-rc…
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-4.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
Linux 4.4.209-rc1
Daniele Palmas <dnlplm(a)gmail.com>
USB: serial: option: add Telit ME910G1 0x110a composition
Johan Hovold <johan(a)kernel.org>
USB: core: fix check for duplicate endpoints
Eric Dumazet <edumazet(a)google.com>
macvlan: do not assume mac_header is set in macvlan_broadcast()
Hangbin Liu <liuhangbin(a)gmail.com>
vxlan: fix tos value before xmit
Eric Dumazet <edumazet(a)google.com>
vlan: fix memory leak in vlan_dev_set_egress_priority
Eric Dumazet <edumazet(a)google.com>
vlan: vlan_changelink() should propagate errors
Pengcheng Yang <yangpc(a)wangsu.com>
tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK
Xin Long <lucien.xin(a)gmail.com>
sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY
Eric Dumazet <edumazet(a)google.com>
pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM
Eric Dumazet <edumazet(a)google.com>
net: usb: lan78xx: fix possible skb leak
Chen-Yu Tsai <wens(a)csie.org>
net: stmmac: dwmac-sunxi: Allow all RGMII modes
Chan Shu Tak, Alex <alexchan(a)task.com.hk>
llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and _test_c)
Helge Deller <deller(a)gmx.de>
parisc: Fix compiler warnings in debug_core.c
Thomas Hebb <tommyhebb(a)gmail.com>
kconfig: don't crash on NULL expressions in expr_eq()
Andreas Kemnade <andreas(a)kemnade.info>
regulator: rn5t618: fix module aliases
Shengjiu Wang <shengjiu.wang(a)nxp.com>
ASoC: wm8962: fix lambda value
Aditya Pakki <pakki001(a)umn.edu>
rfkill: Fix incorrect check to avoid NULL pointer dereference
Cristian Birsan <cristian.birsan(a)microchip.com>
net: usb: lan78xx: Fix error message format specifier
Manish Chopra <manishc(a)marvell.com>
bnx2x: Fix logic to get total no. of PFs per engine
Manish Chopra <manishc(a)marvell.com>
bnx2x: Do not handle requests from VFs after parity
Mike Rapoport <rppt(a)linux.ibm.com>
powerpc: Ensure that swiotlb buffer is allocated from low memory
Tomi Valkeinen <tomi.valkeinen(a)ti.com>
ARM: dts: am437x-gp/epos-evm: fix panel compatible
Phil Sutter <phil(a)nwl.cc>
netfilter: uapi: Avoid undefined left-shift in xt_sctp.h
Sudeep Holla <sudeep.holla(a)arm.com>
ARM: vexpress: Set-up shared OPP table instead of individual for each CPU
Florian Westphal <fw(a)strlen.de>
netfilter: ctnetlink: netns exit must wait for callbacks
Marco Elver <elver(a)google.com>
locking/spinlock/debug: Fix various data races
Aleksandr Yashkin <a.yashkin(a)inango-systems.com>
pstore/ram: Write new dumps to start of recycled zones
Dmitry Vyukov <dvyukov(a)google.com>
locking/x86: Remove the unused atomic_inc_short() methd
Heiko Carstens <heiko.carstens(a)de.ibm.com>
s390/smp: fix physical to logical CPU map for SMT
Eric Dumazet <edumazet(a)google.com>
net: add annotations on hh->hh_len lockless accesses
Masashi Honma <masashi.honma(a)gmail.com>
ath9k_htc: Discard undersized packets
Masashi Honma <masashi.honma(a)gmail.com>
ath9k_htc: Modify byte order for an error message
Daniel Axtens <dja(a)axtens.net>
powerpc/pseries/hvconsole: Fix stack overread via udbg
Imre Deak <imre.deak(a)intel.com>
drm/mst: Fix MST sideband up-reply failure handling
Leo Yan <leo.yan(a)linaro.org>
tty: serial: msm_serial: Fix lockup for sysrq and oops
Dan Carpenter <dan.carpenter(a)oracle.com>
Bluetooth: delete a stray unlock
Oliver Neukum <oneukum(a)suse.com>
Bluetooth: btusb: fix PM leak in error case of setup
Wen Yang <wenyang(a)linux.alibaba.com>
ftrace: Avoid potential division by zero in function profiler
Colin Ian King <colin.king(a)canonical.com>
ALSA: cs4236: fix error return comparison of an unsigned integer
Russell King <rmk+kernel(a)armlinux.org.uk>
gpiolib: fix up emulated open drain outputs
Arnd Bergmann <arnd(a)arndb.de>
compat_ioctl: block: handle Persistent Reservations
Lukas Wunner <lukas(a)wunner.de>
dmaengine: Fix access to uninitialized dma_slave_caps
Amir Goldstein <amir73il(a)gmail.com>
locks: print unsigned ino in /proc/locks
Paul Burton <paulburton(a)kernel.org>
MIPS: Avoid VDSO ABI breakage due to global register variable
Takashi Iwai <tiwai(a)suse.de>
ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code
Sasha Levin <sashal(a)kernel.org>
Revert "perf report: Add warning when libunwind not compiled in"
Christian Brauner <christian.brauner(a)ubuntu.com>
taskstats: fix data-race
Brian Foster <bfoster(a)redhat.com>
xfs: fix mount failure crash on invalid iclog memory access
Juergen Gross <jgross(a)suse.com>
xen/balloon: fix ballooned page accounting without hotplug enabled
Thomas Richter <tmricht(a)linux.ibm.com>
s390/cpum_sf: Avoid SBD overflow condition in irq handler
Thomas Richter <tmricht(a)linux.ibm.com>
s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits
Zhiqiang Liu <liuzhiqiang26(a)huawei.com>
md: raid1: check rdev before reference in raid1_sync_request func
EJ Hsu <ejh(a)nvidia.com>
usb: gadget: fix wrong endpoint desc
Jason Yan <yanaijie(a)huawei.com>
scsi: libsas: stop discovering if oob mode is disconnected
Dan Carpenter <dan.carpenter(a)oracle.com>
scsi: iscsi: qla4xxx: fix double free in probe
Roman Bolshakov <r.bolshakov(a)yadro.com>
scsi: qla2xxx: Don't call qlt_async_event twice
Bo Wu <wubo40(a)huawei.com>
scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func
Chuhong Yuan <hslester96(a)gmail.com>
RDMA/cma: add missed unregister_pernet_subsys in init failure
Leonard Crestez <leonard.crestez(a)nxp.com>
PM / devfreq: Don't fail devfreq_dev_release if not in list
-------------
Diffstat:
Makefile | 4 +-
arch/arm/boot/dts/am437x-gp-evm.dts | 2 +-
arch/arm/boot/dts/am43x-epos-evm.dts | 2 +-
arch/arm/mach-vexpress/spc.c | 12 +++-
arch/mips/include/asm/thread_info.h | 20 +++++-
arch/parisc/include/asm/cmpxchg.h | 10 ++-
arch/powerpc/mm/mem.c | 8 +++
arch/powerpc/platforms/pseries/hvconsole.c | 2 +-
arch/s390/kernel/perf_cpum_sf.c | 22 +++++--
arch/s390/kernel/smp.c | 80 +++++++++++++++--------
arch/tile/lib/atomic_asm_32.S | 3 +-
arch/x86/include/asm/atomic.h | 13 ----
block/compat_ioctl.c | 9 +++
drivers/bluetooth/btusb.c | 3 +-
drivers/devfreq/devfreq.c | 6 +-
drivers/firewire/net.c | 6 +-
drivers/gpio/gpiolib.c | 8 +++
drivers/gpu/drm/drm_dp_mst_topology.c | 6 +-
drivers/infiniband/core/cma.c | 1 +
drivers/md/raid1.c | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.h | 2 +-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c | 12 +++-
drivers/net/ethernet/broadcom/bnx2x/bnx2x_sriov.h | 1 +
drivers/net/ethernet/broadcom/bnx2x/bnx2x_vfpf.c | 12 ++++
drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 2 +-
drivers/net/macvlan.c | 2 +-
drivers/net/usb/lan78xx.c | 11 ++--
drivers/net/vxlan.c | 2 +-
drivers/net/wireless/ath/ath9k/htc_drv_txrx.c | 23 +++++--
drivers/regulator/rn5t618-regulator.c | 1 +
drivers/scsi/libsas/sas_discover.c | 11 +++-
drivers/scsi/lpfc/lpfc_bsg.c | 15 +++--
drivers/scsi/qla2xxx/qla_isr.c | 4 --
drivers/scsi/qla4xxx/ql4_os.c | 1 -
drivers/tty/hvc/hvc_vio.c | 16 ++++-
drivers/tty/serial/msm_serial.c | 13 +++-
drivers/usb/core/config.c | 70 ++++++++++++++++----
drivers/usb/gadget/function/f_ecm.c | 6 +-
drivers/usb/gadget/function/f_rndis.c | 1 +
drivers/usb/serial/option.c | 2 +
drivers/xen/balloon.c | 3 +-
fs/locks.c | 2 +-
fs/pstore/ram.c | 11 ++++
fs/xfs/xfs_log.c | 2 +
include/linux/dmaengine.h | 5 +-
include/linux/if_ether.h | 8 +++
include/net/neighbour.h | 2 +-
include/uapi/linux/netfilter/xt_sctp.h | 6 +-
kernel/locking/spinlock_debug.c | 32 ++++-----
kernel/taskstats.c | 30 +++++----
kernel/trace/ftrace.c | 6 +-
net/8021q/vlan.h | 1 +
net/8021q/vlan_dev.c | 3 +-
net/8021q/vlan_netlink.c | 19 ++++--
net/bluetooth/l2cap_core.c | 4 +-
net/core/neighbour.c | 4 +-
net/ethernet/eth.c | 7 +-
net/ipv4/tcp_input.c | 5 +-
net/llc/llc_station.c | 4 +-
net/netfilter/nf_conntrack_netlink.c | 3 +
net/rfkill/core.c | 7 +-
net/sched/sch_fq.c | 2 +-
net/sctp/sm_sideeffect.c | 28 +++++---
scripts/kconfig/expr.c | 7 ++
sound/isa/cs423x/cs4236.c | 3 +-
sound/pci/ice1712/ice1724.c | 9 ++-
sound/soc/codecs/wm8962.c | 4 +-
tools/perf/builtin-report.c | 7 --
68 files changed, 460 insertions(+), 190 deletions(-)
This is a note to let you know that I've just added the patch titled
iio: light: vcnl4000: Fix scale for vcnl4040
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From bc80573ea25bb033a58da81b3ce27205b97c088e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guido=20G=C3=BCnther?= <agx(a)sigxcpu.org>
Date: Fri, 27 Dec 2019 11:22:54 +0100
Subject: iio: light: vcnl4000: Fix scale for vcnl4040
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
According to the data sheet the ambient sensor's scale is 0.12 lux/step
(not 0.024 lux/step as used by vcnl4200) when the integration time is
80ms. The integration time is currently hardcoded in the driver to that
value.
See p. 8 in https://www.vishay.com/docs/84307/designingvcnl4040.pdf
Fixes: 5a441aade5b3 ("iio: light: vcnl4000 add support for the VCNL4040 proximity and light sensor")
Signed-off-by: Guido Günther <agx(a)sigxcpu.org>
Reviewed-by: Marco Felsch <m.felsch(a)pengutronix.de>
Cc: <Stable(a)vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron(a)huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/iio/light/vcnl4000.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
index 16dacea9eadf..b0e241aaefb4 100644
--- a/drivers/iio/light/vcnl4000.c
+++ b/drivers/iio/light/vcnl4000.c
@@ -163,7 +163,6 @@ static int vcnl4200_init(struct vcnl4000_data *data)
if (ret < 0)
return ret;
- data->al_scale = 24000;
data->vcnl4200_al.reg = VCNL4200_AL_DATA;
data->vcnl4200_ps.reg = VCNL4200_PS_DATA;
switch (id) {
@@ -172,11 +171,13 @@ static int vcnl4200_init(struct vcnl4000_data *data)
/* show 54ms in total. */
data->vcnl4200_al.sampling_rate = ktime_set(0, 54000 * 1000);
data->vcnl4200_ps.sampling_rate = ktime_set(0, 4200 * 1000);
+ data->al_scale = 24000;
break;
case VCNL4040_PROD_ID:
/* Integration time is 80ms, add 10ms. */
data->vcnl4200_al.sampling_rate = ktime_set(0, 100000 * 1000);
data->vcnl4200_ps.sampling_rate = ktime_set(0, 100000 * 1000);
+ data->al_scale = 120000;
break;
}
data->vcnl4200_al.last_measurement = ktime_set(0, 0);
--
2.24.1
This is a note to let you know that I've just added the patch titled
iio: buffer: align the size of scan bytes to size of the largest
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 883f616530692d81cb70f8a32d85c0d2afc05f69 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Lars=20M=C3=B6llendorf?= <lars.moellendorf(a)plating.de>
Date: Fri, 13 Dec 2019 14:50:55 +0100
Subject: iio: buffer: align the size of scan bytes to size of the largest
element
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Previous versions of `iio_compute_scan_bytes` only aligned each element
to its own length (i.e. its own natural alignment). Because multiple
consecutive sets of scan elements are buffered this does not work in
case the computed scan bytes do not align with the natural alignment of
the first scan element in the set.
This commit fixes this by aligning the scan bytes to the natural
alignment of the largest scan element in the set.
Fixes: 959d2952d124 ("staging:iio: make iio_sw_buffer_preenable much more general.")
Signed-off-by: Lars Möllendorf <lars.moellendorf(a)plating.de>
Reviewed-by: Lars-Peter Clausen <lars(a)metafoo.de>
Cc: <Stable(a)vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron(a)huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/iio/industrialio-buffer.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/industrialio-buffer.c b/drivers/iio/industrialio-buffer.c
index c193d64e5217..112225c0e486 100644
--- a/drivers/iio/industrialio-buffer.c
+++ b/drivers/iio/industrialio-buffer.c
@@ -566,7 +566,7 @@ static int iio_compute_scan_bytes(struct iio_dev *indio_dev,
const unsigned long *mask, bool timestamp)
{
unsigned bytes = 0;
- int length, i;
+ int length, i, largest = 0;
/* How much space will the demuxed element take? */
for_each_set_bit(i, mask,
@@ -574,13 +574,17 @@ static int iio_compute_scan_bytes(struct iio_dev *indio_dev,
length = iio_storage_bytes_for_si(indio_dev, i);
bytes = ALIGN(bytes, length);
bytes += length;
+ largest = max(largest, length);
}
if (timestamp) {
length = iio_storage_bytes_for_timestamp(indio_dev);
bytes = ALIGN(bytes, length);
bytes += length;
+ largest = max(largest, length);
}
+
+ bytes = ALIGN(bytes, largest);
return bytes;
}
--
2.24.1
This is a note to let you know that I've just added the patch titled
iio: chemical: pms7003: fix unmet triggered buffer dependency
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From 217afe63ccf445fc220e5ef480683607b05c0aa5 Mon Sep 17 00:00:00 2001
From: Tomasz Duszynski <tduszyns(a)gmail.com>
Date: Fri, 13 Dec 2019 22:38:08 +0100
Subject: iio: chemical: pms7003: fix unmet triggered buffer dependency
IIO triggered buffer depends on IIO buffer which is missing from Kconfig
file. This should go unnoticed most of the time because there's a
chance something else has already enabled buffers. In some rare cases
though one might experience kbuild warnings about unmet direct
dependencies and build failures due to missing symbols.
Fix this by selecting IIO_BUFFER explicitly.
Signed-off-by: Tomasz Duszynski <tduszyns(a)gmail.com>
Fixes: a1d642266c14 ("iio: chemical: add support for Plantower PMS7003 sensor")
Cc: <Stable(a)vger.kernel.org>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron(a)huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/iio/chemical/Kconfig | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/iio/chemical/Kconfig b/drivers/iio/chemical/Kconfig
index fa4586037bb8..0b91de4df8f4 100644
--- a/drivers/iio/chemical/Kconfig
+++ b/drivers/iio/chemical/Kconfig
@@ -65,6 +65,7 @@ config IAQCORE
config PMS7003
tristate "Plantower PMS7003 particulate matter sensor"
depends on SERIAL_DEV_BUS
+ select IIO_BUFFER
select IIO_TRIGGERED_BUFFER
help
Say Y here to build support for the Plantower PMS7003 particulate
--
2.24.1
This is a note to let you know that I've just added the patch titled
iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID
to my staging git tree which can be found at
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
in the staging-linus branch.
The patch will show up in the next release of the linux-next tree
(usually sometime within the next 24 hours during the week.)
The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release.
If you have any questions about this process, please let me know.
>From fb4fbc8904e786537e29329d791147389e1465a2 Mon Sep 17 00:00:00 2001
From: Stephan Gerhold <stephan(a)gerhold.net>
Date: Mon, 16 Dec 2019 13:41:20 +0100
Subject: iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID
At the moment, attempting to probe a device with ST_LSM6DS3_ID
(e.g. using the st,lsm6ds3 compatible) fails with:
st_lsm6dsx_i2c 1-006b: unsupported whoami [69]
... even though 0x69 is the whoami listed for ST_LSM6DS3_ID.
This happens because st_lsm6dsx_check_whoami() also attempts
to match unspecified (zero-initialized) entries in the "id" array.
ST_LSM6DS3_ID = 0 will therefore match any entry in
st_lsm6dsx_sensor_settings (here: the first), because none of them
actually have all 12 entries listed in the "id" array.
Avoid this by additionally checking if "name" is set,
which is only set for valid entries in the "id" array.
Note: Although the problem was introduced earlier it did not surface until
commit 52f4b1f19679 ("iio: imu: st_lsm6dsx: add support for accel/gyro unit of lsm9ds1")
because ST_LSM6DS3_ID was the first entry in st_lsm6dsx_sensor_settings.
Fixes: d068e4a0f921 ("iio: imu: st_lsm6dsx: add support to multiple devices with the same settings")
Cc: <stable(a)vger.kernel.org> # 5.4
Acked-by: Lorenzo Bianconi <lorenzo(a)kernel.org>
Signed-off-by: Stephan Gerhold <stephan(a)gerhold.net>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron(a)huawei.com>
Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
index a7d40c02ce6b..b921dd9e108f 100644
--- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
+++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c
@@ -1301,7 +1301,8 @@ static int st_lsm6dsx_check_whoami(struct st_lsm6dsx_hw *hw, int id,
for (i = 0; i < ARRAY_SIZE(st_lsm6dsx_sensor_settings); i++) {
for (j = 0; j < ST_LSM6DSX_MAX_ID; j++) {
- if (id == st_lsm6dsx_sensor_settings[i].id[j].hw_id)
+ if (st_lsm6dsx_sensor_settings[i].id[j].name &&
+ id == st_lsm6dsx_sensor_settings[i].id[j].hw_id)
break;
}
if (j < ST_LSM6DSX_MAX_ID)
--
2.24.1