Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Update 5.4-1.0.0-imx to v5.4.58 from stable #103

Merged
merged 80 commits into from
Aug 11, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
80 commits
Select commit Hold shift + click to select a range
c15a77b
random32: update the net random state on interrupt and activity
wtarreau Jul 10, 2020
50bf896
ARM: percpu.h: fix build error
grygoriyS Jul 30, 2020
7471f32
random: fix circular include dependency on arm64 after addition of pe…
wtarreau Jul 30, 2020
c131009
random32: remove net_rand_state from the latent entropy gcc plugin
torvalds Jul 30, 2020
f06d60f
random32: move the pseudo-random 32-bit definitions to prandom.h
torvalds Jul 31, 2020
6330b0c
arm64: Workaround circular dependency in pointer_auth.h
Aug 5, 2020
c776104
ext4: fix direct I/O read error
xinxinhaier Aug 5, 2020
9fe975a
selftests: bpf: Fix detach from sockmap tests
lmb Jul 9, 2020
ca7ace8
bpf: sockmap: Require attach_bpf_fd when detaching a program
lmb Jun 29, 2020
d993928
Linux 5.4.57
gregkh Aug 7, 2020
aabba1b
USB: serial: qcserial: add EM7305 QDL product ID
yarrick Jul 17, 2020
68a2350
perf/core: Fix endless multiplex timer
Mar 5, 2020
7173ac5
USB: iowarrior: fix up report size handling for some devices
gregkh Jul 26, 2020
e7ad225
usb: xhci: define IDs for various ASMedia host controllers
cyrozap Jul 28, 2020
67afa25
usb: xhci: Fix ASMedia ASM1142 DMA addressing
cyrozap Jul 28, 2020
a4d61e6
io_uring: prevent re-read of sqe->opcode
axboe Aug 5, 2020
e8053c6
io_uring: Fix use-after-free in io_sq_wq_submit_work()
Hpasserby Aug 5, 2020
864468a
Revert "ALSA: hda: call runtime_allow() for all hda controllers"
jason77-wang Aug 3, 2020
1d05ad7
ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops
chenhuacai Aug 2, 2020
8777577
ALSA: hda/ca0132 - Add new quirk ID for Recon3D.
Conmanx360 Aug 3, 2020
b8ce075
ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value.
Conmanx360 Aug 3, 2020
3ebdc7b
ALSA: hda/ca0132 - Fix AE-5 microphone selection commands.
Conmanx360 Aug 3, 2020
4d81a7b
ALSA: seq: oss: Serialize ioctls
tiwai Aug 4, 2020
6a7626c
staging: android: ashmem: Fix lockdep warning for write operation
surenbaghdasaryan Jul 30, 2020
af707d9
staging: rtl8712: handle firmware load failure
rustylife Jul 16, 2020
a8b8b53
Staging: rtl8188eu: rtw_mlme: Fix uninitialized variable authmode
dinghaoliu Jul 28, 2020
c26eaaf
Bluetooth: Fix slab-out-of-bounds read in hci_extended_inquiry_result…
peilin-ye Jul 10, 2020
70d1e88
Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_evt()
peilin-ye Jul 10, 2020
b78763e
Bluetooth: Prevent out-of-bounds read in hci_inquiry_result_with_rssi…
peilin-ye Jul 10, 2020
da47eae
omapfb: dss: Fix max fclk divider for omap36xx
aford173 Jun 30, 2020
c5665ca
binder: Prevent context manager from incrementing ref 0
thejh Jul 27, 2020
5f5fb7c
Smack: fix use-after-free in smk_write_relabel_self()
ebiggers Jul 8, 2020
1ae21e9
scripts: add dummy report mode to add_namespace.cocci
metti Jun 4, 2020
8c3215a
vgacon: Fix for missing check in scrollback handling
Jul 28, 2020
9a53e8b
mtd: properly check all write ioctls for permissions
gregkh Jul 16, 2020
635f8fc
leds: wm831x-status: fix use-after-free on unbind
jhovold Jun 1, 2020
bde8f23
leds: lm36274: fix use-after-free on unbind
jhovold Jun 1, 2020
385c1ae
leds: da903x: fix use-after-free on unbind
jhovold Jun 1, 2020
3564cdd
leds: lm3533: fix use-after-free on unbind
jhovold Jun 1, 2020
fe6402e
leds: 88pm860x: fix use-after-free on unbind
jhovold Jun 1, 2020
e0c47a5
net/9p: validate fds in p9_fd_open
Jul 10, 2020
5955ccb
drm/nouveau/fbcon: fix module unload when fbcon init has failed for s…
Jul 24, 2020
802df1e
drm/nouveau/fbcon: zero-initialise the mode_cmd2 structure
Jul 24, 2020
8e6af82
nvme-pci: prevent SK hynix PC400 from using Write Zeroes command
khfeng Jul 23, 2020
4bba72b
drm/drm_fb_helper: fix fbdev with sparc64
sravnborg Jul 9, 2020
fa0195d
i2c: slave: improve sanity check when registering
Jul 25, 2020
871b5a5
i2c: slave: add sanity check when unregistering
Jul 25, 2020
fd601f3
usb: hso: check for return value in hso_serial_common_create()
rustylife Jul 28, 2020
eb96e4f
net: ethernet: mtk_eth_soc: Always call mtk_gmac0_rgmii_adjust() for …
vDorst Jul 23, 2020
01fdcb8
ALSA: hda: fix NULL pointer dereference during suspend
ranj063 Jul 28, 2020
83ea637
firmware: Fix a reference count leak.
QiushiWu Jun 13, 2020
7c8a863
cfg80211: check vendor command doit pointer before use
tokenrove Jul 6, 2020
5414f27
igb: reinit_locked() should be called with rtnl_lock
Jul 2, 2020
414f105
atm: fix atm_dev refcnt leaks in atmtcp_remove_persistent
Conchy-Conchy Jul 29, 2020
3429579
tools lib traceevent: Fix memory leak in process_dynamic_array_len
Jul 30, 2020
6059000
Drivers: hv: vmbus: Ignore CHANNELMSG_TL_CONNECT_RESULT(23)
dcui Jan 19, 2020
11e6414
xattr: break delegations in {set,remove}xattr
fllinden Jun 23, 2020
ceff42e
Revert "powerpc/kasan: Fix shadow pages allocation failure"
chleroy Jul 2, 2020
4913f71
PCI: tegra: Revert tegra124 raw_violation_fixup
kwizart Jul 18, 2020
9b37a7b
ipv4: Silence suspicious RCU usage warning
idosch Jul 29, 2020
89c12bc
ipv6: fix memory leaks on IPV6_ADDRFORM path
congwang Jul 25, 2020
bd68177
ipv6: Fix nexthop refcnt leak when creating ipv6 route info
sherlly Jul 25, 2020
6f93547
net: ethernet: mtk_eth_soc: fix MTU warnings
Jul 29, 2020
106b415
rxrpc: Fix race between recvmsg and sendmsg on immediate call failure
dhowells Jul 28, 2020
31489ed
vxlan: Ensure FDB dump is performed under RCU
idosch Jul 29, 2020
3787b5a
net: lan78xx: replace bogus endpoint lookup
jhovold Jul 28, 2020
5a963aa
appletalk: Fix atalk_proc_init() return path
VinDuv Aug 2, 2020
3a82f4b
dpaa2-eth: Fix passing zero to 'PTR_ERR' warning
Aug 4, 2020
5d791d3
hv_netvsc: do not use VF device if link is down
shemminger Aug 4, 2020
786a936
net: gre: recompute gre csum for sctp over gre tunnels
LorenzoBianconi Jul 31, 2020
ba729a9
net: thunderx: use spin_lock_bh in nicvf_set_rx_mode_task()
lxin Aug 4, 2020
daff7f0
openvswitch: Prevent kernel-infoleak in ovs_ct_put_key()
peilin-ye Jul 31, 2020
b8f2d34
Revert "vxlan: fix tos value before xmit"
liuhangbin Aug 5, 2020
848e15a
selftests/net: relax cpu affinity requirement in msg_zerocopy test
wdebruij Aug 5, 2020
fb26450
tcp: apply a floor of 1 for RTT samples from TCP timestamps
jianfenw Jul 30, 2020
df6aeb5
ima: move APPRAISE_BOOTPARAM dependency on ARCH_POLICY to runtime
bmeneg Jul 13, 2020
512570b
nfsd: Fix NFSv4 READ on RDMA when using readv
chucklever Mar 2, 2020
cad17fe
Linux 5.4.58
gregkh Aug 11, 2020
145665a
Merge tag 'v5.4.57' into 5.4-1.0.0-imx
zandrey Aug 11, 2020
5818a5e
Merge tag 'v5.4.58' into 5.4-1.0.0-imx
zandrey Aug 11, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
VERSION = 5
PATCHLEVEL = 4
SUBLEVEL = 56
SUBLEVEL = 58
EXTRAVERSION =
NAME = Kleptomaniac Octopus

Expand Down
2 changes: 2 additions & 0 deletions arch/arm/include/asm/percpu.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
#ifndef _ASM_ARM_PERCPU_H_
#define _ASM_ARM_PERCPU_H_

#include <asm/thread_info.h>

/*
* Same as asm-generic/percpu.h, except that we store the per cpu offset
* in the TPIDRPRW. TPIDRPRW only exists on V6K and V7
Expand Down
8 changes: 7 additions & 1 deletion arch/arm64/include/asm/pointer_auth.h
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@
#define __ASM_POINTER_AUTH_H

#include <linux/bitops.h>
#include <linux/random.h>

#include <asm/cpufeature.h>
#include <asm/memory.h>
Expand All @@ -30,6 +29,13 @@ struct ptrauth_keys {
struct ptrauth_key apga;
};

/*
* Only include random.h once ptrauth_keys_* structures are defined
* to avoid yet another circular include hell (random.h * ends up
* including asm/smp.h, which requires ptrauth_keys_kernel).
*/
#include <linux/random.h>

static inline void ptrauth_keys_init(struct ptrauth_keys *keys)
{
if (system_supports_address_auth()) {
Expand Down
2 changes: 2 additions & 0 deletions arch/powerpc/include/asm/kasan.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,11 @@

#ifdef CONFIG_KASAN
void kasan_early_init(void);
void kasan_mmu_init(void);
void kasan_init(void);
#else
static inline void kasan_init(void) { }
static inline void kasan_mmu_init(void) { }
#endif

#endif /* __ASSEMBLY */
Expand Down
2 changes: 2 additions & 0 deletions arch/powerpc/mm/init_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -175,6 +175,8 @@ void __init MMU_init(void)
btext_unmap();
#endif

kasan_mmu_init();

setup_kup();

/* Shortly after that, the entire linear mapping will be available */
Expand Down
4 changes: 1 addition & 3 deletions arch/powerpc/mm/kasan/kasan_init_32.c
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ static void __init kasan_remap_early_shadow_ro(void)
flush_tlb_kernel_range(KASAN_SHADOW_START, KASAN_SHADOW_END);
}

static void __init kasan_mmu_init(void)
void __init kasan_mmu_init(void)
{
int ret;
struct memblock_region *reg;
Expand All @@ -156,8 +156,6 @@ static void __init kasan_mmu_init(void)

void __init kasan_init(void)
{
kasan_mmu_init();

kasan_remap_early_shadow_ro();

clear_page(kasan_early_shadow_page);
Expand Down
15 changes: 14 additions & 1 deletion drivers/android/binder.c
Original file line number Diff line number Diff line change
Expand Up @@ -2984,6 +2984,12 @@ static void binder_transaction(struct binder_proc *proc,
goto err_dead_binder;
}
e->to_node = target_node->debug_id;
if (WARN_ON(proc == target_proc)) {
return_error = BR_FAILED_REPLY;
return_error_param = -EINVAL;
return_error_line = __LINE__;
goto err_invalid_target_handle;
}
if (security_binder_transaction(proc->tsk,
target_proc->tsk) < 0) {
return_error = BR_FAILED_REPLY;
Expand Down Expand Up @@ -3637,10 +3643,17 @@ static int binder_thread_write(struct binder_proc *proc,
struct binder_node *ctx_mgr_node;
mutex_lock(&context->context_mgr_node_lock);
ctx_mgr_node = context->binder_context_mgr_node;
if (ctx_mgr_node)
if (ctx_mgr_node) {
if (ctx_mgr_node->proc == proc) {
binder_user_error("%d:%d context manager tried to acquire desc 0\n",
proc->pid, thread->pid);
mutex_unlock(&context->context_mgr_node_lock);
return -EINVAL;
}
ret = binder_inc_ref_for_node(
proc, ctx_mgr_node,
strong, NULL, &rdata);
}
mutex_unlock(&context->context_mgr_node_lock);
}
if (ret)
Expand Down
10 changes: 8 additions & 2 deletions drivers/atm/atmtcp.c
Original file line number Diff line number Diff line change
Expand Up @@ -433,9 +433,15 @@ static int atmtcp_remove_persistent(int itf)
return -EMEDIUMTYPE;
}
dev_data = PRIV(dev);
if (!dev_data->persist) return 0;
if (!dev_data->persist) {
atm_dev_put(dev);
return 0;
}
dev_data->persist = 0;
if (PRIV(dev)->vcc) return 0;
if (PRIV(dev)->vcc) {
atm_dev_put(dev);
return 0;
}
kfree(dev_data);
atm_dev_put(dev);
atm_dev_deregister(dev);
Expand Down
1 change: 1 addition & 0 deletions drivers/char/random.c
Original file line number Diff line number Diff line change
Expand Up @@ -1330,6 +1330,7 @@ void add_interrupt_randomness(int irq, int irq_flags)

fast_mix(fast_pool);
add_interrupt_bench(cycles);
this_cpu_add(net_rand_state.s1, fast_pool->pool[cycles & 3]);

if (unlikely(crng_init == 0)) {
if ((fast_pool->count >= 64) &&
Expand Down
7 changes: 4 additions & 3 deletions drivers/firmware/qemu_fw_cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -605,8 +605,10 @@ static int fw_cfg_register_file(const struct fw_cfg_file *f)
/* register entry under "/sys/firmware/qemu_fw_cfg/by_key/" */
err = kobject_init_and_add(&entry->kobj, &fw_cfg_sysfs_entry_ktype,
fw_cfg_sel_ko, "%d", entry->select);
if (err)
goto err_register;
if (err) {
kobject_put(&entry->kobj);
return err;
}

/* add raw binary content access */
err = sysfs_create_bin_file(&entry->kobj, &fw_cfg_sysfs_attr_raw);
Expand All @@ -622,7 +624,6 @@ static int fw_cfg_register_file(const struct fw_cfg_file *f)

err_add_raw:
kobject_del(&entry->kobj);
err_register:
kfree(entry);
return err;
}
Expand Down
1 change: 1 addition & 0 deletions drivers/gpu/drm/bochs/bochs_kms.c
Original file line number Diff line number Diff line change
Expand Up @@ -194,6 +194,7 @@ int bochs_kms_init(struct bochs_device *bochs)
bochs->dev->mode_config.preferred_depth = 24;
bochs->dev->mode_config.prefer_shadow = 0;
bochs->dev->mode_config.prefer_shadow_fbdev = 1;
bochs->dev->mode_config.fbdev_use_iomem = true;
bochs->dev->mode_config.quirk_addfb_prefer_host_byte_order = true;

bochs->dev->mode_config.funcs = &bochs_mode_funcs;
Expand Down
6 changes: 5 additions & 1 deletion drivers/gpu/drm/drm_fb_helper.c
Original file line number Diff line number Diff line change
Expand Up @@ -390,7 +390,11 @@ static void drm_fb_helper_dirty_blit_real(struct drm_fb_helper *fb_helper,
unsigned int y;

for (y = clip->y1; y < clip->y2; y++) {
memcpy(dst, src, len);
if (!fb_helper->dev->mode_config.fbdev_use_iomem)
memcpy(dst, src, len);
else
memcpy_toio((void __iomem *)dst, src, len);

src += fb->pitches[0];
dst += fb->pitches[0];
}
Expand Down
3 changes: 2 additions & 1 deletion drivers/gpu/drm/nouveau/nouveau_fbcon.c
Original file line number Diff line number Diff line change
Expand Up @@ -315,7 +315,7 @@ nouveau_fbcon_create(struct drm_fb_helper *helper,
struct nouveau_framebuffer *fb;
struct nouveau_channel *chan;
struct nouveau_bo *nvbo;
struct drm_mode_fb_cmd2 mode_cmd;
struct drm_mode_fb_cmd2 mode_cmd = {};
int ret;

mode_cmd.width = sizes->surface_width;
Expand Down Expand Up @@ -592,6 +592,7 @@ nouveau_fbcon_init(struct drm_device *dev)
drm_fb_helper_fini(&fbcon->helper);
free:
kfree(fbcon);
drm->fbcon = NULL;
return ret;
}

Expand Down
21 changes: 7 additions & 14 deletions drivers/hv/channel_mgmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -1354,6 +1354,8 @@ channel_message_table[CHANNELMSG_COUNT] = {
{ CHANNELMSG_19, 0, NULL },
{ CHANNELMSG_20, 0, NULL },
{ CHANNELMSG_TL_CONNECT_REQUEST, 0, NULL },
{ CHANNELMSG_22, 0, NULL },
{ CHANNELMSG_TL_CONNECT_RESULT, 0, NULL },
};

/*
Expand All @@ -1365,25 +1367,16 @@ void vmbus_onmessage(void *context)
{
struct hv_message *msg = context;
struct vmbus_channel_message_header *hdr;
int size;

hdr = (struct vmbus_channel_message_header *)msg->u.payload;
size = msg->header.payload_size;

trace_vmbus_on_message(hdr);

if (hdr->msgtype >= CHANNELMSG_COUNT) {
pr_err("Received invalid channel message type %d size %d\n",
hdr->msgtype, size);
print_hex_dump_bytes("", DUMP_PREFIX_NONE,
(unsigned char *)msg->u.payload, size);
return;
}

if (channel_message_table[hdr->msgtype].message_handler)
channel_message_table[hdr->msgtype].message_handler(hdr);
else
pr_err("Unhandled channel message type %d\n", hdr->msgtype);
/*
* vmbus_on_msg_dpc() makes sure the hdr->msgtype here can not go
* out of bound and the message_handler pointer can not be NULL.
*/
channel_message_table[hdr->msgtype].message_handler(hdr);
}

/*
Expand Down
4 changes: 4 additions & 0 deletions drivers/hv/vmbus_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -1073,6 +1073,10 @@ void vmbus_on_msg_dpc(unsigned long data)
}

entry = &channel_message_table[hdr->msgtype];

if (!entry->message_handler)
goto msg_handled;

if (entry->handler_type == VMHT_BLOCKING) {
ctx = kmalloc(sizeof(*ctx), GFP_ATOMIC);
if (ctx == NULL)
Expand Down
7 changes: 4 additions & 3 deletions drivers/i2c/i2c-core-slave.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,10 +18,8 @@ int i2c_slave_register(struct i2c_client *client, i2c_slave_cb_t slave_cb)
{
int ret;

if (!client || !slave_cb) {
WARN(1, "insufficient data\n");
if (WARN(IS_ERR_OR_NULL(client) || !slave_cb, "insufficient data\n"))
return -EINVAL;
}

if (!(client->flags & I2C_CLIENT_SLAVE))
dev_warn(&client->dev, "%s: client slave flag not set. You might see address collisions\n",
Expand Down Expand Up @@ -60,6 +58,9 @@ int i2c_slave_unregister(struct i2c_client *client)
{
int ret;

if (IS_ERR_OR_NULL(client))
return -EINVAL;

if (!client->adapter->algo->unreg_slave) {
dev_err(&client->dev, "%s: not supported by adapter\n", __func__);
return -EOPNOTSUPP;
Expand Down
14 changes: 13 additions & 1 deletion drivers/leds/leds-88pm860x.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,21 +203,33 @@ static int pm860x_led_probe(struct platform_device *pdev)
data->cdev.brightness_set_blocking = pm860x_led_set;
mutex_init(&data->lock);

ret = devm_led_classdev_register(chip->dev, &data->cdev);
ret = led_classdev_register(chip->dev, &data->cdev);
if (ret < 0) {
dev_err(&pdev->dev, "Failed to register LED: %d\n", ret);
return ret;
}
pm860x_led_set(&data->cdev, 0);

platform_set_drvdata(pdev, data);

return 0;
}

static int pm860x_led_remove(struct platform_device *pdev)
{
struct pm860x_led *data = platform_get_drvdata(pdev);

led_classdev_unregister(&data->cdev);

return 0;
}

static struct platform_driver pm860x_led_driver = {
.driver = {
.name = "88pm860x-led",
},
.probe = pm860x_led_probe,
.remove = pm860x_led_remove,
};

module_platform_driver(pm860x_led_driver);
Expand Down
14 changes: 13 additions & 1 deletion drivers/leds/leds-da903x.c
Original file line number Diff line number Diff line change
Expand Up @@ -110,12 +110,23 @@ static int da903x_led_probe(struct platform_device *pdev)
led->flags = pdata->flags;
led->master = pdev->dev.parent;

ret = devm_led_classdev_register(led->master, &led->cdev);
ret = led_classdev_register(led->master, &led->cdev);
if (ret) {
dev_err(&pdev->dev, "failed to register LED %d\n", id);
return ret;
}

platform_set_drvdata(pdev, led);

return 0;
}

static int da903x_led_remove(struct platform_device *pdev)
{
struct da903x_led *led = platform_get_drvdata(pdev);

led_classdev_unregister(&led->cdev);

return 0;
}

Expand All @@ -124,6 +135,7 @@ static struct platform_driver da903x_led_driver = {
.name = "da903x-led",
},
.probe = da903x_led_probe,
.remove = da903x_led_remove,
};

module_platform_driver(da903x_led_driver);
Expand Down
12 changes: 9 additions & 3 deletions drivers/leds/leds-lm3533.c
Original file line number Diff line number Diff line change
Expand Up @@ -694,7 +694,7 @@ static int lm3533_led_probe(struct platform_device *pdev)

platform_set_drvdata(pdev, led);

ret = devm_led_classdev_register(pdev->dev.parent, &led->cdev);
ret = led_classdev_register(pdev->dev.parent, &led->cdev);
if (ret) {
dev_err(&pdev->dev, "failed to register LED %d\n", pdev->id);
return ret;
Expand All @@ -704,13 +704,18 @@ static int lm3533_led_probe(struct platform_device *pdev)

ret = lm3533_led_setup(led, pdata);
if (ret)
return ret;
goto err_deregister;

ret = lm3533_ctrlbank_enable(&led->cb);
if (ret)
return ret;
goto err_deregister;

return 0;

err_deregister:
led_classdev_unregister(&led->cdev);

return ret;
}

static int lm3533_led_remove(struct platform_device *pdev)
Expand All @@ -720,6 +725,7 @@ static int lm3533_led_remove(struct platform_device *pdev)
dev_dbg(&pdev->dev, "%s\n", __func__);

lm3533_ctrlbank_disable(&led->cb);
led_classdev_unregister(&led->cdev);

return 0;
}
Expand Down
Loading