[Crash-utility] [PATCH 1/5] defs.h: Fix the PHYSICAL_PAGE_MASK macro
Dave Anderson
anderson at redhat.com
Thu Jan 11 21:00:17 UTC 2018
----- Original Message -----
> Original crash defines the PHYSICAL_PAGE_MASK as
>
> (~(PAGE_SIZE-1) & (__PHYSICAL_MASK << PAGE_SHIFT))
>
> It moves left PAGE_SHIFT bits for safety, But As crash expands the physical
> bits to 52, this will cause the conversion of phythcal address to virtual
> address failed.
>
> Remove the PAGE_SHIFT to fix this problem.
>
> Signed-off-by: Dou Liyang <douly.fnst at cn.fujitsu.com>
> ---
> Hi Dave,
> The changelog may be not correct, I am not sure why does it move left
> PAGE_SHIFT bits. Could you tell me the reason?
I believe it's a (harmless so far) mistake. Good catch!
Dave
> ---
> defs.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/defs.h b/defs.h
> index dcd6c26..8082d6c 100644
> --- a/defs.h
> +++ b/defs.h
> @@ -3403,7 +3403,7 @@ struct arm64_stackframe {
> #define __VIRTUAL_MASK ((1UL << __VIRTUAL_MASK_SHIFT) - 1)
> #define PAGE_SHIFT 12
> #define PAGE_SIZE (1UL << PAGE_SHIFT)
> -#define PHYSICAL_PAGE_MASK (~(PAGE_SIZE-1) & (__PHYSICAL_MASK <<
> PAGE_SHIFT))
> +#define PHYSICAL_PAGE_MASK (~(PAGE_SIZE-1) & __PHYSICAL_MASK )
>
> #define _PAGE_BIT_NX 63
> #define _PAGE_PRESENT 0x001
> --
> 2.14.3
>
>
>
>
More information about the Crash-utility
mailing list