Subject: Re: Braindamage in arm/disksubr.c
To: None <thorpej@wasabisystems.com>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-arm
Date: 08/29/2002 00:16:09
In article <20020827102918.K16306@dr-evil.shagadelic.org>
thorpej@wasabisystems.com wrote:

> Does anyone know the source of this?  Without the attached patch,
> the ARM ports totally fail to use things like RAIDframe or CCD,
> because the ARM disksubr is protecting the label sector relative to
> "a", not RAW_PART ... so, even if you offset A, you end up getting a
> bogus EROFS from bounds_check_with_label().

Maybe this is because arm/disksubr.c has MBR support
but unlike i386 RAW_PART is 2 (not 3) and it does not
have 'NetBSD parition' in its disklabels.

So, if a disk has MBR and NetBSD partition in it is not located
at the top, bounds_check_with_label() would fail.

Anyway, I guess bounds_check_with_label() should check
MBR if it exists, rather than using 'NetBSD partition'
in the disklabel.
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp