Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1544511

Re: [PATCH 19/21] MIPS memblock: Add print out method of kernel virtual memory layout

From James Hogan <james.hogan@imgtec.com>
Newsgroups linux.kernel
Subject Re: [PATCH 19/21] MIPS memblock: Add print out method of kernel virtual memory layout
Date 2016-12-19 14:10 +0100
Message-ID <sQ5Rw-8aQ-25@gated-at.bofh.it> (permalink)
References <sPVyO-1zj-23@gated-at.bofh.it> <sPVIu-1Cr-23@gated-at.bofh.it> <sQ4Vr-7zB-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


[Multipart message — attachments visible in raw view] - view raw

Hi Matt,

On Mon, Dec 19, 2016 at 12:04:54PM +0000, Matt Redfearn wrote:
> On 19/12/16 02:07, Serge Semin wrote:
> > It's useful to have some printed map of the kernel virtual memory,
> > at least for debugging purpose.
> >
> > Signed-off-by: Serge Semin <fancer.lancer@gmail.com>
> > ---

> > @@ -106,6 +107,49 @@ static void __init zone_sizes_init(void)
> >   }
> >   
> >   /*
> > + * Print out kernel memory layout
> > + */
> > +#define MLK(b, t) b, t, ((t) - (b)) >> 10
> > +#define MLM(b, t) b, t, ((t) - (b)) >> 20
> > +#define MLK_ROUNDUP(b, t) b, t, DIV_ROUND_UP(((t) - (b)), SZ_1K)
> > +static void __init mem_print_kmap_info(void)
> > +{
> > +	pr_notice("Virtual kernel memory layout:\n"
> > +		  "    lowmem  : 0x%08lx - 0x%08lx   (%4ld MB)\n"
> > +		  "    vmalloc : 0x%08lx - 0x%08lx   (%4ld MB)\n"
> > +#ifdef CONFIG_HIGHMEM
> > +		  "    pkmap   : 0x%08lx - 0x%08lx   (%4ld MB)\n"
> > +#endif
> > +		  "    fixmap  : 0x%08lx - 0x%08lx   (%4ld kB)\n"
> > +		  "      .text : 0x%p" " - 0x%p" "   (%4td kB)\n"
> > +		  "      .data : 0x%p" " - 0x%p" "   (%4td kB)\n"
> > +		  "      .init : 0x%p" " - 0x%p" "   (%4td kB)\n",
> > +		MLM(PAGE_OFFSET, (unsigned long)high_memory),
> > +		MLM(VMALLOC_START, VMALLOC_END),
> > +#ifdef CONFIG_HIGHMEM
> > +		MLM(PKMAP_BASE, (PKMAP_BASE) + (LAST_PKMAP)*(PAGE_SIZE)),
> > +#endif
> > +		MLK(FIXADDR_START, FIXADDR_TOP),
> > +		MLK_ROUNDUP(_text, _etext),
> > +		MLK_ROUNDUP(_sdata, _edata),
> > +		MLK_ROUNDUP(__init_begin, __init_end));
> 
> Please drop printing the kernel addresses, or at least only do it if 
> KASLR is not turned on, otherwise you're removing the advantage of 
> KASLR, that critical kernel addresses cannot be determined easily from 
> userspace.

According to Documentation/printk-formats.txt, this is what %pK is for.
Better to use that instead?

Cheers
James

> 
> It may be better to merge the functionality of show_kernel_relocation
> http://lxr.free-electrons.com/source/arch/mips/kernel/relocate.c#L354
> into this function, but only print it under the same conditions as 
> currently, i.e.
> #if defined(CONFIG_DEBUG_KERNEL) && defined(CONFIG_DEBUG_INFO)
> http://lxr.free-electrons.com/source/arch/mips/kernel/setup.c#L530
> 
> Thanks,
> Matt

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 19/21] MIPS memblock: Add print out method of kernel virtual memory layout Serge Semin <fancer.lancer@gmail.com> - 2016-12-19 03:20 +0100
  Re: [PATCH 19/21] MIPS memblock: Add print out method of kernel  virtual memory layout Serge Semin <fancer.lancer@gmail.com> - 2016-12-19 13:10 +0100
  Re: [PATCH 19/21] MIPS memblock: Add print out method of kernel  virtual memory layout Matt Redfearn <matt.redfearn@imgtec.com> - 2016-12-19 13:10 +0100
    Re: [PATCH 19/21] MIPS memblock: Add print out method of kernel  virtual memory layout James Hogan <james.hogan@imgtec.com> - 2016-12-19 14:10 +0100
      Re: [PATCH 19/21] MIPS memblock: Add print out method of kernel  virtual memory layout Serge Semin <fancer.lancer@gmail.com> - 2016-12-19 14:20 +0100

csiph-web