Commit 88351d38 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Remove iso9660 check for sbsector < 660Mb

From: Jon Burgess <mplayer@jburgess.uklinux.net>

The iso9660 filesystem code checks that the "sbsector" option is
positioned within the first 660Mb of the disk.

Today the iso9660 filesystem is used on DVD's which are much bigger than
660Mb and this check prevents the sbsector option being used to specify 
the location of the superblock of multisession DVD's.

With this check removed I can mount the second session on a DVD-R by 
specifying the sbsector, even though the  firmware on that drive returns
bogus data for the TOC.

If an invalid large sector number is entered then a "request beyond end 
of device" error is reported elsewhere in the block code, but appears to
do no damage.
parent 9bfed725
...@@ -447,10 +447,7 @@ static int parse_options(char *options, struct iso9660_options * popt) ...@@ -447,10 +447,7 @@ static int parse_options(char *options, struct iso9660_options * popt)
case Opt_sb: case Opt_sb:
if (match_int(&args[0], &option)) if (match_int(&args[0], &option))
return 0; return 0;
n = option; popt->sbsector = option;
if (n > 660 * 512)
return 0;
popt->sbsector = n;
break; break;
case Opt_check_r: case Opt_check_r:
popt->check = 'r'; popt->check = 'r';
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment