commit cc36d4a3308f1965f9409985ecbe64a2685d81fa Author: Greg Kroah-Hartman Date: Fri Mar 2 16:34:31 2007 -0800 Linux 2.6.19.6 commit 074023e131b7ecba0f7d9ba43ba0df322fc8f129 Author: Stephen Hemminger Date: Mon Feb 26 17:18:39 2007 -0800 sky2: fix ram buffer allocation settings Different chipsets have different amount of ram buffer (some have none), so need to make sure that driver does proper setup for all cases from 0 on to 48K, in units of 1K. This is a backport of the code from 2.6.19 or later Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 1df6a4c30fbd43d9c3baf0dcdb2c60af688f0803 Author: Stephen Hemminger Date: Mon Feb 26 17:18:38 2007 -0800 sky2: dont flush good pause frames Don't mark pause frames as errors. This caused a bug that would lockup transmitter, as well as all the other ports on a switch. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit fead18b0e8a8ffc873482dee0e616d4d0d9592a6 Author: Stephen Hemminger Date: Mon Feb 26 17:18:37 2007 -0800 sky2: transmit timeout deadlock The code in transmit timeout incorrectly assumed that netif_tx_lock was not set. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit eecf18ffe65123882562c54e55fd2d5e54ad4fef Author: Stephen Hemminger Date: Mon Feb 26 17:18:36 2007 -0800 sky2: kfree_skb with IRQ with netconsole When using netconsole, it is possible for the driver to try and free skb's with IRQ's disabled. This could cause problems if the skb had a destructor function that didn't expect this. The documented semantics is that skb->destructor callback happens in softirq. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit fe864ebed2a1e894552bb426bbb02a2e2c2f6878 Author: Stephen Hemminger Date: Mon Feb 26 17:18:35 2007 -0800 sky2: fix for NAPI with dual port boards This driver uses port 0 to handle receives on both ports. So the netif_poll_disable call in dev_close would end up stopping the second port on dual port cards. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit 6c51946a6ee266a8861cecc8277f5b7009851738 Author: Stephen Hemminger Date: Mon Feb 26 17:18:34 2007 -0800 sky2: pci config blocks phy power control PHY power control won't work because writes to PCI config space are not re-enabled. Signed-off-by: Stephen Hemminger Signed-off-by: Greg Kroah-Hartman commit bcaaa45c3feb2fcc36a247011970d5026c286154 Author: David Moore Date: Wed Feb 21 14:37:44 2007 +0100 Missing critical phys_to_virt in lib/swiotlb.c Adds missing call to phys_to_virt() in the lib/swiotlb.c:swiotlb_sync_sg() function. Without this change, a kernel panic will always occur whenever a SWIOTLB bounce buffer from a scatter-gather list gets synced. Signed-off-by: David Moore Signed-off-by: Stefan Richter Signed-off-by: Greg Kroah-Hartman commit c19eb9e045471c2a32ed0a6e01f1351891995d3b Author: Takashi Iwai Date: Wed Feb 21 11:38:59 2007 -0500 hda-codec - Don't return error at initialization of modem codec [ALSA] hda-codec - Don't return error at initialization of modem codec Some modem codec seem to fail in the initialization, and this stopped loading of the whole module although the audio is OK. Since it's usually a non-fatal issue, the driver tries to proceed to initialize now. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit b51e94f32535bd24521a350c957b1bbac020d226 Author: David Brownell Date: Wed Feb 21 11:50:33 2007 -0500 USB: usbnet driver bugfix The attached fixes an oops in the usbnet driver. The same patch is in 2.6.21-rc1, but that one has many whitespace changes. This is much smaller. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 3570df5b4cc57543ed24f039fb1a8bdcd198adc7 Author: Steve French Date: Wed Feb 21 17:33:11 2007 -0500 Fix oops when Windows server sent bad domain name null terminator [CIFS] Fix oops when Windows server sent bad domain name null terminator Fixes RedHat bug 211672 Windows sends one byte (instead of two) of null to terminate final Unicode string (domain name) in session setup response in some cases - this caused cifs to misalign some informational strings (making it hard to convert from UCS16 to UTF8). Thanks to Shaggy for his help and Akemi Yagi for debugging/testing Signed-off-by: Shirish Pargaonkar Signed-off-by: Steve French Signed-off-by: Greg Kroah-Hartman commit 6c050fd60377c3984196477278ef79a075843861 Author: Takashi Iwai Date: Tue Feb 6 19:15:26 2007 +0100 hda-intel - Don't try to probe invalid codecs [ALSA] hda-intel - Don't try to probe invalid codecs Fix the max number of codecs detected by HD-intel (and compatible) controllers to 3. Some hardware reports extra bits as if connected, and the driver gets confused to probe unexisting codecs. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela Signed-off-by: Greg Kroah-Hartman commit 4e0f3f7beb26b952cfa78998191f89dedaf61a0d Author: Francois Romieu Date: Wed Feb 21 17:43:47 2007 -0500 netpoll: drivers must not enable IRQ unconditionally in their NAPI handler netpoll: drivers must not enable IRQ unconditionally in their NAPI handler net/core/netpoll.c::netpoll_send_skb() calls the poll handler when it is available. As netconsole can be used from almost any context, IRQ must not be enabled blindly in the NAPI handler of a driver which supports netpoll. b57bd06655a028aba7b92e1c19c2093e7fcfb341 fixed the issue for the 8139too.c driver. Signed-off-by: Francois Romieu Signed-off-by: Jeff Garzik Signed-off-by: Greg Kroah-Hartman commit cf4e6070ffc2d348671706336fbd9bec6bcc1b34 Author: Eric Sandeen Date: Thu Feb 22 11:09:19 2007 -0500 fix memory corruption from misinterpreted bad_inode_ops return values (CVE-2006-5753) CVE-2006-5753 is for a case where an inode can be marked bad, switching the ops to bad_inode_ops, which are all connected as: static int return_EIO(void) { return -EIO; } #define EIO_ERROR ((void *) (return_EIO)) static struct inode_operations bad_inode_ops = { .create = bad_inode_create ...etc... The problem here is that the void cast causes return types to not be promoted, and for ops such as listxattr which expect more than 32 bits of return value, the 32-bit -EIO is interpreted as a large positive 64-bit number, i.e. 0x00000000fffffffa instead of 0xfffffffa. This goes particularly badly when the return value is taken as a number of bytes to copy into, say, a user's buffer for example... I originally had coded up the fix by creating a return_EIO_ macro for each return type, like this: static int return_EIO_int(void) { return -EIO; } #define EIO_ERROR_INT ((void *) (return_EIO_int)) static struct inode_operations bad_inode_ops = { .create = EIO_ERROR_INT, ...etc... but Al felt that it was probably better to create an EIO-returner for each actual op signature. Since so few ops share a signature, I just went ahead & created an EIO function for each individual file & inode op that returns a value. Signed-off-by: Eric Sandeen Cc: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds Signed-off-by: Greg Kroah-Hartman commit 8658e1a8a8d97810287f8a8daef91e42aeb36cb8 Author: Thomas Renninger Date: Thu Feb 22 13:52:40 2007 +0100 Backport of psmouse suspend/shutdown cleanups This patch works back to 2.6.17 (earlier kernels seem to need up/down operations on mutex/semaphore). psmouse - properly reset mouse on shutdown/suspend Some people report that they need psmouse module unloaded for suspend to ram/disk to work properly. Let's make port cleanup behave the same way as driver unload. This fixes "bad state" problem on various HP laptops, such as nx7400. Signed-off-by: Dmitry Torokhov Signed-off-by: Thomas Renninger Signed-off-by: Greg Kroah-Hartman commit f3db3bf1da4b6f839b51083c09289a25c02c2429 Author: Hugh Dickins Date: Fri Feb 23 21:52:27 2007 +0000 fix umask when noACL kernel meets extN tuned for ACLs Fix insecure default behaviour reported by Tigran Aivazian: if an ext2 or ext3 or ext4 filesystem is tuned to mount with "acl", but mounted by a kernel built without ACL support, then umask was ignored when creating inodes - though root or user has umask 022, touch creates files as 0666, and mkdir creates directories as 0777. This appears to have worked right until 2.6.11, when a fix to the default mode on symlinks (always 0777) assumed VFS applies umask: which it does, unless the mount is marked for ACLs; but ext[234] set MS_POSIXACL in s_flags according to s_mount_opt set according to def_mount_opts. We could revert to the 2.6.10 ext[234]_init_acl (adding an S_ISLNK test); but other filesystems only set MS_POSIXACL when ACLs are configured. We could fix this at another level; but it seems most robust to avoid setting the s_mount_opt flag in the first place (at the expense of more ifdefs). Likewise don't set the XATTR_USER flag when built without XATTR support. Signed-off-by: Hugh Dickins Acked-by: Andreas Gruenbacher Cc: Tigran Aivazian Signed-off-by: Greg Kroah-Hartman