public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: erik@debian.franken.de, Andries.Brouwer@cwi.nl
Cc: linux-kernel@vger.kernel.org, stable@kernel.org,
	Justin Forbes <jmforbes@linuxtx.org>,
	Zwane Mwaikambo <zwane@arm.linux.org.uk>,
	Cliff White <cliffw@osdl.org>, "Theodore Ts'o" <tytso@mit.edu>,
	"Randy.Dunlap" <rddunlap@osdl.org>,
	Chuck Wolber <chuckw@quantumlinux.com>,
	torvalds@osdl.org, akpm@osdl.org, alan@lxorguk.ukuu.org.uk
Subject: [04/07] partitions/msdos.c fix
Date: Wed, 27 Apr 2005 10:16:27 -0700	[thread overview]
Message-ID: <20050427171627.GE3195@kroah.com> (raw)
In-Reply-To: <20050427171446.GA3195@kroah.com>


-stable review patch.  If anyone has any objections, please let us know.

------------------

Erik reports this fixes an oops on boot for him.

From: Andries Brouwer <Andries.Brouwer@cwi.nl>

A well-known kernel bug is that it guesses at the partition type and the
partitions on any disk it encounters.  This is bad because needless I/O is
done, slowing down the boot, sometimes quite a lot, especially when I/O
errors occur.  And it is bad because sometimes we guess wrong.

In other words, we need the user space command `partition', where
"partition -t dos /dev/sda" reads a DOS-type partition table.  (And
"partition /dev/sda" tries all known heuristics to decide what type of
partitioning might be present.) The two variants are: (i) partition tells
the kernel to do the partition table reading, and (ii) partition uses partx
to read the partition table and tells the kernel one-by-one about the
partitions found this way.

Since this is a fundamental change, a long transition period is needed, and
that period could start with a kernel boot parameter telling the kernel not
to do partition table parsing on a particular disk, or a particular type of
disks, or all disks.

This could have been the intro to a patch doing that, but is not.  (It is
just an RFC.)

The tiny patch below prompted the above - it was suggested by Uwe Bonnes
who encountered USB devices without partition table where our present
heuristics did not suffice to stop partition table parsing.  It causes the
kernel to ignore partitions of type 0.  A band-aid.

I think nobody uses such partitions seriously, but nevertheless this should
probably live in -mm for a while to see if anybody complains.

Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Signed-off-by: Chris Wright <chrisw@osdl.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---

===== fs/partitions/msdos.c 1.26 vs 1.27 =====
--- 1.26/fs/partitions/msdos.c	2004-11-09 12:43:17 -08:00
+++ 1.27/fs/partitions/msdos.c	2005-03-07 20:41:42 -08:00
@@ -114,6 +114,9 @@ parse_extended(struct parsed_partitions 
 		 */
 		for (i=0; i<4; i++, p++) {
 			u32 offs, size, next;
+
+			if (SYS_IND(p) == 0)
+				continue;
 			if (!NR_SECTS(p) || is_extended_partition(p))
 				continue;
 
@@ -430,6 +433,8 @@ int msdos_partition(struct parsed_partit
 	for (slot = 1 ; slot <= 4 ; slot++, p++) {
 		u32 start = START_SECT(p)*sector_size;
 		u32 size = NR_SECTS(p)*sector_size;
+		if (SYS_IND(p) == 0)
+			continue;
 		if (!size)
 			continue;
 		if (is_extended_partition(p)) {

  parent reply	other threads:[~2005-04-27 17:19 UTC|newest]

Thread overview: 46+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-04-27 17:14 [00/07] -stable review Greg KH
2005-04-27 17:15 ` [01/07] uml: add nfsd syscall when nfsd is modular Greg KH
2005-04-27 16:33   ` Alan Cox
2005-04-27 17:46     ` Chris Wright
2005-04-27 17:23       ` Alan Cox
2005-04-27 18:47         ` Chris Wright
2005-04-29  4:16           ` Greg KH
2005-04-27 17:16 ` [02/07] [fix Bug 4395] modprobe bttv freezes the computer Greg KH
2005-04-27 17:16 ` [03/07] I2C: Fix incorrect sysfs file permissions in it87 and via686a drivers Greg KH
2005-04-27 19:41   ` Dmitry Torokhov
2005-04-27 19:49     ` Dmitry Torokhov
2005-04-28  5:47   ` Dmitry Torokhov
2005-04-27 17:16 ` Greg KH [this message]
2005-04-27 20:34   ` [04/07] partitions/msdos.c fix Andries Brouwer
2005-04-27 20:49     ` Erik Tews
2005-04-27 22:08       ` Andries Brouwer
2005-04-27 20:35   ` Pavel Machek
2005-04-27 17:16 ` [05/07] [PATCH] Fix reproducible SMP crash in security/keys/key.c Greg KH
2005-04-27 17:16 ` [06/07] [PATCH] SCSI tape security: require CAP_ADMIN for SG_IO etc Greg KH
2005-04-27 16:38   ` Alan Cox
2005-04-27 18:26     ` Greg KH
2005-04-27 17:51       ` Alan Cox
2005-04-28  5:43     ` Kai Makisara
2005-04-28 12:49       ` Arjan van de Ven
2005-04-28 13:21       ` Alan Cox
2005-04-29  4:20         ` Greg KH
2005-04-29 20:16           ` Alan Cox
2005-04-29 20:38             ` Greg KH
2005-04-30  5:52               ` Kai Makisara
2005-04-30  5:10                 ` Greg KH
2005-04-30  8:10                   ` Kai Makisara
2005-04-27 17:17 ` [07/07] uml: quick fix syscall table Greg KH
2005-04-27 18:26 ` [00/07] -stable review Chris Wright
2005-04-27 18:31 ` [08/07] sparc64: Fix copy_siginfo_to_user32() Chris Wright
2005-04-27 18:35 ` [09/07] sparc64: use message queue compat syscalls Chris Wright
2005-04-27 18:38 ` [10/07] sparc: Fix PTRACE_CONT bogosity Chris Wright
2005-04-27 17:53   ` Alan Cox
2005-04-28  0:13 ` [00/07] -stable review Nick Piggin
2005-04-28  1:33   ` Chris Wright
2005-04-28  1:43     ` Nick Piggin
2005-04-29  4:14       ` Rules about the -stable tree Greg KH
2005-04-28  1:51     ` [00/07] -stable review Zwane Mwaikambo
2005-04-28  1:51       ` Nick Piggin
2005-04-28  1:54       ` Justin M. Forbes
2005-04-28  6:49 ` Gregor Jasny
2005-04-28  6:59   ` [stable] " Greg KH

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20050427171627.GE3195@kroah.com \
    --to=gregkh@suse.de \
    --cc=Andries.Brouwer@cwi.nl \
    --cc=akpm@osdl.org \
    --cc=alan@lxorguk.ukuu.org.uk \
    --cc=chuckw@quantumlinux.com \
    --cc=cliffw@osdl.org \
    --cc=erik@debian.franken.de \
    --cc=jmforbes@linuxtx.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rddunlap@osdl.org \
    --cc=stable@kernel.org \
    --cc=torvalds@osdl.org \
    --cc=tytso@mit.edu \
    --cc=zwane@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox