aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES10
-rw-r--r--CREDITS605
-rw-r--r--Makefile2
-rw-r--r--README56
-rw-r--r--drivers/char/serial.c4
-rw-r--r--drivers/net/slip.c6
-rw-r--r--fs/isofs/inode.c33
-rw-r--r--net/inet/route.c14
-rw-r--r--net/inet/tcp.c4
9 files changed, 693 insertions, 41 deletions
diff --git a/CHANGES b/CHANGES
index 4e74e16..7e36f50 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,13 @@
+CHANGES since 0.99 patchlevel 15:
+
+ - removed all the bugs, of course.
+ - networking fixes.
+ - more changes than I really wanted..
+
+CHANGES since 0.99 patchlevel 14:
+
+ - too many to count, really. Besides, I've lost my notes.
+
CHANGES since 0.99 patchlevel 13:
- new kernel source layout: drivers separated
diff --git a/CREDITS b/CREDITS
new file mode 100644
index 0000000..dfe6118
--- /dev/null
+++ b/CREDITS
@@ -0,0 +1,605 @@
+ This is at least a partial credits-file of people that have
+ contributed to the linux project. It is sorted by name, and
+ formatted in a format that allows for easy grepping and
+ beautification by scripts. The fields are: name (N), email (E),
+ description (D) and snail-mail address (S). Thanks,
+
+ Linus
+----------
+
+N: Krishna Balasubramanian
+E: balasub@cis.ohio-state.edu
+D: Wrote SYS V IPC (part of standard kernel since 0.99.10)
+
+N: Arindam Banerji
+E: axb@cse.nd.edu
+D: Contributed ESDI driver routines needed to port LINUX to the PS/2 MCA.
+S: Department of Computer Science & Eng.
+S: University of Notre Dame
+S: Notre Dame, Indiana
+S: USA
+
+N: Peter Bauer
+E: 100136.3530@compuserve.com
+D: Driver for depca-ethernet-board
+S: 69259 Wilhemsfeld
+S: Rainweg 15
+S: Germany
+
+N: Fred Baumgarten
+E: dc6iq@insu1.etec.uni-karlsruhe.de
+D: NET-2 & netstat(8)
+S: Kandelstrasse 27
+S: 76297 Stutensee
+S: Germany
+
+N: Donald Becker
+E: becker@super.org
+D: General low-level networking hacker
+D: Most of the ethercard drivers
+D: Original author of the NFS server
+S: 17100 Science Drive
+S: Bowie, Maryland 20715
+S: USA
+
+N: Stephen R. van den Berg (AKA BuGless)
+E: berg@pool.informatik.rwth-aachen.de
+D: General kernel, gcc, and libc hacker
+D: Specialisation: tweaking, ensuring portability, tweaking, cleaning,
+D: tweaking and occasionally debugging :-)
+S: Bouwensstraat 22
+S: 6369 BG Simpelveld
+S: The Netherlands
+
+N: Hennus Bergman
+E: hennus@sky.nl.mugnet.org [My uucp-fed Linux box at home]
+E: csg279@wing.rug.nl [Alternate address]
+D: Author and maintainer of the QIC-02 tape driver
+S: The Netherlands
+
+N: Ross Biro
+E: bir7@leland.Stanford.Edu
+D: Original author of the Linux networking code
+
+N: Bill Bogstad
+E: bogstad@cs.jhu.edu
+D: Wrote /proc/self patch
+S: Johns Hopkins University
+S: Computer Science Department
+S: Baltimore, Maryland 21218
+S: USA
+
+N: John Boyd
+E: boyd@cis.ohio-state.edu
+D: Co-author of wd7000 SCSI driver
+S: 101 Curl Drive #591
+S: Columbus, Ohio 43210
+S: USA
+
+N: Andries Brouwer
+E: aeb@cwi.nl
+D: International character handling for keyboard and console
+S: Bessemerstraat 21
+S: Amsterdam
+S: The Netherlands
+
+N: Remy Card
+E: Remy.Card@masi.ibp.fr
+D: Extended file system designer and developer
+D: Second extended file system designer and developer
+S: Institut Blaise Pascal
+S: 4 Place Jussieu, 75252 Paris Cedex 05
+S: France
+
+N: Ed Carp
+E: ecarp@netcom.com
+D: uucp, elm, pine, pico port
+D: cron, at(1) developer
+S: 48287 Sawleaf
+S: Fremont, California 94539
+S: USA
+
+N: Raymond Chen
+E: raymondc@microsoft.com
+D: Author of Configure script
+S: 14509 NE 39th St, #1096
+S: Bellevue WA 98007
+S: USA
+
+N: Alan Cox
+E: iiitac@pyr.swan.ac.uk
+E: gw4pts@gw4pts.ampr.org
+E: GW4PTS@GB7SWN (packet radio)
+D: NET2Debugged author
+D: Network layer debugging
+D: AX.25 & IPX alpha releases
+S: <No>
+
+N: Laurence Culhane
+E: loz@holmes.demon.co.uk
+D: Wrote the initial alpha SLIP code
+S: 81 Hood Street
+S: Northampton
+S: NN1 3QT
+S: England
+
+N: Wayne Davison
+E: davison@borland.com
+D: Second extended file system co-designer
+
+N: Thomas Dunbar
+E: tdunbar@vtaix.cc.vt.edu
+D: TeX & METAFONT hacking/maintainence
+S: Dean, Graduate School
+S: Virginia Tech
+S: Blacksburg, Virginia 24061
+S: USA
+
+N: Torsten Duwe
+E: Torsten.Duwe@informatik.uni-erlangen.de
+D: Part-time kernel hacker
+D: The Linux Support Team Erlangen
+S: Grevenbroicher Str. 17
+S: 47807 Krefeld
+S: Germany
+
+N: Drew Eckhardt
+E: drew@cs.Colorado.EDU
+D: SCSI code
+D: Assorted snippets elsewhere
+D: Boot sector "..." printing
+S: 538 West Laurell Court
+S: Louisville, Colorado 80027
+S: USA
+
+N: Bjorn Ekwall
+E: bj0rn@blox.se
+D: Driver for the D-Link parallel port Ethernet adapter
+S: Myrstuguv. 83
+S: S-143 32 VARBY
+S: Sweden
+
+N: Doug Evans
+E: dje@cygnus.com
+D: Wrote Xenix FS (part of standard kernel since 0.99.15)
+
+N: Rik Faith
+E: faith@cs.unc.edu
+D: Future Domain TMC-16x0 SCSI driver
+
+N: Juergen Fischer
+E: fischer@server.et-inf.fho-emden.de
+D: Author of Adaptec AHA-152x scsi driver
+S: Schulstrasse 18
+S: 26506 Norden
+S: Germany
+
+N: Jeremy Fitzhardinge
+E: jeremy@sw.oz.au
+D: Improved mmap and munmap handling
+D: General mm minor tidyups
+S: 99 Albermarle Street
+S: Newtown 2042
+S: Australia
+
+N: Ralf Flaxa
+E: rfflaxa@immd4.informatik.uni-erlangen.de
+D: The Linux Support Team Erlangen
+
+N: Nigel Gamble
+E: nigel%gamble.uucp@gate.net
+D: Interrupt-driven printer driver
+S: 301 Norwood Terrace, Apartment N226
+S: Boca Raton, Florida 33431-6588
+S: USA
+
+N: Philip Gladstone
+E: philipg@onsett.com
+D: Kernel / timekeeping stuff
+
+N: Bruno Haible
+E: haible@ma2s2.mathematik.uni-karlsruhe.de
+D: Unified SysV FS based on Xenix FS (part of standard kernel since 0.99.15)
+S: Augartenstrasse 40
+S: D - 76137 Karlsruhe
+S: Germany
+
+N: Andrew Haylett
+E: ajh@gec-mrc.co.uk
+D: Selection mechanism
+S: GEC-Marconi Research Centre
+S: West Hanningfield Road
+S: Great Baddow, Essex CM2 8HN
+S: UK
+
+N: Dirk Hohndel
+E: hohndel@informatik.uni-wuerzburg.de
+D: XFree86
+S: Universit"at W"urzburg, LS Informatik I
+S: Am Hubland, 97218 W"urzburg
+S: Germany
+
+N: Nick Holloway
+E: alfie@dcs.warwick.ac.uk
+D: Small patches for kernel, libc
+D: Makedev
+S: Department of Computer Science
+S: University of Warwick
+S: Coventry
+S: CV4 7AL
+S: UK
+
+N: Ron Holt
+E: ron@novell.com
+D: Kernel development
+D: Contributed to kernel Wabi/Wine support
+S: Novell, Inc.
+S: 1700 South 122 East, Mailstop CP-1
+S: Provo, Utah 84606
+S: USA
+
+N: Rob W. W. Hooft
+E: hooft@EMBL-Heidelberg.DE
+D: Shared libs for graphics-tools and for the f2c compiler
+D: Some kernel programming on the floppy and sounddrivers in early days
+D: Some other hacks to get different kinds of programs to work for linux
+S: Panoramastrasse 18
+S: D-69126 Heidelberg
+S: Germany
+
+N: Michael K. Johnson
+E: johnsonm@sunsite.unc.edu
+D: The Linux Documentation Project
+D: Kernel Hackers' Guide
+D: Procps
+D: Proc filesystem
+D: Maintain tsx-11.mit.edu
+D: LP driver
+S: 201 Howell Street, Apartment 1C
+S: Chapel Hill, North Carolina 27514-4818
+S: USA
+
+N: Fred N. van Kempen
+E: waltje@uwalt.nl.mugnet.org
+D: NET-2
+D: Drivers
+D: Kernel cleanups
+S: Hoefbladhof 27
+S: 2215 DV Voorhout
+S: The Netherlands
+
+N: Olaf Kirch
+E: okir@monad.swb.de
+D: Author of the Linux Network Administrators' Guide
+S: Kattreinstr 38
+S: D-64295
+S: Germany
+
+N: Ian Kluft
+E: ikluft@thunder.sbay.org
+D: Smail binary packages for Slackware and Debian
+S: 2200 Monroe Street #1509
+S: Santa Clara, California 95050-3452
+S: USA
+
+N: Rudolf Koenig
+E: rfkoenig@immd4.informatik.uni-erlangen.de
+D: The Linux Support Team Erlangen
+
+N: Bas Laarhoven
+E: bas@vimec.nl
+D: Loadable modules and ftape driver
+S: Mr. v. Boemellaan 39
+S: NL-5237 KA 's-Hertogenbosch
+S: The Netherlands
+
+N: Warner Losh
+E: imp@boulder.parcplace.com
+D: Provided OI/OB for Linux, general hacker
+S: 4909 Pearl East Circle Suite 200
+S: Boulder, Colorado 80303
+S: USA
+
+N: H.J. Lu
+E: hjl@nynexst.com
+D: GCC + libraries hacker
+
+N: Tuomas J. Lukka
+E: Tuomas.Lukka@Helsinki.FI
+D: Original dual-monitor patches
+D: Console-mouse-tracking patches
+S: Puistokaari 1 E 18
+S: 00200 Helsinki
+S: Finland
+
+N: Kai M"akisara
+E: Kai.Makisara@vtt.fi
+D: SCSI Tape Driver
+
+N: James B. MacLean
+E: jmaclean@fox.nstn.ns.ca
+D: Coordinator of DOSEMU releases
+D: Program in DOSEMU
+S: PO BOX 220, HFX. CENTRAL
+S: Halifax, Nova Scotia
+S: Canada B3J 3C8
+
+N: Pat Mackinlay
+E: pat@it.com.au
+D: 8 bit XT hard disk driver
+D: Miscellaneous ST0x, TMC-8xx and other SCSI hacking
+S: 25 McMillan Street
+S: Victoria Park, 6100
+S: Western Australia
+
+N: John A. Martin
+E: jmartin@csc.com
+E: jam@acm.org
+E: j.a.martin@ieee.org
+D: FSSTND contributor
+D: Credit file compilator
+S: Computer Sciences Corporation
+S: 1100 West Street
+S: Laurel, Maryland 20707-3587
+S: USA
+
+N: Bradley McLean
+E: brad@bradpc.gaylord.com
+D: Device driver hacker
+D: General kernel debugger
+S: 249 Nichols Avenue
+S: Syracuse, New York 13206
+S: USA
+
+N: Craig Metz
+E: cmetz@tjhsst.edu
+D: Some of PAS 16 mixer & PCM support
+S: 12305 Country Ridge Lane
+S: Fairfax, Virginia 22033
+S: USA
+
+N: William (Bill) Metzenthen
+E: billm@vaxc.cc.monash.edu.au
+E: billm@jacobi.maths.monash.edu.au
+D: Author of the FPU emulator.
+D: Minor kernel hacker for other lost causes (Hercules mono, etc).
+S: 22 Parker Street
+S: Ormond
+S: Victoria 3163
+S: Australia
+
+N: Rick Miller
+E: rick@discus.mil.wi.us
+D: Linux Device Registrar (Major/minor numbers), "au-play", "bwBASIC"
+S: S78 W16203 Woods Road
+S: Muskego, Wisconsin 53150
+S: USA
+
+N: Corey Minyard
+E: minyard@wf-rch.cirr.com
+D: Sony CDU31A CDROM Driver
+S: 1805 Marquette
+S: Richardson, Texas 75081
+S: USA
+
+N: Eberhard Moenkeberg
+E: emoenke@gwdg.de
+D: CDROM driver "sbpcd" (Matsushita/Panasonic/Soundblaster)
+S: Reinholdstrasse 14
+S: D-37083 Goettingen
+S: Germany
+
+N: Ian A. Murdock
+E: imurdock@shell.portal.com
+D: Creator of Debian distribution
+S: 30 White Tail Lane
+S: Lafayette, Indiana 47906
+S: USA
+
+N: Johan Myreen
+E: jem@vipunen.hut.fi
+D: PS/2 mouse driver writer etc.
+S: Dragonvagen 1 A 13
+S: FIN-00330 Helsingfors
+S: Finland
+
+N: Stefan Probst
+E: snprobst@immd4.informatik.uni-erlangen.de
+D: The Linux Support Team Erlangen
+
+N: Daniel Quinlan
+E: quinlan@bucknell.edu
+D: FSSTND Coordinator
+S: Box C3529
+S: Bucknell University
+S: Lewisburg, Pennsylvania 17837
+S: USA
+
+N: Florian La Roche
+E: rzsfl@rz.uni-sb.de
+E: flla@stud.uni-sb.de
+D: Net programs and kernel net hacker
+S: Gaildorfer Str. 27
+S: 7000 Stuttgart 50
+S: Germany
+
+N: Robert Sanders
+E: gt8134b@prism.gatech.edu
+D: Dosemu
+
+N: Peter De Schrijver
+E: stud11@cc4.kuleuven.ac.be
+D: Mitsumi CD-ROM driver patches March version
+S: Molenbaan 29
+S: B2240 Zandhoven
+S: Belgium
+
+N: Darren Senn
+E: sinster@scintilla.santa-clara.ca.us
+D: Whatever I notice needs doing (so far: itimers, /proc)
+S: 620 Park View Drive #206
+S: Santa Clara, California 95054
+S: USA
+
+N: Chris Smith
+E: csmith@convex.com
+D: HPFS filesystem
+S: Richardson, Texas
+S: USA
+
+N: Drew Sullivan
+E: drew@lethe.north.net
+D: iBCS2 developer
+S: 22 Irvington Cres.
+S: Willowdale, Ontario
+S: Canada, M2N 2Z1
+
+N: Tommy Thorn
+E: Tommy.Thorn@daimi.aau.dk
+D: Device driver hacker (aha1542 & plip)
+S: Aarhus University
+S: Computer Science Department
+S: Ny Munkegade 116
+S: DK-8000 Aarhus C
+S: Denmark
+
+N: Jon Tombs
+E: jon@gtex02.us.es
+D: NFS mmap()
+D: XF86_S3
+D: Kernel modules
+S: C/ Teodosio 43
+S: Portal 6 1-A
+S: Sevilla 41002
+S: Spain
+
+N: Linus Torvalds
+E: Linus.Torvalds@Helsinki.FI
+D: General kernel hacker
+S: Kalevankatu 55 B 37
+S: 00180 Helsinki
+S: Finland
+
+N: Theodore Ts'o
+E: tytso@mit.edu
+D: Random Linux hacker
+D: Maintainer of tsx-11.mit.edu ftp archive
+D: Maintainer of c.o.l.* Usenet<->mail gateway
+D: Author of serial driver
+D: Author of the new e2fsck
+D: Author of job control and system call restart code
+D: Author of ramdisk device driver
+D: Author of loopback device driver
+S: MIT Room E40-343
+S: 1 Amherst Street
+S: Cambridge, Massachusetts 02139
+S: USA
+
+N: Simmule Turner
+E: simmy@digex.com
+D: Added swapping to filesystem
+S: 8504 16th Street #406
+S: Silver Spring, Maryland 20910
+S: USA
+
+N: Stephen Tweedie
+E: sct@dcs.ed.ac.uk
+D: Second extended file system developer
+D: General filesystem hacker
+S: Dept. of Computer Science
+S: University of Edinburgh
+S: JCMB, The King's Buildings
+S: Mayfield Road
+S: Edinburgh EH9 3JZ
+S: Scotland, UK
+
+N: Thomas Uhl
+E: uhl@sun1.rz.fh-heilbronn.de
+D: Application programmer
+D: Linux promoter
+D: Author of a German book on Linux
+S: Obere Heerbergstrasse 17
+S: 97078 Wuerzburg
+S: Germany
+
+N: Juergen Weigert
+E: jnweiger@immd4.informatik.uni-erlangen.de
+D: The Linux Support Team Erlangen
+
+N: Matt Welsh
+E: mdw@sunsite.unc.edu
+D: Linux Documentation Project coordinator
+D: Author, Linux Installation and Getting Started
+D: HOWTO coordinator and writer
+D: Maintainer of sunsite.unc.edu Linux doc archives
+D: Moderator, comp.os.linux.announce
+S: 205 Gray Street NE
+S: Wilson, North Caroilina 27893
+S: USA
+
+
+N: Marco van Wieringen
+E: mvw@mercury.mcs.nl.mugnet.org
+D: Author of acct and quota
+S: Breeburgsingel 12
+S: 2135 CN Hoofddorp
+S: The Netherlands
+
+N: Stephen D. Williams
+E: sdw@lig.net
+E: sdw@meaddata.com
+D: Consultant, entrepreneur, developer
+S: 2464 Rosina Drive
+S: Dayton, Ohio 45342-6430
+S: USA
+
+N: G\"unter Windau
+E: gunter@mbfys.kun.nl
+D: Some bug fixes in the polling printer driver (lp.c)
+S: University of Nijmegen
+S: Geert-Grooteplein Noord 21
+S: 6525 EZ Nijmegen
+S: The Netherlands
+
+N: Lars Wirzenius
+E: lars.wirzenius@helsinki.fi
+D: Linux System Administrator's Guide
+D: Co-moderator, comp.os.linux.announce
+D: Original sprintf in kernel
+D: Personal information about Linus
+D: Original kernel README
+D: Linux News (electronic magazine)
+D: Meta-FAQ, originator
+D: INFO-SHEET, former maintainer
+S: Ohratie 16 C 198
+S: sf-01370 Vantaa
+S: Finland
+
+N: Roger E. Wolff
+E: wolff@dutecai.et.tudelft.nl
+D: Written kmalloc/kfree
+S: Oosterstraat 23
+S: 2611 TT Delft
+S: The Netherlands
+
+N: Frank Xia
+E: qx@math.columbia.edu
+D: Xiafs filesystem
+S: 542 West 112th Street, 5N
+S: New York, New York 10025
+S: USA
+
+N: Eric Youngdale
+E: eric@tantalus.nrl.navy.mil
+D: General kernel hacker
+D: SCSI iso9660 and ELF
+S: 17 Canterbury Square #101
+S: Alexandria, Virginia 22304
+S: USA
+
+N: Orest Zborowski
+E: orestz@microsoft.com
+D: XFree86 and kernel development
+S: 1507 145th Place SE #B5
+S: Bellevue, Washington 98007
+S: USA
diff --git a/Makefile b/Makefile
index a1abd43..be8194b 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-VERSION = pre-1
+VERSION = 1
PATCHLEVEL = 0
ALPHA =
diff --git a/README b/README
index 7a0d435..5bea132 100644
--- a/README
+++ b/README
@@ -2,11 +2,32 @@
Linux kernel release 1.0
These are the release notes for linux version 1.0. Read them carefully,
-as they tell you what's new, explain how to install the kernel, and what
-to do if something goes wrong.
+as they tell you what this is all about, explain how to install the
+kernel, and what to do if something goes wrong.
+
+WHAT IS LINUX?
+
+ Linux is a Unix clone for 386/486-based PCs written from scratch by
+ Linus Torvalds with assistance from a loosely-knit team of hackers
+ across the Net. It aims towards POSIX compliance.
+
+ It has all the features you would expect in a modern fully-fledged
+ Unix, including true multitasking, virtual memory, shared libraries,
+ demand loading, shared copy-on-write executables, proper memory
+ management and TCP/IP networking.
+
+ It is distributed under the GNU General Public License - see the
+ accompanying COPYING file for more details.
INSTALLING the kernel:
+ - If you install the full sources, do a
+
+ cd /usr/src
+ tar xvf linux-1.0.tar
+
+ to get it all put in place.
+
- if you install by patching, you need a *clean* 0.99.15 source tree,
which presumably exists in /usr/src/linux. If so, to get the kernel
patched, just do a
@@ -18,13 +39,6 @@ INSTALLING the kernel:
or xxx.orig), and make sure that there are no failed patches (xxx# or
xxx.rej).
- - If you install the full sources, do a
-
- cd /usr/src
- tar xvf linux-1.0.tar
-
- to get it all put in place.
-
- make sure your /usr/include/linux and /usr/include/asm directories
are just symlinks to the kernel sources:
@@ -48,6 +62,9 @@ CONFIGURING the kernel:
/bin/sh (in that order), so hopefully one of those is correct.
NOTES on "make config":
+ - having unnecessary drivers will make the kernel bigger, and can
+ under some circumstances lead to problems: probing for a
+ nonexistent controller card may confuse your other controllers
- compiling the kernel with "-m486" for a number of 486-specific
will result in a kernel that still works on a 386: it may be
slightly larger and possibly slower by an insignificant amount,
@@ -74,10 +91,10 @@ CONFIGURING the kernel:
COMPILING the kernel:
- - make sure you have gcc-2.4.5 or newer available with g++. It seems
- older gcc versions can have problems compiling linux 0.99.10 and
- newer versions. If you upgrade, remember to get the new binutils
- package too (for as/ld/nm and company)
+ - make sure you have gcc-2.4.5 or newer available. It seems older gcc
+ versions can have problems compiling newer versions of linux. If you
+ upgrade your compiler, remember to get the new binutils package too
+ (for as/ld/nm and company)
- do a "make zImage" to create a compressed kernel image. If you want
to make a bootdisk (without root filesystem or lilo), insert a floppy
@@ -94,12 +111,13 @@ COMPILING the kernel:
For some, this is on a floppy disk, in which case you can "cp
/usr/src/linux/zImage /dev/fd0" to make a bootable floppy.
- If you boot Linux from the hard drive, chances are you use LILO uses
- the kernel image as specified in the file /etc/lilo/config. The
- kernel image file is usually /vmlinux, or /Image, or /etc/Image. To
- use the new kernel, copy the new image over the old one (save a
- backup of the original!). Then, you MUST REINSTALL LILO!! If you
- don't, you won't be able to boot the new kernel image.
+ If you boot Linux from the hard drive, chances are you use LILO which
+ uses the kernel image as specified in the file /etc/lilo/config. The
+ kernel image file is usually /vmlinuz, or /zImage, or /etc/zImage.
+ To use the new kernel, copy the new image over the old one (save a
+ backup of the original!). Then, you MUST RERUN LILO to update the
+ loading map!! If you don't, you won't be able to boot the new kernel
+ image.
Reinstalling LILO is usually a matter of running /etc/lilo/install.
You may wish to edit /etc/lilo/config to specify an entry for your
diff --git a/drivers/char/serial.c b/drivers/char/serial.c
index 136be8f..6a9f27d 100644
--- a/drivers/char/serial.c
+++ b/drivers/char/serial.c
@@ -462,7 +462,7 @@ static inline int check_modem_status(struct async_struct *info)
static inline void figure_RS_timer(void)
{
- int timeout = 6000; /* 60 seconds; really big :-) */
+ int timeout = jiffies + 60*HZ; /* 60 seconds; really big :-) */
int i, mask;
if (!IRQ_active)
@@ -473,7 +473,7 @@ static inline void figure_RS_timer(void)
if (IRQ_timer[i] < timeout)
timeout = IRQ_timer[i];
}
- timer_table[RS_TIMER].expires = jiffies + timeout;
+ timer_table[RS_TIMER].expires = timeout;
timer_active |= 1 << RS_TIMER;
}
diff --git a/drivers/net/slip.c b/drivers/net/slip.c
index 2e9b2e1..311d231 100644
--- a/drivers/net/slip.c
+++ b/drivers/net/slip.c
@@ -243,9 +243,9 @@ static void sl_changedmtu(struct slip *sl)
DPRINTF((DBG_SLIP,"SLIP: mtu changed!\n"));
- tb= (unsigned char *) kmalloc(l + 4, GFP_KERNEL);
- rb= (unsigned char *) kmalloc(l + 4, GFP_KERNEL);
- cb= (unsigned char *) kmalloc(l + 4, GFP_KERNEL);
+ tb= (unsigned char *) kmalloc(l + 4, GFP_ATOMIC);
+ rb= (unsigned char *) kmalloc(l + 4, GFP_ATOMIC);
+ cb= (unsigned char *) kmalloc(l + 4, GFP_ATOMIC);
if(tb==NULL || rb==NULL || cb==NULL)
{
diff --git a/fs/isofs/inode.c b/fs/isofs/inode.c
index d800d59..0ba69b3 100644
--- a/fs/isofs/inode.c
+++ b/fs/isofs/inode.c
@@ -344,7 +344,7 @@ void isofs_read_inode(struct inode * inode)
if (!(bh=bread(inode->i_dev,block, bufsize))) {
printk("unable to read i-node block");
goto fail;
- };
+ }
pnt = ((unsigned char *) bh->b_data
+ (inode->i_ino & (bufsize - 1)));
@@ -353,18 +353,23 @@ void isofs_read_inode(struct inode * inode)
if ((inode->i_ino & (bufsize - 1)) + *pnt > bufsize){
cpnt = kmalloc(1 << ISOFS_BLOCK_BITS, GFP_KERNEL);
+ if (cpnt == NULL) {
+ printk(KERN_INFO "NoMem ISO inode %d\n",inode->i_ino);
+ brelse(bh);
+ goto fail;
+ }
memcpy(cpnt, bh->b_data, bufsize);
brelse(bh);
if (!(bh = bread(inode->i_dev,++block, bufsize))) {
- kfree_s (cpnt, 1 << ISOFS_BLOCK_BITS);
+ kfree_s(cpnt, 1 << ISOFS_BLOCK_BITS);
printk("unable to read i-node block");
goto fail;
- };
+ }
memcpy((char *)cpnt + bufsize, bh->b_data, bufsize);
pnt = ((unsigned char *) cpnt
+ (inode->i_ino & (bufsize - 1)));
raw_inode = ((struct iso_directory_record *) pnt);
- };
+ }
inode->i_mode = S_IRUGO; /* Everybody gets to read the file. */
inode->i_nlink = 1;
@@ -383,7 +388,7 @@ void isofs_read_inode(struct inode * inode)
break;
if(i == raw_inode->name_len[0] || raw_inode->name[i] == ';')
inode->i_mode |= S_IXUGO; /* execute permission */
- };
+ }
inode->i_uid = 0;
inode->i_gid = 0;
inode->i_size = isonum_733 (raw_inode->size);
@@ -394,7 +399,7 @@ void isofs_read_inode(struct inode * inode)
inode->i_sb->u.isofs_sb.s_cruft == 'n') {
printk("Warning: defective cdrom. Enabling \"cruft\" mount option.\n");
inode->i_sb->u.isofs_sb.s_cruft = 'y';
- };
+ }
/* Some dipshit decided to store some other bit of information in the high
byte of the file length. Catch this and holler. WARNING: this will make
@@ -404,12 +409,12 @@ void isofs_read_inode(struct inode * inode)
inode->i_size & 0xff000000){
/* printk("Illegal format on cdrom. Pester manufacturer.\n"); */
inode->i_size &= 0x00ffffff;
- };
+ }
if (raw_inode->interleave[0]) {
printk("Interleaved files not (yet) supported.\n");
inode->i_size = 0;
- };
+ }
#ifdef DEBUG
/* I have no idea what extended attributes are used for, so
@@ -458,8 +463,7 @@ void isofs_read_inode(struct inode * inode)
case 'm':
inode->u.isofs_i.i_file_format = ISOFS_FILE_TEXT_M; /* File type */
break;
- };
-
+ }
/* Now test for possible Rock Ridge extensions which will override some of
these numbers in the inode structure. */
@@ -472,11 +476,6 @@ void isofs_read_inode(struct inode * inode)
#endif
brelse(bh);
- if (cpnt) {
- kfree_s (cpnt, 1 << ISOFS_BLOCK_BITS);
- cpnt = NULL;
- };
-
inode->i_op = NULL;
if (inode->i_sb->u.isofs_sb.s_cruft != 'y' &&
isonum_723 (raw_inode->volume_sequence_number) != 1) {
@@ -495,6 +494,10 @@ void isofs_read_inode(struct inode * inode)
else if (S_ISFIFO(inode->i_mode))
init_fifo(inode);
}
+ if (cpnt) {
+ kfree_s (cpnt, 1 << ISOFS_BLOCK_BITS);
+ cpnt = NULL;
+ }
return;
fail:
/* With a data error we return this information */
diff --git a/net/inet/route.c b/net/inet/route.c
index f8c2a58..4998593 100644
--- a/net/inet/route.c
+++ b/net/inet/route.c
@@ -276,6 +276,20 @@ static int rt_new(struct rtentry *r)
mask = ((struct sockaddr_in *) &r->rt_genmask)->sin_addr.s_addr;
gw = ((struct sockaddr_in *) &r->rt_gateway)->sin_addr.s_addr;
+/* BSD emulation: Permits route add someroute gw one-of-my-addresses
+ to indicate which iface. Not as clean as the nice Linux dev technique
+ but people keep using it... */
+ if (!dev && (flags & RTF_GATEWAY)) {
+ struct device *dev2;
+ for (dev2 = dev_base ; dev2 != NULL ; dev2 = dev2->next) {
+ if ((dev2->flags & IFF_UP) && dev2->pa_addr == gw) {
+ flags &= ~RTF_GATEWAY;
+ dev = dev2;
+ break;
+ }
+ }
+ }
+
if (bad_mask(mask, daddr))
mask = 0;
diff --git a/net/inet/tcp.c b/net/inet/tcp.c
index fbd2e06..59980ad 100644
--- a/net/inet/tcp.c
+++ b/net/inet/tcp.c
@@ -3552,7 +3552,9 @@ tcp_write_wakeup(struct sock *sk)
if (sk->zapped)
return; /* Afer a valid reset we can send no more */
- if (sk -> state != TCP_ESTABLISHED && sk->state != TCP_CLOSE_WAIT) return;
+ if (sk -> state != TCP_ESTABLISHED && sk->state != TCP_CLOSE_WAIT &&
+ sk -> state != TCP_FIN_WAIT1 && sk->state != TCP_FIN_WAIT2)
+ return;
buff = sk->prot->wmalloc(sk,MAX_ACK_SIZE,1, GFP_ATOMIC);
if (buff == NULL) return;