---

Linux Kernel 2.5.5 Released

[ Thanks to Jacob
Wodzynski
for this link. ]

Kernel.org
Mirrors

 

Release notes for v2.5.5



Summary of changes from v2.5.5-pre1 to v2.5.5
============================================

<paulus@cargo.(none)> (02/02/12 1.262.8.2)
        Further PPC updates - fix thread_saved_pc, make sure init_thread_union
        is properly 8kB-aligned.

<paulus@cargo.(none)> (02/02/12 1.293.3.2)
        PPC updates: call schedule_tail only on SMP, update sched_find_first_bit,
        include <linux/binfmts.h> in signal.c.

<[email protected]> (02/02/12 1.293.6.1)
        HiSax HFC PCI driver udpate
        
        Move to PCI DMA API.
        Make it work on big endian machines.
        
        Contributed by Benjamin Herrenschmidt.

<[email protected]> (02/02/12 1.293.7.1)
        HiSax netjet driver update
        
        Move netjet driver to new PCI DMA API.

<[email protected]> (02/02/13 1.326)
        [PATCH] ext2/inode.c cleanup.
        
                ext2_read_inode() and ext2_update_inode() share large chunk
        of code - getting a buffer_head with raw inode in it.
                Moved into a helper function (ext2_get_inode()), the rest
        of ext2_{read,update}_inode() slightly cleaned up.

<[email protected]> (02/02/13 1.327)
        [PATCH] BKL shifted into ->create()
        
                BKL shifted into ->create().  lock_kernel()/unlock_kernel() added
        in dquot_{alloc,free}_inode() - that makes {ext2,minix,sysv,ufs}_read_inode()
        SMP-safe.

<[email protected]> (02/02/13 1.328)
        [PATCH] SMP-safe ext2/namei.c
        
                BKL held around ->i_nlink changes in ext2/namei.c.  That makes
        namei.c SMP-safe (dir.c already is).  BKL dropped around ext2_free_inode() -
        it's already SMP-safe (the only place that needed BKL was DQUOT_FREE_INODE()
        and it got BKL in the previous patch).

<[email protected]> (02/02/13 1.329)
        [PATCH] BKL shifted into ->mknod()
        

<[email protected]> (02/02/13 1.330)
        [PATCH] misc fixes
        
        1) proc/<pid>/fd readdir() has broken locking - sometimes it ends up with
        task->files->file_lock locked.
        
        2) missing variable definition in arch/s390x/kernel/linux32.c::cp_new_stat32().
        
        Please, apply - the first one is really serious.

<[email protected]> (02/02/13 1.331)
        [PATCH] BKL shifted inside ->unlink()
        
                Next one in the series - this time it's ->unlink()...

<[email protected]> (02/02/13 1.332)
        update version

<[email protected]> (02/02/13 1.331.2.1)
        device model/driverfs updates

<[email protected]> (02/02/13 1.331.3.1)
        [PATCH] USB OHCI powerbook fix (v2.5.4)
        
        The patch below fixes a compile problem in the USB OHCI HCD driver on
        powerbooks, namely that the ohci_hcd structure doesn't have an irq
        member.
        
        Paul.

<[email protected]> (02/02/13 1.331.3.2)
        usb hpusbscsi driver fixes:
                - special case for REQUEST_SENSE
                - reset handling won't work properly -> disabled
                - error reporting corrected

<[email protected]> (02/02/13 1.331.3.3)
        usb vicam driver:
                - fix for memory leak.

<[email protected]> (02/02/13 1.331.3.4)
        Added mem_flags to usb_submit_urb(), this is the USB core code changes.

<[email protected]> (02/02/13 1.331.3.5)
        Added mem_flags to usb_submit_urb().
        This modifies the drivers in drivers/usb.
        Patch done by Oliver Neukum.

<[email protected]> (02/02/13 1.331.3.6)
        added mem_flags to usb_submit_urb().
        This fixes the drivers in drivers/usb/serial.
        Patch done by Oliver Neukum.

<[email protected]> (02/02/13 1.331.3.7)
        added mem_flags to usb_submit_urb().
        Fixes drivers/usb/storage.
        Patch done by Oliver Neukum.

<[email protected]> (02/02/13 1.331.3.8)
        mem_flags added to usb_submit_urb().
        This fixes usb drivers outside of the drivers/usb directory.

<[email protected]> (02/02/13 1.335)
        [PATCH] alsa + x86-64
        
        Obvious patch to make x86_64 pick up new sound location

<[email protected]> (02/02/13 1.336)
        [PATCH] xattr updates (minor, 1/4)
        
        This first patch fixes the copying in of extended attribute
        names from userspace in the extended attribute syscalls (a
        problem found when using electric fence on the user tools).
        
        Nathan

<[email protected]> (02/02/13 1.337)
        [PATCH] xattr updates (minor, 2/4)
        
        This incremental patch fixes copying out of an extended attribute
        value or name list.  Previously we copied out the entire buffer
        passed in from userspace, now we only copy out the size which the
        underlying filesystem tells us to (ie. we will no longer include
        potentialy-initialised data as well).
        
        Nathan

<[email protected]> (02/02/13 1.338)
        [PATCH] xattr updates (minor, 3/4)
        
        This next incremental patch tidies up the data types passed back
        from the `list' and `get' extended attribute syscalls - these now
        match the design (ie. using ssize_t) rather than simply using long
        or int everywhere; also now use const types in the VFS interface,
        where appropriate.
        
        Nathan

<[email protected]> (02/02/13 1.339)
        [PATCH] xattr updates (minor, 4/4)
        
        This final patch is a simple documentation fixup patch filling
        in the blanks for the extended attribute interfaces; and fixes
        a typo in the same spot: "permission".
        
        Nathan

<anton@superego.(none)> (02/02/14 1.331.6.1)
        Add ppc64 support. This includes both pSeries (RS/6000) and
        iSeries (AS/400).
        
        There are no changes outside of include/asm-ppc64 and arch/ppc64
        in this changeset.

<[email protected]> (02/02/14 1.341)
        [PATCH] NeoMagic FPU fix (2.5.5-pre1)
        
        this is the NeoMagic floating foint removal patch
        I posted previously for Linux 2.4.18-pre9-ac3.
        
        Best regards,
          Denis Oliver Kropp

