diff options
-rw-r--r-- | 0000_README | 4 | ||||
-rw-r--r-- | 1178_linux-5.4.179.patch | 79 |
2 files changed, 83 insertions, 0 deletions
diff --git a/0000_README b/0000_README index 0633c4d5..82251825 100644 --- a/0000_README +++ b/0000_README @@ -755,6 +755,10 @@ Patch: 1177_linux-5.4.178.patch From: http://www.kernel.org Desc: Linux 5.4.178 +Patch: 1178_linux-5.4.179.patch +From: http://www.kernel.org +Desc: Linux 5.4.179 + Patch: 1500_XATTR_USER_PREFIX.patch From: https://bugs.gentoo.org/show_bug.cgi?id=470644 Desc: Support for namespace user.pax.* on tmpfs. diff --git a/1178_linux-5.4.179.patch b/1178_linux-5.4.179.patch new file mode 100644 index 00000000..78764c5d --- /dev/null +++ b/1178_linux-5.4.179.patch @@ -0,0 +1,79 @@ +diff --git a/Makefile b/Makefile +index 6d33284664fef..5688e17a44363 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,7 +1,7 @@ + # SPDX-License-Identifier: GPL-2.0 + VERSION = 5 + PATCHLEVEL = 4 +-SUBLEVEL = 178 ++SUBLEVEL = 179 + EXTRAVERSION = + NAME = Kleptomaniac Octopus + +diff --git a/drivers/mmc/host/moxart-mmc.c b/drivers/mmc/host/moxart-mmc.c +index 5553a5643f405..5c81dc7371db7 100644 +--- a/drivers/mmc/host/moxart-mmc.c ++++ b/drivers/mmc/host/moxart-mmc.c +@@ -696,12 +696,12 @@ static int moxart_remove(struct platform_device *pdev) + if (!IS_ERR(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; + } +diff --git a/net/tipc/link.c b/net/tipc/link.c +index f25010261a9e0..8f2ee71c63c6d 100644 +--- a/net/tipc/link.c ++++ b/net/tipc/link.c +@@ -1953,15 +1953,18 @@ static int tipc_link_proto_rcv(struct tipc_link *l, struct sk_buff *skb, + u16 peers_tol = msg_link_tolerance(hdr); + u16 peers_prio = msg_linkprio(hdr); + u16 rcv_nxt = l->rcv_nxt; +- u16 dlen = msg_data_sz(hdr); ++ u32 dlen = msg_data_sz(hdr), glen = 0; + int mtyp = msg_type(hdr); + bool reply = msg_probe(hdr); +- u16 glen = 0; + void *data; + char *if_name; + int rc = 0; + + trace_tipc_proto_rcv(skb, false, l->name); ++ ++ if (dlen > U16_MAX) ++ goto exit; ++ + if (tipc_link_is_blocked(l) || !xmitq) + goto exit; + +@@ -2063,7 +2066,8 @@ static int tipc_link_proto_rcv(struct tipc_link *l, struct sk_buff *skb, + if (glen != tipc_gap_ack_blks_sz(ga->gack_cnt)) + ga = NULL; + } +- ++ if(glen > dlen) ++ break; + tipc_mon_rcv(l->net, data + glen, dlen - glen, l->addr, + &l->mon_state, l->bearer_id); + +diff --git a/net/tipc/monitor.c b/net/tipc/monitor.c +index 58708b4c7719f..e7155a7743001 100644 +--- a/net/tipc/monitor.c ++++ b/net/tipc/monitor.c +@@ -457,6 +457,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)) |