Import of kernel-6.12.0-211.34.1.el10_2
This commit is contained in:
parent
9a2c54636c
commit
bc547fd41f
@ -30,8 +30,11 @@ static int ccp_aes_complete(struct crypto_async_request *async_req, int ret)
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
if (ctx->u.aes.mode != CCP_AES_MODE_ECB)
|
||||
memcpy(req->iv, rctx->iv, AES_BLOCK_SIZE);
|
||||
if (ctx->u.aes.mode != CCP_AES_MODE_ECB) {
|
||||
size_t ivsize = crypto_skcipher_ivsize(crypto_skcipher_reqtfm(req));
|
||||
|
||||
memcpy(req->iv, rctx->iv, ivsize);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -440,6 +440,7 @@ xfs_reflink_fill_cow_hole(
|
||||
struct xfs_mount *mp = ip->i_mount;
|
||||
struct xfs_trans *tp;
|
||||
xfs_filblks_t resaligned;
|
||||
unsigned int seq_before = READ_ONCE(ip->i_df.if_seq);
|
||||
unsigned int dblocks = 0, rblocks = 0;
|
||||
int nimaps;
|
||||
int error;
|
||||
@ -465,6 +466,22 @@ xfs_reflink_fill_cow_hole(
|
||||
|
||||
*lockmode = XFS_ILOCK_EXCL;
|
||||
|
||||
/*
|
||||
* The data fork mapping may have changed while we dropped the ILOCK
|
||||
* (a racing O_DIRECT writer under IOLOCK_SHARED can complete a full
|
||||
* CoW cycle including xfs_reflink_end_cow(), which remaps this offset
|
||||
* and drops the refcount of the old shared block). Re-read it so the
|
||||
* shared-status recheck below and the caller's in-place iomap both
|
||||
* operate on the current mapping rather than a stale physical block.
|
||||
*/
|
||||
if (seq_before != READ_ONCE(ip->i_df.if_seq)) {
|
||||
nimaps = 1;
|
||||
error = xfs_bmapi_read(ip, imap->br_startoff,
|
||||
imap->br_blockcount, imap, &nimaps, 0);
|
||||
if (error)
|
||||
goto out_trans_cancel;
|
||||
}
|
||||
|
||||
error = xfs_find_trim_cow_extent(ip, imap, cmap, shared, &found);
|
||||
if (error || !*shared)
|
||||
goto out_trans_cancel;
|
||||
@ -511,6 +528,8 @@ xfs_reflink_fill_delalloc(
|
||||
bool found;
|
||||
|
||||
do {
|
||||
unsigned int seq_before = READ_ONCE(ip->i_df.if_seq);
|
||||
|
||||
xfs_iunlock(ip, *lockmode);
|
||||
*lockmode = 0;
|
||||
|
||||
@ -521,6 +540,23 @@ xfs_reflink_fill_delalloc(
|
||||
|
||||
*lockmode = XFS_ILOCK_EXCL;
|
||||
|
||||
/*
|
||||
* The data fork mapping may have changed while we dropped the
|
||||
* ILOCK (a racing O_DIRECT writer under IOLOCK_SHARED can
|
||||
* complete a full CoW cycle including xfs_reflink_end_cow(),
|
||||
* which remaps this offset and drops the refcount of the old
|
||||
* shared block). Re-read it so the shared-status recheck
|
||||
* below and the caller's in-place iomap both operate on the
|
||||
* current mapping rather than a stale physical block.
|
||||
*/
|
||||
if (seq_before != READ_ONCE(ip->i_df.if_seq)) {
|
||||
nimaps = 1;
|
||||
error = xfs_bmapi_read(ip, imap->br_startoff,
|
||||
imap->br_blockcount, imap, &nimaps, 0);
|
||||
if (error)
|
||||
goto out_trans_cancel;
|
||||
}
|
||||
|
||||
error = xfs_find_trim_cow_extent(ip, imap, cmap, shared,
|
||||
&found);
|
||||
if (error || !*shared)
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
||||
kernel.almalinux,1,AlmaLinux,kernel-core,6.12.0-211.33.1.el10.x86_64,mailto:security@almalinux.org
|
||||
kernel.almalinux,1,AlmaLinux,kernel-core,6.12.0-211.34.1.el10.x86_64,mailto:security@almalinux.org
|
||||
|
||||
@ -416,8 +416,8 @@ int esp_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info *
|
||||
return err;
|
||||
}
|
||||
|
||||
if (ALIGN(tailen, L1_CACHE_BYTES) > PAGE_SIZE ||
|
||||
ALIGN(skb->data_len, L1_CACHE_BYTES) > PAGE_SIZE)
|
||||
if (ALIGN(skb->data_len + tailen, L1_CACHE_BYTES) >
|
||||
PAGE_SIZE)
|
||||
goto cow;
|
||||
|
||||
if (!skb_cloned(skb)) {
|
||||
|
||||
@ -445,8 +445,8 @@ int esp6_output_head(struct xfrm_state *x, struct sk_buff *skb, struct esp_info
|
||||
return err;
|
||||
}
|
||||
|
||||
if (ALIGN(tailen, L1_CACHE_BYTES) > PAGE_SIZE ||
|
||||
ALIGN(skb->data_len, L1_CACHE_BYTES) > PAGE_SIZE)
|
||||
if (ALIGN(skb->data_len + tailen, L1_CACHE_BYTES) >
|
||||
PAGE_SIZE)
|
||||
goto cow;
|
||||
|
||||
if (!skb_cloned(skb)) {
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
||||
kernel-uki-virt-addons.almalinux,1,AlmaLinux,kernel-uki-virt-addons,6.12.0-211.33.1.el10.x86_64,mailto:security@almalinux.org
|
||||
kernel-uki-virt-addons.almalinux,1,AlmaLinux,kernel-uki-virt-addons,6.12.0-211.34.1.el10.x86_64,mailto:security@almalinux.org
|
||||
|
||||
2
uki.sbat
2
uki.sbat
@ -1,2 +1,2 @@
|
||||
sbat,1,SBAT Version,sbat,1,https://github.com/rhboot/shim/blob/main/SBAT.md
|
||||
kernel-uki-virt.almalinux,1,AlmaLinux,kernel-uki-virt,6.12.0-211.33.1.el10.x86_64,mailto:security@almalinux.org
|
||||
kernel-uki-virt.almalinux,1,AlmaLinux,kernel-uki-virt,6.12.0-211.34.1.el10.x86_64,mailto:security@almalinux.org
|
||||
|
||||
Loading…
Reference in New Issue
Block a user