mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 22:21:40 +00:00
vfio/platform: Use GFP_KERNEL_ACCOUNT for userspace persistent allocations
Use GFP_KERNEL_ACCOUNT for userspace persistent allocations. The GFP_KERNEL_ACCOUNT option lets the memory allocator know that this is untrusted allocation triggered from userspace and should be a subject of kmem accounting, and as such it is controlled by the cgroup mechanism. Signed-off-by: Yishai Hadas <yishaih@nvidia.com> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Link: https://lore.kernel.org/r/20230108154427.32609-7-yishaih@nvidia.com Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
parent
4a6c971a06
commit
7658aeda33
@ -142,7 +142,7 @@ static int vfio_platform_regions_init(struct vfio_platform_device *vdev)
|
||||
cnt++;
|
||||
|
||||
vdev->regions = kcalloc(cnt, sizeof(struct vfio_platform_region),
|
||||
GFP_KERNEL);
|
||||
GFP_KERNEL_ACCOUNT);
|
||||
if (!vdev->regions)
|
||||
return -ENOMEM;
|
||||
|
||||
|
@ -186,9 +186,8 @@ static int vfio_set_trigger(struct vfio_platform_device *vdev, int index,
|
||||
|
||||
if (fd < 0) /* Disable only */
|
||||
return 0;
|
||||
|
||||
irq->name = kasprintf(GFP_KERNEL, "vfio-irq[%d](%s)",
|
||||
irq->hwirq, vdev->name);
|
||||
irq->name = kasprintf(GFP_KERNEL_ACCOUNT, "vfio-irq[%d](%s)",
|
||||
irq->hwirq, vdev->name);
|
||||
if (!irq->name)
|
||||
return -ENOMEM;
|
||||
|
||||
@ -286,7 +285,8 @@ int vfio_platform_irq_init(struct vfio_platform_device *vdev)
|
||||
while (vdev->get_irq(vdev, cnt) >= 0)
|
||||
cnt++;
|
||||
|
||||
vdev->irqs = kcalloc(cnt, sizeof(struct vfio_platform_irq), GFP_KERNEL);
|
||||
vdev->irqs = kcalloc(cnt, sizeof(struct vfio_platform_irq),
|
||||
GFP_KERNEL_ACCOUNT);
|
||||
if (!vdev->irqs)
|
||||
return -ENOMEM;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user