Linux 5.16.9
Greg Kroah-Hartman
maintainerMakefile +1 -1
@@ -1,7 +1,7 @@ # SPDX-License-Identifier: GPL-2.0 VERSION = 5 PATCHLEVEL = 16 -SUBLEVEL = 8 +SUBLEVEL = 9 EXTRAVERSION = NAME = Gobble Gobble
arch/s390/kvm/kvm-s390.c +2 -0
@@ -4711,6 +4711,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 :
crypto/algapi.c +1 -0
@@ -1324,3 +1324,4 @@ module_exit(crypto_algapi_exit);MODULE_LICENSE ("GPL" );MODULE_DESCRIPTION ("Cryptographic algorithms API" ); +MODULE_SOFTDEP ("pre: cryptomgr" );
crypto/api.c +0 -1
@@ -643,4 +643,3 @@ EXPORT_SYMBOL_GPL(crypto_req_done);MODULE_DESCRIPTION ("Cryptographic core API" );MODULE_LICENSE ("GPL" ); -MODULE_SOFTDEP ("pre: cryptomgr" );
drivers/ata/libata-core.c +6 -8
@@ -2486,23 +2486,21 @@ static void ata_dev_config_cpr(struct ata_device *dev)struct ata_cpr_log *cpr_log =NULL ;u8 *desc, *buf =NULL ; -if (!ata_identify_page_supported (dev, -ATA_LOG_CONCURRENT_POSITIONING_RANGES )) +if (ata_id_major_version (dev->id) <11 || + !ata_log_supported (dev,ATA_LOG_CONCURRENT_POSITIONING_RANGES )) goto out;/* -* Read IDENTIFY DEVICE data log, page 0x47 -* (concurrent positioning ranges). We can have at most 255 32B range -* descriptors plus a 64B header. +* Read the concurrent positioning ranges log (0x47). We can have at +* most 255 32B range descriptors plus a 64B header. */ buf_len = (64 +255 *32 +511 ) & ~511 ; buf =kzalloc (buf_len,GFP_KERNEL );if (!buf) goto out; - err_mask =ata_read_log_page (dev,ATA_LOG_IDENTIFY_DEVICE , -ATA_LOG_CONCURRENT_POSITIONING_RANGES , - buf, buf_len >>9 ); + err_mask =ata_read_log_page (dev,ATA_LOG_CONCURRENT_POSITIONING_RANGES , +0 , buf, buf_len >>9 );if (err_mask) goto out;
drivers/mmc/host/moxart-mmc.c +1 -1
@@ -705,12 +705,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 ; }
fs/ksmbd/smb2pdu.c +1 -1
@@ -2688,7 +2688,7 @@ int smb2_open(struct ksmbd_work *work) (struct create_posix *)context;if (le16_to_cpu (context->DataOffset) +le32_to_cpu (context->DataLength) < -sizeof (struct create_posix )) { +sizeof (struct create_posix ) -4 ) { rc = -EINVAL ; goto err_out1; }
include/linux/ata.h +1 -1
@@ -324,12 +324,12 @@ enum {ATA_LOG_NCQ_NON_DATA =0x12 ,ATA_LOG_NCQ_SEND_RECV =0x13 ,ATA_LOG_IDENTIFY_DEVICE =0x30 , +ATA_LOG_CONCURRENT_POSITIONING_RANGES =0x47 ,/* Identify device log pages: */ ATA_LOG_SECURITY =0x06 ,ATA_LOG_SATA_SETTINGS =0x08 ,ATA_LOG_ZONED_INFORMATION =0x09 , -ATA_LOG_CONCURRENT_POSITIONING_RANGES =0x47 ,/* Identify device SATA settings log:*/ ATA_LOG_DEVSLP_OFFSET = 0x30,
net/tipc/link.c +7 -2
@@ -2199,7 +2199,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);
@@ -2213,6 +2213,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;
@@ -2308,7 +2312,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);
net/tipc/monitor.c +2 -0
@@ -496,6 +496,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))
Greg Kroah-Hartman
maintainerI'm announcing the release of the 5.16.9 kernel.
All users of the 5.16 kernel series must upgrade.
The updated 5.16.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.16.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary
thanks,
greg k-h
------------
Makefile | 2 +- arch/s390/kvm/kvm-s390.c | 2 ++ crypto/algapi.c | 1 + crypto/api.c | 1 - drivers/ata/libata-core.c | 14 ++++++-------- drivers/mmc/host/moxart-mmc.c | 2 +- fs/ksmbd/smb2pdu.c | 2 +- include/linux/ata.h | 2 +- net/tipc/link.c | 9 +++++++-- net/tipc/monitor.c | 2 ++ 10 files changed, 22 insertions(+), 15 deletions(-)
Damien Le Moal (1):
ata: libata-core: Fix ata_dev_config_cpr()
Greg Kroah-Hartman (2):
moxart: fix potential use-after-free on remove path Linux 5.16.9
Herbert Xu (1):
crypto: api - Move cryptomgr soft dependency into algapi
Janis Schoetterl-Glausch (1):
KVM: s390: Return error on SIDA memop on normal guest
Jon Maloy (1):
tipc: improve size validations for received domain records
Namjae Jeon (1):
ksmbd: fix SMB 3.11 posix extension mount failure