<[email protected]> (02/02/14 1.342)
        [PATCH] pid allocator bugfix
        
        This patch fixes a bug in the Linux process ID allocator.  It isn't quite
        SMP safe since it references "last_pid" after releasing the lock protecting
        it.  This can result in two processes getting assigned the same process ID.

<[email protected]> (02/02/14 1.343)
        [PATCH] (1/5) more BKL shifting
        
        BKL shifted into ->mkdir()

<[email protected]> (02/02/14 1.344)
        [PATCH] (2/5) more BKL shifting
        
        BKL shifted into ->rmdir()

<[email protected]> (02/02/14 1.345)
        [PATCH] (3/5) more BKL shifting
        
        BKL shifted into ->link(), check for S_ISDIR moved into vfs_link().

<[email protected]> (02/02/14 1.346)
        [PATCH] (4/5) more BKL shifting
        
        BKL shifted into ->symlink() (+ fixes for {ramfs,shmem}_symlink())

<[email protected]> (02/02/14 1.347)
        [PATCH] (5/5) more BKL shifting
        
        old_inode is locked by vfs_link().

<[email protected]> (02/02/14 1.348)
        Fix sound config files (makes xconfig happy)

<[email protected]> (02/02/15 1.331.4.3)
        PPC fixes for SMP; also fix the stack overflow detection, remove
        various bits of cruft, and remove the third argument to switch_to.

<[email protected]> (02/02/15 1.342.1.1)
        Fix from Mike Kravetz: use the nr_running return value
        of double_lock_balance().

<[email protected]> (02/02/15 1.331.2.2)
        Fix driverfs deadlock on file/directory removal

<[email protected]> (02/02/15 1.342.2.1)
        usb core:
                - Fix for removing a device that does not have a driver bound to it.

<[email protected]> (02/02/15 1.342.2.2)
        usb hub:
                - fixed problem where usb_port_status was on the stack.
                  Based on a patch from Martin Diehl

<[email protected]> (02/02/15 1.342.2.3)
        usb visor driver:
                - added support for the Clie S-360 device

<[email protected]> (02/02/15 1.342.2.4)
        usb usbfs:
                - fixes based on Pat Mochel's latest driverfs fixes based on Al Viro's comments :)

<[email protected]> (02/02/15 1.342.2.5)
        usb skeleton driver:
                - fix by Holger Waechtler <[email protected]> for if a device does
                  not have both a bulk in and bulk out endpoint.

<anton@superego.(none)> (02/02/16 1.342.3.2)
        fix for ntpd and HZ=1024 from mike

<paulus@cargo.(none)> (02/02/18 1.342.4.2)
        xattr.patch

<[email protected]> (02/02/18 1.349)
        [PATCH] Re: 2.5: further llseek cleanup (3/3)

<[email protected]> (02/02/18 1.350)
        [PATCH] Re: [PATCH] Re: 2.5: further llseek cleanup (3/3)
        
        Ugh, another one.  Linus, please apply.
        
                Robert Love

<[email protected]> (02/02/18 1.351)
        [PATCH] BKL shifting - ->rename()

<[email protected]> (02/02/18 1.352)
        [PATCH] dnotify race fix
        
                A bunch of places dereferences ->d_parent->d_inode with no
        protection whatsoever (e.g. on return from read()).  It's an
        SMP race on all boxen and pretty wide UP race if we have dnotify
        set on parent (race between read() and rename() and similar beasts).
        
                Patch below is the first one in a series of ->d_parent-related
        fixes.  It adds a helper (dnotify_parent(dentry, event)) and converts
        places that did inode_dir_notify(dentry->d_parent->d_inode,...) to it.
        
                Please, apply.  Notice that problem exists in 2.4 and unlike 2.5
        there we can't switch to saner API (basically, reporting file events on
        file, not on a parent directory).
        
        Some of the further fixes depend on Pat's and Greg's (driverfs and usbdevfs
        resp.) patches, so getting them merged would make life easier.  And yes,
        some of further chunks (e.g. smbfs ->revalidate() and friends) will also
        have to go into 2.4 - they are independent from any threading projects ;-/

<[email protected]> (02/02/18 1.325.1.1)
        [PATCH] PATCH 1/7:  knfsd cleanups - big fixes
        
        Fix bugs recently introduced into kNFSd
        
        When searching a list.h list, we cannot export
        to find NULL at the end.  Instead we return a pointer
        when found, or NULL if nothing found.  Same bug, 4 times.
        
        The seq_file improvements to /proc/fs/nfs/exports got the counting
        wrong so that some clients would get reported twice, always the last.

<[email protected]> (02/02/18 1.325.1.2)
        [PATCH] PATCH 2/7: knfsd cleanup - FAT shouldn't return NULL
        
        Stop fat_fh_to_dentry returning NULL
        
        the fh_to_dentry routines should never return NULL.
        The caller expects an ERR_PTR or a valid (possibly negative)
        dentry.  fat did the wrong thing and so could oops.

<[email protected]> (02/02/18 1.325.1.3)
        [PATCH] PATCH 3/7: knfsd cleanups - incorrect use of inode_change_ok
        
        Get nfsd_setattr to not put too much weight on inode_change_ok
        
        nfsd_currently calls inode_change_ok and does not try setattr if this fails.
        However this is wrong.  If a filesystem defines it's own i_op->setattr, then
        it might use a completely different mechanisim for determining what is ok.
        nfsd shouldn't assume...
        
        We still use inode_change_ok when normalising NFSv2 "touch" requests, but
        only in passing.

<[email protected]> (02/02/18 1.325.1.4)
        [PATCH] PATCH 4/7: knfsd cleanups - vfs.c improvements
        
        Tidy up some vfs calls in nfsd
        
        1/ changes to sys_fsync had not also been made to nfsd_sync.
           Now nfsd_sync calls filemap_fdatasync and filemap_fdatawait.
        2/ change nfsd_readdir to use vfs_readdir instead of i_op->readdir

<[email protected]> (02/02/18 1.325.1.5)
        [PATCH] PATCH 5/7: knfsd cleanups - mkdev
        
        Use MKDEV for making device number from components
        
        This patch is thanks to GOTO Masanori <[email protected]>

<[email protected]> (02/02/18 1.325.1.6)
        [PATCH] PATCH 6/7: knfsd cleanups - syscall cleanup
        
        Cleanup the syscall interface to nfsd
        
        1/ add an "owner" field to the nfsd_linkage structure
        2/ grab a reference to that module before calling the syscall
        3/ Remove the reference counting from inside the module
        4/ Always allow nfsd module to be called, even if compile with
                CONFIG_NFSD == N
           ( but not if CONFIG_MODULES also == N)

<[email protected]> (02/02/18 1.325.1.7)
        [PATCH] PATCH 7/7: knfsd cleanups - module initialisation
        
        Tidyup init/exit for nfsd module
        
        move nfsd_init into an initcall with other module
        startup.  This means that "initialized" isn't needed for
        any of the files that use it, as the bits are always initialised if
        in use.

<[email protected]> (02/02/18 1.354)
        [PATCH] BUG register preservation
        
        Here's the x86 BUG() implementation we discussed the other day.
        
        I also have the rework of the header files which avoids
        instantiation of strings in headers and saves 100-200k.
        However that is only needed for gcc 2.X.  I assume that
        by the time 2.6 is in use, gcc-3.x will be the preferred
        compiler.

<[email protected]> (02/02/18 1.325.2.1)
        [PATCH] IS_SYNC diretory handling
        
        A forward-port.  ext2, minix and sysv aren't handling directories
        correctly when IS_SYNC is in place.  They call waitfor_one_page(),
        but forgot to start the I/O.
        
        The patch also moves waitfor_one_page and writeout_one_page
        into fs/buffer.c, so mm/filemap.c now does not mention buffer_head
        at all.

<[email protected]> (02/02/18 1.325.2.2)
        [PATCH] msync correctness
        
        A forward port.  At present, msync() does not report errors
        from EIO or ENOSPC.  fsync() has the same bug for mapped pages
        against the affected fd.
        
        The patch correctly propagates these errors back up from
        writepage so that fsync and msync correctly report errors.
        
        It's fairly important - msync is the only way we have
        of reporting ENOSPC against sparse mappings.
        
        Of course, you can still silently lose your data if it's kswapd who
        gets ENOSPC during writepage.  I have 3/4 of a patch for that.  It
        records the data loss so that a later msync() will report the bad
        news.
        
        This patch also adds an implementation of msync(MS_ASYNC), because
        it was easy.

<[email protected]> (02/02/18 1.325.2.3)
        [PATCH] ENOSPC correctness
        
        A forward-port.  This is the code which prevents ENOSPC
        errors from exposing stale data within filesystems.
        
        - in generic_file_write(), if prepare_write() fails, truncate
          the file to drop any part-added blocks.
        
        - in __block_write_full_page(), if we hit an error,  push
          whatever buffers we _have_ mapped into the file out to disk.
        
        - in __block_prepare_write(), if we hit an error, zero out
          any blocks which we did manage to map into the file.  This
          is because the caller won't be doing any writing to those
          blocks due to the error.

<[email protected]> (02/02/18 1.356)
        [PATCH] Re: IDE cleanup for 2.5.4-pre3
        
        The end_request() function familiy (not the global one, but the IDE
        specific ones), did bear a permuted parameter ordering.  After fixing
        this it turned out that at all places the huk parameter wasn't the
        hwgroup, but just the drive in question itself.  I have changed this to
        be more sane, which allowed to remove many unneccessary code
        duplication, or rather obfuscation, in between the __ide_end_request()
        and ide_end_request() functions.  This simplification is actually the
        "spreading" part of the game. 

<[email protected]> (02/02/18 1.325.3.1)
        [PATCH] PATCH 2.5.5-pre1 dead arrays.
        
        Just the usual removal of the dead global arrays and associated cruft.
        (Thistime not affecting lvm, which BTW. doesn't compile currently anyway
        ;-).

<[email protected]> (02/02/18 1.358)
        [PATCH] meye driver update
        
        This patch (+ BK changeset) converts the meye driver to the new DMA API,
        this is necessary for the driver to be used in 2.5. 
        
        Stelian.
        
        [email protected], 2002-02-15 16:35:31+01:00, [email protected]
          Convert to the new DMA API and allocate separate DMA pages instead of one big buffer.

<[email protected]> (02/02/18 1.342.5.1)
        allow the boot-time sizing of the highmem pool.

<[email protected]> (02/02/18 1.359.1.2)
        usbdevfs:
                - put back locks that I accidentally took out with the last merge.

<[email protected]> (02/02/19 1.359.2.2)
        - the new vmalloc_to_page() interface should be used to determine the physical page a given vmalloc() area virtual address is mapped to.

<[email protected]> (02/02/19 1.359.2.3)
        adds simple support for atomically-mapped PTEs. On highmem systems this enables the allocation of the pagetables in highmem.

<[email protected]> (02/02/19 1.359.2.4)
        - cleanup from Andi Kleen: schedule_tail() does not have to take 'prev' as a parameter anymore.

<[email protected]> (02/02/19 1.359.4.1)
        [PATCH] new struct page shrinkage
        
        The patch has been changed like you wanted, with page->zone
        shoved into page->flags. I've also pulled the thing up to
        your latest changes from linux.bkbits.net so you should be
        able to just pull it into your tree from:
        
        Rik

<[email protected]> (02/02/19 1.359.5.1)
        - fix mapped-pte usage - do not access it after unmapping.

<[email protected]> (02/02/19 1.359.5.2)
        - clean up the vmalloc_to_page() interface: no need for any pgd parameter.

<[email protected]> (02/02/19 1.359.5.3)
        use the following, much more intuitive interface names:
        
        - pte_offset_map2 => pte_offset_map_nested
        - pte_unmap2 => pte_unmap_nested

<[email protected]> (02/02/19 1.359.2.8)
        [PATCH] ipx uninitialized memory in 2.5.5-pre1
        
        * ipx needs cleared ipx_sk, mainly intrfc pointer member.
          Fixes boottime oops.
        
                                Petr Vandrovec

<[email protected]> (02/02/19 1.359.2.9)
        [PATCH] 2.5.5-pre1: uninitialized SO_PASSCRED on sockets
        
        * move socket clearing code from sock_alloc to sock_alloc_inode, so
          root of socketfs does not contain garbage, and we have all initialization
          in one place
        * add initialization of passcred to zero - otherwise it is left on some
          random value, causing at least autobind() to randomly fail on
          unix sockets
        
                                Petr Vandrovec

<[email protected]> (02/02/19 1.167.1.1)
        [PATCH] (1/3) matroxfb for 2.5.3
        
        (1) Updates documentation.
        (2) Remove 'current' and 'previous' hardware fields. X just do not play fair,
            and one cannot assume anything about current hardware state.
        (3) Changes algorithm for computing PLL parameters to one used by Matrox. On
            recent chips (G550) there are no limits for PLL, you just have to try
            couple of possible combinations to find which one works on this
            particualr hardware.
        (4) Add code which can intialize G450/G550 when BIOS did not initalize it
            (non-ia32 hardware, secondary devices on ia32 hardware).
        
                                        Petr Vandrovec

<[email protected]> (02/02/19 1.167.1.2)
        [PATCH] (2/3) matroxfb for 2.5.3
        
          this patch adds support for older MGA-TVO-B (found on G200-TV)
        to matroxfb.
        
                                Petr Vandrovec

<[email protected]> (02/02/19 1.359.2.11)
        Add marker to warn others not to change config file

<[email protected]> (02/02/19 1.359.2.12)
        [PATCH] (1/4) 2.5.5-pre1 fixes
        
        hfs compile fixes

<[email protected]> (02/02/19 1.359.2.13)
        [PATCH] (2/4) 2.5.5-pre1 fixes
        
        helper for safe access to parent's inumber

<[email protected]> (02/02/19 1.359.2.14)
        [PATCH] (3/4) 2.5.5-pre1 fixes
        
        Adds an obvious helper, converts callers.

<[email protected]> (02/02/19 1.359.2.15)
        [PATCH] (4/4) 2.5.5-pre1 fixes
        
        Fixes overflow checks in smb_encode_path().

<[email protected]> (02/02/19 1.325.4.1)
        [PATCH] ALSA update for 2.5.5-pre1
        
                this is a sync with the current ALSA CVS tree (last code
        modification: (Sun Feb 17 17:46:41 2002 UTC)) and 2.5.5-pre1 code and
        contains:
        
        - ALSA code version 0.9.0beta11
        - Config.in files updated (separated associated drivers to submenus)
        - global sound/Makefile fixes
        - added inclusion of missing header files for alpha architecture
        - fixed power functions (bad locking)
        - fixed copy_to_user calls (removed them from spinlocks)
        - fixed freeing of resource structures
        - fixed AD1816A driver (inverted volume controls)
        - added new functions to allocate ISA DMA memory (cleanups in ISA drivers)
        - updated ISA PnP detection in wavefront driver
        - added joystick support for VIA686
        - updated ES1968 (Maestro2) driver
        - moved joystick support for YMFPCI to the control interface
        - updated Korg1212 driver

<[email protected]> (02/02/19 1.359.2.17)
        Update default config to match new sound setup

<[email protected]> (02/02/19 1.359.2.18)
        Clean up BDEV type handling

<[email protected]> (02/02/19 1.359.2.19)
        Remove stale variable.

<[email protected]> (02/02/19 1.359.2.20)
        Fix ptrace and fork interaction

<[email protected]> (02/02/19 1.363)
        [PATCH] 2.5.5-pre1 IDE cleanup
        
        The attached patch does:
        
        1. Kill two exports which mankind will never know what they where good for
        
        2. Kill duplicated comments.
        
        3. Kill declarations of never defined functions
        
        4. Some other minor tidups here and there.

<[email protected]> (02/02/19 1.364)
        [PATCH] 2.5.5-pre1 IDE cleanup 9
        
        1.  Kill the ide-probe-mod by merging it with ide-mod. There is *really*
            no reaons for having this stuff split up into two different
            modules unless you wan't to create artificial module dependancies
            and waste space of page boundaries during memmory allocation for the
            modules
        
        2.  Kill the ide_module_t - which is unnecessary and presents a
            "reimplementation" of module handling inside the ide driver.  This
            is achieved by attaching the initialization routine ot the
            ide_driver_t, which will be gone next time, since there is no sane
            reason apparently, which this couldn't be done during the
            module-generic initialization of the corresponding driver module.
        
        3.  Kill unnecessary tagging of "subdriver" with IDE_SUBDRIVER_VERSION -
            we have plenty of other mechanisms for module consistency checking.
            And anyway the ide code didn't any consistence checks on this value
            at all.
        
        NOTE: The ide_(un)register_module() functions will be killed in next round.

<[email protected]> (02/02/19 1.325.5.1)
        [PATCH] LVM fixes.
        
        Numerous LVM fixes & cleanups.
        Gets things compiling again, and allegedly works according to feedback.
        Mostly from Anders in absence of any maintainence by LVM people.
        
        There are two critical problems with lvm in 2.5.2-pre11 (and earlier).
        * ioctls on the chardev allocates a >4k lv_t on stack. if the ioctl is
        LV_CREATE, LV_EXTEND, LV_REDUCE or LV_RENAME data is copied into this
        and the task_struct will most certainly be corrupted.
        * sizeof(lv_t) differs between user and kernelspace. The userspace version
        of the lv_t structure is much smaller than the kernelspace version. This
        leads to corruption of memory in the userspace application when an lv_t is
        copied from kernelspace to userspace, as in "vgdisplay -v"
        
        The following patch addresses these two issues. It puts the user-space
        version of the lv_t into a substructure of the kernelspace version. When
        communicating to userspace just the userlv_t part is used. This avoids the
        allocation of the lv_t on the stack by allocation just a userlv_t instead.

<[email protected]> (02/02/19 1.366)
        [PATCH] PATCH 2.5.4 i810_audio, bttv, working at all.
        
        Fix i810 audio for DMA mapping (from Pete Zaitcev).

<[email protected]> (02/02/19 1.368)
        [PATCH] more smbfs buffer overrun fixes
        
                More of the same - some of these guys have stuff after pathname.
        Overflow checks added.

<[email protected]> (02/02/19 1.369)
        Update version


Summary of changes from v2.5.4 to v2.5.5-pre1
============================================

<[email protected]> (02/02/10 1.248.5.1)
        Import arch/ppc and include/asm-ppc changes from linuxppc_2_5 tree

<[email protected]> (02/02/10 1.263)
        [PATCH] 2.5.4-pre6 apm compile fix
        
        Make apm compile properly and without warnings.

<[email protected]> (02/02/10 1.264)
        [PATCH] 2.5.4-pre6 compile fix for i386/kernel/signal.c
        
        Fixe a compiler warning in signal.c due to a missing prototype for
        "do_coredump". 

<[email protected]> (02/02/10 1.262.1.1)
        Remove warning in /proc inode conversions.

<[email protected]> (02/02/10 1.262.2.1)
        Clean up sparc64 build.

<[email protected]> (02/02/10 1.262.2.2)
        Split protocol specific information out from struct sock.
        Work done by Arnaldo Carvalho de Melo.

<[email protected]> (02/02/10 1.262.2.3)
        Netfilter bugfixes from Harald and Paul Russell.

<[email protected]> (02/02/10 1.262.2.4)
        Add writev support to TUN driver.
        From Eddie C. Dost

<[email protected]> (02/02/11 1.262.3.1)
        This patch fixes a bug that appears when you have more than 16 physical         
        LUNs attached to a cciss controller, and a tape drive is beyond the 16th        
        LUN.  In such a case, the tape drive would not be accessible without this       
        patch.  Applies to 2.5.4-pre3.  -- [email protected]            

<[email protected]> (02/02/11 1.262.3.2)
        setup_str[] only used in modular builds.

<[email protected]> (02/02/11 1.262.3.3)
        add more build config files to ignore list

<[email protected]> (02/02/11 1.262.3.4)
        Fix for cciss driver where I had passed the wrong                               
        first parameter to grok_partitions in the ioctl for                             
        registering a new disk.

<[email protected]> (02/02/11 1.262.3.5)
        Replace awful schedule_timeout polling code with                                
        completions.  Applies to 2.5.4-pre3                                             
        -- [email protected]         

<[email protected]> (02/02/11 1.262.3.6)
        Replace calls to suser() with capable().  Move those checks to be               
        as late as possible to avoid accounting overcharging processes with             
        privilege usage.  Applies to 2.5.4-pre3                                         
        -- [email protected]

<[email protected]> (02/02/11 1.262.3.7)
        Make cciss driver contribute to entropy pool.                                   
        Applies to 2.5.4-pre3                                                           
        -- [email protected]

<[email protected]> (02/02/11 1.262.3.8)
        change cciss driver version number.  Applies to 2.5.4-pre3                      
        -- [email protected]

<[email protected]> (02/02/11 1.262.3.9)
        Small batch of IDE code cleanups from Pavel Machek

<[email protected]> (02/02/11 1.262.3.10)
        thread_saved_pc fix from akpm

<[email protected]> (02/02/11 1.257.2.2)
        Update PPC for recent generic changes; in particular adapt to
        having the thread_info struct at the base of the stack and
        the task_struct elsewhere.

<[email protected]> (02/02/11 1.262.3.11)
        Remove nr_sectors from bio_end_io end I/O callback. It was a relic
        from when completion was potentially called more than once to indicate
        partial end I/O. These days bio->bi_end_io is _only_ called when I/O
        has completed on the entire bio.

<[email protected]> (02/02/11 1.262.3.12)
        bio_endio doesn't take nr_sectors argument anymore.

<[email protected]> (02/02/11 1.262.4.1)
        Update Alpha UP for thread_info and scheduler changes.

<[email protected]> (02/02/11 1.262.4.2)
        Fixes for premature thread_info changeset.
        Minor warning removal.

<mingo@earth2.(none)> (02/02/11 1.262.6.1)
        merge to the -K3 scheduler.

<[email protected]> (02/02/11 1.262.7.1)
        patch from Peter Osterlund <[email protected]> to fix usb-storage debug code
        compile problem.

<[email protected]> (02/02/11 1.262.7.2)
        patch from David Probnell, updating the USB error-codes.txt file

<[email protected]> (02/02/11 1.262.7.3)
        patch by Simon Evans <[email protected]> that adds a Konica USB webcam driver

<[email protected]> (02/02/11 1.262.7.4)
        removed 'typedef' from the Digi Acceleport usb-serial driver.

<[email protected]> (02/02/11 1.262.7.5)
        removed 'typedef' from the ftdi_sio usb-serial driver.

<[email protected]> (02/02/11 1.262.7.6)
        removed 'typedef' from the IO Networks Edgeport usb-serial driver.

<[email protected]> (02/02/11 1.262.7.7)
        removed 'typedef' from the Keyspan usb-serial drivers.

<[email protected]> (02/02/11 1.262.7.8)
        removed 'typedef' from the kl5kusb105 usb-serial driver.

<[email protected]> (02/02/11 1.262.4.3)
        Update Alpha SMP for the new scheduler and preempt api change.

<[email protected]> (02/02/11 1.262.5.2)
        Add a couple #includes to fix the alpha build.

<[email protected]> (02/02/11 1.262.9.1)
        [PATCH] 2.5.4-pre6 apm compile fix
        
        Here is the patch against 2.5.4.  I have compiled this patch under
        2.5.3, so it should still be OK.
        
        This patch just resyncs the driver with 2.4.18-pre (which is what is
        being testd by others).  The only outstanding known problem is some
        very strange interaction with VMWARE.  But otherwise people seem
        happy with the changes.
        
        Original announcement to Dave Jones and Marcelo:
        
                Update a couple of email addresses
                Fix the idle handling (this is an improved version of the fix
                        that Alan Cox has in his -ac tree)
                Notify user mode of suspend events before drivers (fix)
                Make the idling percentage boot time configurable
                Rename kapm-idled to kapmd
        
        Credit to Andreas Steinmetz, Russell King, Thomas Hood and me.
        
        More small updates to come.
        --
        Cheers,
        Stephen Rothwell                    [email protected]
        http://www.canb.auug.org.au/~sfr/

<[email protected]> (02/02/11 1.271)
        [PATCH] Optimized UP preempt fix
        
        I previously sent a patch by Mikael Pettersson to fix the UP+preempt
        problem.  It seems from your BK repository you have not yet merged it;
        if so, this patch takes a different approach which is optimal, removing
        the unneeded conditional altogether in the UP case.  I have verified UP
        and SMP are now correct.  Patch is against 2.5.4, please apply.
        
                Robert Love

<[email protected]> (02/02/11 1.272)
        [PATCH] (2.5.4) death of ->i_zombie
        
                Rediffed to 2.5.4, documentation added.  This variant grabs
        ->s_vfs_rename_sem only for cross-directory renames.

<[email protected]> (02/02/11 1.276)
        [PATCH] updated version of VM_DATA_DEFAULT_FLAGS patch
        
        Here is the latest version of the VM_DATA_DEFAULT_FLAGS patch
        (relative to 2.5.4).
        
                --david

<[email protected]> (02/02/11 1.277)
        [PATCH] drivers/char/pcwd.c
        
        This patch to drivers/char/pcwd.c against 2.5.4 does two things:
        a) Makes one code snippet more consistent with the rest of the code, and
        b) Makes it possible for this code to actually work
        
        Nearly the same patch against 2.4 was reviewed by Alan, and, well, the
        maintainer seems to have disappeared.  It's also looking like no one uses
        this driver much either.
        
        Regards,
        Rob Radez

<[email protected]> (02/02/11 1.278)
        [PATCH] dma64_addr_t fix ups
        
        This patch fixes up two places whre dma64_addr_t is used incorrectly.
        Note that pci_dev->dma_mask and the second argument to
        blk_queue_bounce_limit() are both u64, so the old types clearly are
        wrong (besides, dma64_addr_t is supposed to be used only with the
        pci_dac_*() routines, as per DaveM's earlier mail).
        
                --david

<[email protected]> (02/02/11 1.279)
        [PATCH] fix for elf coredump deadlock
        
        This patch fixes a deadlock condition in the elf core dump that shows
        on ia64 because ELF_CORE_COPY_REGS() needs to access user space (to
        get a hold of the backing store of the stacked registers).  Marcelo
        already accepted this into 2.4.17.
        
                --david

<[email protected]> (02/02/11 1.280)
        [PATCH] video console fix up
        
        Here is the last patch for today: it enables writecombined mappings
        for ia64 in fbmem.c and gets rid of an ugly ia64 simulator workaround
        in vgacon.c which isn't needed anymore.
        
                --david

<[email protected]> (02/02/11 1.281)
        [PATCH] discarded section problem
        
        What should be happening with the references to the discarded .text.exit
        section?  I see a __devexit_p mentioned in Documentation/pci.txt, but it
        hasn't been implemented except for down inside ieee1394.
        
        In any case, I need something like the following in order to build with
        pre-release binutils 2.12.  If this sort of thing is acceptible I can
        prepare a more comprehensive patch.

<[email protected]> (02/02/11 1.282)
        [PATCH] 01-ioerrors-checks-2.diff
        
            Make sure all reiserfs_find_entry users correctly understand IO_ERROR retval.

<[email protected]> (02/02/11 1.283)
        [PATCH] 02-savelink_nospace_nowarning.diff
        
           Do not print a warning if savelink was not created due to lack of space.

<[email protected]> (02/02/11 1.284)
        [PATCH] 03-savelink_dir_truncate.diff
        
           Do not panic on incorrect savelink entries (truncate on directory).
           Currently we suppose these can be created if switching between kernels
           with and without savelinks support.

<[email protected]> (02/02/11 1.285)
        [PATCH] 04-hash_autodetect_fix.diff
        
           Correctly detect and print hash values, when manual hash detection is used.

<[email protected]> (02/02/11 1.286)
        [PATCH] 05-corrupt_items_checks.diff
        
           Do not panic when encountered item of unknown type, just print a warning.

<[email protected]> (02/02/11 1.287)
        [PATCH] 06-kmalloc_cleanup.diff
        
           Convert all the code to use reiserfs_{kmalloc,kfree}. Remove all extra
           reiserfs_{kmalloc,kfree} overhead if CONFIG_REISERFS_CHECK is not set.

<[email protected]> (02/02/11 1.288)
        [PATCH] 07-reiserfs-bitmap-journal-read-ahead.diff
        
           Speed up reading of journal bitmaps. RAID users should notice significant
           speedup when mounting reiserfs over self-rebuilding RAID arays.

<[email protected]> (02/02/11 1.289)
        [PATCH] 08-truncate_update_mtime.diff
        
           truncate now correctly sets mtime always. Before this fix, mtime was not
           updated if truncated file was of zero length or if new filesize was bigger
           then old.
           Problem was noticed by Matthias Andree <[email protected]>

<[email protected]> (02/02/11 1.290)
        [PATCH] BKL-free ext2_get_block()
        
                Linus, I've got the first of BKL-removal ext2 patches ready to
        go.  It removes BKL from ext2_get_block() and guts of ext2_truncate().
        The only place where we hold BKL on these paths is in dquot.c - probably
        can be easily dealt with, but threading quota is a separate story.
        
                Inode metadata (pointers to blocks, both in inode itself and in
        indirect blocks, preallocation data and allocation goal) are protected
        by rwlock - EXT2_I(inode)->i_meta_lock.
        
                Next steps will involve threading the group descriptors and bitmaps
        handling - lock_super() uses in ext2 are going to die.  However, that's
        a separate story - let's do that step-by-step.
        
                I suspect that patch below will take care of almost all BKL contention
        from ext2 - we still have BKL held over directory operations, but for regular
        files that's it.

<[email protected]> (02/02/11 1.292)
        [PATCH] zisofs compilation error
        
        * zisofs_cleanup cannot be __exit, as it is invoked from __init
          section when register_filesystem() fails.
        
                        Petr Vandrovec

<[email protected]> (02/02/11 1.293)
        [PATCH] 2.5.4-pre5 and ncpfs fill_super changes
        
        * fs/ncpfs/inode.c: Return reasonable error codes instead of universal
             -EINVAL. Remove printk() as reasonable code is returned.
             Set maximum file size limit on ncpfs to 4GB-1.
        
        * fs/ncpfs/sock.c: Return correct error code when send() fails.
        
                Petr Vandrovec

<[email protected]> (02/02/12 1.294)
        Various minor documentation / comment typo fixes
        for net drivers 3c509, acenic, ni52, and skfp.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.295)
        request_region cleanups from 2.4 and the kernel janitors.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.296)
        Remove deprecated SIOCDEVPRIVATE ioctls in net drivers
        3c59x, eepro100, sis900, and tulip.
        
        Also, update eepro100 Becker URL.
        
        Contributor: Dave Jones

