This is the start of the stable review cycle for the 5.6.1 release.
There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
or in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.6.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 5.6.1-rc1
Dafna Hirschfeld <[email protected]>
media: v4l2-core: fix a use-after-free bug of sd->devnode
Johan Hovold <[email protected]>
media: xirlink_cit: add missing descriptor sanity checks
Johan Hovold <[email protected]>
media: stv06xx: add missing descriptor sanity checks
Johan Hovold <[email protected]>
media: dib0700: fix rc endpoint lookup
Johan Hovold <[email protected]>
media: ov519: add missing endpoint sanity checks
Eric Biggers <[email protected]>
libfs: fix infoleak in simple_attr_read()
Kai-Heng Feng <[email protected]>
ahci: Add Intel Comet Lake H RAID PCI ID
Michał Mirosław <[email protected]>
staging: wfx: annotate nested gc_list vs tx queue locking
Michał Mirosław <[email protected]>
staging: wfx: fix init/remove vs IRQ race
Michał Mirosław <[email protected]>
staging: wfx: add proper "compatible" string
Qiujun Huang <[email protected]>
staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
Qiujun Huang <[email protected]>
staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
Larry Finger <[email protected]>
staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
Dan Carpenter <[email protected]>
staging: kpc2000: prevent underflow in cpld_reconfigure()
Johan Hovold <[email protected]>
media: usbtv: fix control-message timeouts
Johan Hovold <[email protected]>
media: flexcop-usb: fix endpoint sanity check
Mans Rullgard <[email protected]>
usb: musb: fix crash with highmen PIO and usbmon
Qiujun Huang <[email protected]>
USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
Matthias Reichl <[email protected]>
USB: cdc-acm: restore capability check order
Pawel Dembicki <[email protected]>
USB: serial: option: add Wistron Neweb D19Q1
Pawel Dembicki <[email protected]>
USB: serial: option: add BroadMobi BM806U
Pawel Dembicki <[email protected]>
USB: serial: option: add support for ASKEY WWHC050
Daniel Borkmann <[email protected]>
bpf: Undo incorrect __reg_bound_offset32 handling
-------------
Diffstat:
Makefile | 4 +--
drivers/ata/ahci.c | 1 +
drivers/media/usb/b2c2/flexcop-usb.c | 6 ++--
drivers/media/usb/dvb-usb/dib0700_core.c | 4 +--
drivers/media/usb/gspca/ov519.c | 10 ++++++
drivers/media/usb/gspca/stv06xx/stv06xx.c | 19 +++++++++-
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c | 4 +++
drivers/media/usb/gspca/xirlink_cit.c | 18 +++++++++-
drivers/media/usb/usbtv/usbtv-core.c | 2 +-
drivers/media/usb/usbtv/usbtv-video.c | 5 +--
drivers/media/v4l2-core/v4l2-device.c | 1 +
drivers/staging/kpc2000/kpc2000/core.c | 4 +--
drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 +
.../bindings/net/wireless/siliabs,wfx.txt | 7 ++--
drivers/staging/wfx/bus_sdio.c | 15 ++++----
drivers/staging/wfx/bus_spi.c | 41 +++++++++++++---------
drivers/staging/wfx/main.c | 21 ++++++-----
drivers/staging/wfx/main.h | 1 -
drivers/staging/wfx/queue.c | 16 ++++-----
drivers/staging/wlan-ng/hfa384x_usb.c | 2 ++
drivers/staging/wlan-ng/prism2usb.c | 1 +
drivers/usb/class/cdc-acm.c | 18 +++++-----
drivers/usb/musb/musb_host.c | 17 +++------
drivers/usb/serial/io_edgeport.c | 2 +-
drivers/usb/serial/option.c | 6 ++++
fs/libfs.c | 8 +++--
kernel/bpf/verifier.c | 19 ----------
27 files changed, 149 insertions(+), 104 deletions(-)
From: Johan Hovold <[email protected]>
commit a246b4d547708f33ff4d4b9a7a5dbac741dc89d8 upstream.
Make sure to check that we have two alternate settings and at least one
endpoint before accessing the second altsetting structure and
dereferencing the endpoint arrays.
This specifically avoids dereferencing NULL-pointers or corrupting
memory when a device does not have the expected descriptors.
Note that the sanity check in cit_get_packet_size() is not redundant as
the driver is mixing looking up altsettings by index and by number,
which may not coincide.
Fixes: 659fefa0eb17 ("V4L/DVB: gspca_xirlink_cit: Add support for camera with a bcd version of 0.01")
Fixes: 59f8b0bf3c12 ("V4L/DVB: gspca_xirlink_cit: support bandwidth changing for devices with 1 alt setting")
Cc: stable <[email protected]> # 2.6.37
Cc: Hans de Goede <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/media/usb/gspca/xirlink_cit.c | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)
--- a/drivers/media/usb/gspca/xirlink_cit.c
+++ b/drivers/media/usb/gspca/xirlink_cit.c
@@ -1442,6 +1442,9 @@ static int cit_get_packet_size(struct gs
return -EIO;
}
+ if (alt->desc.bNumEndpoints < 1)
+ return -ENODEV;
+
return le16_to_cpu(alt->endpoint[0].desc.wMaxPacketSize);
}
@@ -2626,6 +2629,7 @@ static int sd_start(struct gspca_dev *gs
static int sd_isoc_init(struct gspca_dev *gspca_dev)
{
+ struct usb_interface_cache *intfc;
struct usb_host_interface *alt;
int max_packet_size;
@@ -2641,8 +2645,17 @@ static int sd_isoc_init(struct gspca_dev
break;
}
+ intfc = gspca_dev->dev->actconfig->intf_cache[0];
+
+ if (intfc->num_altsetting < 2)
+ return -ENODEV;
+
+ alt = &intfc->altsetting[1];
+
+ if (alt->desc.bNumEndpoints < 1)
+ return -ENODEV;
+
/* Start isoc bandwidth "negotiation" at max isoc bandwidth */
- alt = &gspca_dev->dev->actconfig->intf_cache[0]->altsetting[1];
alt->endpoint[0].desc.wMaxPacketSize = cpu_to_le16(max_packet_size);
return 0;
@@ -2665,6 +2678,9 @@ static int sd_isoc_nego(struct gspca_dev
break;
}
+ /*
+ * Existence of altsetting and endpoint was verified in sd_isoc_init()
+ */
alt = &gspca_dev->dev->actconfig->intf_cache[0]->altsetting[1];
packet_size = le16_to_cpu(alt->endpoint[0].desc.wMaxPacketSize);
if (packet_size <= min_packet_size)
From: Kai-Heng Feng <[email protected]>
commit 32d2545462c6cede998267b86e57cda5d1dc2225 upstream.
Add the PCI ID to the driver list to support this new device.
Cc: [email protected]
Signed-off-by: Kai-Heng Feng <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/ata/ahci.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/ata/ahci.c
+++ b/drivers/ata/ahci.c
@@ -401,6 +401,7 @@ static const struct pci_device_id ahci_p
{ PCI_VDEVICE(INTEL, 0xa252), board_ahci }, /* Lewisburg RAID*/
{ PCI_VDEVICE(INTEL, 0xa256), board_ahci }, /* Lewisburg RAID*/
{ PCI_VDEVICE(INTEL, 0xa356), board_ahci }, /* Cannon Lake PCH-H RAID */
+ { PCI_VDEVICE(INTEL, 0x06d7), board_ahci }, /* Comet Lake-H RAID */
{ PCI_VDEVICE(INTEL, 0x0f22), board_ahci_mobile }, /* Bay Trail AHCI */
{ PCI_VDEVICE(INTEL, 0x0f23), board_ahci_mobile }, /* Bay Trail AHCI */
{ PCI_VDEVICE(INTEL, 0x22a3), board_ahci_mobile }, /* Cherry Tr. AHCI */
From: Eric Biggers <[email protected]>
commit a65cab7d7f05c2061a3e2490257d3086ff3202c6 upstream.
Reading from a debugfs file at a nonzero position, without first reading
at position 0, leaks uninitialized memory to userspace.
It's a bit tricky to do this, since lseek() and pread() aren't allowed
on these files, and write() doesn't update the position on them. But
writing to them with splice() *does* update the position:
#define _GNU_SOURCE 1
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
int main()
{
int pipes[2], fd, n, i;
char buf[32];
pipe(pipes);
write(pipes[1], "0", 1);
fd = open("/sys/kernel/debug/fault_around_bytes", O_RDWR);
splice(pipes[0], NULL, fd, NULL, 1, 0);
n = read(fd, buf, sizeof(buf));
for (i = 0; i < n; i++)
printf("%02x", buf[i]);
printf("\n");
}
Output:
5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a5a30
Fix the infoleak by making simple_attr_read() always fill
simple_attr::get_buf if it hasn't been filled yet.
Reported-by: [email protected]
Reported-by: Alexander Potapenko <[email protected]>
Fixes: acaefc25d21f ("[PATCH] libfs: add simple attribute files")
Cc: [email protected]
Signed-off-by: Eric Biggers <[email protected]>
Acked-by: Kees Cook <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
fs/libfs.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- a/fs/libfs.c
+++ b/fs/libfs.c
@@ -891,7 +891,7 @@ int simple_attr_open(struct inode *inode
{
struct simple_attr *attr;
- attr = kmalloc(sizeof(*attr), GFP_KERNEL);
+ attr = kzalloc(sizeof(*attr), GFP_KERNEL);
if (!attr)
return -ENOMEM;
@@ -931,9 +931,11 @@ ssize_t simple_attr_read(struct file *fi
if (ret)
return ret;
- if (*ppos) { /* continued read */
+ if (*ppos && attr->get_buf[0]) {
+ /* continued read */
size = strlen(attr->get_buf);
- } else { /* first read */
+ } else {
+ /* first read */
u64 val;
ret = attr->get(attr->data, &val);
if (ret)
From: Pawel Dembicki <[email protected]>
commit 007d20dca2376a751b1dad03442f118438b7e65e upstream.
ASKEY WWHC050 is a mcie LTE modem.
The oem configuration states:
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 2 Spd=480 MxCh= 0
D: Ver= 2.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=1690 ProdID=7588 Rev=ff.ff
S: Manufacturer=Android
S: Product=Android
S: SerialNumber=813f0eef6e6e
C:* #Ifs= 6 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=84(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E: Ad=86(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=85(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E: Ad=88(I) Atr=03(Int.) MxPS= 8 Ivl=32ms
E: Ad=87(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=05(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E: Ad=89(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=06(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
Tested on openwrt distribution.
Co-developed-by: Cezary Jackiewicz <[email protected]>
Signed-off-by: Cezary Jackiewicz <[email protected]>
Signed-off-by: Pawel Dembicki <[email protected]>
Cc: stable <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/usb/serial/option.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1992,6 +1992,8 @@ static const struct usb_device_id option
{ USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e01, 0xff, 0xff, 0xff) }, /* D-Link DWM-152/C1 */
{ USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x3e02, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/C1 */
{ USB_DEVICE_AND_INTERFACE_INFO(0x07d1, 0x7e11, 0xff, 0xff, 0xff) }, /* D-Link DWM-156/A3 */
+ { USB_DEVICE_INTERFACE_CLASS(0x1690, 0x7588, 0xff), /* ASKEY WWHC050 */
+ .driver_info = RSVD(1) | RSVD(4) },
{ USB_DEVICE_INTERFACE_CLASS(0x2020, 0x2031, 0xff), /* Olicard 600 */
.driver_info = RSVD(4) },
{ USB_DEVICE_INTERFACE_CLASS(0x2020, 0x2060, 0xff), /* BroadMobi BM818 */
From: Johan Hovold <[email protected]>
commit 485b06aadb933190f4bc44e006076bc27a23f205 upstream.
Make sure to check that we have two alternate settings and at least one
endpoint before accessing the second altsetting structure and
dereferencing the endpoint arrays.
This specifically avoids dereferencing NULL-pointers or corrupting
memory when a device does not have the expected descriptors.
Note that the sanity checks in stv06xx_start() and pb0100_start() are
not redundant as the driver is mixing looking up altsettings by index
and by number, which may not coincide.
Fixes: 8668d504d72c ("V4L/DVB (12082): gspca_stv06xx: Add support for st6422 bridge and sensor")
Fixes: c0b33bdc5b8d ("[media] gspca-stv06xx: support bandwidth changing")
Cc: stable <[email protected]> # 2.6.31
Cc: Hans de Goede <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/media/usb/gspca/stv06xx/stv06xx.c | 19 ++++++++++++++++++-
drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c | 4 ++++
2 files changed, 22 insertions(+), 1 deletion(-)
--- a/drivers/media/usb/gspca/stv06xx/stv06xx.c
+++ b/drivers/media/usb/gspca/stv06xx/stv06xx.c
@@ -282,6 +282,9 @@ static int stv06xx_start(struct gspca_de
return -EIO;
}
+ if (alt->desc.bNumEndpoints < 1)
+ return -ENODEV;
+
packet_size = le16_to_cpu(alt->endpoint[0].desc.wMaxPacketSize);
err = stv06xx_write_bridge(sd, STV_ISO_SIZE_L, packet_size);
if (err < 0)
@@ -306,11 +309,21 @@ out:
static int stv06xx_isoc_init(struct gspca_dev *gspca_dev)
{
+ struct usb_interface_cache *intfc;
struct usb_host_interface *alt;
struct sd *sd = (struct sd *) gspca_dev;
+ intfc = gspca_dev->dev->actconfig->intf_cache[0];
+
+ if (intfc->num_altsetting < 2)
+ return -ENODEV;
+
+ alt = &intfc->altsetting[1];
+
+ if (alt->desc.bNumEndpoints < 1)
+ return -ENODEV;
+
/* Start isoc bandwidth "negotiation" at max isoc bandwidth */
- alt = &gspca_dev->dev->actconfig->intf_cache[0]->altsetting[1];
alt->endpoint[0].desc.wMaxPacketSize =
cpu_to_le16(sd->sensor->max_packet_size[gspca_dev->curr_mode]);
@@ -323,6 +336,10 @@ static int stv06xx_isoc_nego(struct gspc
struct usb_host_interface *alt;
struct sd *sd = (struct sd *) gspca_dev;
+ /*
+ * Existence of altsetting and endpoint was verified in
+ * stv06xx_isoc_init()
+ */
alt = &gspca_dev->dev->actconfig->intf_cache[0]->altsetting[1];
packet_size = le16_to_cpu(alt->endpoint[0].desc.wMaxPacketSize);
min_packet_size = sd->sensor->min_packet_size[gspca_dev->curr_mode];
--- a/drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
+++ b/drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c
@@ -185,6 +185,10 @@ static int pb0100_start(struct sd *sd)
alt = usb_altnum_to_altsetting(intf, sd->gspca_dev.alt);
if (!alt)
return -ENODEV;
+
+ if (alt->desc.bNumEndpoints < 1)
+ return -ENODEV;
+
packet_size = le16_to_cpu(alt->endpoint[0].desc.wMaxPacketSize);
/* If we don't have enough bandwidth use a lower framerate */
From: Dafna Hirschfeld <[email protected]>
commit 6990570f7e0a6078e11b9c5dc13f4b6e3f49a398 upstream.
sd->devnode is released after calling
v4l2_subdev_release. Therefore it should be set
to NULL so that the subdev won't hold a pointer
to a released object. This fixes a reference
after free bug in function
v4l2_device_unregister_subdev
Fixes: 0e43734d4c46e ("media: v4l2-subdev: add release() internal op")
Cc: [email protected]
Signed-off-by: Dafna Hirschfeld <[email protected]>
Reviewed-by: Ezequiel Garcia <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/media/v4l2-core/v4l2-device.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/media/v4l2-core/v4l2-device.c
+++ b/drivers/media/v4l2-core/v4l2-device.c
@@ -179,6 +179,7 @@ static void v4l2_subdev_release(struct v
if (sd->internal_ops && sd->internal_ops->release)
sd->internal_ops->release(sd);
+ sd->devnode = NULL;
module_put(owner);
}
From: Qiujun Huang <[email protected]>
commit 1165dd73e811a07d947aee218510571f516081f6 upstream.
We can't handle the case length > WLAN_DATA_MAXLEN.
Because the size of rxfrm->data is WLAN_DATA_MAXLEN(2312), and we can't
read more than that.
Thanks-to: Hillf Danton <[email protected]>
Reported-and-tested-by: [email protected]
Signed-off-by: Qiujun Huang <[email protected]>
Cc: stable <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/staging/wlan-ng/hfa384x_usb.c | 2 ++
1 file changed, 2 insertions(+)
--- a/drivers/staging/wlan-ng/hfa384x_usb.c
+++ b/drivers/staging/wlan-ng/hfa384x_usb.c
@@ -3372,6 +3372,8 @@ static void hfa384x_int_rxmonitor(struct
WLAN_HDR_A4_LEN + WLAN_DATA_MAXLEN + WLAN_CRC_LEN)) {
pr_debug("overlen frm: len=%zd\n",
skblen - sizeof(struct p80211_caphdr));
+
+ return;
}
skb = dev_alloc_skb(skblen);
From: Michał Mirosław <[email protected]>
commit 4033714d6cbe04893aa0708d1fcaa45dd8eb3f53 upstream.
Current code races in init/exit with interrupt handlers. This is noticed
by the warning below. Fix it by using devres for ordering allocations and
IRQ de/registration.
WARNING: CPU: 0 PID: 827 at drivers/staging/wfx/bus_spi.c:142 wfx_spi_irq_handler+0x5c/0x64 [wfx]
race condition in driver init/deinit
Cc: [email protected]
Fixes: 0096214a59a7 ("staging: wfx: add support for I/O access")
Signed-off-by: Michał Mirosław <[email protected]>
Reviewed-by: Jérôme Pouiller <[email protected]>
Link: https://lore.kernel.org/r/f0c66cbb3110c2736cd4357c753fba8c14ee3aee.1581416843.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/staging/wfx/bus_sdio.c | 15 ++++++---------
drivers/staging/wfx/bus_spi.c | 27 ++++++++++++++-------------
drivers/staging/wfx/main.c | 21 +++++++++++++--------
drivers/staging/wfx/main.h | 1 -
4 files changed, 33 insertions(+), 31 deletions(-)
--- a/drivers/staging/wfx/bus_sdio.c
+++ b/drivers/staging/wfx/bus_sdio.c
@@ -200,25 +200,23 @@ static int wfx_sdio_probe(struct sdio_fu
if (ret)
goto err0;
- ret = wfx_sdio_irq_subscribe(bus);
- if (ret)
- goto err1;
-
bus->core = wfx_init_common(&func->dev, &wfx_sdio_pdata,
&wfx_sdio_hwbus_ops, bus);
if (!bus->core) {
ret = -EIO;
- goto err2;
+ goto err1;
}
+ ret = wfx_sdio_irq_subscribe(bus);
+ if (ret)
+ goto err1;
+
ret = wfx_probe(bus->core);
if (ret)
- goto err3;
+ goto err2;
return 0;
-err3:
- wfx_free_common(bus->core);
err2:
wfx_sdio_irq_unsubscribe(bus);
err1:
@@ -234,7 +232,6 @@ static void wfx_sdio_remove(struct sdio_
struct wfx_sdio_priv *bus = sdio_get_drvdata(func);
wfx_release(bus->core);
- wfx_free_common(bus->core);
wfx_sdio_irq_unsubscribe(bus);
sdio_claim_host(func);
sdio_disable_func(func);
--- a/drivers/staging/wfx/bus_spi.c
+++ b/drivers/staging/wfx/bus_spi.c
@@ -156,6 +156,11 @@ static void wfx_spi_request_rx(struct wo
wfx_bh_request_rx(bus->core);
}
+static void wfx_flush_irq_work(void *w)
+{
+ flush_work(w);
+}
+
static size_t wfx_spi_align_size(void *priv, size_t size)
{
// Most of SPI controllers avoid DMA if buffer size is not 32bit aligned
@@ -211,22 +216,23 @@ static int wfx_spi_probe(struct spi_devi
udelay(2000);
}
- ret = devm_request_irq(&func->dev, func->irq, wfx_spi_irq_handler,
- IRQF_TRIGGER_RISING, "wfx", bus);
- if (ret)
- return ret;
-
INIT_WORK(&bus->request_rx, wfx_spi_request_rx);
bus->core = wfx_init_common(&func->dev, &wfx_spi_pdata,
&wfx_spi_hwbus_ops, bus);
if (!bus->core)
return -EIO;
- ret = wfx_probe(bus->core);
+ ret = devm_add_action_or_reset(&func->dev, wfx_flush_irq_work,
+ &bus->request_rx);
if (ret)
- wfx_free_common(bus->core);
+ return ret;
+
+ ret = devm_request_irq(&func->dev, func->irq, wfx_spi_irq_handler,
+ IRQF_TRIGGER_RISING, "wfx", bus);
+ if (ret)
+ return ret;
- return ret;
+ return wfx_probe(bus->core);
}
static int wfx_spi_remove(struct spi_device *func)
@@ -234,11 +240,6 @@ static int wfx_spi_remove(struct spi_dev
struct wfx_spi_priv *bus = spi_get_drvdata(func);
wfx_release(bus->core);
- wfx_free_common(bus->core);
- // A few IRQ will be sent during device release. Hopefully, no IRQ
- // should happen after wdev/wvif are released.
- devm_free_irq(&func->dev, func->irq, bus);
- flush_work(&bus->request_rx);
return 0;
}
--- a/drivers/staging/wfx/main.c
+++ b/drivers/staging/wfx/main.c
@@ -262,6 +262,16 @@ static int wfx_send_pdata_pds(struct wfx
return ret;
}
+static void wfx_free_common(void *data)
+{
+ struct wfx_dev *wdev = data;
+
+ mutex_destroy(&wdev->rx_stats_lock);
+ mutex_destroy(&wdev->conf_mutex);
+ wfx_tx_queues_deinit(wdev);
+ ieee80211_free_hw(wdev->hw);
+}
+
struct wfx_dev *wfx_init_common(struct device *dev,
const struct wfx_platform_data *pdata,
const struct hwbus_ops *hwbus_ops,
@@ -332,15 +342,10 @@ struct wfx_dev *wfx_init_common(struct d
wfx_init_hif_cmd(&wdev->hif_cmd);
wfx_tx_queues_init(wdev);
- return wdev;
-}
+ if (devm_add_action_or_reset(dev, wfx_free_common, wdev))
+ return NULL;
-void wfx_free_common(struct wfx_dev *wdev)
-{
- mutex_destroy(&wdev->rx_stats_lock);
- mutex_destroy(&wdev->conf_mutex);
- wfx_tx_queues_deinit(wdev);
- ieee80211_free_hw(wdev->hw);
+ return wdev;
}
int wfx_probe(struct wfx_dev *wdev)
--- a/drivers/staging/wfx/main.h
+++ b/drivers/staging/wfx/main.h
@@ -34,7 +34,6 @@ struct wfx_dev *wfx_init_common(struct d
const struct wfx_platform_data *pdata,
const struct hwbus_ops *hwbus_ops,
void *hwbus_priv);
-void wfx_free_common(struct wfx_dev *wdev);
int wfx_probe(struct wfx_dev *wdev);
void wfx_release(struct wfx_dev *wdev);
From: Johan Hovold <[email protected]>
commit f52981019ad8d6718de79b425a574c6bddf81f7c upstream.
Make sure to use the current alternate setting when verifying the
interface descriptors to avoid submitting an URB to an invalid endpoint.
Failing to do so could cause the driver to misbehave or trigger a WARN()
in usb_submit_urb() that kernels with panic_on_warn set would choke on.
Fixes: c4018fa2e4c0 ("[media] dib0700: fix RC support on Hauppauge Nova-TD")
Cc: stable <[email protected]> # 3.16
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Sean Young <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/media/usb/dvb-usb/dib0700_core.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
--- a/drivers/media/usb/dvb-usb/dib0700_core.c
+++ b/drivers/media/usb/dvb-usb/dib0700_core.c
@@ -818,7 +818,7 @@ int dib0700_rc_setup(struct dvb_usb_devi
/* Starting in firmware 1.20, the RC info is provided on a bulk pipe */
- if (intf->altsetting[0].desc.bNumEndpoints < rc_ep + 1)
+ if (intf->cur_altsetting->desc.bNumEndpoints < rc_ep + 1)
return -ENODEV;
purb = usb_alloc_urb(0, GFP_KERNEL);
@@ -838,7 +838,7 @@ int dib0700_rc_setup(struct dvb_usb_devi
* Some devices like the Hauppauge NovaTD model 52009 use an interrupt
* endpoint, while others use a bulk one.
*/
- e = &intf->altsetting[0].endpoint[rc_ep].desc;
+ e = &intf->cur_altsetting->endpoint[rc_ep].desc;
if (usb_endpoint_dir_in(e)) {
if (usb_endpoint_xfer_bulk(e)) {
pipe = usb_rcvbulkpipe(d->udev, rc_ep);
From: Michał Mirosław <[email protected]>
commit e2525a95cc0887c7dc0549cb5d0ac3e796e1d54c upstream.
Lockdep is complaining about recursive locking, because it can't make
a difference between locked skb_queues. Annotate nested locks and avoid
double bh_disable/enable.
[...]
insmod/815 is trying to acquire lock:
cb7d6418 (&(&list->lock)->rlock){+...}, at: wfx_tx_queues_clear+0xfc/0x198 [wfx]
but task is already holding lock:
cb7d61f4 (&(&list->lock)->rlock){+...}, at: wfx_tx_queues_clear+0xa0/0x198 [wfx]
[...]
Possible unsafe locking scenario:
CPU0
----
lock(&(&list->lock)->rlock);
lock(&(&list->lock)->rlock);
Cc: [email protected]
Fixes: 9bca45f3d692 ("staging: wfx: allow to send 802.11 frames")
Signed-off-by: Michał Mirosław <[email protected]>
Link: https://lore.kernel.org/r/5e30397af95854b4a7deea073b730c00229f42ba.1581416843.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/staging/wfx/queue.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
--- a/drivers/staging/wfx/queue.c
+++ b/drivers/staging/wfx/queue.c
@@ -130,12 +130,12 @@ static void wfx_tx_queue_clear(struct wf
spin_lock_bh(&queue->queue.lock);
while ((item = __skb_dequeue(&queue->queue)) != NULL)
skb_queue_head(gc_list, item);
- spin_lock_bh(&stats->pending.lock);
+ spin_lock_nested(&stats->pending.lock, 1);
for (i = 0; i < ARRAY_SIZE(stats->link_map_cache); ++i) {
stats->link_map_cache[i] -= queue->link_map_cache[i];
queue->link_map_cache[i] = 0;
}
- spin_unlock_bh(&stats->pending.lock);
+ spin_unlock(&stats->pending.lock);
spin_unlock_bh(&queue->queue.lock);
}
@@ -207,9 +207,9 @@ void wfx_tx_queue_put(struct wfx_dev *wd
++queue->link_map_cache[tx_priv->link_id];
- spin_lock_bh(&stats->pending.lock);
+ spin_lock_nested(&stats->pending.lock, 1);
++stats->link_map_cache[tx_priv->link_id];
- spin_unlock_bh(&stats->pending.lock);
+ spin_unlock(&stats->pending.lock);
spin_unlock_bh(&queue->queue.lock);
}
@@ -237,11 +237,11 @@ static struct sk_buff *wfx_tx_queue_get(
__skb_unlink(skb, &queue->queue);
--queue->link_map_cache[tx_priv->link_id];
- spin_lock_bh(&stats->pending.lock);
+ spin_lock_nested(&stats->pending.lock, 1);
__skb_queue_tail(&stats->pending, skb);
if (!--stats->link_map_cache[tx_priv->link_id])
wakeup_stats = true;
- spin_unlock_bh(&stats->pending.lock);
+ spin_unlock(&stats->pending.lock);
}
spin_unlock_bh(&queue->queue.lock);
if (wakeup_stats)
@@ -259,10 +259,10 @@ int wfx_pending_requeue(struct wfx_dev *
spin_lock_bh(&queue->queue.lock);
++queue->link_map_cache[tx_priv->link_id];
- spin_lock_bh(&stats->pending.lock);
+ spin_lock_nested(&stats->pending.lock, 1);
++stats->link_map_cache[tx_priv->link_id];
__skb_unlink(skb, &stats->pending);
- spin_unlock_bh(&stats->pending.lock);
+ spin_unlock(&stats->pending.lock);
__skb_queue_tail(&queue->queue, skb);
spin_unlock_bh(&queue->queue.lock);
return 0;
From: Qiujun Huang <[email protected]>
commit a1f165a6b738f0c9d744bad4af7a53909278f5fc upstream.
We should cancel hw->usb_work before kfree(hw).
Reported-by: [email protected]
Signed-off-by: Qiujun Huang <[email protected]>
Cc: stable <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/staging/wlan-ng/prism2usb.c | 1 +
1 file changed, 1 insertion(+)
--- a/drivers/staging/wlan-ng/prism2usb.c
+++ b/drivers/staging/wlan-ng/prism2usb.c
@@ -180,6 +180,7 @@ static void prism2sta_disconnect_usb(str
cancel_work_sync(&hw->link_bh);
cancel_work_sync(&hw->commsqual_bh);
+ cancel_work_sync(&hw->usb_work);
/* Now we complete any outstanding commands
* and tell everyone who is waiting for their
From: Johan Hovold <[email protected]>
commit 998912346c0da53a6dbb71fab3a138586b596b30 upstream.
Make sure to check that we have at least one endpoint before accessing
the endpoint array to avoid dereferencing a NULL-pointer on stream
start.
Note that these sanity checks are not redundant as the driver is mixing
looking up altsettings by index and by number, which need not coincide.
Fixes: 1876bb923c98 ("V4L/DVB (12079): gspca_ov519: add support for the ov511 bridge")
Fixes: b282d87332f5 ("V4L/DVB (12080): gspca_ov519: Fix ov518+ with OV7620AE (Trust spacecam 320)")
Cc: stable <[email protected]> # 2.6.31
Cc: Hans de Goede <[email protected]>
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Hans Verkuil <[email protected]>
Signed-off-by: Mauro Carvalho Chehab <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/media/usb/gspca/ov519.c | 10 ++++++++++
1 file changed, 10 insertions(+)
--- a/drivers/media/usb/gspca/ov519.c
+++ b/drivers/media/usb/gspca/ov519.c
@@ -3477,6 +3477,11 @@ static void ov511_mode_init_regs(struct
return;
}
+ if (alt->desc.bNumEndpoints < 1) {
+ sd->gspca_dev.usb_err = -ENODEV;
+ return;
+ }
+
packet_size = le16_to_cpu(alt->endpoint[0].desc.wMaxPacketSize);
reg_w(sd, R51x_FIFO_PSIZE, packet_size >> 5);
@@ -3603,6 +3608,11 @@ static void ov518_mode_init_regs(struct
return;
}
+ if (alt->desc.bNumEndpoints < 1) {
+ sd->gspca_dev.usb_err = -ENODEV;
+ return;
+ }
+
packet_size = le16_to_cpu(alt->endpoint[0].desc.wMaxPacketSize);
ov518_reg_w32(sd, R51x_FIFO_PSIZE, packet_size & ~7, 2);
From: Michał Mirosław <[email protected]>
commit eec6e3ee636ec3adaa85ebe4b4acaacfcf06277e upstream.
Add "compatible" string matching "vendor,chip" template and proper
GPIO flags handling. Keep support for old name and reset polarity
for older devicetrees.
Cc: [email protected] # d3a5bcb4a17f ("gpio: add gpiod_toggle_active_low()")
Cc: [email protected]
Fixes: 0096214a59a7 ("staging: wfx: add support for I/O access")
Signed-off-by: Michał Mirosław <[email protected]>
Link: https://lore.kernel.org/r/0e6dda06f145676861860f073a53dc95987c7ab5.1581416843.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/siliabs,wfx.txt | 7 ++---
drivers/staging/wfx/bus_spi.c | 14 +++++++---
2 files changed, 14 insertions(+), 7 deletions(-)
--- a/drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/siliabs,wfx.txt
+++ b/drivers/staging/wfx/Documentation/devicetree/bindings/net/wireless/siliabs,wfx.txt
@@ -6,7 +6,7 @@ SPI
You have to declare the WFxxx chip in your device tree.
Required properties:
- - compatible: Should be "silabs,wfx-spi"
+ - compatible: Should be "silabs,wf200"
- reg: Chip select address of device
- spi-max-frequency: Maximum SPI clocking speed of device in Hz
- interrupts-extended: Should contain interrupt line (interrupt-parent +
@@ -15,6 +15,7 @@ Required properties:
Optional properties:
- reset-gpios: phandle of gpio that will be used to reset chip during probe.
Without this property, you may encounter issues with warm boot.
+ (Legacy: when compatible == "silabs,wfx-spi", the gpio is inverted.)
Please consult Documentation/devicetree/bindings/spi/spi-bus.txt for optional
SPI connection related properties,
@@ -23,12 +24,12 @@ Example:
&spi1 {
wfx {
- compatible = "silabs,wfx-spi";
+ compatible = "silabs,wf200";
pinctrl-names = "default";
pinctrl-0 = <&wfx_irq &wfx_gpios>;
interrupts-extended = <&gpio 16 IRQ_TYPE_EDGE_RISING>;
wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
- reset-gpios = <&gpio 13 GPIO_ACTIVE_HIGH>;
+ reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
reg = <0>;
spi-max-frequency = <42000000>;
};
--- a/drivers/staging/wfx/bus_spi.c
+++ b/drivers/staging/wfx/bus_spi.c
@@ -27,6 +27,8 @@ MODULE_PARM_DESC(gpio_reset, "gpio numbe
#define SET_WRITE 0x7FFF /* usage: and operation */
#define SET_READ 0x8000 /* usage: or operation */
+#define WFX_RESET_INVERTED 1
+
static const struct wfx_platform_data wfx_spi_pdata = {
.file_fw = "wfm_wf200",
.file_pds = "wf200.pds",
@@ -201,9 +203,11 @@ static int wfx_spi_probe(struct spi_devi
if (!bus->gpio_reset) {
dev_warn(&func->dev, "try to load firmware anyway\n");
} else {
- gpiod_set_value(bus->gpio_reset, 0);
- udelay(100);
+ if (spi_get_device_id(func)->driver_data & WFX_RESET_INVERTED)
+ gpiod_toggle_active_low(bus->gpio_reset);
gpiod_set_value(bus->gpio_reset, 1);
+ udelay(100);
+ gpiod_set_value(bus->gpio_reset, 0);
udelay(2000);
}
@@ -244,14 +248,16 @@ static int wfx_spi_remove(struct spi_dev
* stripped.
*/
static const struct spi_device_id wfx_spi_id[] = {
- { "wfx-spi", 0 },
+ { "wfx-spi", WFX_RESET_INVERTED },
+ { "wf200", 0 },
{ },
};
MODULE_DEVICE_TABLE(spi, wfx_spi_id);
#ifdef CONFIG_OF
static const struct of_device_id wfx_spi_of_match[] = {
- { .compatible = "silabs,wfx-spi" },
+ { .compatible = "silabs,wfx-spi", .data = (void *)WFX_RESET_INVERTED },
+ { .compatible = "silabs,wf200" },
{ },
};
MODULE_DEVICE_TABLE(of, wfx_spi_of_match);
On Tue, 31 Mar 2020 at 14:30, Greg Kroah-Hartman
<[email protected]> wrote:
>
> This is the start of the stable review cycle for the 5.6.1 release.
> There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.6.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>
Perf build broken on Linux next and mainline and now on stable-rc-5.6 branch.
where as building kernel Image is successful on arm64, arm, x86_64, and i386.
I have reported this problem on March 25th
https://lore.kernel.org/linux-next/CA+G9fYtr+Je4=pLWUgUvPNzUSUmg04oXPJ8zFwTRKji_udcZzA@mail.gmail.com/T/#m7909c9746aceadd95d67accbbc9798ba1dd19157
--
https://lkft.org.linaro
Linaro LKFT
On Tue, Mar 31, 2020 at 11:08 AM Naresh Kamboju
<[email protected]> wrote:
>
> Perf build broken on Linux next and mainline and now on stable-rc-5.6 branch.
Strange. What is it that triggers the problem for you? It works fine
here.. The error looks like some kind of command line quoting error,
but I don't see the direct cause.
Have you bisected the failure? Build failures should be particularly
easy and quick to bisect.
Linus
Em Tue, Mar 31, 2020 at 11:20:37AM -0700, Linus Torvalds escreveu:
> On Tue, Mar 31, 2020 at 11:08 AM Naresh Kamboju
> <[email protected]> wrote:
> >
> > Perf build broken on Linux next and mainline and now on stable-rc-5.6 branch.
>
> Strange. What is it that triggers the problem for you? It works fine
> here.. The error looks like some kind of command line quoting error,
> but I don't see the direct cause.
>
> Have you bisected the failure? Build failures should be particularly
> easy and quick to bisect.
Naresh, can you try with the patch below? There was some back and forth
about a second patch in a series and this fell thru the cracks.
And also, BTW, can you please send me instructions on how to get hold of
the toolchain you use to crossbuild perf, so that I can add it to my set
of test build containers?
- Arnaldo
---
From: He Zhe <[email protected]>
The $(CC) passed to arch_errno_names.sh may include a series of parameters
along with gcc itself. To avoid overwriting the following parameters of
arch_errno_names.sh and break the build like below, we just pick up the
first word of the $(CC).
find: unknown predicate `-m64/arch'
x86_64-wrs-linux-gcc: warning: '-x c' after last input file has no effect
x86_64-wrs-linux-gcc: error: unrecognized command line option '-m64/include/uapi/asm-generic/errno.h'
x86_64-wrs-linux-gcc: fatal error: no input files
Signed-off-by: He Zhe <[email protected]>
---
tools/perf/Makefile.perf | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 3eda9d4..7114c11 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -573,7 +573,7 @@ arch_errno_hdr_dir := $(srctree)/tools
arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh
$(arch_errno_name_array): $(arch_errno_tbl)
- $(Q)$(SHELL) '$(arch_errno_tbl)' $(CC) $(arch_errno_hdr_dir) > $@
+ $(Q)$(SHELL) '$(arch_errno_tbl)' $(firstword $(CC)) $(arch_errno_hdr_dir) > $@
sync_file_range_arrays := $(beauty_outdir)/sync_file_range_arrays.c
sync_file_range_tbls := $(srctree)/tools/perf/trace/beauty/sync_file_range.sh
--
2.7.4
On 3/31/20 2:59 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.6.1 release.
> There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.6.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
On Tue, 2020-03-31 at 10:59 +0200, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.6.1 release.
> There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-
> stable-rc.git linux-5.6.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>
> -------------
> Pseudo-Shortlog of commits:
>
> Greg Kroah-Hartman <[email protected]>
> Linux 5.6.1-rc1
>
> Dafna Hirschfeld <[email protected]>
> media: v4l2-core: fix a use-after-free bug of sd->devnode
>
> Johan Hovold <[email protected]>
> media: xirlink_cit: add missing descriptor sanity checks
>
> Johan Hovold <[email protected]>
> media: stv06xx: add missing descriptor sanity checks
>
> Johan Hovold <[email protected]>
> media: dib0700: fix rc endpoint lookup
>
> Johan Hovold <[email protected]>
> media: ov519: add missing endpoint sanity checks
>
> Eric Biggers <[email protected]>
> libfs: fix infoleak in simple_attr_read()
>
> Kai-Heng Feng <[email protected]>
> ahci: Add Intel Comet Lake H RAID PCI ID
>
> Michał Mirosław <[email protected]>
> staging: wfx: annotate nested gc_list vs tx queue locking
>
> Michał Mirosław <[email protected]>
> staging: wfx: fix init/remove vs IRQ race
>
> Michał Mirosław <[email protected]>
> staging: wfx: add proper "compatible" string
>
> Qiujun Huang <[email protected]>
> staging: wlan-ng: fix use-after-free Read in
> hfa384x_usbin_callback
>
> Qiujun Huang <[email protected]>
> staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
>
> Larry Finger <[email protected]>
> staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
>
> Dan Carpenter <[email protected]>
> staging: kpc2000: prevent underflow in cpld_reconfigure()
>
> Johan Hovold <[email protected]>
> media: usbtv: fix control-message timeouts
>
> Johan Hovold <[email protected]>
> media: flexcop-usb: fix endpoint sanity check
>
> Mans Rullgard <[email protected]>
> usb: musb: fix crash with highmen PIO and usbmon
>
> Qiujun Huang <[email protected]>
> USB: serial: io_edgeport: fix slab-out-of-bounds read in
> edge_interrupt_callback
>
> Matthias Reichl <[email protected]>
> USB: cdc-acm: restore capability check order
>
> Pawel Dembicki <[email protected]>
> USB: serial: option: add Wistron Neweb D19Q1
>
> Pawel Dembicki <[email protected]>
> USB: serial: option: add BroadMobi BM806U
>
> Pawel Dembicki <[email protected]>
> USB: serial: option: add support for ASKEY WWHC050
>
> Daniel Borkmann <[email protected]>
> bpf: Undo incorrect __reg_bound_offset32 handling
>
>
> -------------
>
> Diffstat:
>
> Makefile | 4 +--
> drivers/ata/ahci.c | 1 +
> drivers/media/usb/b2c2/flexcop-usb.c | 6 ++--
> drivers/media/usb/dvb-usb/dib0700_core.c | 4 +--
> drivers/media/usb/gspca/ov519.c | 10 ++++++
> drivers/media/usb/gspca/stv06xx/stv06xx.c | 19 +++++++++-
> drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c | 4 +++
> drivers/media/usb/gspca/xirlink_cit.c | 18 +++++++++-
> drivers/media/usb/usbtv/usbtv-core.c | 2 +-
> drivers/media/usb/usbtv/usbtv-video.c | 5 +--
> drivers/media/v4l2-core/v4l2-device.c | 1 +
> drivers/staging/kpc2000/kpc2000/core.c | 4 +--
> drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 +
> .../bindings/net/wireless/siliabs,wfx.txt | 7 ++--
> drivers/staging/wfx/bus_sdio.c | 15 ++++----
> drivers/staging/wfx/bus_spi.c | 41
> +++++++++++++---------
> drivers/staging/wfx/main.c | 21 ++++++-----
> drivers/staging/wfx/main.h | 1 -
> drivers/staging/wfx/queue.c | 16 ++++-----
> drivers/staging/wlan-ng/hfa384x_usb.c | 2 ++
> drivers/staging/wlan-ng/prism2usb.c | 1 +
> drivers/usb/class/cdc-acm.c | 18 +++++-----
> drivers/usb/musb/musb_host.c | 17 +++------
> drivers/usb/serial/io_edgeport.c | 2 +-
> drivers/usb/serial/option.c | 6 ++++
> fs/libfs.c | 8 +++--
> kernel/bpf/verifier.c | 19 ----------
> 27 files changed, 149 insertions(+), 104 deletions(-)
>
>
Compiled, booted, and no regressions on my machine.
BR,
Vitor
Hello!
On Tue, 31 Mar 2020 at 13:29, Arnaldo Carvalho de Melo
<[email protected]> wrote:
>
> Em Tue, Mar 31, 2020 at 11:20:37AM -0700, Linus Torvalds escreveu:
> > On Tue, Mar 31, 2020 at 11:08 AM Naresh Kamboju
> > <[email protected]> wrote:
> > >
> > > Perf build broken on Linux next and mainline and now on stable-rc-5.6 branch.
> >
> > Strange. What is it that triggers the problem for you? It works fine
> > here.. The error looks like some kind of command line quoting error,
> > but I don't see the direct cause.
> >
> > Have you bisected the failure? Build failures should be particularly
> > easy and quick to bisect.
>
> Naresh, can you try with the patch below? There was some back and forth
> about a second patch in a series and this fell thru the cracks.
I tried that patch, did not help.
Bisection led to the expected merge, "perf-urgent-for-linus", so I
went one by one and found this commit: a7ffd416d804 ("perf python: Fix
clang detection when using CC=clang-version"). Specifically, the line
that fails is:
cc_is_clang = b"clang version" in Popen([cc, "-v"],
stderr=PIPE).stderr.readline()
with:
Traceback (most recent call last):
File "util/setup.py", line 6, in <module>
cc_is_clang = b"clang version" in Popen([cc, "-v"],
stderr=PIPE).stderr.readline()
File "/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot-native/usr/lib/python2.7/subprocess.py",
line 394, in __init__
errread, errwrite)
File "/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot-native/usr/lib/python2.7/subprocess.py",
line 1047, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
There, the value for CC is "aarch64-linaro-linux-gcc
--sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot".
> And also, BTW, can you please send me instructions on how to get hold of
> the toolchain you use to crossbuild perf, so that I can add it to my set
> of test build containers?
It's an OE build, so it's bound to take quite a bit of space. I'll try
to get something dockerized so that it's easier to replicate.
Thanks and greetings!
Daniel Díaz
[email protected]
> - Arnaldo
>
> ---
>
> From: He Zhe <[email protected]>
>
> The $(CC) passed to arch_errno_names.sh may include a series of parameters
> along with gcc itself. To avoid overwriting the following parameters of
> arch_errno_names.sh and break the build like below, we just pick up the
> first word of the $(CC).
>
> find: unknown predicate `-m64/arch'
> x86_64-wrs-linux-gcc: warning: '-x c' after last input file has no effect
> x86_64-wrs-linux-gcc: error: unrecognized command line option '-m64/include/uapi/asm-generic/errno.h'
> x86_64-wrs-linux-gcc: fatal error: no input files
>
> Signed-off-by: He Zhe <[email protected]>
> ---
> tools/perf/Makefile.perf | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
> index 3eda9d4..7114c11 100644
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -573,7 +573,7 @@ arch_errno_hdr_dir := $(srctree)/tools
> arch_errno_tbl := $(srctree)/tools/perf/trace/beauty/arch_errno_names.sh
>
> $(arch_errno_name_array): $(arch_errno_tbl)
> - $(Q)$(SHELL) '$(arch_errno_tbl)' $(CC) $(arch_errno_hdr_dir) > $@
> + $(Q)$(SHELL) '$(arch_errno_tbl)' $(firstword $(CC)) $(arch_errno_hdr_dir) > $@
>
> sync_file_range_arrays := $(beauty_outdir)/sync_file_range_arrays.c
> sync_file_range_tbls := $(srctree)/tools/perf/trace/beauty/sync_file_range.sh
> --
> 2.7.4
>
On 3/31/20 1:59 AM, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.6.1 release.
> There are 23 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 Thu, 02 Apr 2020 08:50:37 +0000.
> Anything received after that time might be too late.
>
Build results:
total: 155 pass: 155 fail: 0
Qemu test results:
total: 428 pass: 428 fail: 0
Guenter
Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.6.1 release.
> There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.6.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
>
> -------------
> Pseudo-Shortlog of commits:
>
> Greg Kroah-Hartman <[email protected]>
> Linux 5.6.1-rc1
>
> Dafna Hirschfeld <[email protected]>
> media: v4l2-core: fix a use-after-free bug of sd->devnode
>
> Johan Hovold <[email protected]>
> media: xirlink_cit: add missing descriptor sanity checks
>
> Johan Hovold <[email protected]>
> media: stv06xx: add missing descriptor sanity checks
>
> Johan Hovold <[email protected]>
> media: dib0700: fix rc endpoint lookup
>
> Johan Hovold <[email protected]>
> media: ov519: add missing endpoint sanity checks
>
> Eric Biggers <[email protected]>
> libfs: fix infoleak in simple_attr_read()
>
> Kai-Heng Feng <[email protected]>
> ahci: Add Intel Comet Lake H RAID PCI ID
>
> Michał Mirosław <[email protected]>
> staging: wfx: annotate nested gc_list vs tx queue locking
>
> Michał Mirosław <[email protected]>
> staging: wfx: fix init/remove vs IRQ race
>
> Michał Mirosław <[email protected]>
> staging: wfx: add proper "compatible" string
>
> Qiujun Huang <[email protected]>
> staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
>
> Qiujun Huang <[email protected]>
> staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
>
> Larry Finger <[email protected]>
> staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
>
> Dan Carpenter <[email protected]>
> staging: kpc2000: prevent underflow in cpld_reconfigure()
>
> Johan Hovold <[email protected]>
> media: usbtv: fix control-message timeouts
>
> Johan Hovold <[email protected]>
> media: flexcop-usb: fix endpoint sanity check
>
> Mans Rullgard <[email protected]>
> usb: musb: fix crash with highmen PIO and usbmon
>
> Qiujun Huang <[email protected]>
> USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
>
> Matthias Reichl <[email protected]>
> USB: cdc-acm: restore capability check order
>
> Pawel Dembicki <[email protected]>
> USB: serial: option: add Wistron Neweb D19Q1
>
> Pawel Dembicki <[email protected]>
> USB: serial: option: add BroadMobi BM806U
>
> Pawel Dembicki <[email protected]>
> USB: serial: option: add support for ASKEY WWHC050
>
> Daniel Borkmann <[email protected]>
> bpf: Undo incorrect __reg_bound_offset32 handling
>
>
> -------------
>
> Diffstat:
>
> Makefile | 4 +--
> drivers/ata/ahci.c | 1 +
> drivers/media/usb/b2c2/flexcop-usb.c | 6 ++--
> drivers/media/usb/dvb-usb/dib0700_core.c | 4 +--
> drivers/media/usb/gspca/ov519.c | 10 ++++++
> drivers/media/usb/gspca/stv06xx/stv06xx.c | 19 +++++++++-
> drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c | 4 +++
> drivers/media/usb/gspca/xirlink_cit.c | 18 +++++++++-
> drivers/media/usb/usbtv/usbtv-core.c | 2 +-
> drivers/media/usb/usbtv/usbtv-video.c | 5 +--
> drivers/media/v4l2-core/v4l2-device.c | 1 +
> drivers/staging/kpc2000/kpc2000/core.c | 4 +--
> drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 +
> .../bindings/net/wireless/siliabs,wfx.txt | 7 ++--
> drivers/staging/wfx/bus_sdio.c | 15 ++++----
> drivers/staging/wfx/bus_spi.c | 41 +++++++++++++---------
> drivers/staging/wfx/main.c | 21 ++++++-----
> drivers/staging/wfx/main.h | 1 -
> drivers/staging/wfx/queue.c | 16 ++++-----
> drivers/staging/wlan-ng/hfa384x_usb.c | 2 ++
> drivers/staging/wlan-ng/prism2usb.c | 1 +
> drivers/usb/class/cdc-acm.c | 18 +++++-----
> drivers/usb/musb/musb_host.c | 17 +++------
> drivers/usb/serial/io_edgeport.c | 2 +-
> drivers/usb/serial/option.c | 6 ++++
> fs/libfs.c | 8 +++--
> kernel/bpf/verifier.c | 19 ----------
> 27 files changed, 149 insertions(+), 104 deletions(-)
>
>
I think you have missed the
https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=be8c827f50a0bcd56361b31ada11dc0a3c2fd240
Without it 5.6 is completely broken on iwlwifi.
Thanks, Woody
On Tue, Mar 31, 2020 at 11:06:16PM -0400, Woody Suwalski wrote:
> Greg Kroah-Hartman wrote:
> I think you have missed the
> https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=be8c827f50a0bcd56361b31ada11dc0a3c2fd240
It should come in soon, in another release or so, when the next set of
networking patches get sent to me.
thanks,
greg k-h
On Wed, Apr 01, 2020 at 07:51:52AM +0200, Greg Kroah-Hartman wrote:
> On Tue, Mar 31, 2020 at 11:06:16PM -0400, Woody Suwalski wrote:
> > Greg Kroah-Hartman wrote:
> > I think you have missed the
> > https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=be8c827f50a0bcd56361b31ada11dc0a3c2fd240
>
> It should come in soon, in another release or so, when the next set of
> networking patches get sent to me.
And also didn't hit Linus's tree until after this set of -rc patches
went out, so it's not like I missed it or anything :)
thanks,
greg k-h
On Tue, Mar 31, 2020 at 07:25:48PM -0700, Guenter Roeck wrote:
> On 3/31/20 1:59 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.6.1 release.
> > There are 23 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 Thu, 02 Apr 2020 08:50:37 +0000.
> > Anything received after that time might be too late.
> >
>
> Build results:
> total: 155 pass: 155 fail: 0
> Qemu test results:
> total: 428 pass: 428 fail: 0
Wonderful, thanks for testing these and letting me know.
greg k-h
On Tue, Mar 31, 2020 at 01:32:53PM -0600, shuah wrote:
> On 3/31/20 2:59 AM, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.6.1 release.
> > There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.6.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
> >
>
> Compiled and booted on my test system. No dmesg regressions.
Thanks for testing these and letting me know.
greg k-h
On 31/03/2020 09:59, Greg Kroah-Hartman wrote:
> This is the start of the stable review cycle for the 5.6.1 release.
> There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> or in the git tree and branch at:
> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.6.y
> and the diffstat can be found below.
>
> thanks,
>
> greg k-h
All tests are passing for Tegra ...
Test results for stable-v5.6:
13 builds: 13 pass, 0 fail
24 boots: 24 pass, 0 fail
40 tests: 40 pass, 0 fail
Linux version: 5.6.1-rc1-g579bffceae01
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra210-p3450-0000,
tegra30-cardhu-a04
Cheers
Jon
--
nvpublic
On Wed, Apr 01, 2020 at 09:57:37AM +0100, Jon Hunter wrote:
>
> On 31/03/2020 09:59, Greg Kroah-Hartman wrote:
> > This is the start of the stable review cycle for the 5.6.1 release.
> > There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> > or in the git tree and branch at:
> > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-5.6.y
> > and the diffstat can be found below.
> >
> > thanks,
> >
> > greg k-h
>
> All tests are passing for Tegra ...
>
> Test results for stable-v5.6:
> 13 builds: 13 pass, 0 fail
> 24 boots: 24 pass, 0 fail
> 40 tests: 40 pass, 0 fail
>
> Linux version: 5.6.1-rc1-g579bffceae01
> Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
> tegra194-p2972-0000, tegra20-ventana,
> tegra210-p2371-2180, tegra210-p3450-0000,
> tegra30-cardhu-a04
>
Thanks for testing all of these and letting me know.
greg k-h
Greg Kroah-Hartman wrote:
> On Wed, Apr 01, 2020 at 07:51:52AM +0200, Greg Kroah-Hartman wrote:
>> On Tue, Mar 31, 2020 at 11:06:16PM -0400, Woody Suwalski wrote:
>>> Greg Kroah-Hartman wrote:
>>> I think you have missed the
>>> https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=be8c827f50a0bcd56361b31ada11dc0a3c2fd240
>> It should come in soon, in another release or so, when the next set of
>> networking patches get sent to me.
> And also didn't hit Linus's tree until after this set of -rc patches
> went out, so it's not like I missed it or anything :)
>
> thanks,
>
> greg k-h
My bad. It was supposed to be: I think that that patch should be
considered soon...
Thanks, Woody
On Wed, Apr 01, 2020 at 07:06:47AM -0400, Woody Suwalski wrote:
> Greg Kroah-Hartman wrote:
> > On Wed, Apr 01, 2020 at 07:51:52AM +0200, Greg Kroah-Hartman wrote:
> > > On Tue, Mar 31, 2020 at 11:06:16PM -0400, Woody Suwalski wrote:
> > > > Greg Kroah-Hartman wrote:
> > > > I think you have missed the
> > > > https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=be8c827f50a0bcd56361b31ada11dc0a3c2fd240
> > > It should come in soon, in another release or so, when the next set of
> > > networking patches get sent to me.
> > And also didn't hit Linus's tree until after this set of -rc patches
> > went out, so it's not like I missed it or anything :)
> >
> > thanks,
> >
> > greg k-h
> My bad. It was supposed to be: I think that that patch should be considered
> soon...
It will be, give us a chance. I know the normal problem of "the only
drivers that matter are the ones I use" applies here, but luckily I
don't use that driver :)
thanks,
greg k-h
Em Tue, Mar 31, 2020 at 05:18:57PM -0600, Daniel D?az escreveu:
> On Tue, 31 Mar 2020 at 13:29, Arnaldo Carvalho de Melo <[email protected]> wrote:
> > Em Tue, Mar 31, 2020 at 11:20:37AM -0700, Linus Torvalds escreveu:
> > > On Tue, Mar 31, 2020 at 11:08 AM Naresh Kamboju <[email protected]> wrote:
> > > > Perf build broken on Linux next and mainline and now on stable-rc-5.6 branch.
> > > Strange. What is it that triggers the problem for you? It works fine
> > > here.. The error looks like some kind of command line quoting error,
> > > but I don't see the direct cause.
> > > Have you bisected the failure? Build failures should be particularly
> > > easy and quick to bisect.
> > Naresh, can you try with the patch below? There was some back and forth
> > about a second patch in a series and this fell thru the cracks.
> I tried that patch, did not help.
> Bisection led to the expected merge, "perf-urgent-for-linus", so I
> went one by one and found this commit: a7ffd416d804 ("perf python: Fix
> clang detection when using CC=clang-version"). Specifically, the line
> that fails is:
> cc_is_clang = b"clang version" in Popen([cc, "-v"],
> stderr=PIPE).stderr.readline()
> with:
> Traceback (most recent call last):
> File "util/setup.py", line 6, in <module>
> cc_is_clang = b"clang version" in Popen([cc, "-v"],
> stderr=PIPE).stderr.readline()
> File "/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot-native/usr/lib/python2.7/subprocess.py",
> line 394, in __init__
> errread, errwrite)
> File "/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot-native/usr/lib/python2.7/subprocess.py",
> line 1047, in _execute_child
> raise child_exception
> OSError: [Errno 2] No such file or directory
> There, the value for CC is "aarch64-linaro-linux-gcc
> --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot".
Yeah, the assumption was that CC would be just the compiler, whatever
options needed for compiling would be in CFLAGS, so the solution should
be similar to the other patch, i.e. split CC and get the first word to
use with 'cc -v', i.e.:
[perfbuilder@five ~]$ podman run --entrypoint=/bin/sh --rm -ti acmel/linux-perf-tools-build-ubuntu:18.04-x-arm64
$
[perfbuilder@five ~]$ podman run --entrypoint=/bin/bash --rm -ti acmel/linux-perf-tools-build-ubuntu:18.04-x-arm64
perfbuilder@92dcc3ff8814:/$ python3
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from subprocess import Popen
>>> a = Popen(["aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot", "-v"])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot': 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot'
>>> a = Popen(["aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot".split()[0], "-v"])
>>> Using built-in specs.
COLLECT_GCC=aarch64-linux-gnu-gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc-cross/aarch64-linux-gnu/7/lto-wrapper
Target: aarch64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 7.5.0-3ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-7/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-7 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-libquadmath --disable-libquadmath-support --enable-plugin --enable-default-pie --with-system-zlib --enable-multiarch --enable-fix-cortex-a53-843419 --disable-werror --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=aarch64-linux-gnu --program-prefix=aarch64-linux-gnu- --includedir=/usr/aarch64-linux-gnu/include
Thread model: posix
gcc version 7.5.0 (Ubuntu/Linaro 7.5.0-3ubuntu1~18.04)
>>>
Can you please try the one-liner at the end of this message?
> > And also, BTW, can you please send me instructions on how to get hold of
> > the toolchain you use to crossbuild perf, so that I can add it to my set
> > of test build containers?
>
> It's an OE build, so it's bound to take quite a bit of space. I'll try
> to get something dockerized so that it's easier to replicate.
Thanks a lot!
- Arnaldo
From 2a88ba6ddf54a4340f5a5f896705d5e42561e210 Mon Sep 17 00:00:00 2001
From: Arnaldo Carvalho de Melo <[email protected]>
Date: Wed, 1 Apr 2020 09:33:59 -0300
Subject: [PATCH 1/1] perf python: Fix clang detection to strip out options
passed in $CC
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The clang check in the python setup.py file expected $CC to be just the
name of the compiler, not the compiler + options, i.e. all options were
expected to be passed in $CFLAGS, this ends up making it fail in systems
where CC is set to, e.g.:
"aarch64-linaro-linux-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot"
Like this:
$ python3
>>> from subprocess import Popen
>>> a = Popen(["aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot", "-v"])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot': 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot'
>>>
Make it more robust, covering this case, by passing cc.split()[0] as the
first arg to popen().
Reported-by: Daniel D?az <[email protected]>
Reported-by: Naresh Kamboju <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Arnaldo Carvalho de Melo <[email protected]>,
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/util/setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
index 8a065a6f9713..347b2c0789e4 100644
--- a/tools/perf/util/setup.py
+++ b/tools/perf/util/setup.py
@@ -3,7 +3,7 @@ from subprocess import Popen, PIPE
from re import sub
cc = getenv("CC")
-cc_is_clang = b"clang version" in Popen([cc, "-v"], stderr=PIPE).stderr.readline()
+cc_is_clang = b"clang version" in Popen([cc.split()[0], "-v"], stderr=PIPE).stderr.readline()
def clang_has_option(option):
return [o for o in Popen([cc, option], stderr=PIPE).stderr.readlines() if b"unknown argument" in o] == [ ]
--
2.21.1
Em Wed, Apr 01, 2020 at 07:45:53AM -0600, Daniel D?az escreveu:
> This worked on top of torvalds/master and linux-stable-rc/linux-5.6.y.
>
> Thanks and greetings!
Thanks, I'm taking this as a:
Tested-by: Daniel D?az <[email protected]>
Ok?
- Arnaldo
> Daniel D?az
> [email protected]
Hello!
On Wed, 1 Apr 2020 at 06:40, Arnaldo Carvalho de Melo
<[email protected]> wrote:
> Can you please try the one-liner at the end of this message?
[...]
>
> From 2a88ba6ddf54a4340f5a5f896705d5e42561e210 Mon Sep 17 00:00:00 2001
> From: Arnaldo Carvalho de Melo <[email protected]>
> Date: Wed, 1 Apr 2020 09:33:59 -0300
> Subject: [PATCH 1/1] perf python: Fix clang detection to strip out options
> passed in $CC
> MIME-Version: 1.0
> Content-Type: text/plain; charset=UTF-8
> Content-Transfer-Encoding: 8bit
>
> The clang check in the python setup.py file expected $CC to be just the
> name of the compiler, not the compiler + options, i.e. all options were
> expected to be passed in $CFLAGS, this ends up making it fail in systems
> where CC is set to, e.g.:
>
> "aarch64-linaro-linux-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot"
>
> Like this:
>
> $ python3
> >>> from subprocess import Popen
> >>> a = Popen(["aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot", "-v"])
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
> restore_signals, start_new_session)
> File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
> raise child_exception_type(errno_num, err_msg, err_filename)
> FileNotFoundError: [Errno 2] No such file or directory: 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot': 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot'
> >>>
>
> Make it more robust, covering this case, by passing cc.split()[0] as the
> first arg to popen().
>
> Reported-by: Daniel Díaz <[email protected]>
> Reported-by: Naresh Kamboju <[email protected]>
> Cc: Adrian Hunter <[email protected]>
> Cc: Arnaldo Carvalho de Melo <[email protected]>,
> Cc: Jiri Olsa <[email protected]>
> Cc: Namhyung Kim <[email protected]>
> Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
> ---
> tools/perf/util/setup.py | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
> index 8a065a6f9713..347b2c0789e4 100644
> --- a/tools/perf/util/setup.py
> +++ b/tools/perf/util/setup.py
> @@ -3,7 +3,7 @@ from subprocess import Popen, PIPE
> from re import sub
>
> cc = getenv("CC")
> -cc_is_clang = b"clang version" in Popen([cc, "-v"], stderr=PIPE).stderr.readline()
> +cc_is_clang = b"clang version" in Popen([cc.split()[0], "-v"], stderr=PIPE).stderr.readline()
>
> def clang_has_option(option):
> return [o for o in Popen([cc, option], stderr=PIPE).stderr.readlines() if b"unknown argument" in o] == [ ]
> --
> 2.21.1
This worked on top of torvalds/master and linux-stable-rc/linux-5.6.y.
Thanks and greetings!
Daniel Díaz
[email protected]
Hello!
On Wed, 1 Apr 2020 at 08:34, Arnaldo Carvalho de Melo
<[email protected]> wrote:
>
> Em Wed, Apr 01, 2020 at 07:45:53AM -0600, Daniel Díaz escreveu:
> > This worked on top of torvalds/master and linux-stable-rc/linux-5.6.y.
> >
> > Thanks and greetings!
>
> Thanks, I'm taking this as a:
>
> Tested-by: Daniel Díaz <[email protected]>
>
> Ok?
Yes, I build-tested those.
Thanks and greetings!
Daniel Díaz
[email protected]
On 3/31/20 9:06 PM, Woody Suwalski wrote:
> Greg Kroah-Hartman wrote:
>> This is the start of the stable review cycle for the 5.6.1 release.
>> There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
>>
>> or in the git tree and branch at:
>> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
>> linux-5.6.y
>> and the diffstat can be found below.
>>
>> thanks,
>>
>> greg k-h
>>
>> -------------
>> Pseudo-Shortlog of commits:
>>
>> Greg Kroah-Hartman <[email protected]>
>> Linux 5.6.1-rc1
>>
>> Dafna Hirschfeld <[email protected]>
>> media: v4l2-core: fix a use-after-free bug of sd->devnode
>>
>> Johan Hovold <[email protected]>
>> media: xirlink_cit: add missing descriptor sanity checks
>>
>> Johan Hovold <[email protected]>
>> media: stv06xx: add missing descriptor sanity checks
>>
>> Johan Hovold <[email protected]>
>> media: dib0700: fix rc endpoint lookup
>>
>> Johan Hovold <[email protected]>
>> media: ov519: add missing endpoint sanity checks
>>
>> Eric Biggers <[email protected]>
>> libfs: fix infoleak in simple_attr_read()
>>
>> Kai-Heng Feng <[email protected]>
>> ahci: Add Intel Comet Lake H RAID PCI ID
>>
>> Michał Mirosław <[email protected]>
>> staging: wfx: annotate nested gc_list vs tx queue locking
>>
>> Michał Mirosław <[email protected]>
>> staging: wfx: fix init/remove vs IRQ race
>>
>> Michał Mirosław <[email protected]>
>> staging: wfx: add proper "compatible" string
>>
>> Qiujun Huang <[email protected]>
>> staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
>>
>> Qiujun Huang <[email protected]>
>> staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
>>
>> Larry Finger <[email protected]>
>> staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
>>
>> Dan Carpenter <[email protected]>
>> staging: kpc2000: prevent underflow in cpld_reconfigure()
>>
>> Johan Hovold <[email protected]>
>> media: usbtv: fix control-message timeouts
>>
>> Johan Hovold <[email protected]>
>> media: flexcop-usb: fix endpoint sanity check
>>
>> Mans Rullgard <[email protected]>
>> usb: musb: fix crash with highmen PIO and usbmon
>>
>> Qiujun Huang <[email protected]>
>> USB: serial: io_edgeport: fix slab-out-of-bounds read in
>> edge_interrupt_callback
>>
>> Matthias Reichl <[email protected]>
>> USB: cdc-acm: restore capability check order
>>
>> Pawel Dembicki <[email protected]>
>> USB: serial: option: add Wistron Neweb D19Q1
>>
>> Pawel Dembicki <[email protected]>
>> USB: serial: option: add BroadMobi BM806U
>>
>> Pawel Dembicki <[email protected]>
>> USB: serial: option: add support for ASKEY WWHC050
>>
>> Daniel Borkmann <[email protected]>
>> bpf: Undo incorrect __reg_bound_offset32 handling
>>
>>
>> -------------
>>
>> Diffstat:
>>
>> Makefile | 4 +--
>> drivers/ata/ahci.c | 1 +
>> drivers/media/usb/b2c2/flexcop-usb.c | 6 ++--
>> drivers/media/usb/dvb-usb/dib0700_core.c | 4 +--
>> drivers/media/usb/gspca/ov519.c | 10 ++++++
>> drivers/media/usb/gspca/stv06xx/stv06xx.c | 19 +++++++++-
>> drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c | 4 +++
>> drivers/media/usb/gspca/xirlink_cit.c | 18 +++++++++-
>> drivers/media/usb/usbtv/usbtv-core.c | 2 +-
>> drivers/media/usb/usbtv/usbtv-video.c | 5 +--
>> drivers/media/v4l2-core/v4l2-device.c | 1 +
>> drivers/staging/kpc2000/kpc2000/core.c | 4 +--
>> drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 +
>> .../bindings/net/wireless/siliabs,wfx.txt | 7 ++--
>> drivers/staging/wfx/bus_sdio.c | 15 ++++----
>> drivers/staging/wfx/bus_spi.c | 41
>> +++++++++++++---------
>> drivers/staging/wfx/main.c | 21 ++++++-----
>> drivers/staging/wfx/main.h | 1 -
>> drivers/staging/wfx/queue.c | 16 ++++-----
>> drivers/staging/wlan-ng/hfa384x_usb.c | 2 ++
>> drivers/staging/wlan-ng/prism2usb.c | 1 +
>> drivers/usb/class/cdc-acm.c | 18 +++++-----
>> drivers/usb/musb/musb_host.c | 17 +++------
>> drivers/usb/serial/io_edgeport.c | 2 +-
>> drivers/usb/serial/option.c | 6 ++++
>> fs/libfs.c | 8 +++--
>> kernel/bpf/verifier.c | 19 ----------
>> 27 files changed, 149 insertions(+), 104 deletions(-)
>>
>>
> I think you have missed the
> https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=be8c827f50a0bcd56361b31ada11dc0a3c2fd240
>
>
> Without it 5.6 is completely broken on iwlwifi.
>
I am seeing this on my primary laptop with Linux 5.6. I switched
back to Linux 5.6-rc7 for now. Is this issue introduced in 5.6
when Dave's networking pull? 5.6-rc7 is just fine.
wifi authentication keeps on failing and can't connect at all.
Just about to report this for 5.6 and saw this thread.
thanks,
-- Shuah
On Wed, Apr 01, 2020 at 09:40:31AM -0600, shuah wrote:
> On 3/31/20 9:06 PM, Woody Suwalski wrote:
> > Greg Kroah-Hartman wrote:
> > > This is the start of the stable review cycle for the 5.6.1 release.
> > > There are 23 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 Thu, 02 Apr 2020 08:50:37 +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/v5.x/stable-review/patch-5.6.1-rc1.gz
> > >
> > > or in the git tree and branch at:
> > > git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
> > > linux-5.6.y
> > > and the diffstat can be found below.
> > >
> > > thanks,
> > >
> > > greg k-h
> > >
> > > -------------
> > > Pseudo-Shortlog of commits:
> > >
> > > Greg Kroah-Hartman <[email protected]>
> > > Linux 5.6.1-rc1
> > >
> > > Dafna Hirschfeld <[email protected]>
> > > media: v4l2-core: fix a use-after-free bug of sd->devnode
> > >
> > > Johan Hovold <[email protected]>
> > > media: xirlink_cit: add missing descriptor sanity checks
> > >
> > > Johan Hovold <[email protected]>
> > > media: stv06xx: add missing descriptor sanity checks
> > >
> > > Johan Hovold <[email protected]>
> > > media: dib0700: fix rc endpoint lookup
> > >
> > > Johan Hovold <[email protected]>
> > > media: ov519: add missing endpoint sanity checks
> > >
> > > Eric Biggers <[email protected]>
> > > libfs: fix infoleak in simple_attr_read()
> > >
> > > Kai-Heng Feng <[email protected]>
> > > ahci: Add Intel Comet Lake H RAID PCI ID
> > >
> > > Michał Mirosław <[email protected]>
> > > staging: wfx: annotate nested gc_list vs tx queue locking
> > >
> > > Michał Mirosław <[email protected]>
> > > staging: wfx: fix init/remove vs IRQ race
> > >
> > > Michał Mirosław <[email protected]>
> > > staging: wfx: add proper "compatible" string
> > >
> > > Qiujun Huang <[email protected]>
> > > staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
> > >
> > > Qiujun Huang <[email protected]>
> > > staging: wlan-ng: fix ODEBUG bug in prism2sta_disconnect_usb
> > >
> > > Larry Finger <[email protected]>
> > > staging: rtl8188eu: Add ASUS USB-N10 Nano B1 to device table
> > >
> > > Dan Carpenter <[email protected]>
> > > staging: kpc2000: prevent underflow in cpld_reconfigure()
> > >
> > > Johan Hovold <[email protected]>
> > > media: usbtv: fix control-message timeouts
> > >
> > > Johan Hovold <[email protected]>
> > > media: flexcop-usb: fix endpoint sanity check
> > >
> > > Mans Rullgard <[email protected]>
> > > usb: musb: fix crash with highmen PIO and usbmon
> > >
> > > Qiujun Huang <[email protected]>
> > > USB: serial: io_edgeport: fix slab-out-of-bounds read in
> > > edge_interrupt_callback
> > >
> > > Matthias Reichl <[email protected]>
> > > USB: cdc-acm: restore capability check order
> > >
> > > Pawel Dembicki <[email protected]>
> > > USB: serial: option: add Wistron Neweb D19Q1
> > >
> > > Pawel Dembicki <[email protected]>
> > > USB: serial: option: add BroadMobi BM806U
> > >
> > > Pawel Dembicki <[email protected]>
> > > USB: serial: option: add support for ASKEY WWHC050
> > >
> > > Daniel Borkmann <[email protected]>
> > > bpf: Undo incorrect __reg_bound_offset32 handling
> > >
> > >
> > > -------------
> > >
> > > Diffstat:
> > >
> > > Makefile | 4 +--
> > > drivers/ata/ahci.c | 1 +
> > > drivers/media/usb/b2c2/flexcop-usb.c | 6 ++--
> > > drivers/media/usb/dvb-usb/dib0700_core.c | 4 +--
> > > drivers/media/usb/gspca/ov519.c | 10 ++++++
> > > drivers/media/usb/gspca/stv06xx/stv06xx.c | 19 +++++++++-
> > > drivers/media/usb/gspca/stv06xx/stv06xx_pb0100.c | 4 +++
> > > drivers/media/usb/gspca/xirlink_cit.c | 18 +++++++++-
> > > drivers/media/usb/usbtv/usbtv-core.c | 2 +-
> > > drivers/media/usb/usbtv/usbtv-video.c | 5 +--
> > > drivers/media/v4l2-core/v4l2-device.c | 1 +
> > > drivers/staging/kpc2000/kpc2000/core.c | 4 +--
> > > drivers/staging/rtl8188eu/os_dep/usb_intf.c | 1 +
> > > .../bindings/net/wireless/siliabs,wfx.txt | 7 ++--
> > > drivers/staging/wfx/bus_sdio.c | 15 ++++----
> > > drivers/staging/wfx/bus_spi.c | 41
> > > +++++++++++++---------
> > > drivers/staging/wfx/main.c | 21 ++++++-----
> > > drivers/staging/wfx/main.h | 1 -
> > > drivers/staging/wfx/queue.c | 16 ++++-----
> > > drivers/staging/wlan-ng/hfa384x_usb.c | 2 ++
> > > drivers/staging/wlan-ng/prism2usb.c | 1 +
> > > drivers/usb/class/cdc-acm.c | 18 +++++-----
> > > drivers/usb/musb/musb_host.c | 17 +++------
> > > drivers/usb/serial/io_edgeport.c | 2 +-
> > > drivers/usb/serial/option.c | 6 ++++
> > > fs/libfs.c | 8 +++--
> > > kernel/bpf/verifier.c | 19 ----------
> > > 27 files changed, 149 insertions(+), 104 deletions(-)
> > >
> > >
> > I think you have missed the
> > https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net.git/commit/?id=be8c827f50a0bcd56361b31ada11dc0a3c2fd240
> >
> >
> > Without it 5.6 is completely broken on iwlwifi.
> >
>
> I am seeing this on my primary laptop with Linux 5.6. I switched
> back to Linux 5.6-rc7 for now. Is this issue introduced in 5.6
> when Dave's networking pull? 5.6-rc7 is just fine.
>
> wifi authentication keeps on failing and can't connect at all.
>
> Just about to report this for 5.6 and saw this thread.
It will be in the next 5.6.y release, thanks.
greg k-h
The following commit has been merged into the perf/urgent branch of tip:
Commit-ID: 9ff76cea4e9e6d49a6f764ae114fc0fb8de97816
Gitweb: https://git.kernel.org/tip/9ff76cea4e9e6d49a6f764ae114fc0fb8de97816
Author: Arnaldo Carvalho de Melo <[email protected]>
AuthorDate: Wed, 01 Apr 2020 09:33:59 -03:00
Committer: Arnaldo Carvalho de Melo <[email protected]>
CommitterDate: Fri, 03 Apr 2020 10:04:59 -03:00
perf python: Fix clang detection to strip out options passed in $CC
The clang check in the python setup.py file expected $CC to be just the
name of the compiler, not the compiler + options, i.e. all options were
expected to be passed in $CFLAGS, this ends up making it fail in systems
where CC is set to, e.g.:
"aarch64-linaro-linux-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot"
Like this:
$ python3
>>> from subprocess import Popen
>>> a = Popen(["aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot", "-v"])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
restore_signals, start_new_session)
File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot': 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot'
>>>
Make it more robust, covering this case, by passing cc.split()[0] as the
first arg to popen().
Fixes: a7ffd416d804 ("perf python: Fix clang detection when using CC=clang-version")
Reported-by: Daniel Díaz <[email protected]>
Reported-by: Naresh Kamboju <[email protected]>
Tested-by: Daniel Díaz <[email protected]>
Cc: Adrian Hunter <[email protected]>
Cc: Ilie Halip <[email protected]>
Cc: Jiri Olsa <[email protected]>
Cc: Namhyung Kim <[email protected]>
Link: http://lore.kernel.org/lkml/[email protected]
Signed-off-by: Arnaldo Carvalho de Melo <[email protected]>
---
tools/perf/util/setup.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
index 8a065a6..347b2c0 100644
--- a/tools/perf/util/setup.py
+++ b/tools/perf/util/setup.py
@@ -3,7 +3,7 @@ from subprocess import Popen, PIPE
from re import sub
cc = getenv("CC")
-cc_is_clang = b"clang version" in Popen([cc, "-v"], stderr=PIPE).stderr.readline()
+cc_is_clang = b"clang version" in Popen([cc.split()[0], "-v"], stderr=PIPE).stderr.readline()
def clang_has_option(option):
return [o for o in Popen([cc, option], stderr=PIPE).stderr.readlines() if b"unknown argument" in o] == [ ]