Merge 5.10.100 into android12-5.10-lts
Changes in 5.10.100 moxart: fix potential use-after-free on remove path KVM: s390: Return error on SIDA memop on normal guest crypto: api - Move cryptomgr soft dependency into algapi tipc: improve size validations for received domain records Linux 5.10.100 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com> Change-Id: I171e1de80869482794b41d437fd66993a0c8a1d5
This commit is contained in:
2
Makefile
2
Makefile
@@ -1,7 +1,7 @@
|
||||
# SPDX-License-Identifier: GPL-2.0
|
||||
VERSION = 5
|
||||
PATCHLEVEL = 10
|
||||
SUBLEVEL = 99
|
||||
SUBLEVEL = 100
|
||||
EXTRAVERSION =
|
||||
NAME = Dare mighty things
|
||||
|
||||
|
@@ -4654,6 +4654,8 @@ static long kvm_s390_guest_sida_op(struct kvm_vcpu *vcpu,
|
||||
return -EINVAL;
|
||||
if (mop->size + mop->sida_offset > sida_size(vcpu->arch.sie_block))
|
||||
return -E2BIG;
|
||||
if (!kvm_s390_pv_cpu_is_protected(vcpu))
|
||||
return -EINVAL;
|
||||
|
||||
switch (mop->op) {
|
||||
case KVM_S390_MEMOP_SIDA_READ:
|
||||
|
@@ -1295,3 +1295,4 @@ module_exit(crypto_algapi_exit);
|
||||
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_DESCRIPTION("Cryptographic algorithms API");
|
||||
MODULE_SOFTDEP("pre: cryptomgr");
|
||||
|
@@ -603,4 +603,3 @@ EXPORT_SYMBOL_GPL(crypto_req_done);
|
||||
|
||||
MODULE_DESCRIPTION("Cryptographic core API");
|
||||
MODULE_LICENSE("GPL");
|
||||
MODULE_SOFTDEP("pre: cryptomgr");
|
||||
|
@@ -708,12 +708,12 @@ static int moxart_remove(struct platform_device *pdev)
|
||||
if (!IS_ERR_OR_NULL(host->dma_chan_rx))
|
||||
dma_release_channel(host->dma_chan_rx);
|
||||
mmc_remove_host(mmc);
|
||||
mmc_free_host(mmc);
|
||||
|
||||
writel(0, host->base + REG_INTERRUPT_MASK);
|
||||
writel(0, host->base + REG_POWER_CONTROL);
|
||||
writel(readl(host->base + REG_CLOCK_CONTROL) | CLK_OFF,
|
||||
host->base + REG_CLOCK_CONTROL);
|
||||
mmc_free_host(mmc);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@@ -2159,7 +2159,7 @@ static int tipc_link_proto_rcv(struct tipc_link *l, struct sk_buff *skb,
|
||||
struct tipc_msg *hdr = buf_msg(skb);
|
||||
struct tipc_gap_ack_blks *ga = NULL;
|
||||
bool reply = msg_probe(hdr), retransmitted = false;
|
||||
u16 dlen = msg_data_sz(hdr), glen = 0;
|
||||
u32 dlen = msg_data_sz(hdr), glen = 0;
|
||||
u16 peers_snd_nxt = msg_next_sent(hdr);
|
||||
u16 peers_tol = msg_link_tolerance(hdr);
|
||||
u16 peers_prio = msg_linkprio(hdr);
|
||||
@@ -2173,6 +2173,10 @@ static int tipc_link_proto_rcv(struct tipc_link *l, struct sk_buff *skb,
|
||||
void *data;
|
||||
|
||||
trace_tipc_proto_rcv(skb, false, l->name);
|
||||
|
||||
if (dlen > U16_MAX)
|
||||
goto exit;
|
||||
|
||||
if (tipc_link_is_blocked(l) || !xmitq)
|
||||
goto exit;
|
||||
|
||||
@@ -2268,7 +2272,8 @@ static int tipc_link_proto_rcv(struct tipc_link *l, struct sk_buff *skb,
|
||||
|
||||
/* Receive Gap ACK blocks from peer if any */
|
||||
glen = tipc_get_gap_ack_blks(&ga, l, hdr, true);
|
||||
|
||||
if(glen > dlen)
|
||||
break;
|
||||
tipc_mon_rcv(l->net, data + glen, dlen - glen, l->addr,
|
||||
&l->mon_state, l->bearer_id);
|
||||
|
||||
|
@@ -465,6 +465,8 @@ void tipc_mon_rcv(struct net *net, void *data, u16 dlen, u32 addr,
|
||||
state->probing = false;
|
||||
|
||||
/* Sanity check received domain record */
|
||||
if (new_member_cnt > MAX_MON_DOMAIN)
|
||||
return;
|
||||
if (dlen < dom_rec_len(arrv_dom, 0))
|
||||
return;
|
||||
if (dlen != dom_rec_len(arrv_dom, new_member_cnt))
|
||||
|
Reference in New Issue
Block a user