Re: [PATCH v12 10/11] sparc64: Add support for ADI (Application Data Integrity)

From: Dave Hansen
Date: Mon Mar 05 2018 - 16:26:24 EST


On 02/21/2018 09:15 AM, Khalid Aziz wrote:
> +tag_storage_desc_t *alloc_tag_store(struct mm_struct *mm,
> + struct vm_area_struct *vma,
> + unsigned long addr)
...
> + tags = kzalloc(size, GFP_NOWAIT|__GFP_NOWARN);
> + if (tags == NULL) {
> + tag_desc->tag_users = 0;
> + tag_desc = NULL;
> + goto out;
> + }
> + tag_desc->start = addr;
> + tag_desc->tags = tags;
> + tag_desc->end = end_addr;
> +
> +out:
> + spin_unlock_irqrestore(&mm->context.tag_lock, flags);
> + return tag_desc;
> +}

OK, sorry, I missed this. I do see that you now have per-ADI-block tag
storage and it is not per-page.

How big can this storage get, btw? Superficially it seems like it might
be able to be gigantic for a large, sparse VMA.