]> git.hungrycats.org Git - linux/log
linux
21 years agoLinux 2.6.6-rc2 v2.6.6-rc2
Linus Torvalds [Tue, 20 Apr 2004 07:24:38 +0000 (00:24 -0700)]
Linux 2.6.6-rc2

21 years ago[PATCH] Fix CFQ elevator problem
Jens Axboe [Tue, 20 Apr 2004 01:02:57 +0000 (18:02 -0700)]
[PATCH] Fix CFQ elevator problem

Remove bogus assert in CFQ and remove merge hints.

21 years ago[PATCH] MIPS update
Andrew Morton [Tue, 20 Apr 2004 00:59:56 +0000 (17:59 -0700)]
[PATCH] MIPS update

From: Ralf Baechle <ralf@linux-mips.org>

- more work on resurrecting AMD Alchemy platforms
- cleanup of unnecessary <asm/pgalloc.h> inclusions
- update default config files
- cleanup 32-bit compat ioctl code
- support for Montum Jaguar ATX
- workarounds for early revs of the RM9000
- fixes for RM5000 and RM7000 cache handling
- add support for PMC-Sierra Yosemite eval board
- further cleanup and bugfixes for SGI IP27
- make LASAT and VR41xx build and work in 2.6
- improved SGI IP32 support
- plenty of small fixes

21 years ago[PATCH] MIPS: update documentation files
Andrew Morton [Tue, 20 Apr 2004 00:23:10 +0000 (17:23 -0700)]
[PATCH] MIPS: update documentation files

From: Ralf Baechle <ralf@linux-mips.org>

The pending changes to the MIPS doc files, more changes needed...

21 years ago[PATCH] MIPS: don't offer SERIAL_DZ on 64-bit DEC
Andrew Morton [Tue, 20 Apr 2004 00:23:00 +0000 (17:23 -0700)]
[PATCH] MIPS: don't offer SERIAL_DZ on 64-bit DEC

From: Ralf Baechle <ralf@linux-mips.org>

Limit the DZ driver to MIPS32 as the supported hardware is only present in
R2k/R3k-based systems (unless someone sends Maciej a PMAC-A board for driver
development).

21 years ago[PATCH] remove duplicated COPYING file in fs/hfs/
Andrew Morton [Tue, 20 Apr 2004 00:22:40 +0000 (17:22 -0700)]
[PATCH] remove duplicated COPYING file in fs/hfs/

From: Christoph Hellwig <hch@lst.de>

We don't need a copy of COPYING down in fs/hfs.  Roman said he didn't mind,
so..

21 years ago[PATCH] hlist_add_after() fix
Andrew Morton [Tue, 20 Apr 2004 00:22:29 +0000 (17:22 -0700)]
[PATCH] hlist_add_after() fix

From: "Pedro Emanuel M. D. Pinto" <pepinto@student.dei.uc.pt>

This currently-unused function is incorrectly implemented.  Fix.

21 years ago[PATCH] pcnet32.c build fix
Andrew Morton [Tue, 20 Apr 2004 00:22:16 +0000 (17:22 -0700)]
[PATCH] pcnet32.c build fix

Remove a duplicated case which recently snuck in there.

21 years ago[PATCH] fix madvise(MADV_DONTNEED) for nonlinear vmas
Andrew Morton [Tue, 20 Apr 2004 00:22:03 +0000 (17:22 -0700)]
[PATCH] fix madvise(MADV_DONTNEED) for nonlinear vmas

From: Hugh Dickins <hugh@veritas.com>

Jamie points out that madvise(MADV_DONTNEED) should unmap pages from a
nonlinear area in such a way that the nonlinear offsets are preserved if the
pages do turn out to be needed later after all, instead of reverting them to
linearity: needs to pass down a zap_details block.

(But this still leaves mincore unaware of nonlinear vmas: bigger job.)

21 years ago[PATCH] reiserfs use-after-free fix
Andrew Morton [Tue, 20 Apr 2004 00:21:51 +0000 (17:21 -0700)]
[PATCH] reiserfs use-after-free fix

From: Chris Mason <mason@suse.com>

reiserfs-delayed-work started using queue_delayed_work, but did not make sure
the timer was finished before it freed the work queue structs during unmount.
This leads to timer oopsen if you unmount at just the right time.

21 years ago[PATCH] fix for potential deadlock after posix-timers change
Roland McGrath [Tue, 20 Apr 2004 00:20:06 +0000 (17:20 -0700)]
[PATCH] fix for potential deadlock after posix-timers change

Ulrich has been working on the glibc code using posix-timers and
stressing it more now than it has before.  He ran into an SMP deadlock
on process exit in the case there are pending queued signals from a
timer.

The deadlock arises because in the path through exit_itimers, the
tasklist_lock is already held (for writing).  When a timer is being
deleted, sigqueue_free will try to take it (for reading) in the case
where that timer has a pending signal queued on somebody's queue.  This
patch avoids the problem by making sure the queues are flushed before
calling exit_itimers, thus ensuring its code path won't try to take
tasklist_lock.

21 years ago[PATCH] ppc64: siginfo conversion fix
Benjamin Herrenschmidt [Mon, 19 Apr 2004 11:39:52 +0000 (04:39 -0700)]
[PATCH] ppc64: siginfo conversion fix

My message queue patch fixes the 64 bits -> 32 bits conversion of
siginfo, but didn't change the 32 -> 64 bits conversion done in
sys32_rt_sigqueueinfo() which was apparently bogus as well.

After much discussion & debate on the right way of converting that
structure, I decided to go the sparc64 / s390 way, and not the x86_64
way, that is to copy the various unions data "as is". This guarantees
that whatever a 32 bist app passes there, another 32 bits app will
understand it. Crossover between 32 and 64 bits apps on such things
as home-made userland siginfo isn't something we can help with anyway.

The x86_64 choice of converting as if it was an RT signal, thus
converting the sigval, cannot easily be applied to big endian archs
since the sigval is a union of a ptr and an int, on BE, the int
happens to be on the wrong half of the 64 bits ptr, thus  we can't
do a simple conversion.

21 years ago[PATCH] generic ide_init_hwif_ports()
Bartlomiej Zolnierkiewicz [Mon, 19 Apr 2004 09:31:45 +0000 (02:31 -0700)]
[PATCH] generic ide_init_hwif_ports()

