lkml.org 
[lkml]   [2006]   [May]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] make kernel ignore bogus partitions
"Mike Miller (OS Dev)" <mikem@beardog.cca.cpqcorp.net> wrote:
>
> On Tue, May 09, 2006 at 12:41:38PM -0700, Andrew Morton wrote:
> > "Mike Miller (OS Dev)" <mikem@beardog.cca.cpqcorp.net> wrote:
> > >
> > > Patch 1/1
> > > Sometimes partitions claim to be larger than the reported capacity of a
> > > disk device. This patch makes the kernel ignore those partitions.
> > >
> > > Signed-off-by: Mike Miller <mike.miller@hp.com>
> > > Signed-off-by: Stephen Cameron <steve.cameron@hp.com>
> > >
> > > Please consider this for inclusion.
> > >
> > >
> > > fs/partitions/check.c | 5 +++++
> > > 1 files changed, 5 insertions(+)
> > >
> > > --- linux-2.6.14/fs/partitions/check.c~partition_vs_capacity 2006-01-06 09:32:14.000000000 -0600
> > > +++ linux-2.6.14-root/fs/partitions/check.c 2006-01-06 11:24:50.000000000 -0600
> > > @@ -382,6 +382,11 @@ int rescan_partitions(struct gendisk *di
> > > sector_t from = state->parts[p].from;
> > > if (!size)
> > > continue;
> > > + if (from+size-1 > get_capacity(disk)) {
> > > + printk(" %s: p%d exceeds device capacity, ignoring.\n",
> > > + disk->disk_name, p);
> > > + continue;
> > > + }
> > > add_partition(disk, p, from, size);
> > > #ifdef CONFIG_BLK_DEV_MD
> > > if (state->parts[p].flags)
> >
> > Shouldn't that be
> >
> > if (from+size > get_capacity(disk)) {
> >
> > ?
> >
> Since the partition size is 0-based this is correct:
>
> if (from+size-1 > get_capacity(disk)) {
>

Don't think so.

If `from' is 0 and `size' is 1025 and get_capacity() is 1024 then we have

if (1024 > 1024)

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

\
 
 \ /
  Last update: 2006-05-11 18:36    [W:0.084 / U:0.036 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site