Linux is a wonderful system. The kernel is available as source code, which means you can fiddle around with it and fix a few random bugs here, add some extra little functionallity there, and so on. Here's some changes I've made to various parts.
Unless otherwise stated, all changes I make are released by me under the GPL.
I've started looking at the 2.6 series kernel, so some patches are available here for 2.6.4
| 
    As of Kernel 2.4.16, the FAT module's policy on default UNIX permissions for
    items changed. Before, directories were rwxr-xr-x, files were 
    rw-r--r--, but afterwards, this changed and now even files are 
    executable by default. This patch fixes this behaviour by adding two new 
    mount-time parameters, fmode and dmode which are default
    permissions (subject to umask) for files and directories, 
    respectively. Kernel 2.4.26 Kernel 2.4.27 Kernel 2.4.28 (new) This has now been fixed on 2.6, so this patch is not required there. | 
| 
    A tiny patch to the USB mass storage system to allow it to use my USB card
    reader. Details of the patch can be found 
    here.
    The card reader itself appears as vendor 0x0aec, product 
    0x5010, and this patch may also be compatible with other readers 
    than mine, since a lot of them use the same chip internally. Kernel 2.4.26 Kernel 2.4.27 Kernel 2.4.28 (new) Kernel 2.6.4 | 
| 
    A modification of the Multiple Devices (MD) system, that allows the option
    to switch off verbose messages on startup and shutdown. When switched on,
    functionallity is identical to an unpatched kernel. When off, errors are
    still reported, but information is not. This speeds up boot times slightly,
    if many RAID devices are present, especially when using the framebuffer
    console driver. Kernel 2.4.26 Kernel 2.4.27 Kernel 2.4.28 (new) Kernel 2.6.4 - this one will be quite difficult - things have changed a lot since 2.4 | 
| 
    Grsecurity is a Kernel 
    patch that enhances system security. One option is to disallow access to 
    /dev/mem, /dev/kmem and /dev/port. The first two 
    of these is good, but I require write access to /dev/port for 
    changing keyboard repeat rate; something I need to do frequently since I have
    a cheap mechanical switch-box to switch keyboards around. This results in the
    keyboard losing this setting when I switch it. This patch splits the option into two, one to protect the two memory devices, the other to protect the ports. This means I can enable one and not the other. Kernel 2.4.26 / Grsec 2.0 Kernel 2.4.27 / Grsec 2.0.1 Kernel 2.4.28 / Grsec 2.1 (new) Kernel 2.6.4 - currently awaiting a port of GrSec to 2.6 | 
| 
    This is a combination of:
     
 Kernel 2.4.25 / Leo version 1 (raw, gzip, bzip2) Kernel 2.4.26 / Leo version 1 (raw, gzip, bzip2) Kernel 2.4.27 / Leo version 1 (raw, gzip, bzip2) |