Add generic ide_init_hwif_ports() to <linux/ide.h> and remove arch specific
versions except arm26, arm, h8300, i386-pc9800, m68k and m68knommu ones.

21 years ago[PATCH] ide_init_default_hwifs() -> ide_init_default_irq()
Bartlomiej Zolnierkiewicz [Mon, 19 Apr 2004 09:31:32 +0000 (02:31 -0700)]
[PATCH] ide_init_default_hwifs() -> ide_init_default_irq()

init_ide_data() initializes default IDE interfaces but without default IRQ
(hwif->irq and hwif->hw.irq fields) so introduce ide_init_default_irq() and
remove redundant ide_init_default_hwifs() (except arm26 and arm ones).

As a side-effect it fixes:
- CONFIG_BLK_DEV_HD_IDE if !CONFIG_BLK_DEV_IDEPCI (i386)
- hwif->noprobe shouldn't be 0 if !hwif->io_ports[IDE_DATA_OFFSET]
  (alpha, i386, ia64, mips, sh, x86_64)

21 years ago[PATCH] ide.c: split init_hwif_default() out of init_hwif_data()
Bartlomiej Zolnierkiewicz [Mon, 19 Apr 2004 09:31:19 +0000 (02:31 -0700)]
[PATCH] ide.c: split init_hwif_default() out of init_hwif_data()

21 years agoMerge evo:v2.6/linux into ppc970.osdl.org:/home/torvalds/v2.6/linux
Linus Torvalds [Mon, 19 Apr 2004 08:21:40 +0000 (01:21 -0700)]
Merge evo:v2.6/linux into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoRemove unnecessary declaration of inline functions
Linus Torvalds [Mon, 19 Apr 2004 08:20:19 +0000 (01:20 -0700)]
Remove unnecessary declaration of inline functions

