RE: [patch 3/3] IA64: verify the base address of crashkernel

Zou, Nanhai
2007-03-07T09:06:39Z

> -----Original Message-----
> From: Horms [mailto:horms@verge.net.au]
> Sent: 2007Äê3ÔÂ7ÈÕ 15:55
> To: Zou, Nanhai
> Cc: Linux-IA64; fastboot@lists.osdl.org; Luck, Tony; Magnus Damm
> Subject: Re: [patch 3/3] IA64: verify the base address of crashkernel
>
> On Wed, Mar 07, 2007 at 12:50:12PM +0800, Zou, Nanhai wrote:
> > On Wed, Mar 07, 2007 at 11:46, Horms wrote:
> > >
> > > I think that the manual option is also important because it
> > > maintains feature-compatibility with other architectures. I don't
> > > consider it a hack that might work purely for the purposes of
> > > debugging.
> >
> > I don't understand why we need to maintain compatibility with other
> > architectures here. Manfully choose may confuse user, XXX@16M may work
> > on one arch,but not on another arch. Other architectures need manually
> > choose crash kernel region simply because they do not support kernel
> > automatically choose feature.
> >
> > I keep the XXX@YYY format to just make kdump script compatible, do
> > that distributions does not need to maintain different kdump scripts
> > for different arches.
>

> From my point of view, what you say in the paragraph immediately above
> Thanks, is this logic better?
>
Don't write code to improve a "no user will use" feature.
Let's keep kernel code clean.

> kdump_region_verify_rsvd_region (unsigned long base, unsigned long size,
> struct rsvd_region *rsvd_regions, int n)
> {
> int i;
>
> for (i = 0; i < n; i++) {
> /* Assume that start < end && size > 0 */
> if (__pa(rsvd_regions[i].start) >= base + size &&
> __pa(rsvd_regions[i].end) < base)
> continue;
This is much worse. Have you ever tested it?

> printk(KERN_WARNING "Kdump: crashkernel region 0x%lx-0x%lx "
> "clashes with reserved region 0x%lx-0x%lx\n", base,
> base + size - 1, __pa(rsvd_regions[i].start),
> __pa(rsvd_regions[i].end));
> return 0;
> }
> return 1;
> }

>
Zou Nan hai
> --
> Horms
> H: http://www.vergenet.net/~horms/
> W: http://www.valinux.co.jp/en/