multiple seconds for large memories, and
be incurred during a virtual machine's pause time during live update.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 41 ++
drivers/vhost/vhost.c | 15 ++
drivers/vhost/vhost.h
st_vdpa_set_owner() calls VHOST_NEW_OWNER instead of VHOST_SET_OWNER
- vhost_vdpa_dma_map() sets type VHOST_IOTLB_REMAP instead of
VHOST_IOTLB_UPDATE
Changes in V2:
- clean up handling of set_map vs dma_map vs platform iommu in remap
- augment and clarify commit messages and comments
Steve
Remember the count of pinned memory for the device.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 63a53680a85c..963f3704bc39 100644
--- a/drivers/vhost/vdpa.c
: Steve Sistare
---
drivers/vdpa/mlx5/net/mlx5_vnet.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c
b/drivers/vdpa/mlx5/net/mlx5_vnet.c
index ecfc16151d61..b8b16dc499da 100644
--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5
mapped.
The user must suspend the device before the old address is invalidated,
and cannot resume it until after VHOST_IOTLB_REMAP is called, but this
requirement is not enforced by the API.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 58
feature during negotiation
does not negate this requirement.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 8 +++-
include/uapi/linux/vhost_types.h | 2 ++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index
Pass the target mm to vhost_vdpa_bind_mm. No functional change.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 963f3704bc39..b49e5831b3f0 100644
--- a/drivers
Add the VHOST_BACKEND_F_NEW_OWNER backend capability, which indicates that
VHOST_NEW_OWNER is supported.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 7 ++-
include/uapi/linux/vhost_types.h | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers
Flush to guarantee no workers are running when suspend returns.
Add a lock to enforce ordering between clearing running, flushing,
and posting new work in vdpasim_kick_vq. It must be a spin lock
because vdpasim_kick_vq may be reached va eventfd_write.
Signed-off-by: Steve Sistare
---
drivers
Support the suspend operation. There is little to do, except flush to
guarantee no workers are running when suspend returns.
Signed-off-by: Steve Sistare
---
drivers/vdpa/vdpa_user/vduse_dev.c | 24
1 file changed, 24 insertions(+)
diff --git a/drivers/vdpa/vdpa_user
uspend)
- call vhost_dev_flush unconditionally in "vhost-vdpa: flush workers on
suspend"
Changes in v3:
- rewrote vdpa_sim patch
Steve Sistare (3):
vhost-vdpa: flush workers on suspend
vduse: suspend
vdpa_sim: flush workers on suspend
drivers/vdpa/vdpa_sim/vdpa_sim.c | 16
Flush to guarantee no workers are running when suspend returns.
Fixes: f345a0143b4d ("vhost-vdpa: uAPI to suspend the device")
Signed-off-by: Steve Sistare
Acked-by: Eugenio Pérez
---
drivers/vhost/vdpa.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/vhost/vdpa.c
If a vdpa device is not in state DRIVER_OK, then there is no driver state
to preserve, so no need to call the suspend and resume driver ops.
Suggested-by: Eugenio Perez Martin "
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 6 ++
1 file changed, 6 insertions(+)
diff --
Support the suspend operation. There is little to do, except flush to
guarantee no workers are running when suspend returns.
Signed-off-by: Steve Sistare
---
drivers/vdpa/vdpa_user/vduse_dev.c | 24
1 file changed, 24 insertions(+)
diff --git a/drivers/vdpa/vdpa_user
Flush to guarantee no workers are running when suspend returns.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index bc4a51e4638b..a3b986c24805 100644
--- a/drivers/vhost/vdpa.c
+++ b
Flush to guarantee no workers are running when suspend returns,
for vdpa, vpa_sim, and vduse. (mlx5 already does so, via the path
mlx5_vdpa_suspend -> unregister_link_notifier -> flush_workqueue.)
Steve Sistare (3):
vhost-vdpa: flush workers on suspend
vduse: suspend
vdpa_sim:
Flush to guarantee no workers are running when suspend returns.
Signed-off-by: Steve Sistare
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c
index be2925d0d283
Calling suspend or resume requires VIRTIO_CONFIG_S_DRIVER_OK, for all
vdpa devices.
Suggested-by: Eugenio Perez Martin "
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index bc4a51e
vdpasim_do_reset sets running to true, which is wrong, as it allows
vdpasim_kick_vq to post work requests before the device has been
configured. To fix, do not set running until VIRTIO_CONFIG_S_DRIVER_OK
is set.
Fixes: 0c89e2a3a9d0 ("vdpa_sim: Implement suspend vdpa op")
Signed-off
vdpasim_do_reset sets running to true, which is wrong, as it allows
vdpasim_kick_vq to post work requests before the device has been
configured. To fix, do not set running until VIRTIO_CONFIG_S_FEATURES_OK
is set.
Fixes: 0c89e2a3a9d0 ("vdpa_sim: Implement suspend vdpa op")
Signed-off
The vdpa_sim device supports ownership transfer to a new process, so
advertise VHOST_BACKEND_F_NEW_OWNER. User virtual addresses are used
by the software iommu, so VHOST_IOTLB_REMAP is required after
VHOST_NEW_OWNER, so advertise VHOST_BACKEND_F_IOTLB_REMAP.
Signed-off-by: Steve Sistare
The vduse device supports ownership transfer to a new process, so
advertise VHOST_BACKEND_F_NEW_OWNER. User virtual addresses are used
by the software iommu, so VHOST_IOTLB_REMAP is required after
VHOST_NEW_OWNER, so advertise VHOST_BACKEND_F_IOTLB_REMAP.
Signed-off-by: Steve Sistare
between.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 8fe1562d24af..9673e8e20d11 100644
--- a/drivers/vhost/vdpa.c
+++ b/drivers/vhost/vdpa.c
@@ -591,10 +591,14 @@ static long
Add the VHOST_BACKEND_F_NEW_OWNER backend capability, which indicates that
VHOST_NEW_OWNER is supported.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 7 ++-
include/uapi/linux/vhost_types.h | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers
: Steve Sistare
---
drivers/vdpa/mlx5/net/mlx5_vnet.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/vdpa/mlx5/net/mlx5_vnet.c
b/drivers/vdpa/mlx5/net/mlx5_vnet.c
index 26ba7da6b410..26f24fb0e160 100644
--- a/drivers/vdpa/mlx5/net/mlx5_vnet.c
+++ b/drivers/vdpa/mlx5
between.
Signed-off-by: Steve Sistare
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 13 +
1 file changed, 13 insertions(+)
diff --git a/drivers/vdpa/vdpa_sim/vdpa_sim.c b/drivers/vdpa/vdpa_sim/vdpa_sim.c
index 6304cb0b4770..8734834983cb 100644
--- a/drivers/vdpa/vdpa_sim/vdpa_sim.c
+++ b
vdpasim_do_reset sets running to true, which is wrong, as it allows
vdpasim_kick_vq to post work requests before the device has been
configured. To fix, do not set running until VIRTIO_CONFIG_S_FEATURES_OK
is set.
Signed-off-by: Steve Sistare
---
drivers/vdpa/vdpa_sim/vdpa_sim.c | 3 ++-
1
mapped.
The user must suspend the device before the old address is invalidated,
and cannot resume it until after VHOST_IOTLB_REMAP is called, but this
requirement is not enforced by the API.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 34
feature during negotiation
does not negate this requirement.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 8 +++-
include/uapi/linux/vhost_types.h | 2 ++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index
between.
Signed-off-by: Steve Sistare
---
drivers/vdpa/vdpa_user/vduse_dev.c | 24
1 file changed, 24 insertions(+)
diff --git a/drivers/vdpa/vdpa_user/vduse_dev.c
b/drivers/vdpa/vdpa_user/vduse_dev.c
index 0ddd4b8abecb..6b25457a037d 100644
--- a/drivers/vdpa/vdpa_user
Add an ioctl to transfer file descriptor ownership and pinned memory
accounting from one process to another.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 37 +
drivers/vhost/vhost.c | 15 +++
drivers/vhost/vhost.h | 1
ma mapping
write(fd, {VHOST_IOTLB_REMAP, new_addr})
ioctl(fd, VHOST_VDPA_SET_STATUS,
ACKNOWLEDGE | DRIVER | FEATURES_OK | DRIVER_OK)
Steve Sistare (13):
vhost-vdpa: count pinned memory
vhost-vdpa: pass mm to bind
vhost-vdpa: VHOST_NEW_OWNER
vhost-vdpa: VHOST_BACKEND_F_NEW_OWN
Pass the target mm to vhost_vdpa_bind_mm. No functional change.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index 10fb95bcca1a..2269988d6d33 100644
--- a/drivers
Remember the count of pinned memory for the device.
Signed-off-by: Steve Sistare
---
drivers/vhost/vdpa.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/vhost/vdpa.c b/drivers/vhost/vdpa.c
index da7ec77cdaff..10fb95bcca1a 100644
--- a/drivers/vhost/vdpa.c
pect a lot more issues will come up regarding cached_fid
> refcount and cifsFileInfo refcount going out of sync otherwise.
>
> Cheers,
> --
> Aurélien Aptel / SUSE Labs Samba Team
> GPG: 1839 CB5F 9F5B FB9B AA97 8C99 03C8 A49B 521B D5D3
> SUSE Software Solutions Germany GmbH, Maxfeldstr. 5, 90409 Nürnberg, DE
> GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 247165 (AG München)
>
--
Thanks,
Steve
Tested-by: Steve Wahl
On Thu, Apr 15, 2021 at 02:22:43PM -0700, kan.li...@linux.intel.com wrote:
> From: Kan Liang
>
> There may be a kernel panic on the Haswell server and the Broadwell
> server, if the snbep_pci2phy_map_init() return error.
>
> The uncore_extra_pci_dev[H
ies need to disable the MSR during kvm_pv_guest_cpu_reboot()?
I _think_ going into blackout during the window after restart, but
before the MSR is explicitly reenabled, would cause corruption. The
historical shared pages could be re-allocated as non-shared pages
during restart.
Steve
Reviewed-by: Steve Wahl
On Fri, Apr 16, 2021 at 06:10:40PM +0800, Yang Li wrote:
> Kernel test robot throws below warning ->
>
> smatch warnings:
> arch/x86/kernel/apic/x2apic_uv_x.c:111 early_get_pnodeid() warn:
> inconsistent indenting
>
> Reported-by: Abaci Robot
fail
snbep_pci2phy_map_init if BIOS doesn't supply pcibus_to_node
information.
Fixes: 9a7832ce3d92 ("perf/x86/intel/uncore: With > 8 nodes, get pci bus die id
from NUMA info")
Signed-off-by: Steve Wahl
---
arch/x86/events/intel/uncore_snbep.c | 10 +++---
1 file changed, 7 insertions(+
ick this in the commit message, preferably annotated a bit like
Peter's example to show the READ_ONCE() being speculated.
I can confirm that this patch fixes a problem observed in
ep_scan_ready_list(.) whereby ovflist appeared to change when the write
lock was held.
So please feel free to ad
On Tue, Apr 13, 2021 at 4:47 AM Ashish Kalra wrote:
>
> On Mon, Apr 12, 2021 at 07:25:03PM -0700, Steve Rutherford wrote:
> > On Mon, Apr 12, 2021 at 6:48 PM Ashish Kalra wrote:
> > >
> > > On Mon, Apr 12, 2021 at 06:23:32PM -0700, Steve Rutherford wrote:
> >
On Mon, Apr 12, 2021 at 6:48 PM Ashish Kalra wrote:
>
> On Mon, Apr 12, 2021 at 06:23:32PM -0700, Steve Rutherford wrote:
> > On Mon, Apr 12, 2021 at 5:22 PM Steve Rutherford
> > wrote:
> > >
> > > On Mon, Apr 12, 2021 at 12:48 PM Ashish Kalra
> > &
On Mon, Apr 12, 2021 at 5:22 PM Steve Rutherford wrote:
>
> On Mon, Apr 12, 2021 at 12:48 PM Ashish Kalra wrote:
> >
> > From: Ashish Kalra
> >
> > Reset the host's shared pages list related to kernel
> > specific page encryption status settings bef
* If not booted using EFI, enable Live migration support.
> +*/
> + if (!efi_enabled(EFI_BOOT))
> + wrmsrl(MSR_KVM_SEV_LIVE_MIGRATION,
> + KVM_SEV_LIVE_MIGRATION_ENABLED);
> + } else {
> + pr_info("KVM enable live migration feature
> unsupported\n");
I might be misunderstanding this, but I'm not sure this log message is
correct: isn't the intention that the late initcall will be the one to
check if this should be enabled later in this case?
I have a similar question above about the log message after
"!efi_enabled(EFI_RUNTIME_SERVICES)": shouldn't that avoid logging if
!efi_enabled(EFI_BOOT) (since the wrmsl call already had been made
here?)
> + }
> +}
> +
> void __init mem_encrypt_free_decrypted_mem(void)
> {
> unsigned long vaddr, vaddr_end, npages;
> --
> 2.17.1
>
Other than these:
Reviewed-by: Steve Rutherford
aces with another CPU servicing a
device request (while the reboot is pending for that CPU)?
Seems like you could run into a scenario where you have hypercalls racing.
Calling this on every core isn't free, but it is an easy way to avoid this race.
You could also count cores, and have only last core d
h.complete_userspace_io = complete_hypercall_exit;
> + return 0;
> + }
> default:
> ret = -KVM_ENOSYS;
> break;
> diff --git a/include/uapi/linux/kvm_para.h b/include/uapi/linux/kvm_para.h
> index 8b86609849b9..847b83b75dc8 100644
> --- a/include/uapi/linux/kvm_para.h
> +++ b/include/uapi/linux/kvm_para.h
> @@ -29,6 +29,7 @@
> #define KVM_HC_CLOCK_PAIRING 9
> #define KVM_HC_SEND_IPI10
> #define KVM_HC_SCHED_YIELD 11
> +#define KVM_HC_PAGE_ENC_STATUS 12
>
> /*
> * hypercalls use architecture specific
> --
> 2.17.1
>
Reviewed-by: Steve Rutherford
Paolo Bonzini
> Cc: Joerg Roedel
> Cc: Borislav Petkov
> Cc: Tom Lendacky
> Cc: x...@kernel.org
> Cc: k...@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> Reviewed-by: Steve Rutherford
> Signed-off-by: Brijesh Singh
> Signed-off-by: Ashish Kalra
> ---
> .
pat/set_memory.c
> index 16f878c26667..3576b583ac65 100644
> --- a/arch/x86/mm/pat/set_memory.c
> +++ b/arch/x86/mm/pat/set_memory.c
> @@ -27,6 +27,7 @@
> #include
> #include
> #include
> +#include
>
> #include "../mm_internal.h"
>
> @@ -2012,6 +2013,12 @@ static int __set_memory_enc_dec(unsigned long addr,
> int numpages, bool enc)
> */
> cpa_flush(&cpa, 0);
>
> + /* Notify hypervisor that a given memory range is mapped encrypted
> +* or decrypted. The hypervisor will use this information during the
> +* VM migration.
> +*/
> + page_encryption_changed(addr, numpages, enc);
> +
> return ret;
> }
>
> --
> 2.17.1
>
Reviewed-by: Steve Rutherford
r = -EINVAL;
> goto out;
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index 29c25e641a0c..3a656d43fc6c 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -1759,6 +1759,15 @@ struct kvm_sev_receive_start {
> __u32 session_len;
> };
>
> +struct kvm_sev_receive_update_data {
> + __u64 hdr_uaddr;
> + __u32 hdr_len;
> + __u64 guest_uaddr;
> + __u32 guest_len;
> + __u64 trans_uaddr;
> + __u32 trans_len;
> +};
> +
> #define KVM_DEV_ASSIGN_ENABLE_IOMMU(1 << 0)
> #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
> #define KVM_DEV_ASSIGN_MASK_INTX (1 << 2)
> --
> 2.17.1
>
Reviewed-by: Steve Rutherford
eak;
> default:
> r = -EINVAL;
> goto out;
> diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h
> index d45af34c31be..29c25e641a0c 100644
> --- a/include/uapi/linux/kvm.h
> +++ b/include/uapi/linux/kvm.h
> @@ -1750,6 +1750,15 @@ struct kvm_sev_send_update_data {
> __u32 trans_len;
> };
>
> +struct kvm_sev_receive_start {
> + __u32 handle;
> + __u32 policy;
> + __u64 pdh_uaddr;
> + __u32 pdh_len;
> + __u64 session_uaddr;
> + __u32 session_len;
> +};
> +
> #define KVM_DEV_ASSIGN_ENABLE_IOMMU(1 << 0)
> #define KVM_DEV_ASSIGN_PCI_2_3 (1 << 1)
> #define KVM_DEV_ASSIGN_MASK_INTX (1 << 2)
> --
> 2.17.1
>
Reviewed-by: Steve Rutherford
M GUIDs */
> #define DELLEMC_EFI_RCI2_TABLE_GUIDEFI_GUID(0x2d9f28a2, 0xa886,
> 0x456a, 0x97, 0xa8, 0xf1, 0x1e, 0xf2, 0x4f, 0xf4, 0x55)
> +#define MEM_ENCRYPT_GUID EFI_GUID(0x0cf29b71, 0x9e51,
> 0x433a, 0xa3, 0xb7, 0x81, 0xf3, 0xab, 0x16, 0xb8, 0x75)
>
; KVM_FEATURE_POLL_CONTROL) |
> (1 << KVM_FEATURE_PV_SCHED_YIELD) |
> -(1 << KVM_FEATURE_ASYNC_PF_INT);
> +(1 << KVM_FEATURE_ASYNC_PF_INT) |
> +(1 << KVM_FEATURE_SEV_LIVE_MIGRATION);
>
> if (sched_info_on())
> entry->eax |= (1 << KVM_FEATURE_STEAL_TIME);
> --
> 2.17.1
>
Reviewed-by: Steve Rutherford
r = sev_send_update_data(kvm, &sev_cmd);
> break;
> + case KVM_SEV_SEND_FINISH:
> + r = sev_send_finish(kvm, &sev_cmd);
> + break;
> default:
> r = -EINVAL;
> goto out;
> --
> 2.17.1
>
Reviewed-by: Steve Rutherford
On Sun, Apr 11, 2021 at 1:56 AM kernel test robot wrote:
>
> Hi Steve,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on kvm/queue]
> [also build test ERROR on vhost/linux-next cryptodev/master linux/master
> linus/master v5.12-rc6
After completion of SEND_START, but before SEND_FINISH, the source VMM can
issue the SEND_CANCEL command to stop a migration. This is necessary so
that a cancelled migration can restart with a new target later.
Reviewed-by: Nathan Tempelman
Reviewed-by: Brijesh Singh
Signed-off-by: Steve
urity
> -* descriptor parameters, and secuirty descriptor itself
> +* descriptor parameters, and security descriptor itself
> */
> secdesclen = max_t(u32, secdesclen, DEFAULT_SEC_DESC_LEN);
> pnntsd = kmalloc(secdesclen, GFP_KERNEL);
> --
> 1.9.1
>
>
--
Thanks,
Steve
After completion of SEND_START, but before SEND_FINISH, the source VMM can
issue the SEND_CANCEL command to stop a migration. This is necessary so
that a cancelled migration can restart with a new target later.
Reviewed-by: Nathan Tempelman
Reviewed-by: Brijesh Singh
Signed-off-by: Steve
t allow the VMM to inject any more firmware or do
> > any more attestations.
>
> I think Steve is suggesting to just change the RIP of the mirror VM,
> which would work for SEV but not SEV-ES (the RAM migration helper won't
> *suffice* for SEV-ES, but perhaps you could use the PS
usages of the struct, looks OK (we don't allocate it
> > directly, we use memory from the small/big buff pools).
>
> Awesome. :)
>
> > Reviewed-by: Aurelien Aptel
>
> Thank you, Aurelien.
> --
> Gustavo
--
Thanks,
Steve
ver NULL */
> - nmode = *pnmode;
> nacl_base = (char *)pndacl;
> nsize = sizeof(struct cifs_acl);
>
> --
> 1.8.3.1
>
--
Thanks,
Steve
@@ struct cifs_readdata {
> struct page **pages;
> };
>
> -struct cifs_writedata;
> -
> /* asynchronous write support */
> struct cifs_writedata {
> struct kref refcount;
> --
> 2.25.1
>
--
Thanks,
Steve
(-)
--
Thanks,
Steve
On Thu, Apr 8, 2021 at 3:27 PM Brijesh Singh wrote:
>
>
> On 4/1/21 8:44 PM, Steve Rutherford wrote:
> > After completion of SEND_START, but before SEND_FINISH, the source VMM can
> > issue the SEND_CANCEL command to stop a migration. This is necessary so
> > tha
On Thu, Apr 8, 2021 at 2:15 PM James Bottomley wrote:
>
> On Thu, 2021-04-08 at 12:48 -0700, Steve Rutherford wrote:
> > On Thu, Apr 8, 2021 at 10:43 AM James Bottomley
> > wrote:
> > > On Fri, 2021-04-02 at 16:20 +0200, Paolo Bonzini wrote:
> > > >
James
Hey James,
It's not strictly necessary to modify OVMF to make SEV VMs live
migrate. If we were to modify OVMF, we would contribute those changes
upstream.
Thanks,
Steve
fixed - (a tmp branch was accidentally pushed)
On Thu, Apr 8, 2021 at 7:07 AM Stephen Rothwell wrote:
>
> Hi all,
>
> Commit
>
> e67fcb31fb0e ("stuff")
>
> is missing a Signed-off-by from its author and comitter.
>
> --
> Cheers,
> Stephen Rothwell
--
Thanks,
Steve
vname, '/');
> - seq_puts(m, devname);
> + /* escape all spaces in share names */
> + seq_escape(m, devname, " ");
> kfree(devname);
> }
> return 0;
> --
> 2.31.1
>
--
Thanks,
Steve
his? E.g.
> >
>
> I see the following in Documentation/virt/kvm/api.rst :
> ..
> ..
> /* KVM_EXIT_HYPERCALL */
> struct {
> __u64 nr;
> __u64 args[6];
> __u64 ret;
>
On Tue, Apr 6, 2021 at 7:00 AM Ashish Kalra wrote:
>
> Hello Paolo,
>
> On Tue, Apr 06, 2021 at 03:47:59PM +0200, Paolo Bonzini wrote:
> > On 06/04/21 15:26, Ashish Kalra wrote:
> > > > It's a little unintuitive to see KVM_MSR_RET_FILTERED here, since
> > > > userspace can make this happen on its
On Mon, Apr 5, 2021 at 7:20 AM Ashish Kalra wrote:
>
> From: Ashish Kalra
>
> The series add support for AMD SEV guest live migration commands. To protect
> the
> confidentiality of an SEV protected guest memory while in transit we need to
> use the SEV commands defined in SEV API spec [1].
>
>
t; + if (!guest_cpuid_has(vcpu, KVM_FEATURE_SEV_LIVE_MIGRATION))
> + return 1;
> +
> + /*
> +* Let userspace handle the MSR using MSR filters.
> +*/
> + return KVM_MSR_RET_FILTERED;
It's a little unintuitive to see KVM_MSR_RET_FILTERED here, since
userspace can make this happen on its own without having an entry in
this switch statement (by setting it in the msr filter bitmaps). When
using MSR filters, I would only expect to get MSR filter exits for
MSRs I specifically asked for.
Not a huge deal, just a little unintuitive. I'm not sure other options
are much better (you could put KVM_MSR_RET_INVALID, or you could just
not have these entries in svm_{get,set}_msr).
--Steve
rs,
> + .page_enc_status_hc = NULL,
>
> .msr_filter_changed = vmx_msr_filter_changed,
> .complete_emulated_msr = kvm_complete_insn_gp,
> diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
> index f7d12fca397b..ef5c77d59651 100644
> --- a/arch/x86/kvm/x86.c
> +++ b/arch/x86/kvm/x86.c
> @@ -8273,6 +8273,18 @@ int kvm_emulate_hypercall(struct kvm_vcpu *vcpu)
> kvm_sched_yield(vcpu->kvm, a0);
> ret = 0;
> break;
> + case KVM_HC_PAGE_ENC_STATUS: {
> + int r;
> +
> + ret = -KVM_ENOSYS;
> + if (kvm_x86_ops.page_enc_status_hc) {
> + r = kvm_x86_ops.page_enc_status_hc(vcpu, a0, a1, a2);
> + if (r >= 0)
> + return r;
> + ret = r;
Style nit: Why not just set ret, and return ret if ret >=0?
This looks good. I just had a few nitpicks.
Reviewed-by: Steve Rutherford
On Mon, Apr 5, 2021 at 8:17 AM Peter Gonda wrote:
>
> Could this patch set include support for the SEND_CANCEL command?
>
That's separate from this patchset. I sent up an implementation last week.
Update voltage/current tx slot configuration support.
Signed-off-by: Steve Lee
---
sound/soc/codecs/max98390.c | 62 +
sound/soc/codecs/max98390.h | 2 ++
2 files changed, 64 insertions(+)
diff --git a/sound/soc/codecs/max98390.c b/sound/soc/codecs
> -Original Message-
> From: Mark Brown
> Sent: Saturday, April 3, 2021 12:23 AM
> To: Steve Lee
> Cc: lgirdw...@gmail.com; pe...@perex.cz; ti...@suse.com;
> ckee...@opensource.cirrus.com; ge...@linux-m68k.org;
> r...@opensource.wolfsonmicro.com; shumi...@realtek.co
+1283,6 @@ struct cifs_aio_ctx {
> booldirect_io;
> };
>
> -struct cifs_readdata;
> -
> /* asynchronous read support */
> struct cifs_readdata {
> struct kref refcount;
> --
> 2.25.1
>
--
Thanks,
Steve
Add controls for tx source.
Signed-off-by: Steve Lee
---
sound/soc/codecs/max98390.c | 6 ++
1 file changed, 6 insertions(+)
diff --git a/sound/soc/codecs/max98390.c b/sound/soc/codecs/max98390.c
index bb736c44e68a..163093959da8 100644
--- a/sound/soc/codecs/max98390.c
+++ b/sound/soc
After completion of SEND_START, but before SEND_FINISH, the source VMM can
issue the SEND_CANCEL command to stop a migration. This is necessary so
that a cancelled migration can restart with a new target later.
Signed-off-by: Steve Rutherford
---
.../virt/kvm/amd-memory-encryption.rst
On Fri, Mar 19, 2021 at 11:00 AM Ashish Kalra wrote:
>
> On Thu, Mar 11, 2021 at 12:48:07PM -0800, Steve Rutherford wrote:
> > On Thu, Mar 11, 2021 at 10:15 AM Ashish Kalra wrote:
> > >
> > > On Wed, Mar 03, 2021 at 06:54:41PM +, Will Deacon wrote:
> > >
POSIX
Shyam Prasad N (2):
cifs: Adjust key sizes and key generation routines for AES256 encryption
cifs: Fix chmod with modefromsid when an older ACE already exists.
Steve French (1):
smb3: fix cached file size problems in duplicate extents (reflink)
Vincent Whitchurch (1
0644
> > --- a/fs/cifs/smb2misc.c
> > +++ b/fs/cifs/smb2misc.c
> > @@ -754,8 +754,8 @@ smb2_is_valid_oplock_break(char *buffer, struct
> > TCP_Server_Info *server)
> > }
> > }
> > spin_unlock(&cifs_tcp_ses_lock);
> > - cifs_dbg(FYI, "Can not process oplock break for non-existent
> > connection\n");
> > - return false;
> > + cifs_dbg(FYI, "No file id matched, oplock break ignored\n");
> > + return true;
> > }
> >
> > void
> >
>
--
Thanks,
Steve
):
cifs: update new ACE pointer after populate_new_aces.
Steve French (1):
cifs: fix allocation size on newly created files
Vincent Whitchurch (1):
cifs: Fix preauth hash corruption
fs/cifs/cifs_swn.c | 2 +-
fs/cifs/cifsacl.c| 9 ++---
fs/cifs/fs_context.c | 6
):
cifs: update new ACE pointer after populate_new_aces.
Steve French (1):
cifs: fix allocation size on newly created files
Vincent Whitchurch (1):
cifs: Fix preauth hash corruption
fs/cifs/cifs_swn.c | 2 +-
fs/cifs/cifsacl.c| 9 ++---
fs/cifs/fs_context.c | 6
+ * Calls to this function must be protected by cifs_swnreg_idr_mutex.
> * TODO Try to avoid memory allocations
> */
> static struct cifs_swn_reg *cifs_find_swn_reg(struct cifs_tcon *tcon)
> --
> 2.25.1
>
--
Thanks,
Steve
Reviewed-by: Steve Wahl
On Tue, Mar 16, 2021 at 04:57:21PM +0800, Yang Li wrote:
> This fixes the following sparse warnings:
> drivers/misc/sgi-xp/xpc_main.c:210:23: warning: Using plain integer as
> NULL pointer
>
> Reported-by: Abaci Robot
> Signed-off-by: Yang Li
> --
34 ("cifsd: fix the issue of change the directory to the file")
> 608b7bb0e414 ("cifsd: fix potential use after free in
> ksmbd_vfs_set_init_posix_acl()")
> a53327ff87b2 ("cifsd: fix memleak in ksmbd_vfs_set_init_posix_acl()")
> a98dbc20cbdb ("cifsd: Add missing path_put() calls in smb2_open()")
> ca46f5254981 ("cifsd: Fix error handling in __ksmbd_vfs_rename")
> bb932cbbc781 ("cifsd: Do not print timestamp after processing Maximum
> Access CreateContext")
> 76cd471c09e7 ("cifsd: add v4 dos attribute structure")
> f2b993deb1cd ("cifsd: fix random failure from smb2.create.multi")
> 01a8bf060081 ("cifsd: fix smb2.lease.statopen3 in smbtorture")
> 534cf891fdd8 ("cifsd: Remove call to ksmbd_revert_fsids() in
> ksmbd_vfs_mkdir()")
> 3a1bb9e2ccc3 ("cifsd: Make sure ksmbd_override_fsids() is called with
> DurableOpens")
> d69623ac1609 ("cifsd: Add missing dput() in process_query_dir_entries()")
> 7caaa1dc0f84 ("cifsd: Fix incorrect error handling in smb2_open()")
>
> are missing a Signed-off-by from their committer.
>
> One of the issues with rebasing ...
>
> --
> Cheers,
> Stephen Rothwell
--
Thanks,
Steve
son wrote:
> > > > On Fri, Feb 26, 2021, Ashish Kalra wrote:
> > > > > On Thu, Feb 25, 2021 at 02:59:27PM -0800, Steve Rutherford wrote:
> > > > > > On Thu, Feb 25, 2021 at 12:20 PM Ashish Kalra
> > > > > > wrote:
> > >
On Tue, Mar 9, 2021 at 7:42 PM Kalra, Ashish wrote:
>
>
>
> > On Mar 9, 2021, at 3:22 AM, Steve Rutherford wrote:
> >
> > On Mon, Mar 8, 2021 at 1:11 PM Brijesh Singh wrote:
> >>
> >>
> >>> On 3/8/21 1:51 PM, Sean Christopherson wrote:
| 4 ++--
11 files changed, 36 insertions(+), 36 deletions(-)
--
Thanks,
Steve
>>>
> >>> Moving the non-KVM x86 folks to bcc, I don't they care about KVM details
> >>> at this
> >>> point.
> >>>
> >>> On Fri, Feb 26, 2021, Ashish Kalra wrote:
> >>>> On Thu, Feb 25, 2021 at 02:59:27PM -
cc, I don't they care about KVM details
> > > at this
> > > point.
> > >
> > > On Fri, Feb 26, 2021, Ashish Kalra wrote:
> > > > On Thu, Feb 25, 2021 at 02:59:27PM -0800, Steve Rutherford wrote:
> > > > > On Thu, Feb 25, 2021 at 12:
On Sun, Feb 28, 2021 at 1:36 AM Amir Goldstein wrote:
>
> On Sun, Feb 28, 2021 at 1:08 AM Steve French wrote:
> >
> > On Fri, Feb 26, 2021 at 11:43 PM Amir Goldstein wrote:
> > >
> > > On Sat, Feb 27, 2021 at 12:19 AM Alejandro Colomar (man-pages)
> >
n-us/windows-hardware/drivers/storage/offloaded-data-transfer
But - yes SMB3 on Linux can have cross mount file copy today, which is
far more efficient
(having the server do the copy for us) rather than sending large
reads/writes back and
forth over the network from the client. In the future I am hoping that use case
becomes even more common over SMB3 as cloud servers improve.
> > > You may refer the reader to VERSIONS section where it will say which
> > > filesystems support cross-fs copy as of kernel version XXX (i.e. cifs and
> > > nfs).
> > >
> > >> .SH VERSIONS
> > >> The
> > >> .BR copy_file_range ()
> > >> @@ -202,6 +205,11 @@ Applications should target the behaviour and
> > >> requirements of 5.3 kernels.
> > >> .PP
> > >> First support for cross-filesystem copies was introduced in Linux 5.3.
> > >> Older kernels will return -EXDEV when cross-filesystem copies are
> > >> attempted.
> > >> +.PP
> > >> +After Linux 5.12, support for copies between different filesystems was
> > >> dropped.
> > >> +However, individual filesystems may still provide
> > >> +.BR copy_file_range ()
> > >> +implementations that allow copies across different devices.
Yes - this could be very important, especially for cifs (smb3) going forward.
--
Thanks,
Steve
trace 03e19399d00180a1 ]---
[ 287.702539] [ cut here ]
--
Thanks,
Steve
by conn_id.
cifs: Fix cifsacl ACE mask for group and others.
cifs: Retain old ACEs when converting between mode bits and ACL.
cifs: Change SIDs in ACEs while transferring file ownership.
cifs: If a corrupted DACL is returned by the server, bail out.
Steve French (11):
On Thu, Feb 25, 2021 at 2:59 PM Steve Rutherford wrote:
>
> On Thu, Feb 25, 2021 at 12:20 PM Ashish Kalra wrote:
> >
> > On Wed, Feb 24, 2021 at 10:22:33AM -0800, Sean Christopherson wrote:
> > > On Wed, Feb 24, 2021, Ashish Kalra wrote:
> > > > # S
?
>
> Thanks,
> Ashish
Thanks for grabbing the data!
I am fine with both paths. Sean has stated an explicit desire for
hypercall exiting, so I think that would be the current consensus.
If we want to do hypercall exiting, this should be in a follow-up
series where we implement something more generic, e.g. a hypercall
exiting bitmap or hypercall exit list. If we are taking the hypercall
exit route, we can drop the kvm side of the hypercall. Userspace could
also handle the MSR using MSR filters (would need to confirm that).
Then userspace could also be in control of the cpuid bit.
Essentially, I think you could drop most of the host kernel work if
there were generic support for hypercall exiting. Then userspace would
be responsible for all of that. Thoughts on this?
--Steve
_enc_op() takes the kvm lock and that is the only way into the
> sev_guest_init() function where sev->active is set.
There are a few places that check sev->active which don't have the kvm
lock, which is not problematic if we add in a few compiler barriers
(ala irqchip_split et al).
>
> Thanks,
> Tom
Thanks,
Steve
On Wed, Feb 24, 2021 at 9:37 AM Sean Christopherson wrote:
> > + unsigned int asid;
> > + int ret;
> > +
> > + if (!sev_guest(kvm))
> > + return -ENOTTY;
> > +
> > + mutex_lock(&kvm->lock);
> > +
> > + /* Mirrors of mirrors should work, but let's not get silly */
>
On Wed, Feb 24, 2021 at 1:00 AM Nathan Tempelman wrote:
>
> @@ -1186,6 +1195,10 @@ int svm_register_enc_region(struct kvm *kvm,
> if (!sev_guest(kvm))
> return -ENOTTY;
>
> + /* If kvm is mirroring encryption context it isn't responsible for it
> */
> + if (is_
1 - 100 of 1410 matches
Mail list logo