5.4.187-rc1 review
Subsystems (3)
Greg Kroah-Hartman
maintainercover 5.4.187-rc1 review
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +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.4.187-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.4.y
and the diffstat can be found below.
thanks,
greg k-h
-------------
Pseudo-Shortlog of commits:
Greg Kroah-Hartman <[email protected]>
Linux 5.4.187-rc1
Greg Kroah-Hartman <[email protected]>
Revert "selftests/bpf: Add test for bpf_timer overwriting crash"
Michael Petlan <[email protected]>
perf symbols: Fix symbol size calculation condition
Pavel Skripkin <[email protected]>
Input: aiptek - properly check endpoint type
Alan Stern <[email protected]>
usb: usbtmc: Fix bug in pipe direction for control transfers
Alan Stern <[email protected]>
usb: gadget: Fix use-after-free bug by not setting udc->dev.driver
Dan Carpenter <[email protected]>
usb: gadget: rndis: prevent integer overflow in rndis_set_response()
Arnd Bergmann <[email protected]>
arm64: fix clang warning about TRAMP_VALIAS
Miaoqian Lin <[email protected]>
net: dsa: Add missing of_node_put() in dsa_port_parse_of
Nicolas Dichtel <[email protected]>
net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit()
Marek Vasut <[email protected]>
drm/panel: simple: Fix Innolux G070Y2-L01 BPP settings
Jiasheng Jiang <[email protected]>
hv_netvsc: Add check for kvmalloc_array
Jiasheng Jiang <[email protected]>
atm: eni: Add check for dma_map_single
Eric Dumazet <[email protected]>
net/packet: fix slab-out-of-bounds access in packet_recvmsg()
Kurt Cancemi <[email protected]>
net: phy: marvell: Fix invalid comparison in the resume and suspend functions
Randy Dunlap <[email protected]>
efi: fix return value of __setup handlers
Joseph Qi <[email protected]>
ocfs2: fix crash when initialize filecheck kobj fails
Brian Masney <[email protected]>
crypto: qcom-rng - ensure buffer for generate is completely filled
-------------
Diffstat:
Makefile | 4 +- arch/arm64/include/asm/vectors.h | 4 +- drivers/atm/eni.c | 2 + drivers/crypto/qcom-rng.c | 17 ++++--- drivers/firmware/efi/apple-properties.c | 2 +- drivers/firmware/efi/efi.c | 2 +- drivers/gpu/drm/panel/panel-simple.c | 2 +- drivers/input/tablet/aiptek.c | 10 ++-- drivers/net/hyperv/netvsc_drv.c | 3 ++ drivers/net/phy/marvell.c | 8 ++-- drivers/usb/class/usbtmc.c | 13 ++++-- drivers/usb/gadget/function/rndis.c | 1 + drivers/usb/gadget/udc/core.c | 3 -- fs/ocfs2/super.c | 22 ++++----- include/linux/if_arp.h | 1 + net/dsa/dsa2.c | 1 + net/packet/af_packet.c | 11 ++++- tools/perf/util/symbol.c | 2 +- .../testing/selftests/bpf/prog_tests/timer_crash.c | 32 ------------- tools/testing/selftests/bpf/progs/timer_crash.c | 54 ---------------------- 20 files changed, 65 insertions(+), 129 deletions(-)
Greg Kroah-Hartman
maintainerPATCH 1/17 crypto: qcom-rng - ensure buffer for generate is completely filled
From: Brian Masney <[email protected]>
commit a680b1832ced3b5fa7c93484248fd221ea0d614b upstream.
The generate function in struct rng_alg expects that the destination buffer is completely filled if the function returns 0. qcom_rng_read() can run into a situation where the buffer is partially filled with randomness and the remaining part of the buffer is zeroed since qcom_rng_generate() doesn't check the return value. This issue can be reproduced by running the following from libkcapi:
kcapi-rng -b 9000000 > OUTFILE
The generated OUTFILE will have three huge sections that contain all zeros, and this is caused by the code where the test
'val & PRNG_STATUS_DATA_AVAIL' fails.
Let's fix this issue by ensuring that qcom_rng_read() always returns with a full buffer if the function returns success. Let's also have qcom_rng_generate() return the correct value.
Here's some statistics from the ent project
(https://www.fourmilab.ch/random/) that shows information about the quality of the generated numbers:
$ ent -c qcom-random-before
Value Char Occurrences Fraction
0 606748 0.067416
1 33104 0.003678
2 33001 0.003667
...
253 � 32883 0.003654
254 � 33035 0.003671
255 � 33239 0.003693 Total: 9000000 1.000000
Entropy = 7.811590 bits per byte.
Optimum compression would reduce the size
of this 9000000 byte file by 2 percent.
Chi square distribution for 9000000 samples is 9329962.81, and
randomly would exceed this value less than 0.01 percent of the
times.
Arithmetic mean value of data bytes is 119.3731 (127.5 = random).
Monte Carlo value for Pi is 3.197293333 (error 1.77 percent).
Serial correlation coefficient is 0.159130 (totally uncorrelated =
0.0).Without this patch, the results of the chi-square test is 0.01%, and the numbers are certainly not random according to ent's project page. The results improve with this patch:
$ ent -c qcom-random-after
Value Char Occurrences Fraction
0 35432 0.003937
1 35127 0.003903
2 35424 0.003936
...
253 � 35201 0.003911
254 � 34835 0.003871
255 � 35368 0.003930Total: 9000000 1.000000
Entropy = 7.999979 bits per byte.
Optimum compression would reduce the size
of this 9000000 byte file by 0 percent.
Chi square distribution for 9000000 samples is 258.77, and randomly would exceed this value 42.24 percent of the times.
Arithmetic mean value of data bytes is 127.5006 (127.5 = random). Monte Carlo value for Pi is 3.141277333 (error 0.01 percent). Serial correlation coefficient is 0.000468 (totally uncorrelated = 0.0).
This change was tested on a Nexus 5 phone (msm8974 SoC).
--- drivers/crypto/qcom-rng.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-)
drivers/crypto/qcom-rng.c +10 -7
@@ -7,6 +7,7 @@#include <linux/acpi.h> #include <linux/clk.h> #include <linux/crypto.h> +#include <linux/iopoll.h> #include <linux/module.h> #include <linux/of.h> #include <linux/platform_device.h>
@@ -42,16 +43,19 @@ static int qcom_rng_read(struct qcom_rng {unsigned int currsize =0 ;u32 val; +int ret;/* read random data from hardware */ do { - val = readl_relaxed(rng->base + PRNG_STATUS); - if (!(val & PRNG_STATUS_DATA_AVAIL)) - break; + ret = readl_poll_timeout(rng->base + PRNG_STATUS, val, + val & PRNG_STATUS_DATA_AVAIL, + 200, 10000); + if (ret) + return ret; val = readl_relaxed(rng->base + PRNG_DATA_OUT); if (!val) - break; + return -EINVAL; if ((max - currsize) >= WORD_SZ) { memcpy(data, &val, WORD_SZ);
@@ -60,11 +64,10 @@ static int qcom_rng_read(struct qcom_rng }else {/* copy only remaining bytes */ memcpy (data, &val, max - currsize); -break ; } }while (currsize < max); -return currsize; +return 0 ; } static int qcom_rng_generate(struct crypto_rng *tfm,
@@ -86,7 +89,7 @@ static int qcom_rng_generate(struct crypmutex_unlock (&rng->lock);clk_disable_unprepare (rng->clk); -return 0 ; +return ret; } static int qcom_rng_seed(struct crypto_rng *tfm, const u8 *seed,
Greg Kroah-Hartman
maintainerPATCH 2/17 ocfs2: fix crash when initialize filecheck kobj fails
In reply to Greg Kroah-HartmanFrom: Joseph Qi <[email protected]>
commit 7b0b1332cfdb94489836b67d088a779699f8e47e upstream.
Once s_root is set, genric_shutdown_super() will be called if fill_super() fails. That means, we will call ocfs2_dismount_volume() twice in such case, which can lead to kernel crash.
Fix this issue by initializing filecheck kobj before setting s_root.
--- fs/ocfs2/super.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-)
fs/ocfs2/super.c +11 -11
@@ -1100,17 +1100,6 @@ static int ocfs2_fill_super(struct super goto read_super_error; } - root =d_make_root (inode); -if (!root) { - status = -ENOMEM ; -mlog_errno (status); - goto read_super_error; - } - - sb->s_root = root; - -ocfs2_complete_mount_recovery (osb); - osb->osb_dev_kset =kset_create_and_add (sb->s_id,NULL , &ocfs2_kset->kobj);if (!osb->osb_dev_kset) {
@@ -1128,6 +1117,17 @@ static int ocfs2_fill_super(struct super goto read_super_error; } + root =d_make_root (inode); +if (!root) { + status = -ENOMEM ; +mlog_errno (status); + goto read_super_error; + } + + sb->s_root = root; + +ocfs2_complete_mount_recovery (osb); +if (ocfs2_mount_local (osb))snprintf (nodestr,sizeof (nodestr),"local" );else
Greg Kroah-Hartman
maintainerPATCH 3/17 efi: fix return value of __setup handlers
In reply to Greg Kroah-HartmanFrom: Randy Dunlap <[email protected]>
[ Upstream commit 9feaf8b387ee0ece9c1d7add308776b502a35d0c ]
When "dump_apple_properties" is used on the kernel boot command line, it causes an Unknown parameter message and the string is added to init's argument strings:
Unknown kernel command line parameters "dump_apple_properties
BOOT_IMAGE=/boot/bzImage-517rc6 efivar_ssdt=newcpu_ssdt", will be passed to user space.
Run /sbin/init as init process
with arguments:
/sbin/init
dump_apple_properties
with environment:
HOME=/
TERM=linux
BOOT_IMAGE=/boot/bzImage-517rc6
efivar_ssdt=newcpu_ssdtSimilarly when "efivar_ssdt=somestring" is used, it is added to the Unknown parameter message and to init's environment strings, polluting them (see examples above).
Change the return value of the __setup functions to 1 to indicate that the __setup options have been handled.
--- drivers/firmware/efi/apple-properties.c | 2 +- drivers/firmware/efi/efi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/firmware/efi/apple-properties.c +1 -1
@@ -23,7 +23,7 @@ static bool dump_properties __initdata;static int __init dump_properties_enable (char *arg) { dump_properties = true; -return 0 ; +return 1 ; }__setup ("dump_apple_properties" , dump_properties_enable);
drivers/firmware/efi/efi.c +1 -1
@@ -231,7 +231,7 @@ static int __init efivar_ssdt_setup(char *str)memcpy (efivar_ssdt, str,strlen (str)); else pr_warn("efivar_ssdt: name too long: %s\n", str); -return 0 ; +return 1 ; }__setup ("efivar_ssdt=" , efivar_ssdt_setup);
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 4/17 net: phy: marvell: Fix invalid comparison in the resume and suspend functions
In reply to Greg Kroah-HartmanFrom: Kurt Cancemi <[email protected]>
[ Upstream commit 837d9e49402eaf030db55a49f96fc51d73b4b441 ]
This bug resulted in only the current mode being resumed and suspended when the PHY supported both fiber and copper modes and when the PHY only supported copper mode the fiber mode would incorrectly be attempted to be resumed and suspended.
--- drivers/net/phy/marvell.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
drivers/net/phy/marvell.c +4 -4
@@ -1408,8 +1408,8 @@ static int marvell_suspend(struct phy_device *phydev)int err;/* Suspend the fiber mode first */ -if (!linkmode_test_bit (ETHTOOL_LINK_MODE_FIBRE_BIT , - phydev->supported)) { +if (linkmode_test_bit (ETHTOOL_LINK_MODE_FIBRE_BIT , + phydev->supported)) { err =marvell_set_page (phydev,MII_MARVELL_FIBER_PAGE );if (err <0 ) goto error;
@@ -1443,8 +1443,8 @@ static int marvell_resume(struct phy_device *phydev)int err;/* Resume the fiber mode first */ -if (!linkmode_test_bit (ETHTOOL_LINK_MODE_FIBRE_BIT , - phydev->supported)) { +if (linkmode_test_bit (ETHTOOL_LINK_MODE_FIBRE_BIT , + phydev->supported)) { err =marvell_set_page (phydev,MII_MARVELL_FIBER_PAGE );if (err <0 ) goto error;
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 5/17 net/packet: fix slab-out-of-bounds access in packet_recvmsg()
In reply to Greg Kroah-HartmanFrom: Eric Dumazet <[email protected]>
[ Upstream commit c700525fcc06b05adfea78039de02628af79e07a ]
syzbot found that when an AF_PACKET socket is using PACKET_COPY_THRESH and mmap operations, tpacket_rcv() is queueing skbs with garbage in skb->cb[], triggering a too big copy [1]
Presumably, users of af_packet using mmap() already gets correct metadata from the mapped buffer, we can simply make sure to clear 12 bytes that might be copied to user space later.
BUG: KASAN: stack-out-of-bounds in memcpy include/linux/fortify-string.h:225 [inline] BUG: KASAN: stack-out-of-bounds in packet_recvmsg+0x56c/0x1150 net/packet/af_packet.c:3489 Write of size 165 at addr ffffc9000385fb78 by task syz-executor233/3631 CPU: 0 PID: 3631 Comm: syz-executor233 Not tainted 5.17.0-rc7-syzkaller-02396-g0b3660695e80 #0 Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_address_description.constprop.0.cold+0xf/0x336 mm/kasan/report.c:255 __kasan_report mm/kasan/report.c:442 [inline] kasan_report.cold+0x83/0xdf mm/kasan/report.c:459 check_region_inline mm/kasan/generic.c:183 [inline] kasan_check_range+0x13d/0x180 mm/kasan/generic.c:189 memcpy+0x39/0x60 mm/kasan/shadow.c:66 memcpy include/linux/fortify-string.h:225 [inline] packet_recvmsg+0x56c/0x1150 net/packet/af_packet.c:3489 sock_recvmsg_nosec net/socket.c:948 [inline] sock_recvmsg net/socket.c:966 [inline] sock_recvmsg net/socket.c:962 [inline] ____sys_recvmsg+0x2c4/0x600 net/socket.c:2632 ___sys_recvmsg+0x127/0x200 net/socket.c:2674 __sys_recvmsg+0xe2/0x1a0 net/socket.c:2704 do_syscall_x64 arch/x86/entry/common.c:50 [inline] do_syscall_64+0x35/0xb0 arch/x86/entry/common.c:80 entry_SYSCALL_64_after_hwframe+0x44/0xae RIP: 0033:0x7fdfd5954c29 Code: 28 00 00 00 75 05 48 83 c4 28 c3 e8 41 15 00 00 90 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 c0 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffcf8e71e48 EFLAGS: 00000246 ORIG_RAX: 000000000000002f RAX: ffffffffffffffda RBX: 0000000000000003 RCX: 00007fdfd5954c29 RDX: 0000000000000000 RSI: 0000000020000500 RDI: 0000000000000005 RBP: 0000000000000000 R08: 000000000000000d R09: 000000000000000d R10: 0000000000000000 R11: 0000000000000246 R12: 00007ffcf8e71e60 R13: 00000000000f4240 R14: 000000000000c1ff R15: 00007ffcf8e71e54 </TASK>
addr ffffc9000385fb78 is located in stack of task syz-executor233/3631 at offset 32 in frame:
____sys_recvmsg+0x0/0x600 include/linux/uio.h:246
this frame has 1 object:
[32, 160) 'addr'
Memory state around the buggy address:
ffffc9000385fa80: 00 04 f3 f3 f3 f3 f3 00 00 00 00 00 00 00 00 00
ffffc9000385fb00: 00 00 00 00 00 00 00 00 00 00 00 f1 f1 f1 f1 00
>ffffc9000385fb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f3
^
ffffc9000385fc00: f3 f3 f3 00 00 00 00 00 00 00 00 00 00 00 00 f1
ffffc9000385fc80: f1 f1 f1 00 f2 f2 f2 00 f2 f2 f2 00 00 00 00 00
==================================================================--- net/packet/af_packet.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
net/packet/af_packet.c +10 -1
@@ -2257,8 +2257,11 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev, copy_skb =skb_get (skb); skb_head = skb->data; } -if (copy_skb) +if (copy_skb) { +memset (&PACKET_SKB_CB (copy_skb)->sa.ll,0 , +sizeof (PACKET_SKB_CB (copy_skb)->sa.ll));skb_set_owner_r (copy_skb, sk); + } } snaplen = po->rx_ring.frame_size - macoff;if ((int )snaplen <0 ) {
@@ -3405,6 +3408,8 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len,sock_recv_ts_and_drops (msg, sk, skb);if (msg->msg_name) { +const size_t max_len =min (sizeof (skb->cb), +sizeof (struct sockaddr_storage ));int copy_len;/* If the address length field is there to be filled
@@ -3427,6 +3432,10 @@ static int packet_recvmsg(struct socket *sock, struct msghdr *msg, size_t len, msg->msg_namelen =sizeof (struct sockaddr_ll ); } } +if (WARN_ON_ONCE (copy_len > max_len)) { + copy_len = max_len; + msg->msg_namelen = copy_len; + }memcpy (msg->msg_name, &PACKET_SKB_CB (skb)->sa, copy_len); }
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 6/17 atm: eni: Add check for dma_map_single
In reply to Greg Kroah-HartmanFrom: Jiasheng Jiang <[email protected]>
[ Upstream commit 0f74b29a4f53627376cf5a5fb7b0b3fa748a0b2b ]
As the potential failure of the dma_map_single(), it should be better to check it and return error if fails.
--- drivers/atm/eni.c | 2 ++ 1 file changed, 2 insertions(+)
drivers/atm/eni.c +2 -0
@@ -1116,6 +1116,8 @@ DPRINTK("iovcnt = %d\n",skb_shinfo(skb)->nr_frags); } paddr =dma_map_single (&eni_dev->pci_dev->dev,skb->data,skb->len,DMA_TO_DEVICE ); +if (dma_mapping_error (&eni_dev->pci_dev->dev, paddr)) +return enq_next;ENI_PRV_PADDR (skb) = paddr;/* prepare DMA queue entries */ j =0 ;
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 7/17 hv_netvsc: Add check for kvmalloc_array
In reply to Greg Kroah-HartmanFrom: Jiasheng Jiang <[email protected]>
[ Upstream commit 886e44c9298a6b428ae046e2fa092ca52e822e6a ]
As the potential failure of the kvmalloc_array(), it should be better to check and restore the 'data' if fails in order to avoid the dereference of the NULL pointer.
--- drivers/net/hyperv/netvsc_drv.c | 3 +++ 1 file changed, 3 insertions(+)
drivers/net/hyperv/netvsc_drv.c +3 -0
@@ -1445,6 +1445,9 @@ static void netvsc_get_ethtool_stats(struct net_device *dev, pcpu_sum =kvmalloc_array (num_possible_cpus (),sizeof (struct netvsc_ethtool_pcpu_stats ),GFP_KERNEL ); +if (!pcpu_sum) +return ; +netvsc_get_pcpu_stats (dev, pcpu_sum);for_each_present_cpu (cpu) {struct netvsc_ethtool_pcpu_stats *this_sum = &pcpu_sum[cpu];
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 8/17 drm/panel: simple: Fix Innolux G070Y2-L01 BPP settings
In reply to Greg Kroah-HartmanFrom: Marek Vasut <[email protected]>
[ Upstream commit fc1b6ef7bfb3d1d4df868b1c3e0480cacda6cd81 ]
The Innolux G070Y2-L01 supports two modes of operation:
1) FRC=Low/NC ... MEDIA_BUS_FMT_RGB666_1X7X3_SPWG ... BPP=6
2) FRC=High ..... MEDIA_BUS_FMT_RGB888_1X7X4_SPWG ... BPP=8
Currently the panel description mixes both, BPP from 1) and bus format from 2), which triggers a warning at panel-simple.c:615.
Pick the later, set bpp=8, fix the warning.
--- drivers/gpu/drm/panel/panel-simple.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/gpu/drm/panel/panel-simple.c +1 -1
@@ -1619,7 +1619,7 @@ static const struct display_timing innolux_g070y2_l01_timing = {static const struct panel_desc innolux_g070y2_l01 = { .timings = &innolux_g070y2_l01_timing, .num_timings =1 , - .bpc =6 , + .bpc =8 , .size = { .width =152 , .height =91 ,
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 9/17 net: handle ARPHRD_PIMREG in dev_is_mac_header_xmit()
In reply to Greg Kroah-HartmanFrom: Nicolas Dichtel <[email protected]>
[ Upstream commit 4ee06de7729d795773145692e246a06448b1eb7a ]
This kind of interface doesn't have a mac header. This patch fixes bpf_redirect() to a PIM interface.
--- include/linux/if_arp.h | 1 + 1 file changed, 1 insertion(+)
include/linux/if_arp.h +1 -0
@@ -51,6 +51,7 @@ static inline bool dev_is_mac_header_xmit(const struct net_device *dev)case ARPHRD_VOID :case ARPHRD_NONE :case ARPHRD_RAWIP : +case ARPHRD_PIMREG :return false;default :return true;
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 10/17 net: dsa: Add missing of_node_put() in dsa_port_parse_of
In reply to Greg Kroah-HartmanFrom: Miaoqian Lin <[email protected]>
[ Upstream commit cb0b430b4e3acc88c85e0ad2e25f2a25a5765262 ]
The device_node pointer is returned by of_parse_phandle() with refcount incremented. We should use of_node_put() on it when done.
--- net/dsa/dsa2.c | 1 + 1 file changed, 1 insertion(+)
net/dsa/dsa2.c +1 -0
@@ -669,6 +669,7 @@ static int dsa_port_parse_of(struct dsa_port *dp, struct device_node *dn)struct net_device *master; master =of_find_net_device_by_node (ethernet); +of_node_put (ethernet);if (!master)return -EPROBE_DEFER ;
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 11/17 arm64: fix clang warning about TRAMP_VALIAS
In reply to Greg Kroah-HartmanFrom: Arnd Bergmann <[email protected]>
[ Upstream commit 7f34b43e07cb512b28543fdcb9f35d1fbfda9ebc ]
The newly introduced TRAMP_VALIAS definition causes a build warning with clang-14:
arch/arm64/include/asm/vectors.h:66:31: error: arithmetic on a null pointer treated as a cast from integer to pointer is a GNU extension [-Werror,-Wnull-pointer-arithmetic]
return (char *)TRAMP_VALIAS + SZ_2K * slot;
Change the addition to something clang does not complain about.
--- arch/arm64/include/asm/vectors.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
arch/arm64/include/asm/vectors.h +2 -2
@@ -56,14 +56,14 @@ enum arm64_bp_harden_el1_vectors { DECLARE_PER_CPU_READ_MOSTLY(const char *, this_cpu_vector);#ifndef CONFIG_UNMAP_KERNEL_AT_EL0 -#define TRAMP_VALIAS 0 +#define TRAMP_VALIAS 0ul#endif static inline const char *arm64_get_bp_hardening_vector (enum arm64_bp_harden_el1_vectors slot) {if (arm64_kernel_unmapped_at_el0 ()) -return (char *)TRAMP_VALIAS +SZ_2K * slot; +return (char *)(TRAMP_VALIAS +SZ_2K * slot);WARN_ON_ONCE (slot ==EL1_VECTOR_KPTI );
Signature · 1 line
2.34.1
Greg Kroah-Hartman
maintainerPATCH 12/17 usb: gadget: rndis: prevent integer overflow in rndis_set_response()
In reply to Greg Kroah-HartmanFrom: Dan Carpenter <[email protected]>
commit 65f3324f4b6fed78b8761c3b74615ecf0ffa81fa upstream.
If "BufOffset" is very large the "BufOffset + 8" operation can have an integer overflow.
--- drivers/usb/gadget/function/rndis.c | 1 + 1 file changed, 1 insertion(+)
drivers/usb/gadget/function/rndis.c +1 -0
@@ -640,6 +640,7 @@ static int rndis_set_response(struct rnd BufLength =le32_to_cpu (buf->InformationBufferLength); BufOffset =le32_to_cpu (buf->InformationBufferOffset);if ((BufLength >RNDIS_MAX_TOTAL_SIZE ) || + (BufOffset >RNDIS_MAX_TOTAL_SIZE ) || (BufOffset +8 >=RNDIS_MAX_TOTAL_SIZE ))return -EINVAL ;
Greg Kroah-Hartman
maintainerPATCH 13/17 usb: gadget: Fix use-after-free bug by not setting udc->dev.driver
In reply to Greg Kroah-HartmanFrom: Alan Stern <[email protected]>
commit 16b1941eac2bd499f065a6739a40ce0011a3d740 upstream.
The syzbot fuzzer found a use-after-free bug:
BUG: KASAN: use-after-free in dev_uevent+0x712/0x780 drivers/base/core.c:2320 Read of size 8 at addr ffff88802b934098 by task udevd/3689 CPU: 2 PID: 3689 Comm: udevd Not tainted 5.17.0-rc4-syzkaller-00229-g4f12b742eb2b #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:88 [inline] dump_stack_lvl+0xcd/0x134 lib/dump_stack.c:106 print_address_description.constprop.0.cold+0x8d/0x303 mm/kasan/report.c:255 __kasan_report mm/kasan/report.c:442 [inline] kasan_report.cold+0x83/0xdf mm/kasan/report.c:459 dev_uevent+0x712/0x780 drivers/base/core.c:2320 uevent_show+0x1b8/0x380 drivers/base/core.c:2391 dev_attr_show+0x4b/0x90 drivers/base/core.c:2094
Although the bug manifested in the driver core, the real cause was a race with the gadget core. dev_uevent() does:
if (dev->driver) add_uevent_var(env, "DRIVER=%s", dev->driver->name);
and between the test and the dereference of dev->driver, the gadget core sets dev->driver to NULL.
The race wouldn't occur if the gadget core registered its devices on a real bus, using the standard synchronization techniques of the driver core. However, it's not necessary to make such a large change in order to fix this bug; all we need to do is make sure that udc->dev.driver is always NULL.
In fact, there is no reason for udc->dev.driver ever to be set to anything, let alone to the value it currently gets: the address of the gadget's driver. After all, a gadget driver only knows how to manage a gadget, not how to manage a UDC.
This patch simply removes the statements in the gadget core that touch udc->dev.driver.
--- drivers/usb/gadget/udc/core.c | 3 --- 1 file changed, 3 deletions(-)
drivers/usb/gadget/udc/core.c +0 -3
@@ -1303,7 +1303,6 @@ static void usb_gadget_remove_driver(strusb_gadget_udc_stop (udc); udc->driver =NULL ; - udc->dev.driver =NULL ; udc->gadget->dev.driver =NULL ; }
@@ -1352,7 +1351,6 @@ static int udc_bind_to_driver(struct usb driver->function); udc->driver = driver; - udc->dev.driver = &driver->driver; udc->gadget->dev.driver = &driver->driver;usb_gadget_udc_set_speed (udc, driver->max_speed);
@@ -1374,7 +1372,6 @@ err1:dev_err (&udc->dev,"failed to start %s: %d\n" , udc->driver->function, ret); udc->driver =NULL ; - udc->dev.driver =NULL ; udc->gadget->dev.driver =NULL ;return ret; }
Greg Kroah-Hartman
maintainerPATCH 14/17 usb: usbtmc: Fix bug in pipe direction for control transfers
In reply to Greg Kroah-HartmanFrom: Alan Stern <[email protected]>
commit e9b667a82cdcfe21d590344447d65daed52b353b upstream.
The syzbot fuzzer reported a minor bug in the usbtmc driver:
usb 5-1: BOGUS control dir, pipe 80001e80 doesn't match bRequestType 0
WARNING: CPU: 0 PID: 3813 at drivers/usb/core/urb.c:412 usb_submit_urb+0x13a5/0x1970 drivers/usb/core/urb.c:410 Modules linked in: CPU: 0 PID: 3813 Comm: syz-executor122 Not tainted 5.17.0-rc5-syzkaller-00306-g2293be58d6a1 #0 ... Call Trace: <TASK> usb_start_wait_urb+0x113/0x530 drivers/usb/core/message.c:58 usb_internal_control_msg drivers/usb/core/message.c:102 [inline] usb_control_msg+0x2a5/0x4b0 drivers/usb/core/message.c:153 usbtmc_ioctl_request drivers/usb/class/usbtmc.c:1947 [inline]
The problem is that usbtmc_ioctl_request() uses usb_rcvctrlpipe() for all of its transfers, whether they are in or out. It's easy to fix.
--- drivers/usb/class/usbtmc.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
drivers/usb/class/usbtmc.c +10 -3
@@ -1889,6 +1889,7 @@ static int usbtmc_ioctl_request(struct ustruct usbtmc_ctrlrequest request;u8 *buffer =NULL ;int rv; +unsigned int is_in, pipe;unsigned long res; res =copy_from_user (&request, arg,sizeof (struct usbtmc_ctrlrequest ));
@@ -1898,12 +1899,14 @@ static int usbtmc_ioctl_request(struct uif (request.req.wLength >USBTMC_BUFSIZE )return -EMSGSIZE ; + is_in = request.req.bRequestType &USB_DIR_IN ; +if (request.req.wLength) { buffer =kmalloc (request.req.wLength,GFP_KERNEL );if (!buffer)return -ENOMEM ; -if ((request.req.bRequestType &USB_DIR_IN ) ==0 ) { +if (!is_in) {/* Send control data to device */ res =copy_from_user (buffer, request.data, request.req.wLength);
@@ -1914,8 +1917,12 @@ static int usbtmc_ioctl_request(struct u } } +if (is_in) + pipe =usb_rcvctrlpipe (data->usb_dev,0 ); +else + pipe =usb_sndctrlpipe (data->usb_dev,0 ); rv = usb_control_msg(data->usb_dev, - usb_rcvctrlpipe(data->usb_dev, 0), + pipe, request.req.bRequest, request.req.bRequestType, request.req.wValue,
@@ -1927,7 +1934,7 @@ static int usbtmc_ioctl_request(struct u goto exit; } -if (rv && (request.req.bRequestType &USB_DIR_IN )) { +if (rv && is_in) {/* Read control data from device */ res =copy_to_user (request.data, buffer, rv);if (res)
Greg Kroah-Hartman
maintainerPATCH 15/17 Input: aiptek - properly check endpoint type
In reply to Greg Kroah-HartmanFrom: Pavel Skripkin <[email protected]>
commit 5600f6986628dde8881734090588474f54a540a8 upstream.
Syzbot reported warning in usb_submit_urb() which is caused by wrong endpoint type. There was a check for the number of endpoints, but not for the type of endpoint.
Fix it by replacing old desc.bNumEndpoints check with usb_find_common_endpoints() helper for finding endpoints
Fail log:
usb 5-1: BOGUS urb xfer, pipe 1 != type 3
WARNING: CPU: 2 PID: 48 at drivers/usb/core/urb.c:502 usb_submit_urb+0xed2/0x18a0 drivers/usb/core/urb.c:502 Modules linked in: CPU: 2 PID: 48 Comm: kworker/2:2 Not tainted 5.17.0-rc6-syzkaller-00226-g07ebd38a0da2 #0 Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.14.0-2 04/01/2014 Workqueue: usb_hub_wq hub_event ... Call Trace: <TASK> aiptek_open+0xd5/0x130 drivers/input/tablet/aiptek.c:830 input_open_device+0x1bb/0x320 drivers/input/input.c:629 kbd_connect+0xfe/0x160 drivers/tty/vt/keyboard.c:1593
--- drivers/input/tablet/aiptek.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
drivers/input/tablet/aiptek.c +4 -6
@@ -1801,15 +1801,13 @@ aiptek_probe(struct usb_interface *intf,input_set_abs_params (inputdev,ABS_TILT_Y ,AIPTEK_TILT_MIN ,AIPTEK_TILT_MAX ,0 ,0 );input_set_abs_params (inputdev,ABS_WHEEL ,AIPTEK_WHEEL_MIN ,AIPTEK_WHEEL_MAX -1 ,0 ,0 ); -/* Verify that a device really has an endpoint */ -if (intf->cur_altsetting->desc.bNumEndpoints <1 ) { + err =usb_find_common_endpoints (intf->cur_altsetting, +NULL ,NULL , &endpoint,NULL ); +if (err) {dev_err (&intf->dev, -"interface has %d endpoints, but must have minimum 1\n" , - intf->cur_altsetting->desc.bNumEndpoints); - err = -EINVAL ; +"interface has no int in endpoints, but must have minimum 1\n" ); goto fail3; } - endpoint = &intf->cur_altsetting->endpoint[0 ].desc;/* Go set up our URB, which is called when the tablet receives * input.
Greg Kroah-Hartman
maintainerPATCH 16/17 perf symbols: Fix symbol size calculation condition
In reply to Greg Kroah-HartmanFrom: Michael Petlan <[email protected]>
commit 3cf6a32f3f2a45944dd5be5c6ac4deb46bcd3bee upstream.
Before this patch, the symbol end address fixup to be called, needed two conditions being met:
if (prev->end == prev->start && prev->end != curr->start)
Where
"prev->end == prev->start" means that prev is zero-long
(and thus needs a fixup)
and
"prev->end != curr->start" means that fixup hasn't been applied yet
However, this logic is incorrect in the following situation:
*curr = {rb_node = {__rb_parent_color = 278218928,
rb_right = 0x0, rb_left = 0x0},
start = 0xc000000000062354,
end = 0xc000000000062354, namelen = 40, type = 2 '\002', binding = 0 '\000', idle = 0 '\000', ignore = 0 '\000', inlined = 0 '\000', arch_sym = 0 '\000', annotate2 = false, name = 0x1159739e "kprobe_optinsn_page\t[__builtin__kprobes]"}
*prev = {rb_node = {__rb_parent_color = 278219041,
rb_right = 0x109548b0, rb_left = 0x109547c0}, start = 0xc000000000062354,
end = 0xc000000000062354, namelen = 12, type = 2 '\002', binding = 1 '\001', idle = 0 '\000', ignore = 0 '\000', inlined = 0 '\000', arch_sym = 0 '\000', annotate2 = false, name = 0x1095486e "optinsn_slot"}
In this case, prev->start == prev->end == curr->start == curr->end, thus the condition above thinks that "we need a fixup due to zero length of prev symbol, but it has been probably done, since the prev->end == curr->start", which is wrong.
After the patch, the execution path proceeds to arch__symbols__fixup_end function which fixes up the size of prev symbol by adding page_size to its end offset.
--- tools/perf/util/symbol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
tools/perf/util/symbol.c +1 -1
@@ -231,7 +231,7 @@ void symbols__fixup_end(struct rb_root_c prev = curr; curr = rb_entry(nd, struct symbol, rb_node); -if (prev->end == prev->start && prev->end != curr->start) +if (prev->end == prev->start || prev->end != curr->start)arch__symbols__fixup_end (prev, curr); }
Greg Kroah-Hartman
maintainerPATCH 17/17 Revert "selftests/bpf: Add test for bpf_timer overwriting crash"
In reply to Greg Kroah-HartmanFrom: Greg Kroah-Hartman <[email protected]>
This reverts commit dcf55b071de9231e197ba7b1a2d0a423e8d7d33a which is commit a7e75016a0753c24d6c995bc02501ae35368e333 upstream.
It is reported to break the bpf self-tests.
--- tools/testing/selftests/bpf/prog_tests/timer_crash.c | 32 ----------- tools/testing/selftests/bpf/progs/timer_crash.c | 54 ------------------- 2 files changed, 86 deletions(-) delete mode 100644 tools/testing/selftests/bpf/prog_tests/timer_crash.c delete mode 100644 tools/testing/selftests/bpf/progs/timer_crash.c
tools/testing/selftests/bpf/prog_tests/timer_crash.c deleted +0 -32
@@ -1,32 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -#include <test_progs.h> -#include "timer_crash.skel.h" - -enum { -MODE_ARRAY , -MODE_HASH , -}; - -static void test_timer_crash_mode (int mode) -{ -struct timer_crash *skel; - - skel =timer_crash__open_and_load (); -if (!ASSERT_OK_PTR (skel,"timer_crash__open_and_load" )) -return ; - skel->bss->pid =getpid (); - skel->bss->crash_map = mode; -if (!ASSERT_OK (timer_crash__attach (skel),"timer_crash__attach" )) - goto end; -usleep (1 ); -end: -timer_crash__destroy (skel); -} - -void test_timer_crash (void ) -{ -if (test__start_subtest ("array" )) -test_timer_crash_mode (MODE_ARRAY ); -if (test__start_subtest ("hash" )) -test_timer_crash_mode (MODE_HASH ); -}
tools/testing/selftests/bpf/progs/timer_crash.c deleted +0 -54
54 lines not on this page · raw message
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.187-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
On ARCH_BRCMSTB using 32-bit and 64-bit ARM kernels:
Signature · 1 line
Florian
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.187-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
All tests passing for Tegra ...
Test results for stable-v5.4:
10 builds: 10 pass, 0 fail
26 boots: 26 pass, 0 fail
59 tests: 59 pass, 0 failLinux version: 5.4.187-rc1-g7f44fdc1563d
Boards tested: tegra124-jetson-tk1, tegra186-p2771-0000,
tegra194-p2972-0000, tegra20-ventana,
tegra210-p2371-2180, tegra210-p3450-0000,
tegra30-cardhu-a04Jon
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.187-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
Compiled and booted on my test system. No dmesg regressions.
thanks,
-- Shuah
Quoted 8 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +0000. Anything received after that time might be too late.
Build results:
total: 159 pass: 159 fail: 0 Qemu test results: total: 449 pass: 449 fail: 0
Guenter
Quoted 10 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 8 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.187-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
Results from Linaro’s test farm.
No regressions on arm64, arm, x86_64, and i386.
## Build
* kernel: 5.4.187-rc1
* git: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
* git branch: linux-5.4.y
* git commit: 7f44fdc1563d6bca95ee9fb4414e4b8286bccb0c
* git describe: v5.4.186-18-g7f44fdc1563d
* test details:
https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-5.4.y/build/v5.4.186-18-g7f44fdc1563d
## Test Regressions (compared to v5.4.185-44-ge52a2b0f299b) No test regressions found.
## Metric Regressions (compared to v5.4.185-44-ge52a2b0f299b) No metric regressions found.
## Test Fixes (compared to v5.4.185-44-ge52a2b0f299b) No test fixes found.
## Metric Fixes (compared to v5.4.185-44-ge52a2b0f299b) No metric fixes found.
## Test result summary
total: 91651, pass: 76371, fail: 1036, skip: 12975, xfail: 1269
## Build Summary
* arc: 10 total, 10 passed, 0 failed
* arm: 295 total, 295 passed, 0 failed
* arm64: 31 total, 29 passed, 2 failed
* dragonboard-410c: 1 total, 1 passed, 0 failed
* hi6220-hikey: 1 total, 1 passed, 0 failed
* i386: 22 total, 22 passed, 0 failed
* juno-r2: 1 total, 1 passed, 0 failed
* mips: 41 total, 38 passed, 3 failed
* parisc: 14 total, 14 passed, 0 failed
* powerpc: 65 total, 50 passed, 15 failed
* riscv: 32 total, 27 passed, 5 failed
* s390: 14 total, 13 passed, 1 failed
* sh: 26 total, 24 passed, 2 failed
* sparc: 14 total, 14 passed, 0 failed
* x15: 1 total, 1 passed, 0 failed
* x86: 1 total, 1 passed, 0 failed
* x86_64: 46 total, 46 passed, 0 failed
## Test suites summary
* fwts
* igt-gpu-tools
* kselftest-android
* kselftest-arm64
* kselftest-bpf
* kselftest-breakpoints
* kselftest-capabilities
* kselftest-cgroup
* kselftest-clone3
* kselftest-core
* kselftest-cpu-hotplug
* kselftest-cpufreq
* kselftest-drivers
* kselftest-efivarfs
* kselftest-filesystems
* kselftest-firmware
* kselftest-fpu
* kselftest-futex
* kselftest-gpio
* kselftest-intel_pstate
* kselftest-ipc
* kselftest-ir
* kselftest-kcmp
* kselftest-kexec
* kselftest-kvm
* kselftest-lib
* kselftest-livepatch
* kselftest-membarrier
* kselftest-memfd
* kselftest-memory-hotplug
* kselftest-mincore
* kselftest-mount
* kselftest-mqueue
* kselftest-net
* kselftest-netfilter
* kselftest-nsfs
* kselftest-openat2
* kselftest-pid_namespace
* kselftest-pidfd
* kselftest-proc
* kselftest-pstore
* kselftest-ptrace
* kselftest-rseq
* kselftest-rtc
* kselftest-seccomp
* kselftest-sigaltstack
* kselftest-size
* kselftest-splice
* kselftest-static_keys
* kselftest-sync
* kselftest-sysctl
* kselftest-tc-testing
* kselftest-timens
* kselftest-timers
* kselftest-tmpfs
* kselftest-tpm2
* kselftest-user
* kselftest-vm
* kselftest-x86
* kselftest-zram
* kvm-unit-tests
* libgpiod
* libhugetlbfs
* linux-log-parser
* ltp-cap_bounds-tests
* ltp-commands-tests
* ltp-containers-tests
* ltp-controllers-tests
* ltp-cpuhotplug-tests
* ltp-crypto-tests
* ltp-cve-tests
* ltp-dio-tests
* ltp-fcntl-locktests-tests
* ltp-filecaps-tests
* ltp-fs-tests
* ltp-fs_bind-tests
* ltp-fs_perms_simple-tests
* ltp-fsx-tests
* ltp-hugetlb-tests
* ltp-io-tests
* ltp-ipc-tests
* ltp-math-tests
* ltp-mm-tests
* ltp-nptl-tests
* ltp-open-posix-tests
* ltp-pty-tests
* ltp-sched-tests
* ltp-securebits-tests
* ltp-syscalls-tests
* ltp-tracing-tests
* network-basic-tests
* packetdrill
* perf
* perf/Zstd-perf.data-compression
* rcutorture
* ssuite
* v4l2-compliance
* vdso
--
Linaro LKFT
https://lkft.linaro.org
Hi Greg,
Quoted 7 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +0000. Anything received after that time might be too late.
Build test:
mips (gcc version 11.2.1 20220314): 65 configs -> no new failure arm (gcc version 11.2.1 20220314): 107 configs -> no new failure arm64 (gcc version 11.2.1 20220314): 2 configs -> no failure x86_64 (gcc version 11.2.1 20220314): 4 configs -> no failure
Boot test:x86_64: Booted on my test laptop. No regression.x86_64: Booted on qemu. No regression. [1]
[1]. https://openqa.qa.codethink.co.uk/tests/927
--
Regards
Sudip
Quoted 9 lines · Greg Kroah-Hartman
This is the start of the stable review cycle for the 5.4.187 release. There are 17 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 Wed, 23 Mar 2022 13:32:09 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at:
Quoted 9 lines
https://www.kernel.org/pub/linux/kernel/v5.x/stable-review/patch-5.4.187-rc1.gzor in the git tree and branch at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.gitlinux-5.4.y
and the diffstat can be found below.thanks,
greg k-h
Tested on arm64 and x86 for 5.4.187-rc1,
Kernel repo:
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git
Branch: linux-5.4.y
Version: 5.4.187-rc1
Commit: 7f44fdc1563d6bca95ee9fb4414e4b8286bccb0c
Compiler: gcc version 7.3.0 (GCC)
arm64:
--------------------------------------------------------------------
Testcase Result Summary:
total: 9008
passed: 9008
failed: 0
timeout: 0
--------------------------------------------------------------------
x86:
--------------------------------------------------------------------
Testcase Result Summary:
total: 9008
passed: 9008
failed: 0
timeout: 0
--------------------------------------------------------------------