Generally speaking, any memory allocations that can be associated with a
particular VM should be charged to the cgroup of its process.
Nonetheless, there are a couple spots in KVM/arm64 that aren't currently
accounted:
 - the ccsidr array containing the virtualized cache hierarchy
 - the cpumask of supported cpus, for use of the vPMU on heterogeneous
   systems
Go ahead and set __GFP_ACCOUNT for these allocations.
Reviewed-by: Marc Zyngier <maz@kernel.org>
Reviewed-by: Akihiko Odaki <akihiko.odaki@daynix.com>
Reviewed-by: Gavin Shan <gshan@redhat.com>
Link: https://lore.kernel.org/r/20230206235229.4174711-1-oliver.upton@linux.dev
Signed-off-by: Oliver Upton <oliver.upton@linux.dev>
        if (ret)
                goto err_unshare_kvm;
 
-       if (!zalloc_cpumask_var(&kvm->arch.supported_cpus, GFP_KERNEL)) {
+       if (!zalloc_cpumask_var(&kvm->arch.supported_cpus, GFP_KERNEL_ACCOUNT)) {
                ret = -ENOMEM;
                goto err_unshare_kvm;
        }
 
                if (val == get_ccsidr(vcpu, csselr))
                        return 0;
 
-               ccsidr = kmalloc_array(CSSELR_MAX, sizeof(u32), GFP_KERNEL);
+               ccsidr = kmalloc_array(CSSELR_MAX, sizeof(u32), GFP_KERNEL_ACCOUNT);
                if (!ccsidr)
                        return -ENOMEM;