summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* virtio: change config to guest endian.Rusty Russell2008-05-023-36/+21
| | | | | | | | | | | | | | | | | | A recent proposed feature addition to the virtio block driver revealed some flaws in the API, in particular how easy it is to break big endian machines. The virtio config space was originally chosen to be little-endian, because we thought the config might be part of the PCI config space for virtio_pci. It's actually a separate mmio region, so that argument holds little water; as only x86 is currently using the virtio mechanism, we can change this (but must do so now, before the impending s390 merge). API changes: - __virtio_config_val() just becomes a striaght vdev->config_get() call. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: finer-grained features for virtio_netRusty Russell2008-05-022-2/+20
| | | | | | | | | | | | | So, we previously had a 'VIRTIO_NET_F_GSO' bit which meant that 'the host can handle csum offload, and any TSO (v4&v6 incl ECN) or UFO packets you might want to send. I thought this was good enough for Linux, but it actually isn't, since we don't do UFO in software. So, add separate feature bits for what the host can handle. Add equivalent ones for the guest to say what it can handle, because LRO is coming too (thanks Herbert!). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: wean net driver off NETDEV_TX_BUSYRusty Russell2008-05-021-20/+43
| | | | | | | | Herbert tells me that returning NETDEV_TX_BUSY from hard_start_xmit is seen as a poor thing to do; we should cache the packet and stop the queue. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>
* virtio-blk: fix remove oopsMarcelo Tosatti2008-05-021-2/+0
| | | | | | | | | | | | | | | Do not unregister the major at device remove, since there might be another device instances around. (qemu) pci_del 0 11 (qemu) ACPI: PCI interrupt for device 0000:00:0b.0 disabled (qemu) pci_del 0 10 (qemu) ------------[ cut here ]------------ WARNING: at block/genhd.c:126 unregister_blkdev+0x74/0x9e() ACPI: PCI interrupt for device 0000:00:0a.0 disabled Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: fix scatterlist sizing in net driver.Rusty Russell2008-05-021-4/+4
| | | | | | | | | | | Herbert Xu points out (within another patch) that my scatterlists are too short: one entry for the gso header, one for the skb->data, and MAX_SKB_FRAGS for all the fragments. Fix both xmit and recv sides (recv currently unused, coming in later patch). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: de-structify virtio_block status byteRusty Russell2008-05-023-15/+10
| | | | | | | | | Ron Minnich points out that a struct containing a char is not always sizeof(char); simplest to remove the structure to avoid confusion. Cc: "ron minnich" <rminnich@gmail.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: export more headers to userspaceChristian Borntraeger2008-05-021-0/+5
| | | | | | | | | | | | | | | | | Rusty, is there a reason why we dont export the virtio headers for 9p, balloon, console, pci, and virtio_ring? kvm uses make sync, but I think it is still useful to heave these headers exported as they might be useful for other userspace tools. I dont export virtio.h, because it does not seem to have useful information for userspace and it requires scatterlist.h which is also not exported. See also my other mail about your "virtio: change config to guest endian." patch. Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: fix sparse return void-valued expression warningsHarvey Harrison2008-05-021-2/+2
| | | | | | | | drivers/virtio/virtio_pci.c:148:2: warning: returning void-valued expression drivers/virtio/virtio_pci.c:155:2: warning: returning void-valued expression Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: fix tx_ stats in virtio_netRusty Russell2008-05-021-1/+1
| | | | | | | get_buf() gives the length written by the other side, which will be zero. We want to add the skb length. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* virtio: ignore corrupted virtqueues rather than spinning.Rusty Russell2008-05-021-0/+5
| | | | | | | | A corrupt virtqueue (caused by the other end screwing up) can have strange results such as a driver spinning: just bail when we try to get a buffer from a known-broken queue. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* Merge branch 'for-linus' of ↵Linus Torvalds2008-05-012-2/+5
|\ | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6 * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6: firewire: fw-sbp2: log scsi_target ID at release ieee1394: fix NULL pointer dereference in sysfs access
| * firewire: fw-sbp2: log scsi_target ID at releaseStefan Richter2008-05-011-1/+1
| | | | | | | | | | | | | | Makes the good-by message more informative. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Signed-off-by: Jarod Wilson <jwilson@redhat.com>
| * ieee1394: fix NULL pointer dereference in sysfs accessStefan Richter2008-05-011-1/+4
| | | | | | | | | | | | | | | | | | | | | | Regression since "ieee1394: prevent device binding of raw1394, video1394, dv1394", commit d2ace29fa44589da51fedc06a67b3f05301f3bfd: $ cat /sys/bus/ieee1394/drivers/raw1394/device_ids triggers a NULL pointer dereference in fw_show_drv_device_ids. Reported by Miles Lane. Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> Tested-by: Miles Lane <miles.lane@gmail.com>
* | Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linusLinus Torvalds2008-05-012-4/+8
|\ \ | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild-linus: kbuild: fix vmlinux.o link kconfig: made check-lxdialog more portable
| * | kbuild: fix vmlinux.o linkSam Ravnborg2008-05-011-2/+4
| | | | | | | | | | | | | | | | | | | | | We always linked vmliux.o. Remove init/built-in.o dependency so we avoid this Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
| * | kconfig: made check-lxdialog more portableSam Ravnborg2008-05-011-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | OS-X shell did not like 'echo -e' so implement suggestion from Al Viro to use a more portable construct. Signed-off-by: Sam Ravnborg <sam@ravnborg.org> Cc: Al Viro <viro@ZenIV.linux.org.uk> Acked-By: Timur Tabi <timur@freescale.com>
* | | Merge git://git.infradead.org/mtd-2.6Linus Torvalds2008-05-0125-196/+193
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.infradead.org/mtd-2.6: [MTD][NOR] Add physical address to point() method [JFFS2] Track parent inode for directories (for NFS export) [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean. [JFFS2] Quiet lockdep false positive. [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once() [MTD] Delete long-unused jedec.h header file. [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently.
| * | | [MTD][NOR] Add physical address to point() methodJared Hulbert2008-05-0112-51/+77
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Adding the ability to get a physical address from point() in addition to virtual address. This physical address is required for XIP of userspace code from flash. Signed-off-by: Jared Hulbert <jaredeh@gmail.com> Reviewed-by: Jörn Engel <joern@logfs.org> Acked-by: Nicolas Pitre <nico@cam.org> Acked-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [JFFS2] Track parent inode for directories (for NFS export)David Woodhouse2008-05-0112-42/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | To support NFS export, we need to know the parent inode of directories. Rather than growing the jffs2_inode_cache structure, share space with the nlink field -- which was always set to 1 for directories anyway. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [JFFS2] Invert last argument of jffs2_gc_fetch_inode(), make it boolean.David Woodhouse2008-05-014-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | We don't actually care about nlink; we only care whether the inode in question is unlinked or not. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [JFFS2] Quiet lockdep false positive.David Woodhouse2008-05-012-3/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't hold f->sem while calling into jffs2_do_create(). It makes lockdep unhappy, and we don't really need it -- the _reason_ it's a false positive is because nobody else can see this inode yet and so nobody will be trying to lock it anyway. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [JFFS2] Clean up jffs2_alloc_inode() and jffs2_i_init_once()David Woodhouse2008-05-011-7/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ditch a couple of pointless casts from void *, and use the normal variable name 'f' for jffs2_inode_info pointers -- especially since it actually shows up in lockdep reports. Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [MTD] Delete long-unused jedec.h header file.Robert P. J. Day2008-04-261-66/+0
| | | | | | | | | | | | | | | | | | | | Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
| * | | [MTD] [NAND] at91_nand: use at91_nand_{en,dis}able consistently.Atsushi Nemoto2008-04-261-21/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use at91_nand_enable(), at91_nand_disable() to manipulate enable_pin. No functional changes. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
* | | | make generic sys_ptrace unconditionalChristoph Hellwig2008-05-011-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With s390 the last arch switched to the generic sys_ptrace yesterday so we can now kill the ifdef around it to enforce every new port it using it instead of introducing new weirdo versions. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6Linus Torvalds2008-05-011-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: ide: fix early setup of hwif->host_flags
| * | | | ide: fix early setup of hwif->host_flagsBartlomiej Zolnierkiewicz2008-05-011-1/+2
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On Thursday 01 May 2008, Jeremy Kerr wrote: > Hi all, > > On QS20 Cell machines, Linus' current git tree explodes on boot: > > SiI680: IDE controller (0x1095:0x0680 rev 0x02) at PCI slot > 0000:00:0a.0 > SiI680: BASE CLOCK == 133 > SiI680: 100% native mode on irq 51 > ide0: MMIO-DMA > ide1: MMIO-DMA > Unable to handle kernel paging request for data at address > 0xa000100081220080 > Faulting instruction address: 0xc000000000024748 > cpu 0x2: Vector: 300 (Data Access) at [c00000001e143420] > pc: c000000000024748: ._insw_ns+0x10/0x30 > lr: c000000000037fc4: .spiderpci_readsw+0x24/0x6c > sp: c00000001e1436a0 > msr: 9000000000001032 > dar: a000100081220080 > dsisr: 40000000 > current = 0xc00000003d060000 > paca = 0xc000000000623880 > pid = 1, comm = swapper > enter ? for help > [link register ] c000000000037fc4 .spiderpci_readsw+0x24/0x6c > [c00000001e1436a0] c00000000062ce63 (unreliable) > [c00000001e143730] c0000000000379d4 .iowa_readsw+0x78/0xa8 > [c00000001e1437c0] c000000000037a98 .iowa_insw+0x94/0xd4 > [c00000001e143850] c00000000022a190 .ata_input_data+0x298/0x2ec > [c00000001e143910] c00000000022b600 .try_to_identify+0x2c0/0x6d4 > [c00000001e1439d0] c00000000022bb54 .do_probe+0x140/0x35c > [c00000001e143a80] c00000000022bfbc .ide_probe_port+0x24c/0x670 > [c00000001e143b50] c00000000022d09c .ide_device_add_all+0x2ec/0x690 > [c00000001e143c00] c00000000022d4a4 .ide_device_add+0x64/0x74 > [c00000001e143c90] c00000000022f834 .ide_setup_pci_device+0x58/0x7c > [c00000001e143d30] c00000000038bdf8 > [c00000001e143e10] c000000000486fb0 .ide_scan_pcibus+0x8c/0x178 > [c00000001e143ea0] c000000000460c00 .kernel_init+0x1c4/0x344 > [c00000001e143f90] c000000000024a1c .kernel_thread+0x4c/0x68 > > It looks like we're trying to do PIO accesses (which appear to be > broken, but that's another issue) to this MMIO device. In > ata_input_data, we see that: > > u8 mmio = (hwif->host_flags & IDE_HFLAG_MMIO) ? 1 : 0; > > Gives mmio == 0. > > (what's the difference between hwif->mmio and ID_HFLAG_MMIO?) > > In the siimage driver, hwif->host flags is initially set up correctly > (host_flags includes IDE_HFLAG_MMIO), but we then *clear* this bit in > ide_init_port: > > hwif->host_flags = d->host_flags; > > where d is the struct ide_port_info for this chipset. In my case, > d->host_flags is 0x0. It looks like this will be the same for all of > the siimage chipsets. Don't over-write hwif->host_flags in ide_init_port(), some host drivers set IDE_HFLAG_MMIO or IDE_HFLAG_NO_IO_32BIT host flag early. Thanks to Jeremy Kerr for the excellent analysis of the bug. Reported-by: Jeremy Kerr <jk@ozlabs.org> Tested-by: Jeremy Kerr <jk@ozlabs.org> Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com> Cc: Ben Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
* | | | Merge branch 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6Linus Torvalds2008-05-017-48/+56
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 'release' of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6: hwmon: (adt7473) minor cleanup / refactoring hwmon: (asb100) Remove some dead code hwmon: (lm75) Fix an incorrect comment hwmon: (w83793) VID and VRM handling cleanups hwmon: (w83l785ts) Don't ask the user to report failures hwmon: (smsc47b397) add a new chip id (0x8c)
| * \ \ \ Merge branch 'smsc47b397-new-id' into releaseMark M. Hoffman2008-05-011-3/+14
| |\ \ \ \
| | * | | | hwmon: (smsc47b397) add a new chip id (0x8c)Craig Kelley2008-03-021-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added a new ID (0x8c) for the smsc47b397 hardware monitor driver. This ID is used by HP in, at least, their dc7700 line. Signed-off-by: Craig Kelley <namonai@gmail.com> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
| * | | | | hwmon: (adt7473) minor cleanup / refactoringMark M. Hoffman2008-04-271-22/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acked-by: Darrick J. Wong <djwong@us.ibm.com> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
| * | | | | hwmon: (asb100) Remove some dead codeMark M. Hoffman2008-04-271-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Acked-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
| * | | | | hwmon: (lm75) Fix an incorrect commentJean Delvare2008-04-271-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | High-byte first is not opposite to the usual practice - that's what almost all hardware monitoring drivers do. It is opposite to the SMBus standard though. Also delete a duplicate comment. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
| * | | | | hwmon: (w83793) VID and VRM handling cleanupsJean Delvare2008-04-271-12/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Rework the device initialization function so as to read the "Multi-Function Pin Control" register (0x58) once instead of twice. I2C transactions aren't cheap so this speeds up the driver loading. * Only create the "vrm" attribute if at least one VID value is available. Signed-off-by: Jean Delvare <khali@linux-fr.org> Cc: Gong Jun <jgong@winbond.com> Acked-by: Rudolf Marek <r.marek@assembler.cz> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
| * | | | | hwmon: (w83l785ts) Don't ask the user to report failuresJean Delvare2008-04-272-3/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There's nothing we can do about read errors on the W83L785TS-S, so don't ask the user to report them. Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Mark M. Hoffman <mhoffman@lightlink.com>
* | | | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linusLinus Torvalds2008-05-012-166/+172
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: module: add MODULE_STATE_GOING notifier call module: Enhance verify_export_symbols module: set unused_gpl_crcs instead of overwriting unused_crcs module: neaten __find_symbol, rename to find_symbol module: reduce module image and resident size module: make module_sect_attrs private to kernel/module.c
| * | | | | | module: add MODULE_STATE_GOING notifier callPeter Oberparleiter2008-05-011-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide module unload callback. Required by the gcov profiling infrastructure to keep track of profiling data structures. Signed-off-by: Peter Oberparleiter <peter.oberparleiter@de.ibm.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| * | | | | | module: Enhance verify_export_symbolsRusty Russell2008-05-011-24/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Make verify_export_symbols check the modules unused, unused_gpl and gpl_future syms. Inspired by Jan Beulich's fix, but table-driven. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| * | | | | | module: set unused_gpl_crcs instead of overwriting unused_crcsRusty Russell2008-05-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Obvious typo, but I don't know of any modules with unused GPL exports, and then it would take someone noticing that the version shouldn't have matched in a dependent module. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| * | | | | | module: neaten __find_symbol, rename to find_symbolRusty Russell2008-05-011-121/+125
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | __find_symbol() has grown over time: there are now 5 different arrays of symbols it traverses. It also shouldn't print out a warning on some calls (ie. verify_symbol which simply checks for name clashes, and __symbol_put which checks for bugs). 1) Rename to find_symbol: no need for underscores. 2) Use bool and add "warn" parameter to suppress warnings. 3) Make table-driven rather than open coded. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| * | | | | | module: reduce module image and resident sizeRusty Russell2008-05-012-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Resulting reduction (x86-64, gcc 4.1.2) with my (special purpose, i.e. much reduced) configurations: - 16k kernel resident size - 180k module resident size - 10k module image size Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
| * | | | | | module: make module_sect_attrs private to kernel/module.cRusty Russell2008-05-012-18/+15
| | |_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No-one else is using these afaics. Signed-off-by: Jan Beulich <jbeulich@novell.com> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* | | | | | Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6Linus Torvalds2008-05-014-4/+12
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: [CRYPTO] cryptd: Correct kzalloc error test [CRYPTO] eseqiv: Fix off-by-one encryption [CRYPTO] api: Fix scatterwalk_sg_chain [CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv()
| * | | | | | [CRYPTO] cryptd: Correct kzalloc error testJulia Lawall2008-05-011-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Normally, kzalloc returns NULL or a valid pointer value, not a value to be tested using IS_ERR. Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
| * | | | | | [CRYPTO] eseqiv: Fix off-by-one encryptionHerbert Xu2008-05-011-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After attaching the IV to the head during encryption, eseqiv does not increase the encryption length by that amount. As such the last block of the actual plain text will be left unencrypted. Fortunately the only user of this code hifn currently crashes so this shouldn't affect anyone :) Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
| * | | | | | [CRYPTO] api: Fix scatterwalk_sg_chainHerbert Xu2008-05-011-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When I backed out of using the generic sg chaining (as it isn't currently portable) and introduced scatterwalk_sg_chain/scatterwalk_sg_next I left out the sg_is_last check in the latter. This causes it to potentially dereference beyond the end of the sg array. As most uses of scatterwalk_sg_next are bound by an overall length, this only affected the chaining code in authenc and eseqiv. Thanks to Patrick McHardy for identifying this problem. This patch also clears the "last" bit on the head of the chained list as it's no longer last. This also went missing in scatterwalk_sg_chain and is present in sg_chain. Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
| * | | | | | [CRYPTO] authenc: Fix async crypto crash in crypto_authenc_genicv()Patrick McHardy2008-05-011-2/+3
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | crypto_authenc_givencrypt_done uses req->data as struct aead_givcrypt_request, while it really points to a struct aead_request, causing this crash: BUG: unable to handle kernel paging request at 6b6b6b6b IP: [<dc87517b>] :authenc:crypto_authenc_genicv+0x23/0x109 *pde = 00000000 Oops: 0000 [#1] PREEMPT DEBUG_PAGEALLOC Modules linked in: hifn_795x authenc esp4 aead xfrm4_mode_tunnel sha1_generic hmac crypto_hash] Pid: 3074, comm: ping Not tainted (2.6.25 #4) EIP: 0060:[<dc87517b>] EFLAGS: 00010296 CPU: 0 EIP is at crypto_authenc_genicv+0x23/0x109 [authenc] EAX: daa04690 EBX: daa046e0 ECX: dab0a100 EDX: daa046b0 ESI: 6b6b6b6b EDI: dc872054 EBP: c033ff60 ESP: c033ff0c DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068 Process ping (pid: 3074, ti=c033f000 task=db883a80 task.ti=dab6c000) Stack: 00000000 daa046b0 c0215a3e daa04690 dab0a100 00000000 ffffffff db9fd7f0 dba208c0 dbbb1720 00000001 daa04720 00000001 c033ff54 c0119ca9 dc852a75 c033ff60 c033ff60 daa046e0 00000000 00000001 c033ff6c dc87527b 00000001 Call Trace: [<c0215a3e>] ? dev_alloc_skb+0x14/0x29 [<c0119ca9>] ? printk+0x15/0x17 [<dc87527b>] ? crypto_authenc_givencrypt_done+0x1a/0x27 [authenc] [<dc850cca>] ? hifn_process_ready+0x34a/0x352 [hifn_795x] [<dc8353c7>] ? rhine_napipoll+0x3f2/0x3fd [via_rhine] [<dc851a56>] ? hifn_check_for_completion+0x4d/0xa6 [hifn_795x] [<dc851ab9>] ? hifn_tasklet_callback+0xa/0xc [hifn_795x] [<c011d046>] ? tasklet_action+0x3f/0x66 [<c011d230>] ? __do_softirq+0x38/0x7a [<c0105a5f>] ? do_softirq+0x3e/0x71 [<c011d17c>] ? irq_exit+0x2c/0x65 [<c010e0c0>] ? smp_apic_timer_interrupt+0x5f/0x6a [<c01042e4>] ? apic_timer_interrupt+0x28/0x30 [<dc851640>] ? hifn_handle_req+0x44a/0x50d [hifn_795x] ... Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
* | | | | | m68knommu: fix FEC driver lockingSebastian Siewior2008-05-011-22/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's easy: grab locks before talking to hardware and realease them afterwards. The one big lock has been splitted into a hw_lock and mii_lock. Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | | m68knommu: kill warnings in FEC driverSebastian Siewior2008-05-011-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | linux-2.6-mk68/drivers/net/fec.c: In function 'fec_enet_module_init': linux-2.6-mk68/drivers/net/fec.c:2627: warning: unused variable 'j' linux-2.6-mk68/drivers/net/fec.c: At top level: linux-2.6-mk68/drivers/net/fec.c:2136: warning: 'mii_link_interrupt' defined but not used Signed-off-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
* | | | | | m68knommu: remove unused interrupts in FEC driverGreg Ungerer2008-05-011-34/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the acquisition of unused interrupt types. We don't need to register all the TX and RX varients used on some ColdFire FEC hardware. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
OpenPOWER on IntegriCloud