]> err.no Git - linux-2.6/commit
[PATCH] x86: Pnp byte granularity
authorZachary Amsden <zach@vmware.com>
Fri, 6 Jan 2006 08:11:55 +0000 (00:11 -0800)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 6 Jan 2006 16:33:35 +0000 (08:33 -0800)
commit5fe9fe3c6f9a1ae7aa224bb7a66eb9aad9e4abef
treeec120ce6e72700fe49720127bc76228c51bd406b
parent3fae1c37eea98097de34ba665796fea93b29f4aa
[PATCH] x86: Pnp byte granularity

The one remaining caller of set_limit, the PnP BIOS code, calls into the PnP
BIOS, passing kernel parameters in and out.  These parameteres may be passed
from arbitrary kernel virtual memory, so they deserve strict protection to
stop a bad BIOS from smashing beyond the object size.

Unfortunately, the use of set_limit was badly botching this by setting the
limit in terms of pages, when it really should have byte granularity.

When doing this, I discovered my BIOS had the buggy code during the "get
system device node" call:

 mov ax, es:[bx]

Which is harmless, but has a trivial workaround.

Signed-off-by: Zachary Amsden <zach@vmware.com>
Cc: "Seth, Rohit" <rohit.seth@intel.com>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
arch/i386/kernel/head.S
drivers/pnp/pnpbios/bioscalls.c
include/asm-i386/system.h