21 years agoMerge master.kernel.org:/home/davem/BK/net-2.6
Linus Torvalds [Mon, 19 Apr 2004 06:57:11 +0000 (23:57 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge bk://gkernel.bkbits.net/misc-2.6
Linus Torvalds [Mon, 19 Apr 2004 05:20:21 +0000 (22:20 -0700)]
Merge bk://gkernel.bkbits.net/misc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[PATCH] Fix hw_random build on ia64
Bjorn Helgaas [Mon, 19 Apr 2004 08:54:45 +0000 (04:54 -0400)]
[PATCH] Fix hw_random build on ia64

The following patch allows hw_random.c to build on ia64.  (The problem
was just that the VIA stuff has i386 assembly in it.  The current code
only probes for VIA on i386 anyway, so this patch just adds more ifdefs
so the VIA code is only built for i386.)

21 years agoMerge bk://gkernel.bkbits.net/net-drivers-2.6
Linus Torvalds [Mon, 19 Apr 2004 05:19:26 +0000 (22:19 -0700)]
Merge bk://gkernel.bkbits.net/net-drivers-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[PATCH] Tulip endianess fix
Pavel Roskin [Mon, 19 Apr 2004 09:04:06 +0000 (05:04 -0400)]
[PATCH] Tulip endianess fix

My tulip ethernet card doesn't work on Blue&White G3 PowerMac with Linux
2.6.5-rc2.  The card is shown by lspci as

01:03.0 Ethernet controller: Linksys Network Everywhere Fast Ethernet
10/100 model NC100 (rev 11)

The kernel detects it as "ADMtek Comet rev 17".

The MAC address reported by the kernel looked obviously wrong.  Also, I
could only ping the system successfully if the interface was in promiscuous
mode (running Ethereal).

Those two symptoms indicated two different problems - one for reading the
MAC address from the card on module load (tulip_init_one), and the other
for writing the address to the card when the interface was brought up
(tulip_up).  I have fixed both, and here's the explanation:

tulip_init_one:

When reading the first 4 bytes of the address, inl() returns the same data
to the CPU on all platforms, interpreting the data from the lowest port
address as the least significant byte.  In other words, I/O is little
endian on all platforms; it's the memory that differs across platforms.
We want to write the data to memory preserving little-endianness of the
PCI bus.  To force little endian write to the memory, the data should be
converted to the little endian format.

When reading the remaining 2 bytes, the CPU gets them in 2 least
significant bytes.  To write those 2 bytes to the memory in a 16-bit
operation, they should be byte-swapped for the 16-bit operation.

tulip_up:

The first 4 bytes are processed correctly, but the code is confusing.
Reading from memory needs conversion to CPU format, while writing to I/O
ports doesn't.  So I replaced cpu_to_le32() to le32_to_cpu().

The second 2 bytes are read in a 16-bit memory operation, so they should
be passed to le16_to_cpu() rather than cpu_to_le32() to make them CPU
independent and suitable for outl().

All those conversions do nothing on little-endian machines, so they should
not be affected.

The patch has been tested.  The driver is working fine.  ping is OK, ssh
is OK, X11 over ssh is OK.  Even netconsole is working fine.

21 years ago[PATCH] missing s/dev->priv/netdev_priv(dev) in drivers/net/pcmcia/
Daniel Ritz [Mon, 19 Apr 2004 09:02:52 +0000 (05:02 -0400)]
[PATCH] missing s/dev->priv/netdev_priv(dev) in drivers/net/pcmcia/

On Wednesday 24 March 2004 23:25, Jeff Garzik wrote:
> Daniel Ritz wrote:
> > clean up the last two instances of dev->priv in drivers/net/pcmcia.
> > against 2.6.5-rc2-bk.
> >
> > --- 1.27/drivers/net/pcmcia/3c589_cs.c Wed Mar  3 01:03:51 2004
> > +++ edited/drivers/net/pcmcia/3c589_cs.c Wed Mar 24 22:29:35 2004
> > @@ -716,7 +716,7 @@
> >     "status %4.4x.\n", dev->name, (long)skb->len,
> >     inw(ioaddr + EL3_STATUS));
> >
> > -    ((struct el3_private *)dev->priv)->stats.tx_bytes += skb->len;
> > +    ((struct el3_private *)netdev_priv(dev))->stats.tx_bytes += skb->len;
> >
> >      /* Put out the doubleword header... */
> >      outw(skb->len, ioaddr + TX_FIFO);
> > --- 1.24/drivers/net/pcmcia/ibmtr_cs.c Wed Mar  3 01:06:03 2004
> > +++ edited/drivers/net/pcmcia/ibmtr_cs.c Wed Mar 24 22:29:51 2004
> > @@ -444,7 +444,7 @@
> >          link->state &= ~DEV_PRESENT;
> >          if (link->state & DEV_CONFIG) {
> >       /* set flag to bypass normal interrupt code */
> > -     ((struct tok_info *)dev->priv)->sram_virt |= 1;
> > +     ((struct tok_info *)netdev_priv(dev))->sram_virt |= 1;
> >       netif_device_detach(dev);
> >       ibmtr_release(link);
>
>
> although the patch is OK, the code itself is a bit yucky.
>
> Can you please create a temporary variable, of struct el3_private or
> tok_info type, and eliminate that cast?
>
> struct el3_private *priv = netdev_priv(dev);
> priv->stats.tx_bytes += skb->len;
>
> Much nicer :)
>

agreed. here we go...

21 years ago[PATCH] Call SET_NETDEV_DEV() in a bunch of net drivers
Andrew Morton [Mon, 19 Apr 2004 09:01:38 +0000 (05:01 -0400)]
[PATCH] Call SET_NETDEV_DEV() in a bunch of net drivers

Used for sysfs support.

21 years ago[PATCH] pcnet32.c add support for 79C976
Don Fry [Mon, 19 Apr 2004 09:00:12 +0000 (05:00 -0400)]
[PATCH] pcnet32.c add support for 79C976

Please apply the following patch to 2.6.5-rc2-bk9 and 2.4.26-rc1 to
include support for the 79C976. Tested on IA32.

21 years ago[PATCH] remove 8139too ring size option.
Stephen Hemminger [Mon, 19 Apr 2004 09:00:04 +0000 (05:00 -0400)]
[PATCH] remove 8139too ring size option.

On Wed, 31 Mar 2004 15:05:16 -0500
Jeff Garzik <jgarzik@pobox.com> wrote:

> I really should remove the ability to configure 8139_RXBUF_IDX=3.

21 years ago[PATCH] airo: Fix suspend support
Javier Achirica [Mon, 19 Apr 2004 08:58:55 +0000 (04:58 -0400)]
[PATCH] airo: Fix suspend support

21 years ago[PATCH] fix arm/etherh.c
Russell King [Mon, 19 Apr 2004 08:50:20 +0000 (04:50 -0400)]
[PATCH] fix arm/etherh.c

On Tue, Apr 13, 2004 at 02:35:40PM -0400, Jeff Garzik wrote:
> Russell,
>
> Would you be willing to provide an updated diff of this?

I didn't particularly like the PRIV() method implemented previously -
gcc appears to want to avoid some optimisations it if its an inline
function rather than a macro.

Also, 'ei_local' may look unused in some functions, but it's your
typical hidden-use-in-a-macro crap which 8390 likes.

21 years ago[PATCH] Mixed PCI/ISA device name conflicts
Stephen Hemminger [Mon, 19 Apr 2004 08:49:10 +0000 (04:49 -0400)]
[PATCH] Mixed PCI/ISA device name conflicts

In systems with mixed network cards, and all drivers compiled into
the kernel; the PCI device (eth0) will get probed first, before the ISA.

The problem is that the ISA device can mistakenly try to probe
for eth0.  The problem is that the ISA driver will not detect the failure
until it goes to call register_netdevice, and not all drivers have
perfect error unwind code.

This patch short circuits the device probe, so it won't bother
looking for devices that already are registered.

21 years ago[PATCH] e1000: fix probable security hole
Chris Wright [Mon, 19 Apr 2004 08:46:18 +0000 (04:46 -0400)]
[PATCH] e1000: fix probable security hole

* Ken Ashcraft (ken@coverity.com) wrote:
> [BUG]
> /home/kash/linux/linux-2.6.5/drivers/net/e1000/e1000_ethtool.c:1494:e1000_ethtool_ioctl: ERROR:TAINT: 1487:1494:Passing unbounded user value "(regs).len" as arg 2 to function "copy_to_user", which uses it unsafely in model [SOURCE_MODEL=(lib,copy_from_user,user,taintscalar)] [SINK_MODEL=(lib,copy_to_user,user,trustingsink)]    [PATH=]
>  }
>  case ETHTOOL_GREGS: {
>  struct ethtool_regs regs = {ETHTOOL_GREGS};
>  uint32_t regs_buff[E1000_REGS_LEN];
>
> Start --->
>  if(copy_from_user(&regs, addr, sizeof(regs)))
>  return -EFAULT;
>  e1000_ethtool_gregs(adapter, &regs, regs_buff);
>  if(copy_to_user(addr, &regs, sizeof(regs)))
>  return -EFAULT;
>
>  addr += offsetof(struct ethtool_regs, data);
> Error --->
>  if(copy_to_user(addr, regs_buff, regs.len))
>  return -EFAULT;
>
>  return 0;

Looks like a bug.  Possible patch below zeros the buffer (since it's not
filled completely by e1000_ethtool_gregs()), and truncates len.

21 years ago[PATCH] fix warning in drivers/net/tulip/timer.c
Adrian Bunk [Mon, 19 Apr 2004 08:43:04 +0000 (04:43 -0400)]
[PATCH] fix warning in drivers/net/tulip/timer.c

I get the following warning in 2.6.5-mm6 and 2.6.6-rc1:

<--  snip  -->

...
  CC      drivers/net/tulip/timer.o
drivers/net/tulip/timer.c: In function `comet_timer':
drivers/net/tulip/timer.c:156: warning: unused variable `ioaddr'
...

<--  snip  -->

Since the
   [netdrvr tulip] add MII support for Comet chips
patch has removed the only use of this variable, the fix is simple:

21 years ago[netdrvr r8169] remove driver-local DMA_xxBIT_MASK definitions
Jeff Garzik [Mon, 19 Apr 2004 08:42:41 +0000 (04:42 -0400)]
[netdrvr r8169] remove driver-local DMA_xxBIT_MASK definitions

They are now upstream, we don't need driver-local ones anymore.

21 years ago[netdrvr rcpci] Remove bogus check in ->remove handler
Jeff Garzik [Mon, 19 Apr 2004 08:41:18 +0000 (04:41 -0400)]
[netdrvr rcpci] Remove bogus check in ->remove handler

21 years ago[hamradio baycom] Remove bogus check in interrupt handler
Jeff Garzik [Mon, 19 Apr 2004 08:39:30 +0000 (04:39 -0400)]
[hamradio baycom] Remove bogus check in interrupt handler

Tangentially noticed by Stanford checker.

21 years ago[PATCH] remove redundant check in de2104x ->get_regs()
Chris Wright [Mon, 19 Apr 2004 08:38:01 +0000 (04:38 -0400)]
[PATCH] remove redundant check in de2104x ->get_regs()

Trivial patchlet...ethtool core already caps regs.len at a max of
->get_regs_len():

reglen = ops->get_regs_len(dev);
if (regs.len > reglen)
regs.len = reglen;

So doing the same in the in de2104x driver ->get_regs() is redundant.
Patch below simply removes it to clarify the guarantee of the API.

21 years ago[PATCH] wan sdla: fix probable security hole
Chris Wright [Mon, 19 Apr 2004 08:26:30 +0000 (04:26 -0400)]
[PATCH] wan sdla:  fix probable security hole

> [BUG] minor
> /home/kash/linux/linux-2.6.5/drivers/net/wan/sdla.c:1206:sdla_xfer:
> ERROR:TAINT: 1201:1206:Passing unbounded user value "(mem).len" as arg 0
> to function "kmalloc", which uses it unsafely in model
> [SOURCE_MODEL=(lib,copy_from_user,user,taintscalar)]
> [SINK_MODEL=(lib,kmalloc,user,trustingsink)]  [MINOR]  [PATH=] [Also
> used at, line 1219 in argument 0 to function "kmalloc"]
> static int sdla_xfer(struct net_device *dev, struct sdla_mem *info, int
> read)
> {
>  struct sdla_mem mem;
>  char *temp;
>
> Start --->
>  if(copy_from_user(&mem, info, sizeof(mem)))
>  return -EFAULT;
>
>  if (read)
>  {
> Error --->
>  temp = kmalloc(mem.len, GFP_KERNEL);
>  if (!temp)
>  return(-ENOMEM);
>  sdla_read(dev, mem.addr, temp, mem.len);

Hrm, I believe you could use this to read 128k of kernel memory.
sdla_read() takes len as a short, whereas mem.len is an int.  So,
if mem.len == 0x20000, the allocation could still succeed.  When cast
to short, len will be 0x0, causing the read loop to copy nothing into
the buffer.  At least it's protected by a capable() check.  I don't
know what proper upper bound is for this hardware, or how much it's
used/cared about.  Simple memset() is trivial fix.

21 years ago[wireless orinoco] Remove bogus !dev check
Jeff Garzik [Mon, 19 Apr 2004 08:22:28 +0000 (04:22 -0400)]
[wireless orinoco] Remove bogus !dev check

Caught by Stanford checker.

21 years ago[PATCH] 3c509 oops fix
Andrew Morton [Mon, 19 Apr 2004 07:57:04 +0000 (03:57 -0400)]
[PATCH] 3c509 oops fix

If __ISAPNP__ and CONFIG_X86_PC9800 are not set, we forget to link the device
into the global chain and el3_init_module dereferences NULL.

21 years ago[PATCH] mace register_netdev printk
Olaf Hering [Mon, 19 Apr 2004 07:56:56 +0000 (03:56 -0400)]
[PATCH] mace register_netdev printk

small cosmetic fix for powermac mace network driver.

eth%d: MACE at 00:05:02:f4:1b:1d, chip revision 25.64
vs.
eth0: MACE at 00:05:02:f4:1b:1d, chip revision 25.64

21 years agoMerge master.kernel.org:/home/davem/BK/sparc-2.6
Linus Torvalds [Mon, 19 Apr 2004 05:16:31 +0000 (22:16 -0700)]
Merge master.kernel.org:/home/davem/BK/sparc-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[PATCH] Warn if module_param and MODULE_PARM mixed
Andrew Morton [Mon, 19 Apr 2004 05:07:58 +0000 (22:07 -0700)]
[PATCH] Warn if module_param and MODULE_PARM mixed

From: Rusty Russell <rusty@rustcorp.com.au>

From: Pavel Roskin <proski@gnu.org>

If you use both module_param (new) and MODULE_PARM (obsolete) in a module,
only the second gets recognised.  Warn.

21 years ago[PATCH] nfs token table can be __initdata
Andrew Morton [Mon, 19 Apr 2004 05:07:44 +0000 (22:07 -0700)]
[PATCH] nfs token table can be  __initdata

nfs token table can be  __initdata

21 years ago[PATCH] sparc32 stack bounds checking
Andrew Morton [Mon, 19 Apr 2004 05:07:33 +0000 (22:07 -0700)]
[PATCH] sparc32 stack bounds checking

From: William Lee Irwin III <wli@holomorphy.com>

The stack is now shared with struct thread_info on most arches, not task_t.
This mostly affects get_wchan() and stack usage debug.

21 years ago[PATCH] ppc32 stack bounds checking
Andrew Morton [Mon, 19 Apr 2004 05:07:19 +0000 (22:07 -0700)]
[PATCH] ppc32 stack bounds checking

From: William Lee Irwin III <wli@holomorphy.com>

The stack is now shared with struct thread_info on most arches, not task_t.
This mostly affects get_wchan() and stack usage debug.

21 years ago[PATCH] m68knommu stack bounds checking
Andrew Morton [Mon, 19 Apr 2004 05:07:08 +0000 (22:07 -0700)]
[PATCH] m68knommu stack bounds checking

From: William Lee Irwin III <wli@holomorphy.com>

The stack is now shared with struct thread_info on most arches, not task_t.
This mostly affects get_wchan() and stack usage debug.

21 years ago[PATCH] m68k stack bounds checking
Andrew Morton [Mon, 19 Apr 2004 05:06:55 +0000 (22:06 -0700)]
[PATCH] m68k stack bounds checking

From: William Lee Irwin III <wli@holomorphy.com>

The stack is now shared with struct thread_info on most arches, not task_t.
This mostly affects get_wchan() and stack usage debug.

21 years ago[PATCH] h8300 stack bounds checking
Andrew Morton [Mon, 19 Apr 2004 05:06:44 +0000 (22:06 -0700)]
[PATCH] h8300 stack bounds checking

From: William Lee Irwin III <wli@holomorphy.com>

The stack is now shared with struct thread_info on most arches, not task_t.
This mostly affects get_wchan() and stack usage debug.

21 years ago[PATCH] From: David Gibson <david@gibson.dropbear.id.au>
Andrew Morton [Mon, 19 Apr 2004 05:06:30 +0000 (22:06 -0700)]
[PATCH] From: David Gibson <david@gibson.dropbear.id.au>

hugepage_vma() is both misleadingly named and unnecessary.  On most archs it
always returns NULL, and on IA64 the vma it returns is never used.  The
function's real purpose is to determine whether the address it is passed is a
special hugepage address which must be looked up in hugepage pagetables,
rather than being looked up in the normal pagetables (which might have
specially marked hugepage PMDs or PTEs).

This patch kills off hugepage_vma() and folds the logic it really needs into
follow_huge_addr().  That now returns a (page *) if called on a special
hugepage address, and an error encoded with ERR_PTR otherwise.  This also
requires tweaking the IA64 code to check that the hugepage PTE is present in
follow_huge_addr() - previously this was guaranteed, since it was only called
if the address was in an existing hugepage VMA, and hugepages are always
prefaulted.

21 years ago[PATCH] Fix default value for commit interval for older reiserfs filesystems.
Andrew Morton [Mon, 19 Apr 2004 05:06:16 +0000 (22:06 -0700)]
[PATCH] Fix default value for commit interval for older reiserfs filesystems.

From: Bart Samwel <bart@samwel.tk>

The reiserfs patch that adds support for "commit=0" saves the default max
commit age in a variable when the fs is originally mounted, so that it can
later restore it.  Unfortunately it makes some mistakes with that:

- The default is not saved when the original mount has a commit=NNN option.

- The default is not correctly saved for older reiserfs filesystems, where
  the default was not stored on disk.

This patch fixes these mistakes.

21 years ago[PATCH] direct-IO return type fixes
Andrew Morton [Mon, 19 Apr 2004 05:06:03 +0000 (22:06 -0700)]
[PATCH] direct-IO return type fixes

From: me, Badari Pulavarty <pbadari@us.ibm.com>

Currently a direct-IO read or write of more than 2G on 64-bit machines is
broken.  Replace int with ssize_t in various places to fix that up.

21 years ago[PATCH] Increase number of dynamic inodes in procfs
Andrew Morton [Mon, 19 Apr 2004 05:05:51 +0000 (22:05 -0700)]
[PATCH] Increase number of dynamic inodes in procfs

From: Nathan Lynch <nathanl@austin.ibm.com>

On some larger ppc64 configurations /proc/device-tree is exhausting procfs'
dynamic (non-pid) inode range (16K).  This patch makes the dynamic inode
range 0xf0000000-0xffffffff and changes the inode number allocator to use
the idr.c allocator for the first-fit allocations.

21 years ago[PATCH] fix load_elf_binary error path on unshare_files error
Andrew Morton [Mon, 19 Apr 2004 05:05:40 +0000 (22:05 -0700)]
[PATCH] fix load_elf_binary error path on unshare_files error

From: Chris Wright <chrisw@osdl.org>

Make sure to return proper retval on unshare_files() error in load_elf_binary.

Error noted by Kirill Korotaev <kirillx@7ka.mipt.ru>.

21 years ago[PATCH] idr.c: extra features enhancements
Andrew Morton [Mon, 19 Apr 2004 05:05:29 +0000 (22:05 -0700)]
[PATCH] idr.c: extra features enhancements

From: Jim Houston <jim.houston@comcast.net>

- Adds idr_get_new_above(), whihc permits us to do a first-fit search
  from a specified offset rather than always from zero.

- Add IDR_INIT() DEFINE_IDR() constructors.  Often idr's are singletons
  and having to cook up an initcall for them is a pain.

This is needed by the "Increase number of dynamic inodes in procfs" patch.

21 years ago[PATCH] Rename PF_IOTHREAD to PF_NOFREEZE
Andrew Morton [Mon, 19 Apr 2004 05:05:17 +0000 (22:05 -0700)]
[PATCH] Rename PF_IOTHREAD to PF_NOFREEZE

From: Nigel Cunningham <ncunningham@users.sourceforge.net>

A few weeks ago, Pavel and I agreed that PF_IOTHREAD should be renamed to
PF_NOFREEZE.  This reflects the fact that some threads so marked aren't
actually used for IO while suspending, but simply shouldn't be frozen.
This patch, against 2.6.5 vanilla, applies that change.  In the
refrigerator calls, the actual value doesn't matter (so long as it's
non-zero) and it makes more sense to use PF_FREEZE so I've used that.

21 years ago[PATCH] CPU_MASK_ALL fix
Andrew Morton [Mon, 19 Apr 2004 05:05:02 +0000 (22:05 -0700)]
[PATCH] CPU_MASK_ALL fix

From: Nick Piggin <nickpiggin@yahoo.com.au>

Do the typecast thing to permit CPU_MASK_ALL to be used both as an
initialiser and as a normal rvalue.

21 years ago[PATCH] ppc/ppc64: Add posix message queue syscalls
Andrew Morton [Mon, 19 Apr 2004 05:04:49 +0000 (22:04 -0700)]
[PATCH] ppc/ppc64: Add posix message queue syscalls

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

This patch adds the posix message queue syscalls to ppc32 and 64 and fixes
our implementation of compat copy siginfo to 32 bits userland which wasn't
using the si_code but still doing a switch/case on the signal number.

I also reserved some syscalls for the numa API

21 years ago[IPSEC]: Add SPD priority for PF_KEY interface.
Brian Buesker [Mon, 19 Apr 2004 04:42:50 +0000 (21:42 -0700)]
[IPSEC]: Add SPD priority for PF_KEY interface.

21 years ago[IPV6]: Prevent IPV6=m and IP6_NF_QUEUE=y
Herbert Xu [Mon, 19 Apr 2004 04:42:10 +0000 (21:42 -0700)]
[IPV6]: Prevent IPV6=m and IP6_NF_QUEUE=y

21 years ago[NET]: Fix pc300_drv warnings.
Andrew Morton [Mon, 19 Apr 2004 04:41:20 +0000 (21:41 -0700)]
[NET]: Fix pc300_drv warnings.

21 years ago[ATM]: Warning fix for lec.h
Andrew Morton [Mon, 19 Apr 2004 04:40:41 +0000 (21:40 -0700)]
[ATM]: Warning fix for lec.h

21 years agoMerge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
David S. Miller [Mon, 19 Apr 2004 04:19:10 +0000 (21:19 -0700)]
Merge davem@nuts.davemloft.net:/disk1/BK/sparc-2.6
into hera.kernel.org:/home/davem/BK/sparc-2.6

21 years ago[SPARC]: Add MQ syscall support.
Jakub Jelínek [Mon, 19 Apr 2004 03:35:59 +0000 (20:35 -0700)]
[SPARC]: Add MQ syscall support.

21 years agoMerge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
David S. Miller [Sun, 18 Apr 2004 16:02:42 +0000 (09:02 -0700)]
Merge nuts.davemloft.net:/disk1/BK/sparcwork-2.6
into nuts.davemloft.net:/disk1/BK/sparc-2.6

21 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-rmk
Linus Torvalds [Sun, 18 Apr 2004 15:12:31 +0000 (08:12 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[ARM] Clean up ARM includes
Russell King [Sun, 18 Apr 2004 23:32:07 +0000 (00:32 +0100)]
[ARM] Clean up ARM includes

This removes a number of unnecessary includes from the ARM specific
files throughout the kernel.  Most notably asm/pgalloc.h is
needlessly included in several places.  There were some places
including it as a means to get at the cache flushing functions,
so this has been corrected.

21 years ago[PATCH] Fix typo in previous patch
Benjamin Herrenschmidt [Sun, 18 Apr 2004 15:04:12 +0000 (08:04 -0700)]
[PATCH] Fix typo in previous patch

This is my brown paper bag day, I sent you the wrong patch for
fixing the deadlock in rtas.c, here's one to apply on top of current
bk that fixes build.

21 years agoFix permission problem on include/video/neomagic.h
Linus Torvalds [Sun, 18 Apr 2004 05:18:59 +0000 (22:18 -0700)]
Fix permission problem on include/video/neomagic.h

21 years ago[PATCH] Amiga Zorro8390 Ethernet KERN_*
Geert Uytterhoeven [Sun, 18 Apr 2004 04:14:36 +0000 (21:14 -0700)]
[PATCH] Amiga Zorro8390 Ethernet KERN_*

Amiga Zorro8390 Ethernet: Add KERN_* prefixes to printk() messages

21 years ago[PATCH] Amiga Hydra Ethernet KERN_*
Geert Uytterhoeven [Sun, 18 Apr 2004 04:14:22 +0000 (21:14 -0700)]
[PATCH] Amiga Hydra Ethernet KERN_*

Amiga Hydra Ethernet: Add KERN_* prefixes to printk() messages

21 years ago[PATCH] Amiga Ariadne Ethernet KERN_*
Geert Uytterhoeven [Sun, 18 Apr 2004 04:14:10 +0000 (21:14 -0700)]
[PATCH] Amiga Ariadne Ethernet KERN_*

Amiga Ariadne Ethernet: Add KERN_* prefixes to printk() messages

21 years ago[PATCH] Amiga A2065 Ethernet debug
Geert Uytterhoeven [Sun, 18 Apr 2004 04:13:57 +0000 (21:13 -0700)]
[PATCH] Amiga A2065 Ethernet debug

Amiga A2065 Ethernet: Add missing variable in debug code

21 years ago[PATCH] fix visws build
Andrew Morton [Sun, 18 Apr 2004 03:56:22 +0000 (20:56 -0700)]
[PATCH] fix visws build

From: Andrey Panin <pazke@donpac.ru>

this small patch fixes visws build error in 2.6.5.

21 years ago[PATCH] Fix laptop mode writeback triggered by hdparm -y.
Andrew Morton [Sun, 18 Apr 2004 03:56:09 +0000 (20:56 -0700)]
[PATCH] Fix laptop mode writeback triggered by hdparm -y.

From: Bart Samwel <bart@samwel.tk>

Currently, an `hdparm -Y' can trigger a sync in laptop mode.  We should
only count fs-originated requests as being "disk activity".

21 years ago[PATCH] set_anon_super locking fix
Andrew Morton [Sun, 18 Apr 2004 03:55:56 +0000 (20:55 -0700)]
[PATCH] set_anon_super locking fix

Take the idr's lock while removing an element on the error path.  Spotted by
Nathan Lynch <nathanl@austin.ibm.com>.

21 years ago[PATCH] Print warning for common symbols in modules
Andrew Morton [Sun, 18 Apr 2004 03:55:43 +0000 (20:55 -0700)]
[PATCH] Print warning for common symbols in modules

From: Rusty Russell <rusty@rustcorp.com.au>

People still build modules wrong, particularly without -fno-common.  The
resulting modules don't load, but we should at least warn about it.

21 years ago[PATCH] jbd: journal_dirty_metadata locking speedup
Andrew Morton [Sun, 18 Apr 2004 03:55:31 +0000 (20:55 -0700)]
[PATCH] jbd: journal_dirty_metadata locking speedup

Reduce the locking coverage of the oft-used j_list_lock: the per-bh
jbd_lock_bh_state() gives us sufficient locking of buffer_head and
journal_head internals.

21 years ago[PATCH] rmap: nonlinear truncation
Andrew Morton [Sun, 18 Apr 2004 03:55:18 +0000 (20:55 -0700)]
[PATCH] rmap: nonlinear truncation

From: Hugh Dickins <hugh@veritas.com>

The earlier changes introducing PageAnon left truncated pages mapped into
nonlinear vmas unswappable.  Once we go to object-based rmap, it's
impossible to find where file page is mapped once page->mapping cleared:
switching them to anonymous is odd, and breaks strict commit accounting.

So now handle truncation of nonlinear vmas correctly.  And factor in
Daniel's cluster filesystem needs while we're there: when invalidating
local cache, we do want to unmap shared pages from all mms, but we do not
want to discard private COWed modifications of those pages (which
truncation discards to satisfy the SIGBUS semantics demanded by specs).

Drew from Daniel's patch (LKML 2 Mar 04), but didn't always follow it;
fewer name changes, but still some - "unmap" rather than "invalidate".
zap_page_range is not exported, safe to give it and all the too-many layers
an extra zap_details arg, in normal cases just NULL.

Given details, zap_pte_range checks page mapping or index to skip anon or
untruncated pages.  I didn't realize before implementing, that in nonlinear
case, it should set a file pte when truncating - otherwise linear pages
might appear in place of SIGBUS.  I suspect this implies that ->populate
functions ought to set file ptes beyond EOF instead of failing, but haven't
changed them as yet.

To avoid making yet another copy of that ugly linear pgidx test, added
inline function linear_page_index (to pagemap.h to get PAGE_CACHE_SIZE,
though as usual things don't really work if it differs from PAGE_SIZE).
Ooh, I thought I'd removed ___add_to_page_cache last time, do so now.

unmap_page_range static, shift its hugepage check up into sole caller
unmap_vmas.  Killed "killme" debug from unmap_vmas, not seen it trigger.
unmap_mapping_range is exported without restriction: I'm one of those who
believe it should be generally available.  But I'm wrongly placed to decide
that, probably just sob quietly to myself if _GPL added later.

21 years ago[PATCH] rmap: swap_unplug page
Andrew Morton [Sun, 18 Apr 2004 03:55:06 +0000 (20:55 -0700)]
[PATCH] rmap: swap_unplug page

From: Hugh Dickins <hugh@veritas.com>

Good example of "swapper_space considered harmful": swap_unplug_io_fn was
originally designed for calling via swapper_space.backing_dev_info; but
that way it loses track of which device is to be unplugged, so had to
unplug all swap devices.  But now sync_page tests SwapCache anyway, can
call swap_unplug_io_fn with page, which leads direct to the device.

Reverted -mc4's CONFIG_SWAP=n fix, just add another NOTHING for it.
Reverted -mc3's editorial adjustments to swap_backing_dev_info and
swapper_space initializations: they document the few fields which are
actually used now, as comment above them says (sound of slapped wrist).

21 years ago[PATCH] rmap: flush_dcache revisited
Andrew Morton [Sun, 18 Apr 2004 03:54:52 +0000 (20:54 -0700)]
[PATCH] rmap: flush_dcache revisited

From: Hugh Dickins <hugh@veritas.com>

One of the callers of flush_dcache_page is do_generic_mapping_read, where
file is read without i_sem and without page lock: concurrent truncation may
at any moment remove page from cache, NULLing ->mapping, making
flush_dcache_page liable to oops.  Put result of page_mapping in a local
variable and apply mapping_mapped to that (if we were to check for NULL
within mapping_mapped, it's unclear whether to say yes or no).

parisc and arm do have other locking unsafety in their i_mmap(_shared)
searching, but that's a larger issue to be dealt with down the line.

21 years ago[PATCH] Oprofilefs cant handle > 99 cpus
Andrew Morton [Sun, 18 Apr 2004 03:54:39 +0000 (20:54 -0700)]
[PATCH] Oprofilefs cant handle > 99 cpus

From: Anton Blanchard <anton@samba.org>

Oprofilefs cant handle > 99 cpus. This should fix it.

21 years ago[PATCH] Fix unix module
Andrew Morton [Sun, 18 Apr 2004 03:54:27 +0000 (20:54 -0700)]
[PATCH] Fix unix module

From: Rusty Russell <rusty@rustcorp.com.au>

# lsmod
Module                  Size  Used by
1                      26060  6
#

The compiler #define's unix to 1: we use -DKBUILD_MODNAME=unix.  We used to
#undef unix at the top of af_unix.c, but now the name is inserted by
modpost, that doesn't help.

#undef unix in modpost.c's generated C file.

21 years ago[PATCH] ppc64: Fix CPU hot unplug deadlock
Andrew Morton [Sun, 18 Apr 2004 03:54:15 +0000 (20:54 -0700)]
[PATCH] ppc64: Fix CPU hot unplug deadlock

From: Benjamin Herrenschmidt <benh@kernel.crashing.org>

My RTAS locking fixes incorrectly added a spinlock around the function used
to stop a CPU, that function never returns, thus the lock becomes stale.
The correct fix is to disable interrupts instead (the RTAS params beeing
per-CPU, this should be safe enough)

21 years agoAllow non-LFS sendfile to work on LFS files.
Linus Torvalds [Sun, 18 Apr 2004 03:51:30 +0000 (20:51 -0700)]
Allow non-LFS sendfile to work on LFS files.

But obviously only if we're not passing in any offset pointer.

This is how 2.4.x worked, and vsftpd relies on it.

Bug reported by Chris < chris@scary.beasts.org>

21 years agoMerge master.kernel.org:/home/davem/BK/net-2.6
Linus Torvalds [Sun, 18 Apr 2004 03:47:28 +0000 (20:47 -0700)]
Merge master.kernel.org:/home/davem/BK/net-2.6
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[ARM] Add detailed documentation concerning ARM page tables
Russell King [Sat, 17 Apr 2004 23:19:03 +0000 (00:19 +0100)]
[ARM] Add detailed documentation concerning ARM page tables

This adds detailed documentation concerning how we map the Linux
page table structure onto the hardware tables on ARM.  In addition,
it also adds documentation describing how we emulate the "dirty"
and "young" or "accessed" page table bits.

This should be of interest to Linux MM developers.

21 years ago[PATCH] Fix vma corruption
Hugh Dickins [Sat, 17 Apr 2004 10:50:14 +0000 (03:50 -0700)]
[PATCH] Fix vma corruption

It occurred to me that if vma and new_vma are one and the same, then
vma_relink_file will not do a good job of linking it after itself - in
that pretty unlikely case when move_page_tables fails.

And more generally, whenever copy_vma's vma_merge succeeds, we have no
guarantee that old vma comes before new_vma in the i_mmap lists, as we
need to satisfy Rajesh's point: that ordering is only guaranteed in the
newly allocated case.

We have to abandon the ordering method when/if we move from lists to
prio_trees, so this patch switches to the less glamorous use of
i_shared_sem exclusion, as in my prio_tree mremap.

21 years ago[PATCH] Remove unused 'kobject' from superblock
Alexander Viro [Sat, 17 Apr 2004 10:45:53 +0000 (03:45 -0700)]
[PATCH] Remove unused 'kobject' from superblock

The field in question is
  a) unused
  b) damn next to impossible to use correctly, due to struct super_block
     lifetime and locking rules.

21 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-pcmcia
Linus Torvalds [Sat, 17 Apr 2004 10:44:47 +0000 (03:44 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-pcmcia
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-serial
Linus Torvalds [Sat, 17 Apr 2004 10:43:18 +0000 (03:43 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-serial
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[SERIAL] Use module_param/module_param_array
Russell King [Sat, 17 Apr 2004 12:08:39 +0000 (13:08 +0100)]
[SERIAL] Use module_param/module_param_array

Update serial to use new module parameters rather than
MODULE_PARM.

21 years ago[SERIAL] Remove check_region()
Russell King [Sat, 17 Apr 2004 11:31:25 +0000 (12:31 +0100)]
[SERIAL] Remove check_region()

21 years agoMerge bk://bk.arm.linux.org.uk/linux-2.6-rmk
Linus Torvalds [Sat, 17 Apr 2004 10:41:41 +0000 (03:41 -0700)]
Merge bk://bk.arm.linux.org.uk/linux-2.6-rmk
into ppc970.osdl.org:/home/torvalds/v2.6/linux

21 years ago[PCMCIA] Conversion to module_param
Pavel Roskin [Sat, 17 Apr 2004 10:41:18 +0000 (11:41 +0100)]
[PCMCIA] Conversion to module_param

Patch from: Pavel Roskin

As it turns out, mixing MODULE_PARM and module_param in one module is
wrong.  The parameters specified in module_param are ignored.  I've just
posted a patch to LKML that will detect this condition and warn about it.

The new debugging code used the new-style module_param, which means that
all instances of MODULE_PARM should be converted.  The attached patch does
that.

An additional bonus is that module_param_array provides the number of
array elements.  This allowed me to change tcic.c and i82365.c to use
this number for IRQ list.  This change was tested with i82365.  If
"irq_list" is not specified, irq_list_count is 0.

I set all permissions to 0444 to be safe.  I think we have no secrets
from the users regarding those parameters.  If some parameters can be
changed safely at the runtime, the permissions could be changed to 0644.
I didn't examine how safe (and how useful) it would be, so it's 0444 for
now.

21 years ago[PATCH] ARM-related ptep_to_address() fix
Andrew Morton [Sat, 17 Apr 2004 10:32:46 +0000 (03:32 -0700)]
[PATCH] ARM-related ptep_to_address() fix

From: William Lee Irwin III <wli@holomorphy.com>

rmk mentioned that ARM was borked as the relation, assumed by generic rmap,
PTRS_PER_PTE*sizeof(pte_t) == PAGE_SIZE, fails to hold.  The following
patch, developed jointly with him (or depending on POV, by him with me
acting as codemonkey), is reported to resolve the issue.

Specifically, while ARM dedicates an entire PAGE_SIZE -sized block of
memory to each PTE table, the PTE table itself only spans half that, the
remainder being dedicated to hardware-interpreted structures.  As the
hardware structure must be contiguous, wider ptes can't be used.  So the
core-visible PTE table only spans PAGE_SIZE/2 bytes, violating the
assumption.  This corrects masking and scaling done in ptep_to_address().

21 years ago[PATCH] aty128fb dereference before null check
Andrew Morton [Sat, 17 Apr 2004 10:29:32 +0000 (03:29 -0700)]
[PATCH] aty128fb dereference before null check

From: Dave Jones <davej@redhat.com>

21 years ago[PATCH] mqueue permission fix
Andrew Morton [Sat, 17 Apr 2004 10:29:22 +0000 (03:29 -0700)]
[PATCH] mqueue permission fix

From: Manfred Spraul <manfred@colorfullife.com>

Any user can delete any entries in a mqueue mounted filesystem.  The attached
patch prevents that.

- remove the writable test from mq_unlink.

- set the sticky bit in the root inode.  This affects both mq_unlink and
  sys_unlink: only the owner (and root) should be allowed to remove queues.

21 years ago[PATCH] Fix bogus get_page() calls in hugepage code
Andrew Morton [Sat, 17 Apr 2004 10:29:12 +0000 (03:29 -0700)]
[PATCH] Fix bogus get_page() calls in hugepage code

From: David Gibson <david@gibson.dropbear.id.au>

Some versions of follow_huge_addr() and follow_huge_pmd() are doing a
get_page() on the target page.  They shouldn't: follow_page() returns an
unpinned page and it is the caller's responsibility to pin the page (if
desired) before dropping page_table_lock.

21 years ago[PATCH] ppc64: yet another hugepage cleanup
Andrew Morton [Sat, 17 Apr 2004 10:29:02 +0000 (03:29 -0700)]
[PATCH] ppc64: yet another hugepage cleanup

From: David Gibson <david@gibson.dropbear.id.au>

Trivial cleanup to flush_hash_hugepage() in the ppc64 hugepage code.

21 years ago[PATCH] ipmi build fix
Andrew Morton [Sat, 17 Apr 2004 10:28:52 +0000 (03:28 -0700)]
[PATCH] ipmi build fix

From: Geert Uytterhoeven <geert@linux-m68k.org>

While compiling drivers/char/ipmi/ipmi_si_intf.c in 2.6.6-rc1 on m68k, I
noticed a missing include (needed for disable_irq_nosync() and enable_irq())

21 years ago[PATCH] floppy98.c build fixes
Andrew Morton [Sat, 17 Apr 2004 10:28:36 +0000 (03:28 -0700)]
[PATCH] floppy98.c build fixes

From: "Randy.Dunlap" <rddunlap@osdl.org>

floppy98.c (along with other PC-9800 files) has not been updated lately.  It
won't build currently (2.6.5).

This patch makes floppy98 build cleanly.