xen/cache-col: Remove bogus cast in domain_llc_coloring_free()

Using:

  xfree(__va(__pa(d->llc_colors)));

is an extraordinarily expensive way of writing:

  xfree((void *)d->llc_colours);

Combined with the comment indicating that this was intention, the patch should
have been rejected outright.

Correct the type of d->llc_colours by removing the bogus const on it, and
remove the cast when freeing it.

No functional change.

Fixes: 6985aa5e0c ("xen: extend domctl interface for cache coloring")
Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Stefano Stabellini <sstabellini@kernel.org>
This commit is contained in:
Andrew Cooper committed 2025-07-29 17:25:54 +01:00
1 parent 6a8aa13388
commit 6031cd215c
2 files changed
+3 -6

No files matched your search

+2 -5
View File
@@ -309,11 +309,8 @@ int domain_set_llc_colors(struct domain *d,
void domain_llc_coloring_free(struct domain *d)
{
if ( !llc_coloring_enabled || d->llc_colors == default_colors )
return;
/* free pointer-to-const using __va(__pa()) */
xfree(__va(__pa(d->llc_colors)));
if ( d->llc_colors != default_colors )
xfree(d->llc_colors);
}
int __init domain_set_llc_colors_from_str(struct domain *d, const char *str)
+1 -1
View File
@@ -649,7 +649,7 @@ struct domain
#ifdef CONFIG_LLC_COLORING
unsigned int num_llc_colors;
const unsigned int *llc_colors;
unsigned int *llc_colors;
#endif
/* Console settings. */
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.