Import of kernel-4.18.0-553.84.1.el8_10
This commit is contained in:
parent
7c661d18ee
commit
641c751d02
@ -12,7 +12,7 @@ RHEL_MINOR = 10
|
|||||||
#
|
#
|
||||||
# Use this spot to avoid future merge conflicts.
|
# Use this spot to avoid future merge conflicts.
|
||||||
# Do not trim this comment.
|
# Do not trim this comment.
|
||||||
RHEL_RELEASE = 553.83.1
|
RHEL_RELEASE = 553.84.1
|
||||||
|
|
||||||
#
|
#
|
||||||
# ZSTREAM
|
# ZSTREAM
|
||||||
|
|||||||
@ -977,6 +977,11 @@ void nfs_delegation_mark_returned(struct inode *inode,
|
|||||||
}
|
}
|
||||||
|
|
||||||
nfs_mark_delegation_revoked(delegation);
|
nfs_mark_delegation_revoked(delegation);
|
||||||
|
clear_bit(NFS_DELEGATION_RETURNING, &delegation->flags);
|
||||||
|
spin_unlock(&delegation->lock);
|
||||||
|
if (nfs_detach_delegation(NFS_I(inode), delegation, NFS_SERVER(inode)))
|
||||||
|
nfs_put_delegation(delegation);
|
||||||
|
goto out_rcu_unlock;
|
||||||
|
|
||||||
out_clear_returning:
|
out_clear_returning:
|
||||||
clear_bit(NFS_DELEGATION_RETURNING, &delegation->flags);
|
clear_bit(NFS_DELEGATION_RETURNING, &delegation->flags);
|
||||||
|
|||||||
@ -2133,11 +2133,12 @@ int cgroup_do_get_tree(struct fs_context *fc)
|
|||||||
|
|
||||||
nsdentry = kernfs_node_dentry(cgrp->kn, sb);
|
nsdentry = kernfs_node_dentry(cgrp->kn, sb);
|
||||||
dput(fc->root);
|
dput(fc->root);
|
||||||
fc->root = nsdentry;
|
|
||||||
if (IS_ERR(nsdentry)) {
|
if (IS_ERR(nsdentry)) {
|
||||||
ret = PTR_ERR(nsdentry);
|
|
||||||
deactivate_locked_super(sb);
|
deactivate_locked_super(sb);
|
||||||
|
ret = PTR_ERR(nsdentry);
|
||||||
|
nsdentry = NULL;
|
||||||
}
|
}
|
||||||
|
fc->root = nsdentry;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!ctx->kfc.new_sb_created)
|
if (!ctx->kfc.new_sb_created)
|
||||||
|
|||||||
@ -506,8 +506,8 @@ static void virtio_transport_rx_work(struct work_struct *work)
|
|||||||
do {
|
do {
|
||||||
virtqueue_disable_cb(vq);
|
virtqueue_disable_cb(vq);
|
||||||
for (;;) {
|
for (;;) {
|
||||||
|
unsigned int len, payload_len;
|
||||||
struct virtio_vsock_pkt *pkt;
|
struct virtio_vsock_pkt *pkt;
|
||||||
unsigned int len;
|
|
||||||
|
|
||||||
if (!virtio_transport_more_replies(vsock)) {
|
if (!virtio_transport_more_replies(vsock)) {
|
||||||
/* Stop rx until the device processes already
|
/* Stop rx until the device processes already
|
||||||
@ -531,6 +531,12 @@ static void virtio_transport_rx_work(struct work_struct *work)
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
payload_len = le32_to_cpu(pkt->hdr.len);
|
||||||
|
if (unlikely(payload_len > len - sizeof(pkt->hdr))) {
|
||||||
|
virtio_transport_free_pkt(pkt);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
pkt->len = len - sizeof(pkt->hdr);
|
pkt->len = len - sizeof(pkt->hdr);
|
||||||
virtio_transport_deliver_tap_pkt(pkt);
|
virtio_transport_deliver_tap_pkt(pkt);
|
||||||
virtio_transport_recv_pkt(&virtio_transport, pkt);
|
virtio_transport_recv_pkt(&virtio_transport, pkt);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user