Kernel 2.2 - It Lives!
Build6 writes "For those of us still using 2.2 (how's that for "conservatism" eh?) -- 2.2.24 is out (and has been since last week) - see kernel.org for downloads. I see networking code tweaks, but no changelog. Time to give our old RH 6.2 machines one last kernel-recompile before Red Hat's end-of-life date arrives for 6.2? :-) What I'd like to know is - who else (besides me) out there still has machines running 2.2 and intends to keep it that way?"
All of us are still using 2.2 kernels, whether we like it or not.
Found the changelog here. It reads:
Linux 2.2.24-rc5
* Fix n_hdlc globals pollution (Paul Fulghum)
* Fix initialisation of sk->sleep (Holger Smolinksi)
* Handle init_ethdev returning null in tulip (Neale Banks)
* Backport rtc wildcard fix to 2.2 (Paul Gortmaker)
* Correct wireless config help (Neale Banks)
* Fix smc9194 build (me)
Distributions provide well-tested, patched kernels. Compulsively updating kernels is a fine hobby if it makes you happy, but unless there's a new feature you need, the potential for breaking something exceeds any practical benefit. The experience of the 2.4 series, where half the kernels substantially degraded performance because of some new half-assed VM only underscores that lesson.
No, if you don't know why you need to upgrade your kernel, you almost certainly don't.
What I'm listening to now on Pandora...
I use 2.4.20 on debian stable on a SparcClassic and s SparcStation 5 and it works very well. I never had any problem with it.. And with the speed of the disk on that thing, I really need ext3, because when my roomate pulls the plug I can't really wait 3 hours before my firewall is back up.. SparcClassics make really nice firewall especially if you find a scsi-1 hardware that's not too noisy..
If you run a firewall, all the more reason to upgrade to 2.4. Netfilter is far superior to ipchains, in my opinion.
Of course, you may not currently need stateful inspection, but you don't even have the option with 2.2. If you come to a point where you do, you're out of luck. (unless there is a current reliable backport out there, which is possible)
Chmarr--
...
Try this:
int immediate = 1;
ioctl(pcap_fileno(pcap), BIOCIMMEDIATE, &immediate);
Does screw with some nonblocking modes, though.
Another quick tip: __attribute__ ((packed)); after your structure declarations will make structs vastly nicer to apply against raw packets in a cross platform manner.
Whatcha trying to write?
Yours Truly,
Dan Kaminsky
DoxPara Research
http://www.doxpara.com
I'm not trying to knock you, I'm just plugging a cool product (although I'm just a user, myself).