Changes from 1.1.19 to 1.1.20
These changes are archived on ftp.crynwr.com:pub/kchanges
and http://www.crynwr.com/kchanges.
I cannot answer questions about Linux -- I merely summarize the kernel
patches after reading them. I try to make them useful to everyone,
but kernel hackers should take them with a grain of salt and read the
patches themselves. The patch file is patch20.gz
- Load balancing support marked as "experimental" instead of "very experimental"
- Sony CDU31A CDROM driver now supports the CDU33A also.
- Default IRQ for 3c501 changed from 7 to 5.
- scsi_ioctl now only rounds the *buffer* size up.
- scsi fixes to scatter/gather on Ultrastor 24F.
- core dumping for various executables enabled (but only aout implemented).
- More support for multiple execution domains (ELF, a.out, iBCS2, etc.).
- Keep track of usage counts for execution domains.
- added a flag for vm_growsup or vm_growsdown.
- Multiple CD-ROM options added (so you can have different options per CD-ROM).
- CD-ROM options for uid and gid added.
- SIOCGSTAMP had the wrong value.
- Make sure sys_idle is only called when running as the kernel.
- Add another system call for the personality.
- If anybody but the kernel tries INT, HLT, CLI, or STI, give an SIGILL.
- Networking changes notes (probably from Alan Cox, bless his heart)
- Changes for the 015 snapshot
- All read/write buffers are validated at the top level _only_
- All address structures are moved to and from user mode at the top
level. Thus you can now issue proto->bind(....) calls and related
functions such as connect from another kernel task. All thats left
to fix now is a kernel alloc_socket()/free_socket() and accompanying
proto->make_kernel(socket)
- Small fixes to address behaviour caused by the above
- Max NFS size of 16K bytes
- Added the apricot driver as a test (#'ed out in config.in)
- Fixed a missing function definition in net_init.c
- Added G4KLX ax25_router code
- Added Niibe's PLIP driver and altered it to support timer
configuration and IRQ/port setting. Added if_plip.h. Comments and
feedback appreciated on this (both to Niibe and me).
- Added AF_MAX/PF_MAX defines
- Added a note that the DE600 driver also works for a noname 'PE1200'.
- Network buffer statistics on shift-scroll_lock
- Fixed a serious race in the device driver code. This was causing odd
crashes with the Lance drivers, lockups with the ne2000 cards and
a few other 'bad' goings on. All drivers are effected. See
README.DEV if porting a driver to this revision.
If you see entries in your 'free while locked' count, those would
typically have crashed a pre 1.20 kernel.
- TCP keeps the timers above 0.2sec round-trip time because of the use of
delayed ACK's by BSD style kernels.
- Fixed a small BSD error in the return from datagram socket
recv/recvfrom() calls when data is truncated. BSD returns the true
length of the message, Linux returned the amount copied which broke
programs that did a MSG_PEEK with a small buffer and grew it if need
be (some of the AV/RTP stuff notably).
- Added TIOCINQ/OUTQ to AX.25 and IPX.
- Added driver ioctl() calls to IPX.
- Corrected the skb->len==0 in the tcp_data reset on shutdown to check
skb->copied_seq.
- IP options reflect onto SO_PRIORITY.
- When a driver is downed its ARP entries are flushed. Should solve
the occasional crash when taking out a modular driver.
- Added Donald's multicast reception while promiscuous fix for the
8390 drivers.
- Potential ARP TCP-retransmit clear race fixed. Incredibly
unlikely to occur but no doubt it will 8(.