On 19.11.2024 09:58, Luca Fancellu wrote:
> --- a/xen/include/xen/vmap.h
> +++ b/xen/include/xen/vmap.h
> @@ -5,12 +5,19 @@
>   * purpose area (VMAP_DEFAULT) and a livepatch-specific area (VMAP_XEN). The
>   * latter is used when loading livepatches and the former for everything 
> else.
>   */
> -#if !defined(__XEN_VMAP_H__) && defined(VMAP_VIRT_START)
> +#ifndef __XEN_VMAP_H__
>  #define __XEN_VMAP_H__
>  
>  #include <xen/mm-frame.h>
>  #include <xen/page-size.h>
>  
> +/*
> + * MPU systems won't have HAS_VMAP enabled, but will provide implementation
> + * only for some of the functions of this module. So hide the definition for
> + * some of these function to systems where !HAS_VMAP
> + */
> +#ifdef CONFIG_HAS_VMAP

What you're hiding are declarations, not definitions. While this may feel like
splitting hair, the question really is: Do the declarations actually need
hiding? IOW won't it suffice to have the definitions unavailable? While this
would mean that wrong uses are flagged only when linking, we do such all the
time when we expect e.g. DCE to remove actual uses of respective identifiers.

Jan

Reply via email to