<[email protected]> (02/02/12 1.297)
        Merge basic ethtool ioctl support from 2.4.x for 3c505 and sis900
        net drivers.  Merge two sis900 bug fixes from 2.4.x.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.298)
        Fix typo in aironet4500 net driver return value, s/NODEV/-ENODEV/,
        which prevented the driver from building.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.299)
        Merge cosmetic cleanup and driver version increment
        for dmfe net driver from 2.4.x.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.300)
        Add new ISAPNP card id to 'ne' net driver.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.301)
        Merge 8139too net driver oops fix from 2.4.x.
        
        Fix originally by Andreas Dilger IIRC, merged by Dave Jones.

<[email protected]> (02/02/12 1.302)
        Merge ns83820 GigE net driver changes from 2.4.x kernel:
        0.13a - optical transceiver support added
                by Michael Clark <[email protected]>
0.13b - call register_netdev earlier in initialization
                suppress duplicate link status messages
        0.15    get ppc (big endian) working
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.303)
        Merge ethtool support and PPC fix into pcnet32 net driver,
        from 2.4.x.
        Also, remove deprecated SIOCDEVPRIVATE ioctl calls.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.304)
        Merge changes from yellowfin GigE net driver version LK1.1.6:
        * Only print warning on truly "oversized" packets
        * Fix theoretical bug on gigabit cards - return to 1.1.3 behavior
        
        Contributor: Val Henson

<[email protected]> (02/02/12 1.305)
        A minor patch to remove the last isa_read/isa_write function in
        the ibmtr token ring net driver. 
        
        Contributor:
        Mike Phillips
        Linux Token Ring Project

<[email protected]> (02/02/11 1.262.2.5)
        Fix recalc_sigpending handling.

<[email protected]> (02/02/12 1.306)
        Cleanup and fixes to sleeping/scheduling in the olympic token ring
        net driver.  Also included are a couple of minor error reporting
        updates and the proper detection for cardbus removal.
        
        Contributor:
        Mike Phillips
        Linux Token Ring Project

<[email protected]> (02/02/11 1.293.1.1)
        Fix up typo from Al's ext2 balloc cleanups.

<[email protected]> (02/02/11 1.293.1.2)
        [PATCH] mmap can return incorrect errno
        
        mmap currently sets errno to EINVAL when it should be ENOMEM.
        SUS/POSIX states that ENOMEM should be returned when:
        
        "MAP_FIXED was specified, and the range [addr, addr + len) exceeds
        that allowed for the address space of a process; or if MAP_FIXED was
        not specified and there is insufficient room in the address space to
        effect the mapping."
        
        The following patch (against 2.4.17) fixes this behaviour:

<[email protected]> (02/02/12 1.307)
        Add new pci id to via-rhine net driver.

<[email protected]> (02/02/11 1.293.2.1)
        [PATCH] pegasus.h
        
        this patch somehow didn't get applied to 2.5.4
        so i resend it.  It is pretty harmless - only
        adds 3 more devices and 2 vendor ids into pegasus.h :-)

<[email protected]> (02/02/11 1.293.2.2)
        [PATCH] Update of USB input drivers to the latest versions
        
        Now that the input core changes have made it into 2.5 I can finally
        update the USB input drivers to their latest versions.
        
        Here is a patch that does that.
        
        In detail:
        
                HID driver:
                        Fix a bug in descriptor parsing (array/variable),
                                namely visible with Logitech new joysticks and mice
                        Fix bugs in logical/physical min/max parsing
                        Fix bugs in exponent parsing
                        Remove workaround for low-speed devices with >8 byte
                                reports, fix this in a correct way (bigger irq
                                request)
                        Untangle some code (fetc_item())
                        Implement asynchronous input/output/feature report
                                reading and writing
                        Implement (hopefully) proper locking in the above
                        Implement support for devices with an output endpoint
                        Add some support functions for force feedback support
                                currently in development
                        Add entries to the debug dump code, including FF and
                                exponents
                        Add more mappings into the hid-input interface
                        Cleanups here and there
        
                usbkbd driver:
        
                        Make LED URBS use GFP_ATOMIC, they'll be called from a
                                completion handler
                        Remove dependency on hid.h
        
                usbmouse driver:
        
                        Just conversion to the new input core, minor cleanups
        
                wacom driver:
        
                        Just conversion to the new input core.

<[email protected]> (02/02/12 1.281.1.1)
        [PATCH] BKL shifted into ->lookup()
        
                OK, here comes: ->lookup() had lost BKL, all in-tree instances of
        ->lookup() converted.
        
                I'm adding Documentation/filesystems/porting - with the list of
        API changes since 2.4.  Are you OK with that format?
        
        (and yes, this sucker is *post*-compile ;-)

<[email protected]> (02/02/12 1.311)
        [PATCH] BKL shifted into ->truncate()
        
                BKL shifted into all instances of ->truncate().  Callers updated.

<[email protected]> (02/02/12 1.307.1.1)
        Remove GMAC net driver, with the ok of the PPC folks.
        'sungem' which DaveM is maintaining is the replacement.

<[email protected]> (02/02/12 1.307.1.2)
        Merge bug fixes and PPC-specific feature additions from 2.4.x
        into bmac and mace net drivers.
        
        Via Dave Jones.

<[email protected]> (02/02/12 1.307.1.3)
        Add new pci id to 8139too net driver, for Allied Telesyn cardbus cards.
        
        Contributor: Go Taniguchi

<[email protected]> (02/02/12 1.293.4.1)
        Add Macrolink board PCI ids to pci.ids and pci_ids.h.
        
        Contributor: Ed Vance @ Macrolink

<[email protected]> (02/02/12 1.293.5.1)
        optimization, cleanup: switch_to(3 parameter) => switch_to(2 parameter).

<[email protected]> (02/02/12 1.293.5.2)
        move sched_find_first_bit() from mmu_context.h to bitops.h, it belongs there.

<[email protected]> (02/02/12 1.293.5.3)
        a cleanup and a bugfix in the preemptive kernel:
        
        - the PREEMPT_ACTIVE trick is not needed
        
        - schedule() should check for need_resched, we might miss a
          reschedule otherwise.
        
        the cleanup also fixes the bug. The only reason why i kept
        preempt_schedule() was to fix up p->state to TASK_RUNNING,
        to make it possible to preempt from places that mark the
        task TASK_UNINTERRUPTIBLE before adding the task to a waitqueue,
        and thus a preemption in that small window could cause the
        task to be removed from the runqueue erroneously.

