All of lore.kernel.org
 help / color / mirror / Atom feed
* [Patch v2] get MODULES_VADDR by KERNEL_IMAGE_SIZE for x86_64
@ 2014-09-23  3:25 Baoquan He
  2014-09-24  7:55 ` Atsushi Kumagai
  0 siblings, 1 reply; 5+ messages in thread
From: Baoquan He @ 2014-09-23  3:25 UTC (permalink / raw)
  To: kexec; +Cc: kumagai-atsushi, Baoquan He

In x86_64, since v2.6.26 the KERNEL_IMAGE_SIZE is changed to 512M, and
accordingly the MODULES_VADDR is changed to 0xffffffffa0000000. Before
that, KERNEL_IMAGE_SIZE is 128M, and MODULES_VADDR is 0xffffffff88000000.

However, in v3.12 Kees Cook introduced kaslr to randomise the location
of kernel. And the kernel text mapping addr space is enlarged from 512M
to 1G. That means now KERNEL_IMAGE_SIZE is variable, its value is 512M
with kaslr support not compiled in and 1G with kaslr support compiled
in. Accordingly the MODULES_VADDR is changed too to be:

So when kaslr is compiled in and enabled, the kernel text mapping addr
space and modules vaddr space need be adjusted. Otherwise makedumpfile
will collapse since the addr for some symbols is not correct.

Hence KERNEL_IMAGE_SIZE need be exported to vmcoreinfo and got in
makedumpfile to help calculate MODULES_VADDR.

v1->v2:
    Fix a code bug Atsushi found.

Signed-off-by: Baoquan He <bhe@redhat.com>
---
 makedumpfile.c | 10 ++++++++++
 makedumpfile.h |  5 ++++-
 2 files changed, 14 insertions(+), 1 deletion(-)

diff --git a/makedumpfile.c b/makedumpfile.c
index b4d43d8..65c893f 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -1564,6 +1564,14 @@ get_value_for_old_linux(void)
 			NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE) =
 			PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version;
 	}
+#ifdef __x86_64__
+	if (NUMBER(KERNEL_IMAGE_SIZE) == NOT_FOUND_NUMBER) {
+		if (info->kernel_version < KERNEL_VERSION(2, 6, 26))
+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_ORIG;
+		else
+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_2_6_26;
+	}
+#endif
 	if (SIZE(pageflags) == NOT_FOUND_STRUCTURE) {
 		if (info->kernel_version >= KERNEL_VERSION(2, 6, 27))
 			SIZE(pageflags) =
@@ -1813,6 +1821,7 @@ write_vmcoreinfo_data(void)
 	WRITE_NUMBER("PG_hwpoison", PG_hwpoison);
 
 	WRITE_NUMBER("PAGE_BUDDY_MAPCOUNT_VALUE", PAGE_BUDDY_MAPCOUNT_VALUE);
+	WRITE_NUMBER("KERNEL_IMAGE_SIZE", KERNEL_IMAGE_SIZE);
 
 	/*
 	 * write the source file of 1st kernel
@@ -2147,6 +2156,7 @@ read_vmcoreinfo(void)
 	READ_SRCFILE("pud_t", pud_t);
 
 	READ_NUMBER("PAGE_BUDDY_MAPCOUNT_VALUE", PAGE_BUDDY_MAPCOUNT_VALUE);
+	READ_NUMBER("KERNEL_IMAGE_SIZE", KERNEL_IMAGE_SIZE);
 
 	return TRUE;
 }
diff --git a/makedumpfile.h b/makedumpfile.h
index 96830b0..a3d86e7 100644
--- a/makedumpfile.h
+++ b/makedumpfile.h
@@ -549,7 +549,9 @@ do { \
 #define VMEMMAP_END_2_6_31	(0xffffeaffffffffff) /* 2.6.31, or later  */
 
 #define __START_KERNEL_map	(0xffffffff80000000)
-#define MODULES_VADDR		(0xffffffff88000000)
+#define KERNEL_IMAGE_SIZE_ORIG	(0x0000000008000000) /* 2.6.25, or former */
+#define KERNEL_IMAGE_SIZE_2_6_26	(0x0000000020000000) /* 2.6.26, or later  */
+#define MODULES_VADDR          (__START_KERNEL_map + NUMBER(KERNEL_IMAGE_SIZE))
 #define MODULES_END		(0xfffffffffff00000)
 #define KVBASE			PAGE_OFFSET
 #define _SECTION_SIZE_BITS	(27)
@@ -1531,6 +1533,7 @@ struct number_table {
 	long    PG_hwpoison;
 
 	long	PAGE_BUDDY_MAPCOUNT_VALUE;
+	long	KERNEL_IMAGE_SIZE;
 	long	SECTION_SIZE_BITS;
 	long	MAX_PHYSMEM_BITS;
 };
-- 
1.8.5.3


_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* RE: [Patch v2] get MODULES_VADDR by KERNEL_IMAGE_SIZE for x86_64
  2014-09-23  3:25 [Patch v2] get MODULES_VADDR by KERNEL_IMAGE_SIZE for x86_64 Baoquan He
@ 2014-09-24  7:55 ` Atsushi Kumagai
  2014-09-24  8:02   ` bhe
  0 siblings, 1 reply; 5+ messages in thread
From: Atsushi Kumagai @ 2014-09-24  7:55 UTC (permalink / raw)
  To: bhe; +Cc: kexec

Hello Baoquan,

This patch looks good to me, I'll merge it into v1.5.8.


Thanks
Atsushi Kumagai

>In x86_64, since v2.6.26 the KERNEL_IMAGE_SIZE is changed to 512M, and
>accordingly the MODULES_VADDR is changed to 0xffffffffa0000000. Before
>that, KERNEL_IMAGE_SIZE is 128M, and MODULES_VADDR is 0xffffffff88000000.
>
>However, in v3.12 Kees Cook introduced kaslr to randomise the location
>of kernel. And the kernel text mapping addr space is enlarged from 512M
>to 1G. That means now KERNEL_IMAGE_SIZE is variable, its value is 512M
>with kaslr support not compiled in and 1G with kaslr support compiled
>in. Accordingly the MODULES_VADDR is changed too to be:
>
>So when kaslr is compiled in and enabled, the kernel text mapping addr
>space and modules vaddr space need be adjusted. Otherwise makedumpfile
>will collapse since the addr for some symbols is not correct.
>
>Hence KERNEL_IMAGE_SIZE need be exported to vmcoreinfo and got in
>makedumpfile to help calculate MODULES_VADDR.
>
>v1->v2:
>    Fix a code bug Atsushi found.
>
>Signed-off-by: Baoquan He <bhe@redhat.com>
>---
> makedumpfile.c | 10 ++++++++++
> makedumpfile.h |  5 ++++-
> 2 files changed, 14 insertions(+), 1 deletion(-)
>
>diff --git a/makedumpfile.c b/makedumpfile.c
>index b4d43d8..65c893f 100644
>--- a/makedumpfile.c
>+++ b/makedumpfile.c
>@@ -1564,6 +1564,14 @@ get_value_for_old_linux(void)
> 			NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE) =
> 			PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version;
> 	}
>+#ifdef __x86_64__
>+	if (NUMBER(KERNEL_IMAGE_SIZE) == NOT_FOUND_NUMBER) {
>+		if (info->kernel_version < KERNEL_VERSION(2, 6, 26))
>+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_ORIG;
>+		else
>+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_2_6_26;
>+	}
>+#endif
> 	if (SIZE(pageflags) == NOT_FOUND_STRUCTURE) {
> 		if (info->kernel_version >= KERNEL_VERSION(2, 6, 27))
> 			SIZE(pageflags) =
>@@ -1813,6 +1821,7 @@ write_vmcoreinfo_data(void)
> 	WRITE_NUMBER("PG_hwpoison", PG_hwpoison);
>
> 	WRITE_NUMBER("PAGE_BUDDY_MAPCOUNT_VALUE", PAGE_BUDDY_MAPCOUNT_VALUE);
>+	WRITE_NUMBER("KERNEL_IMAGE_SIZE", KERNEL_IMAGE_SIZE);
>
> 	/*
> 	 * write the source file of 1st kernel
>@@ -2147,6 +2156,7 @@ read_vmcoreinfo(void)
> 	READ_SRCFILE("pud_t", pud_t);
>
> 	READ_NUMBER("PAGE_BUDDY_MAPCOUNT_VALUE", PAGE_BUDDY_MAPCOUNT_VALUE);
>+	READ_NUMBER("KERNEL_IMAGE_SIZE", KERNEL_IMAGE_SIZE);
>
> 	return TRUE;
> }
>diff --git a/makedumpfile.h b/makedumpfile.h
>index 96830b0..a3d86e7 100644
>--- a/makedumpfile.h
>+++ b/makedumpfile.h
>@@ -549,7 +549,9 @@ do { \
> #define VMEMMAP_END_2_6_31	(0xffffeaffffffffff) /* 2.6.31, or later  */
>
> #define __START_KERNEL_map	(0xffffffff80000000)
>-#define MODULES_VADDR		(0xffffffff88000000)
>+#define KERNEL_IMAGE_SIZE_ORIG	(0x0000000008000000) /* 2.6.25, or former */
>+#define KERNEL_IMAGE_SIZE_2_6_26	(0x0000000020000000) /* 2.6.26, or later  */
>+#define MODULES_VADDR          (__START_KERNEL_map + NUMBER(KERNEL_IMAGE_SIZE))
> #define MODULES_END		(0xfffffffffff00000)
> #define KVBASE			PAGE_OFFSET
> #define _SECTION_SIZE_BITS	(27)
>@@ -1531,6 +1533,7 @@ struct number_table {
> 	long    PG_hwpoison;
>
> 	long	PAGE_BUDDY_MAPCOUNT_VALUE;
>+	long	KERNEL_IMAGE_SIZE;
> 	long	SECTION_SIZE_BITS;
> 	long	MAX_PHYSMEM_BITS;
> };
>--
>1.8.5.3

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Patch v2] get MODULES_VADDR by KERNEL_IMAGE_SIZE for x86_64
  2014-09-24  7:55 ` Atsushi Kumagai
