summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2007-11-14[SCSI] iscsi: return data transfer residual for data-out commandsTony Battersby1-3/+0
Currently, the iSCSI driver returns the data transfer residual for data-in commands (e.g. read) but not data-out commands (e.g. write). This patch makes it return the data transfer residual for both types of commands. Signed-off-by: Tony Battersby <tonyb@cybernetics.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2007-11-14[SCSI] iscsi_tcp: fix potential lockup with write commandsTony Battersby2-87/+86
There is a race condition in iscsi_tcp.c that may cause it to forget that it received a R2T from the target. This race may cause a data-out command (such as a write) to lock up. The race occurs here: static int iscsi_send_unsol_pdu(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask) { struct iscsi_tcp_cmd_task *tcp_ctask = ctask->dd_data; int rc; if (tcp_ctask->xmstate & XMSTATE_UNS_HDR) { BUG_ON(!ctask->unsol_count); tcp_ctask->xmstate &= ~XMSTATE_UNS_HDR; <---- RACE ... static int iscsi_r2t_rsp(struct iscsi_conn *conn, struct iscsi_cmd_task *ctask) { ... tcp_ctask->xmstate |= XMSTATE_SOL_HDR_INIT; <---- RACE ... While iscsi_xmitworker() (called from scsi_queue_work()) is preparing to send unsolicited data, iscsi_tcp_data_recv() (called from tcp_read_sock()) interrupts it upon receipt of a R2T from the target. Both contexts do read-modify-write of tcp_ctask->xmstate. Usually, gcc on x86 will make &= and |= atomic on UP (not guaranteed of course), but in this case iscsi_send_unsol_pdu() reads the value of xmstate before clearing the bit, which causes gcc to read xmstate into a CPU register, test it, clear the bit, and then store it back to memory. If the recv interrupt happens during this sequence, then the XMSTATE_SOL_HDR_INIT bit set by the recv interrupt will be lost, and the R2T will be forgotten. The patch below (against 2.6.24-rc1) converts accesses of xmstate to use set_bit, clear_bit, and test_bit instead of |= and &=. I have tested this patch and verified that it fixes the problem. Another possible approach would be to hold a lock during most of the rx/tx setup and post-processing, and drop the lock only for the actual rx/tx. Signed-off-by: Tony Battersby <tonyb@cybernetics.com> Signed-off-by: Mike Christie <michaelc@cs.wisc.edu> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2007-11-12[SCSI] aacraid: fix security weaknessAlan Cox1-2/+2
Actually there are several but one is trivially fixed 1. FSACTL_GET_NEXT_ADAPTER_FIB ioctl does not lock dev->fib_list but needs to 2. Ditto for FSACTL_CLOSE_GET_ADAPTER_FIB 3. It is possible to construct an attack via the SRB ioctls where the user obtains assorted elevated privileges. Various approaches are possible, the trivial ones being things like writing to the raw media via scsi commands and the swap image of other executing programs with higher privileges. So the ioctls should be CAP_SYS_RAWIO - at least all the FIB manipulating ones. This is a bandaid fix for #3 but probably the ioctls should grow their own capable checks. The other two bugs need someone competent in that driver to fix them. Signed-off-by: Alan Cox <alan@redhat.com> Acked-by: Mark Salyzyn <mark_salyzyn@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2007-11-07[SCSI] aacraid: fix up le32 issues in BlinkLEDSalyzyn, Mark1-1/+1
Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2007-11-07[SCSI] aacraid: fix potential panic in thread stopSalyzyn, Mark1-1/+2
Got a panic in the threading code on an older kernel when the Adapter failed to load properly and driver shut down apparently before any threading had started, can not dupe. Expect that this may be relevant in the latest kernel, but not sure. This patch does no harm, and should alleviate the possibility of this panic. Signed-off-by: Mark Salyzyn <aacraid@adaptec.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2007-11-07[SCSI] aacraid: don't assign cpu_to_le32(constant) to u8Stephen Rothwell1-3/+3
Noticed on PowerPC allmod config build: drivers/scsi/aacraid/commsup.c:1342: warning: large integer implicitly truncated to unsigned type drivers/scsi/aacraid/commsup.c:1343: warning: large integer implicitly truncated to unsigned type drivers/scsi/aacraid/commsup.c:1344: warning: large integer implicitly truncated to unsigned type Also fix some whitespace on the changed lines. Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au> Acked-by: Mark Salyzyn <mark_salyzyn@adaptec.com> Signed-off-by: James <James.Bottomley@HansenPartnership.com> Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
2007-11-07Linux 2.6.24-rc2v2.6.24-rc2Linus Torvalds1-1/+1
2007-11-07UML: fix defconfig build againJeff Dike1-2/+2
Reported by Al Viro. This fixes it: [AC]FLAGS -> KBUILD_[AC]FLAGS conversion in Makefile-i386. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Al Viro <viro@ftp.linux.org.uk> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06Merge branch 'for-linus' of ↵Linus Torvalds4-5/+11
git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ericvh/v9fs: 9p: add missing end-of-options record for trans_fd 9p: return NULL when trans not found 9p: use copy of the options value instead of original 9p: fix memory leak in v9fs_get_sb
2007-11-069p: add missing end-of-options record for trans_fdLatchesar Ionkov1-1/+2
The list of options that the fd transport accepts is missing end-of-options marker. This patch adds it. Signed-off-by: Latchesar Ionkov <lucho@ionkov.net> Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-11-069p: return NULL when trans not foundLatchesar Ionkov1-2/+2
v9fs_match_trans function returns arbitrary transport module instead of NULL when the requested transport is not registered. This patch modifies the function to return NULL in that case. Signed-off-by: Latchesar Ionkov <lucho@ionkov.net> Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-11-069p: use copy of the options value instead of originalLatchesar Ionkov1-2/+4
v9fs_parse_options function uses strsep which modifies the value of the v9ses->options field. That modified value is later passed to the function that creates the transport potentially making the transport creation function to fail. This patch creates a copy of v9ses->option field that v9fs_parse_options function uses instead of the original value. Signed-off-by: Latchesar Ionkov <lucho@ionkov.net> Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-11-069p: fix memory leak in v9fs_get_sbLatchesar Ionkov1-0/+3
This patch fixes a memory leak in v9fs_get_sb. Signed-off-by: Latchesar Ionkov <lucho@ionkov.net> Acked-by: Eric Van Hensbergen <ericvh@gmail.com>
2007-11-06Merge branch 'drm-patches' of ↵Linus Torvalds4-14/+1
master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6 * 'drm-patches' of master.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6: drm: DRM: fix memset size error drm: remove remnants of DRM_COPY_FROM/TO_USER_IOCTL drm: remove second forward decleration of drm device struct.
2007-11-06Merge branch 'upstream-linus' of ↵Linus Torvalds5-28/+83
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev: libata: handle broken cable reporting pata_hpt37x: Fix outstanding bug reports on the HPT374 and 37x cable detect ata_piix: Add additional PCI identifier for 40 wire short cable pata_serverworks: Fix problem with some drive combinations libata: Don't disable dipm with SET FEATURES libata and bogus LBA48 drives
2007-11-06Merge branch 'upstream-linus' of ↵Linus Torvalds4-9/+23
master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 * 'upstream-linus' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6: phylib: Silence driver registration phylib: Add ID for Marvell 88E1240 82596: free nonexistent resource fix SUNHME: Fix missing NETIF_F_VLAN_CHALLENGED on PCI happy meals
2007-11-06drm: DRM: fix memset size errorLi Zefan1-1/+1
The size passing to memset is wrong. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
2007-11-06drm: remove remnants of DRM_COPY_FROM/TO_USER_IOCTLDave Airlie2-11/+0
This is a bug in the savage driver since I introduced these changes. Signed-off-by: Dave Airlie <airlied@redhat.com>
2007-11-06drm: remove second forward decleration of drm device struct.Dave Airlie1-2/+0
Signed-off-by: Dave Airlie <airlied@linux.ie>
2007-11-06ata_piix: Add additional PCI identifier for 40 wire short cableAlan Cox1-0/+1
Keeping the list in sync with the old IDE driver Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06time: fix inconsistent function names in commentsLi Zefan3-3/+3
Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: john stultz <johnstul@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06m68knommu: fix pread/pwrite definesGreg Ungerer1-2/+2
Fix system call defines for system call 180 and 181 to match the underlying system call table function entries. System call 180 calls sys_pread64, and 181 calls sys_pwrite64, so make the definitions match. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06eCryptfs: release mutex on hash error pathMichael Halcrow1-4/+22
Release the crypt_stat hash mutex on allocation error. Check for error conditions when doing crypto hash calls. Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com> Reported-by: Kazuki Ohta <kazuki.ohta@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06eCryptfs: increment extent_offset once per loop interationMichael Halcrow1-2/+0
The extent_offset is getting incremented twice per loop iteration through any given page. It should only be getting incremented once. This bug should only impact hosts with >4K page sizes. Signed-off-by: Michael Halcrow <mhalcrow@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06telephony: phonedev panics if unregistering device not registered [Bug 9266]Matti Linnanvuori1-3/+2
Remove panic from phonedev. See http://bugzilla.kernel.org/show_bug.cgi?id=9266 for details (phonedev panics if unregistering device not registered). Signed-off-by: Matti Linnanvuori <mattilinnanvuori@yahoo.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06md: fix misapplied patch in raid5.cNeil Brown1-7/+7
commit 4ae3f847e49e3787eca91bced31f8fd328d50496 ("md: raid5: fix clearing of biofill operations") did not get applied correctly, presumably due to substantial similarities between handle_stripe5 and handle_stripe6. This patch moves the chunk of new code from handle_stripe6 (where it isn't needed (yet)) to handle_stripe5. Signed-off-by: Neil Brown <neilb@suse.de> Cc: "Dan Williams" <dan.j.williams@intel.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06virtio/virtcons: fix section mismatch warningRandy Dunlap1-1/+1
Make virtcons_probe() __devinit. Fixes this section warning: WARNING: vmlinux.o(.text+0x14c10b): Section mismatch: reference to .init.text:hvc_alloc (between 'virtcons_probe' and 'ac_register_board') Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06rtc: m48t59 fix section mismatch warningRandy Dunlap1-3/+3
Change the name of this data to use a name (suffix) that is whitelisted by MODPOST so that the section warning is fixed (not generated). WARNING: vmlinux.o(.data+0x1b140): Section mismatch: reference to .init.text:m48t59_rtc_probe (between 'm48t59_rtc_platdrv' and 'm48t59_nvram_attr') Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Acked-by: Alessandro Zummo <a.zummo@towertech.it> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06uml: correctly strip kernel defines from userspace CFLAGSJeff Dike1-2/+5
KERNEL_DEFINES needs whitespace trimmed, otherwise the whitespace crunching done by make fools the patsubst which is used to remove KERNEL_DEFINES from USER_CFLAGS. Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Sam Ravnborg <sam@ravnborg.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06uml: fix incompatible types warning in previous SG fixWANG Cong1-1/+1
Fix an incompatible-pointer warning. Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Jeff Dike <jdike@linux.intel.com> Cc: Jens Axboe <jens.axboe@oracle.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06paride: fix 'and' typo in drivers/block/paride/pt.cRoel Kluin1-1/+1
Fix 'and' typo (PT_WRITE_OK is defined 2) Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06fs/afs/vlocation.c: fix off-by-oneAdrian Bunk1-1/+1
This patch fixes an off-by-one error spotted by the Coverity checker. Signed-off-by: Adrian Bunk <bunk@kernel.org> Acked-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06arm26: remove it againHugh Dickins1-1/+0
A tiny vestige of arm26 has appeared: remove it again. (akpm: someone (tm) needs to remove include/asm-arm26/ too) Signed-off-by: Hugh Dickins <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06Fix bitmap_scnlistprintf for empty masksAndi Kleen1-0/+4
When a bitmap is empty bitmap_scnlistprintf() would leave the buffer uninitialized. Set it to an empty string in this case. I didn't see any in normal kernel callers hitting this, but some custom debug code of mine did. Signed-off-by: Andi Kleen <ak@suse.de> Acked-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06Missing include file in kallsyms.hKamalesh Babulal1-0/+1
The Build with randconfig fails with following error with the 2.6.24-rc4-git9 include/linux/kallsyms.h:56: error: `NULL' undeclared (first use in this function) include/linux/kallsyms.h:56: error: (Each undeclared identifier is reported only once include/linux/kallsyms.h:56: error: for each function it appears in.) make[2]: *** [arch/powerpc/platforms/cell/spu_callbacks.o] Error 1 make[1]: *** [arch/powerpc/platforms/cell] Error 2 make: *** [arch/powerpc/platforms] Error 2 Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06local_t Documentation updateMathieu Desnoyers1-0/+23
Grant Grundler was asking for more detail about correct usage of local atomic operations and suggested adding the resulting summary to local_ops.txt. "Please add a bit more detail. If DaveM is correct (he normally is), then there must be limits on how the local_t can be used in the kernel process and interrupt contexts. I'd like those rules spelled out very clearly since it's easy to get wrong and tracking down such a bug is quite painful." Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca> Signed-off-by: Grant Grundler <grundler@parisc-linux.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06serial: fix compile warning about putcYinghai Lu1-2/+2
drivers/serial/8250_early.c:80: warning: conflicting types for built-in function `putc' Signed-off-by: Yinghai Lu <yinghai.lu@sun.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06i2o: debug messages correctedVasily Averin1-2/+2
max_phys_segments and max_sectors were swapped Signed-off-by: Vasily Averin <vvs@sw.ru> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06Dump stack during sysctl registration failureAlexey Dobriyan1-0/+1
Let's make immediately obvious from where sysctl comes from and messages itself more noticeable. Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06i4l: errors with assignments in ifRoel Kluin1-1/+1
Signed-off-by: Roel Kluin <12o3l@tiscali.nl> Acked-by: Karsten Keil <kkeil@suse.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-11-06libata: handle broken cable reportingAlan Cox3-1/+30
One or two ancient drives predated the cable spec and didn't sent the valid bits for the field. I had hoped to leave this out of libata as a piece of historical annoyance but a recent CD drive shows the same bug so we have to import support for it. Same concept as Bartlomiej's changes old IDE except that as we have centralised blacklists we can avoid keeping another private table of stuff Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-06pata_hpt37x: Fix outstanding bug reports on the HPT374 and 37x cable detectAlan Cox1-13/+36
- Read frequency correctly - Correct cable detect handling - Fix wrong filter test Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-06ata_piix: Add additional PCI identifier for 40 wire short cableAlan Cox1-0/+1
Keeping the list in sync with the old IDE driver Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-06pata_serverworks: Fix problem with some drive combinationsAlan Cox1-6/+5
The driver used the channel not the device number for deciding where to load some timing parameters. Also change so that we clear the UDMA field as the old driver did. Not believed neccessary but does no harm. Signed-off-by: Alan Cox <alan@redhat.com> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-06phylib: Silence driver registrationOlof Johansson1-1/+1
It gets quite verbose to see every single PHY driver being registered by default. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-06phylib: Add ID for Marvell 88E1240Olof Johansson1-5/+18
Add PHY IDs for Marvell 88E1240. It seems to have close enough programming models to 1111/1112 for basic support at least. Also clean up whitespace in the ID list a bit. Signed-off-by: Olof Johansson <olof@lixom.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-0682596: free nonexistent resource fixEvgeniy Dushistov1-1/+2
During booting of last vanilla kernel I got: Trying to free nonexistent resource... This because of if "ENABLE_APRICOT" is on we do: request_region(ioaddr,...) if (checksum test failed) goto out1; dev->base_addr = ioaddr;//<-here mistake out1: release_region(dev->base_addr,...) This change fixes this bug for me. Signed-off-by: Evgeniy Dushistov <dushistov@mail.ru> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-06SUNHME: Fix missing NETIF_F_VLAN_CHALLENGED on PCI happy mealsDavid Miller1-2/+2
No HME parts can do VLANs correctly. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Jeff Garzik <jeff@garzik.org>
2007-11-06Merge branch 'for-linus' of git://git.o-hand.com/linux-rpurdie-ledsLinus Torvalds1-9/+11
* 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds: leds: bugfixes for leds-gpio
2007-11-06Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6Linus Torvalds19-64/+134
* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6: PCI: Add Kconfig option to disable deprecated pci_find_* API PCI: pciserial_resume_one ignored return value of pci_enable_device PCI Hotplug: cpqhp_pushbutton_thread(): remove a pointless if() check PCI: make pci_match_device() static PCI: Remove 3 incorrect MSI quirks. PCI: Add MSI INTX_DISABLE quirks for ATI SB700/800 SATA and IXP SB400 USB PCI: Add quirk for devices which disable MSI when INTX_DISABLE is set. PCI: Add MSI quirk for ServerWorks HT1000 PCIX bridge. PCI: Revert "PCI: disable MSI by default on systems with Serverworks HT1000 chips"