<[email protected]> (02/02/13 1.293.5.4)
        do not unlock irqs before calling schedule() - besides being a small exit() speedup, this also
        fixes a preemption race that was introduced by my removal of PREEMPT_ACTIVE.

<[email protected]> (02/02/12 1.293.2.3)
        usb hid driver:
                - patch to fix bug where urbs were freed too soon.

<[email protected]> (02/02/12 1.293.2.4)
        [PATCH] usb_set_interface: correct toggle reset
          
        this is a patch to prevent usb_set_interface() from erroneously resetting
        the toggles for all endpoints instead of only the affected ones from the
        requested interface/altsetting. I've also added some missing parentheses
        to related macros in usb.h as I prefered not to take special care for
        nasty side-effects ;-)
          
        Patch below was created against 2.4.18-pre9 (with some lines of offset it
        applies to 2.5.4-pre5 as well).
          
        Tested in multi-interface configuration to provide evidence it:
        * correctly identifies the affected endpoints and resets the toggles
        * doesn't touch endpoints from other interfaces
        * provides correct handling of shared EP0
        * solves an issue I had with 2.4.18-pre9 where setting one interface
          occasionally caused transfers on other interface to hang due to lost
          toggle synchronisation
        
        Despite being a pure bugfix, well localized and (IMHO) pretty obviously
        correct wrt. USB-spec, I'd like to suggest including this in early
        2.4.19-pre. Just in case some existing driver would somehow workaround
        the currently wrong behavior and might break with this fix. And it's
        not very urgent right now, as we are probably close to 2.4.18-rc1.
          
        Regards,
        Martin

<[email protected]> (02/02/13 1.293.5.5)
        this is a fragile piece of the ptrace code, the code relies on a single wakeup coming from the parent.
        This fix is necessery after the preempt_schedule() cleanups, it unbreaks 'strace strace ...'.

<[email protected]> (02/02/13 1.293.5.6)
        - make the preempt-enable test cheaper - only test for the (very rare) TIF_NEED_RESCHED
          condition, we test the preemption count in preempt_schedule(). This reduces the icache
          footprint and the overhead of preemption.
        
        - plus optimize the irq-path preemption check a bit.

<[email protected]> (02/02/13 1.293.5.7)
        cleanups.

<[email protected]> (02/02/13 1.262.10.1)
        [PATCH] ALSA patch for 2.5.4
        
        Integrate ALSA into v2.5.4
        
                    Jaroslav

<[email protected]> (02/02/13 1.316)
        [PATCH] 2.5.4, add help texts to drivers/net/pcmcia/Config.help
        
        Add help texts for CONFIG_PCMCIA_AXNET and CONFIG_PCMCIA_XIRCOM

<[email protected]> (02/02/13 1.317)
        Make Jaroslav the sound maintainer, remove Alan on his request.

<[email protected]> (02/02/13 1.318)
        Include linux/compiler.h in include/asm-i386/bitops.h,
        for the definition of unlikely().

<[email protected]> (02/02/13 1.317.1.1)
        [PATCH] menuconfig: fix error exit if awk fails
        
        This one-liner fixes an error case in Menuconfig when awk fails.
        Written by Andrew Church ([email protected]).
        Reviewed and tested by Michael Elizabeth Chastain ([email protected]).
        
        Michael Elizabeth Chastain
        
        ===

<[email protected]> (02/02/13 1.317.1.3)
        [PATCH] fix sd_find_target (v2.5.4)
        
        This patch fixes a compile error on PPC.  It's in sd_find_target, a
        function that returns a kdev_t.

<[email protected]> (02/02/13 1.317.1.4)
        [PATCH] flush_icache_user_range (v2.5.4)
        
        The patch below changes access_process_vm to use a new architecture
        hook, flush_icache_user_range, instead of flush_icache_page, and adds
        a definition of flush_icache_user_range which does the same thing as
        flush_icache_page for all architectures except PPC.  (The PPC update
        that is in Linus' BK tree already includes a suitable definition of
        flush_icache_user_range.)
        
        The reason for doing this is that when flush_icache_page is called
        from do_no_page or do_swap_page, I want to be able to do the flush
        conditionally, based on the state of the page.  In contrast,
        access_process_vm needs to do the flush unconditionally since it has
        just modified the page.  In the access_process_vm case it is useful to
        have the information about the user address and length that have been
        modified since then we can just flush the affected cache lines rather
        than the whole page.
        
        This patch should make it easy to improve performance on alpha, since
        there (as I understand it) the icache flush is not needed at all in
        do_no_page or do_swap_page, but is needed in access_process_vm.  All
        that is needed is to make flush_icache_page a noop on alpha.  The
        patch below doesn't do this, I'll let the alpha maintainers push that
        change if they want.

<[email protected]> (02/02/13 1.320)
        update version

<[email protected]> (02/02/13 1.321)
        Avoid pci driver warnings on 64-bit hosts

<[email protected]> (02/02/13 1.322)
        [PATCH] x86_64-merge file.c warning
        
        Just an gcc 3.1 warning fix. It now warns about __FUNCTION__ string
        concatenation. Also remove the check because it does not seem to trigger
        ever.
        
        -Andi

<[email protected]> (02/02/13 1.323)
        [PATCH] x86_64 merge: arch + asm
        
        This adds the x86_64 arch and asm directories and a Documentation/x86_64.
        
        It took a bit longer because I first had to make preemption and thread_info
        work and also found some other bugs while doing this. The port has been
        tested for a long time on UP.
        
        I'm not sure what I should describe.  A lot is based on i386 with
        a lot of cleanups. I wrote a paper about it for last year's OLS that describes
        most of the changes (ftp://ftp.firstfloor.org/pub/ak/x86_64.ps.gz). It is
        a bit outdated now, but should give a good overview.
        
        It currently has a completely cut'n'pasted from others+hacked 32bit
        emulation. I hope to clean that up in the future by merging the generic
        core of this with other 64bit archs.
        
        Thanks,
        -Andi

<[email protected]> (02/02/13 1.324)
        [PATCH] x86-64 MAINTAINERS
        
        Add Andi Kleen as x86-64 maintainer.

<[email protected]> (02/02/13 1.325)
        [PATCH] x86_64 merge: fs/proc/inode.c #include fix
        
        fs/proc/inode.c is using __init, but for some reason missing an
        #include <linux/init.h>. Add this.


Get the Free Newsletter!

Subscribe to Developer Insider for top news, trends, & analysis