lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1315990708.3367.14.camel@br98xy6r>
Date:	Wed, 14 Sep 2011 10:58:28 +0200
From:	Michael Holzheu <holzheu@...ux.vnet.ibm.com>
To:	Andrew Morton <akpm@...gle.com>
Cc:	vgoyal@...hat.com, ebiederm@...ssion.com,
	mahesh@...ux.vnet.ibm.com, schwidefsky@...ibm.com,
	heiko.carstens@...ibm.com, kexec@...ts.infradead.org,
	linux-kernel@...r.kernel.org, linux-s390@...r.kernel.org,
	Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [patch v2 2/2] s390: Add architecture code for unmapping
 crashkernel memory

Hello Andrew,

On Tue, 2011-09-13 at 14:52 -0700, Andrew Morton wrote:
> On Tue, 13 Sep 2011 15:26:37 +0200
> Michael Holzheu <holzheu@...ux.vnet.ibm.com> wrote:

[snip]

> > --- a/arch/s390/include/asm/kexec.h
> > +++ b/arch/s390/include/asm/kexec.h
> > @@ -36,6 +36,9 @@
> >  /* Allocate one page for the pdp and the second for the code */
> >  #define KEXEC_CONTROL_PAGE_SIZE 4096
> >  
> > +/* Alignment of crashkernel memory */
> > +#define KEXEC_CRASH_MEM_ALIGN HPAGE_SIZE
> 
> Why not make this unconditional, for all architectures which support
> hugepages?  ie:
> 
> #ifdef HPAGE_SIZE
> #define KEXEC_CRASH_MEM_ALIGN HPAGE_SIZE
> #else
> #define KEXEC_CRASH_MEM_ALIGN PAGE_SIZE
> #endif

> in include/linux/kexec.h?
> 
> IOW, what are the compromises here?

If we would do it that way, crashkernel memory on architectures that
support large pages but do not support unmapping of crashkernel memory
would always be aligned to HPAGE_SIZE. But only PAGE_SIZE alignment
would be necessary in that case.

If that is acceptable I have no problem to define that unconditional for
all architectures. Vivek what do you think?

> 
> Also, does s390 support CONFIG_HUGETLB_PAGE=n?  If so, does the use of
> HPAGE_SIZE still make sense?  Does it compile?

Yes, s390 supports CONFIG_HUGETLB_PAGE=n and it still compiles in that
case. For us it is ok to use HPAGE_SIZE crashkernel alignment also for
kernels with CONFIG_HUGETLB_PAGE=n.

> 
> 
> >  /* The native architecture */
> >  #define KEXEC_ARCH KEXEC_ARCH_S390
> >  
> > --- a/arch/s390/kernel/machine_kexec.c
> > +++ b/arch/s390/kernel/machine_kexec.c
> > @@ -243,6 +243,37 @@ static void __machine_kdump(void *image)
> >  #endif
> >  
> >  /*
> > + * Map or unmap crashkernel memory
> > + */
> > +static void crash_map_pages(int enable)
> > +{
> > +	unsigned long size = crashk_res.end - crashk_res.start + 1;
> 
> resource_size().

Ok I will use that. Thanks for the hint.

Michael

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