@ 2014-09-24  8:02   ` bhe
  2014-10-20  7:17     ` Atsushi Kumagai
  0 siblings, 1 reply; 5+ messages in thread
From: bhe @ 2014-09-24  8:02 UTC (permalink / raw)
  To: Atsushi Kumagai; +Cc: kexec

On 09/24/14 at 07:55am, Atsushi Kumagai wrote:
> Hello Baoquan,
> 
> This patch looks good to me, I'll merge it into v1.5.8.


Thanks, Atsushi!
> 
> 
> Thanks
> Atsushi Kumagai
> 
> >In x86_64, since v2.6.26 the KERNEL_IMAGE_SIZE is changed to 512M, and
> >accordingly the MODULES_VADDR is changed to 0xffffffffa0000000. Before
> >that, KERNEL_IMAGE_SIZE is 128M, and MODULES_VADDR is 0xffffffff88000000.
> >
> >However, in v3.12 Kees Cook introduced kaslr to randomise the location
> >of kernel. And the kernel text mapping addr space is enlarged from 512M
> >to 1G. That means now KERNEL_IMAGE_SIZE is variable, its value is 512M
> >with kaslr support not compiled in and 1G with kaslr support compiled
> >in. Accordingly the MODULES_VADDR is changed too to be:
> >
> >So when kaslr is compiled in and enabled, the kernel text mapping addr
> >space and modules vaddr space need be adjusted. Otherwise makedumpfile
> >will collapse since the addr for some symbols is not correct.
> >
> >Hence KERNEL_IMAGE_SIZE need be exported to vmcoreinfo and got in
> >makedumpfile to help calculate MODULES_VADDR.
> >
> >v1->v2:
> >    Fix a code bug Atsushi found.
> >
> >Signed-off-by: Baoquan He <bhe@redhat.com>
> >---
> > makedumpfile.c | 10 ++++++++++
> > makedumpfile.h |  5 ++++-
> > 2 files changed, 14 insertions(+), 1 deletion(-)
> >
> >diff --git a/makedumpfile.c b/makedumpfile.c
> >index b4d43d8..65c893f 100644
> >--- a/makedumpfile.c
> >+++ b/makedumpfile.c
> >@@ -1564,6 +1564,14 @@ get_value_for_old_linux(void)
> > 			NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE) =
> > 			PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version;
> > 	}
> >+#ifdef __x86_64__
> >+	if (NUMBER(KERNEL_IMAGE_SIZE) == NOT_FOUND_NUMBER) {
> >+		if (info->kernel_version < KERNEL_VERSION(2, 6, 26))
> >+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_ORIG;
> >+		else
> >+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_2_6_26;
> >+	}
> >+#endif
> > 	if (SIZE(pageflags) == NOT_FOUND_STRUCTURE) {
> > 		if (info->kernel_version >= KERNEL_VERSION(2, 6, 27))
> > 			SIZE(pageflags) =
> >@@ -1813,6 +1821,7 @@ write_vmcoreinfo_data(void)
> > 	WRITE_NUMBER("PG_hwpoison", PG_hwpoison);
> >
> > 	WRITE_NUMBER("PAGE_BUDDY_MAPCOUNT_VALUE", PAGE_BUDDY_MAPCOUNT_VALUE);
> >+	WRITE_NUMBER("KERNEL_IMAGE_SIZE", KERNEL_IMAGE_SIZE);
> >
> > 	/*
> > 	 * write the source file of 1st kernel
> >@@ -2147,6 +2156,7 @@ read_vmcoreinfo(void)
> > 	READ_SRCFILE("pud_t", pud_t);
> >
> > 	READ_NUMBER("PAGE_BUDDY_MAPCOUNT_VALUE", PAGE_BUDDY_MAPCOUNT_VALUE);
> >+	READ_NUMBER("KERNEL_IMAGE_SIZE", KERNEL_IMAGE_SIZE);
> >
> > 	return TRUE;
> > }
> >diff --git a/makedumpfile.h b/makedumpfile.h
> >index 96830b0..a3d86e7 100644
> >--- a/makedumpfile.h
> >+++ b/makedumpfile.h
> >@@ -549,7 +549,9 @@ do { \
> > #define VMEMMAP_END_2_6_31	(0xffffeaffffffffff) /* 2.6.31, or later  */
> >
> > #define __START_KERNEL_map	(0xffffffff80000000)
> >-#define MODULES_VADDR		(0xffffffff88000000)
> >+#define KERNEL_IMAGE_SIZE_ORIG	(0x0000000008000000) /* 2.6.25, or former */
> >+#define KERNEL_IMAGE_SIZE_2_6_26	(0x0000000020000000) /* 2.6.26, or later  */
> >+#define MODULES_VADDR          (__START_KERNEL_map + NUMBER(KERNEL_IMAGE_SIZE))
> > #define MODULES_END		(0xfffffffffff00000)
> > #define KVBASE			PAGE_OFFSET
> > #define _SECTION_SIZE_BITS	(27)
> >@@ -1531,6 +1533,7 @@ struct number_table {
> > 	long    PG_hwpoison;
> >
> > 	long	PAGE_BUDDY_MAPCOUNT_VALUE;
> >+	long	KERNEL_IMAGE_SIZE;
> > 	long	SECTION_SIZE_BITS;
> > 	long	MAX_PHYSMEM_BITS;
> > };
> >--
> >1.8.5.3

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: [Patch v2] get MODULES_VADDR by KERNEL_IMAGE_SIZE for x86_64
  2014-09-24  8:02   ` bhe
@ 2014-10-20  7:17     ` Atsushi Kumagai
  2014-10-20 11:12       ` bhe
  0 siblings, 1 reply; 5+ messages in thread
From: Atsushi Kumagai @ 2014-10-20  7:17 UTC (permalink / raw)
  To: bhe; +Cc: kexec

>On 09/24/14 at 07:55am, Atsushi Kumagai wrote:
>> >diff --git a/makedumpfile.c b/makedumpfile.c
>> >index b4d43d8..65c893f 100644
>> >--- a/makedumpfile.c
>> >+++ b/makedumpfile.c
>> >@@ -1564,6 +1564,14 @@ get_value_for_old_linux(void)
>> > 			NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE) =
>> > 			PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version;
>> > 	}
>> >+#ifdef __x86_64__
>> >+	if (NUMBER(KERNEL_IMAGE_SIZE) == NOT_FOUND_NUMBER) {
>> >+		if (info->kernel_version < KERNEL_VERSION(2, 6, 26))
>> >+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_ORIG;
>> >+		else
>> >+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_2_6_26;
>> >+	}
>> >+#endif

I noticed that this fix is incomplete because get_value_for_old_linux() is
too late as shown below:

  initial()
    + read_vmcoreinfo_from_vmcore()       // get KERNEL_IMAGE_SIZE from VMCOREINFO (only for new kernels)
    + get_mem_map()                       // refer KERNEL_IMAGE_SIZE via is_vmalloc_addr_x86_64()
    + get_value_for_old_linux()           // initialize KERNEL_IMAGE_SIZE for old kernels


So I'll fix this issue with the patch below.

Thanks,
Atsushi Kumagai


From: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
Date: Mon, 20 Oct 2014 16:04:57 +0900
Subject: [PATCH] Initialize symbols early for old kernels.

It's best to invoke get_value_for_old_linux() immediately after
reading VMCOREINFO since some functions require the symbols which
are initialized in it.
This change is safe because get_value_for_old_linux() doesn't
overwrite any values.

Signed-off-by: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
---
 makedumpfile.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/makedumpfile.c b/makedumpfile.c
index 53c3585..b27ea1e 100644
--- a/makedumpfile.c
+++ b/makedumpfile.c
@@ -3203,6 +3203,9 @@ initial(void)
 		debug_info = TRUE;
 	}
 
+	if (!get_value_for_old_linux())
+		return FALSE;
+
 out:
 	if (!info->page_size) {
 		/*
@@ -3306,9 +3309,6 @@ out:
 			return FALSE;
 	}
 
-	if (!get_value_for_old_linux())
-		return FALSE;
-
 	/* use buddy identification of free pages whether cyclic or not */
 	/* (this can reduce pages scan of 1TB memory from 60sec to 30sec) */
 	if (info->dump_level & DL_EXCLUDE_FREE)
-- 
1.9.0

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Patch v2] get MODULES_VADDR by KERNEL_IMAGE_SIZE for x86_64
  2014-10-20  7:17     ` Atsushi Kumagai
@ 2014-10-20 11:12       ` bhe
  0 siblings, 0 replies; 5+ messages in thread
From: bhe @ 2014-10-20 11:12 UTC (permalink / raw)
  To: Atsushi Kumagai; +Cc: kexec

On 10/20/14 at 07:17am, Atsushi Kumagai wrote:
> >On 09/24/14 at 07:55am, Atsushi Kumagai wrote:
> >> >diff --git a/makedumpfile.c b/makedumpfile.c
> >> >index b4d43d8..65c893f 100644
> >> >--- a/makedumpfile.c
> >> >+++ b/makedumpfile.c
> >> >@@ -1564,6 +1564,14 @@ get_value_for_old_linux(void)
> >> > 			NUMBER(PAGE_BUDDY_MAPCOUNT_VALUE) =
> >> > 			PAGE_BUDDY_MAPCOUNT_VALUE_v2_6_39_to_latest_version;
> >> > 	}
> >> >+#ifdef __x86_64__
> >> >+	if (NUMBER(KERNEL_IMAGE_SIZE) == NOT_FOUND_NUMBER) {
> >> >+		if (info->kernel_version < KERNEL_VERSION(2, 6, 26))
> >> >+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_ORIG;
> >> >+		else
> >> >+			NUMBER(KERNEL_IMAGE_SIZE) = KERNEL_IMAGE_SIZE_2_6_26;
> >> >+	}
> >> >+#endif
> 
> I noticed that this fix is incomplete because get_value_for_old_linux() is
> too late as shown below:
> 
>   initial()
>     + read_vmcoreinfo_from_vmcore()       // get KERNEL_IMAGE_SIZE from VMCOREINFO (only for new kernels)
>     + get_mem_map()                       // refer KERNEL_IMAGE_SIZE via is_vmalloc_addr_x86_64()
>     + get_value_for_old_linux()           // initialize KERNEL_IMAGE_SIZE for old kernels


Yes, this is a good catch. Thanks for fixing it.

> 
> 
> So I'll fix this issue with the patch below.
> 
> Thanks,
> Atsushi Kumagai
> 
> 
> From: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
> Date: Mon, 20 Oct 2014 16:04:57 +0900
> Subject: [PATCH] Initialize symbols early for old kernels.
> 
> It's best to invoke get_value_for_old_linux() immediately after
> reading VMCOREINFO since some functions require the symbols which
> are initialized in it.
> This change is safe because get_value_for_old_linux() doesn't
> overwrite any values.
> 
> Signed-off-by: Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>
> ---
>  makedumpfile.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/makedumpfile.c b/makedumpfile.c
> index 53c3585..b27ea1e 100644
> --- a/makedumpfile.c
> +++ b/makedumpfile.c
> @@ -3203,6 +3203,9 @@ initial(void)
>  		debug_info = TRUE;
>  	}
>  
> +	if (!get_value_for_old_linux())
> +		return FALSE;
> +
>  out:
>  	if (!info->page_size) {
>  		/*
> @@ -3306,9 +3309,6 @@ out:
>  			return FALSE;
>  	}
>  
> -	if (!get_value_for_old_linux())
> -		return FALSE;
> -
>  	/* use buddy identification of free pages whether cyclic or not */
>  	/* (this can reduce pages scan of 1TB memory from 60sec to 30sec) */
>  	if (info->dump_level & DL_EXCLUDE_FREE)
> -- 
> 1.9.0

_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2014-10-20 11:13 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-23  3:25 [Patch v2] get MODULES_VADDR by KERNEL_IMAGE_SIZE for x86_64 Baoquan He
2014-09-24  7:55 ` Atsushi Kumagai
2014-09-24  8:02   ` bhe
2014-10-20  7:17     ` Atsushi Kumagai
2014-10-20 11:12       ` bhe

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.