Re: [PATCH v8 06/26] x86/fpu/xstate: Create guest fpstate with guest specific config

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/5/2024 6:47 AM, Edgecombe, Rick P wrote:
On Thu, 2023-12-21 at 09:02 -0500, Yang Weijiang wrote:
+static struct fpstate *__fpu_alloc_init_guest_fpstate(struct
fpu_guest *gfpu)
  {
+       bool compacted = cpu_feature_enabled(X86_FEATURE_XCOMPACTED);
+       unsigned int gfpstate_size, size;
         struct fpstate *fpstate;
-       unsigned int size;
-       size = fpu_user_cfg.default_size + ALIGN(offsetof(struct
fpstate, regs), 64);
+       /*
+        * fpu_guest_cfg.default_size is initialized to hold all
enabled
+        * xfeatures except the user dynamic xfeatures. If the user
dynamic
+        * xfeatures are enabled, the guest fpstate will be re-
allocated to
+        * hold all guest enabled xfeatures, so omit user dynamic
xfeatures
+        * here.
+        */
+       size = fpu_guest_cfg.default_size +
+              ALIGN(offsetof(struct fpstate, regs), 64);
+
         fpstate = vzalloc(size);
         if (!fpstate)
-               return false;
+               return NULL;
+       /*
+        * Initialize sizes and feature masks, use fpu_user_cfg.*
+        * for user_* settings for compatibility of exiting uAPIs.
+        */
+       fpstate->size           = gfpstate_size;
gfpstate_size is used uninitialized.

Ah, this is another unused variable after introduce fpu_guest_cfg.*, should be replaced by
fpu_guest_cfg.default_size. Thanks for caching it!






[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux