diff options
-rw-r--r-- | CHANGES | 10 | ||||
-rw-r--r-- | CREDITS | 605 | ||||
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | README | 56 | ||||
-rw-r--r-- | drivers/char/serial.c | 4 | ||||
-rw-r--r-- | drivers/net/slip.c | 6 | ||||
-rw-r--r-- | fs/isofs/inode.c | 33 | ||||
-rw-r--r-- | net/inet/route.c | 14 | ||||
-rw-r--r-- | net/inet/tcp.c | 4 |
9 files changed, 693 insertions, 41 deletions
@@ -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 @@ -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 @@ -1,4 +1,4 @@ -VERSION = pre-1 +VERSION = 1 PATCHLEVEL = 0 ALPHA = @@ -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; |