Re: [PATCH v3 10/19] x86, 64bit: Set ident_mapping for kaslr

From: Baoquan He
Date: Mon Mar 21 2016 - 03:50:25 EST


On 03/07/16 at 03:34pm, Kees Cook wrote:
> > #ifdef CONFIG_EARLY_PRINTK
> > /* early_serial_console.c */
> > extern int early_serial_base;
> > diff --git a/arch/x86/boot/compressed/misc_pgt.c b/arch/x86/boot/compressed/misc_pgt.c
> > new file mode 100644
> > index 0000000..954811e
> > --- /dev/null
> > +++ b/arch/x86/boot/compressed/misc_pgt.c
> > @@ -0,0 +1,91 @@
> > +#define __pa(x) ((unsigned long)(x))
> > +#define __va(x) ((void *)((unsigned long)(x)))
> > +
> > +#include "misc.h"
> > +
> > +#include <asm/init.h>
> > +#include <asm/pgtable.h>
> > +
> > +#include "../../mm/ident_map.c"
> > +#include "../string.h"
> > +
> > +struct alloc_pgt_data {
> > + unsigned char *pgt_buf;
> > + unsigned long pgt_buf_size;
> > + unsigned long pgt_buf_offset;
> > +};
> > +
> > +static void *alloc_pgt_page(void *context)
> > +{
> > + struct alloc_pgt_data *d = (struct alloc_pgt_data *)context;
> > + unsigned char *p = (unsigned char *)d->pgt_buf;
> > +
> > + if (d->pgt_buf_offset >= d->pgt_buf_size) {
> > + debug_putstr("out of pgt_buf in misc.c\n");
>
> This line probably isn't needed any more. Or, if it is, maybe it could
> include more details from the context?

I am trying to repost, found I missed this place.

Is it OK to add more informatin in printing as below?
if (d->pgt_buf_offset >= d->pgt_buf_size) {
debug_putstr("out of pgt_buf in misc.c\n");
debug_putaddr(d->pgt_buf_offset);
debug_putaddr(d->pgt_buf_size);