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: <20080801040759.GG27241@verge.net.au>
Date:	Fri, 1 Aug 2008 14:08:01 +1000
From:	Simon Horman <horms@...ge.net.au>
To:	Vivek Goyal <vgoyal@...hat.com>
Cc:	kexec@...ts.infradead.org, linux-ia64@...r.kernel.org,
	linux-kernel@...r.kernel.org
Subject: Re: [patch 3/3] kdump: use is_vmcore_usable() and
	vmcore_unusable() in reserve_elfcorehdr()

On Thu, Jul 31, 2008 at 09:21:52AM -0400, Vivek Goyal wrote:
> On Thu, Jul 31, 2008 at 10:48:43AM +1000, Simon Horman wrote:
> > On Wed, Jul 30, 2008 at 09:01:31AM -0400, Vivek Goyal wrote:
> > > On Tue, Jul 29, 2008 at 06:12:38PM +1000, Simon Horman wrote:
> > > > After recent changes setting elfcorehdr_addr to ELFCORE_ADDR_MAX
> > > > will cause is_kdump_kernel() to return 0 when it should return 1.
> > > > Instead use vmcore_unusable(), which has been added for this purpose.
> > > > 
> > > > Signed-off-by: Simon Horman <horms@...ge.net.au>
> > > > 
> > > > Index: linux-2.6/arch/ia64/kernel/setup.c
> > > > ===================================================================
> > > > --- linux-2.6.orig/arch/ia64/kernel/setup.c	2008-07-29 17:27:43.000000000 +1000
> > > > +++ linux-2.6/arch/ia64/kernel/setup.c	2008-07-29 17:50:50.000000000 +1000
> > > > @@ -502,11 +502,11 @@ int __init reserve_elfcorehdr(unsigned l
> > > >  	 * to work properly.
> > > >  	 */
> > > >  
> > > > -	if (elfcorehdr_addr >= ELFCORE_ADDR_MAX)
> > > > +	if (!is_vmcore_usable())
> > > >  		return -EINVAL;
> > > >  
> > > >  	if ((length = vmcore_find_descriptor_size(elfcorehdr_addr)) == 0) {
> > > > -		elfcorehdr_addr = ELFCORE_ADDR_MAX;
> > > > +		vmcore_unusable();
> > > >  		return -EINVAL;
> > > >  	}
> > > >  
> > > 
> > > Hi Simon,
> > > 
> > > I had a question. I am not very sure what reserve_elfcorehdr is doing
> > > but doing something similar to reserving some memory area where
> > > elfcoreheaders are.
> > 
> > Yes, that is my understanding of what it does.
> > 
> 
> In x86 we never have to reserve that elf header area as we know that
> booting kernel will never overwrite in that area. (Previous kernel has
> modified the memory map in such a way so that elf header memory area
> is not even part of memory range second kernel can use. 
> 
> Any idea, why do we need to reserve this area in IA64.
> 
> > > I see that reserve_elfcorehdr is under CONFIG_PROC_VMCORE. Will it work
> > > if CONFIG_PROC_VMCORE=n and somebody wants to use /dev/oldmem?
> > > Or reserve_elfcorehdr should be under CONFIG_CRASH_DUMP?
> > 
> > I'm not that familiar with /dev/oldmem, but as far as I can see,
> > read_oldmem doesn't do anything with ELF headers, so reservation
> > by vmcore_find_descriptor_size() should not be neccessary.
> > 
> 
> /dev/oldmem does not directly touch elfcorehdr. But it indirectly does in
> the sense that it is reading all the previous kernel's memory and dumping
> it to disk. That would include elfcorehdrs also.
> 
> Now if we need to do some kind of reservation for elf headers so that
> fs/vmcore.c code can read it, then same should be true for /dev/oldmem
> code also. Otherwise reserving elfcorehdr code should be redundant.
> 
> That's why I raised the question that why do we need to reserve that area
> in case of IA64. And if there is a genuine reason then probably that
> reason will hold valid in case of /dev/oldmem also and we might have
> to put is_vmcore_usable() definition also under CONFIG_CRASH_DUMP.

Hi Vivek,

yes, I do think that the problem is a bit deeper than my original response.
I'll investigate this further.

-- 
Horms

--
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