1. 23 12月, 2007 4 次提交
  2. 21 12月, 2007 7 次提交
    • J
      [ATM]: Spelling fixes · c5c0f33d
      Joe Perches 提交于
      Signed-off-by: NJoe Perches <joe@perches.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c5c0f33d
    • M
      dm crypt: use bio_add_page · 91e10625
      Milan Broz 提交于
      Fix possible max_phys_segments violation in cloned dm-crypt bio.
      
      In write operation dm-crypt needs to allocate new bio request
      and run crypto operation on this clone. Cloned request has always
      the same size, but number of physical segments can be increased
      and violate max_phys_segments restriction.
      
      This can lead to data corruption and serious hardware malfunction.
      This was observed when using XFS over dm-crypt and at least
      two HBA controller drivers (arcmsr, cciss) recently.
      
      Fix it by using bio_add_page() call (which tests for other
      restrictions too) instead of constructing own biovec.
      
      All versions of dm-crypt are affected by this bug.
      
      Cc: stable@kernel.org
      Cc:  dm-crypt@saout.de
      Signed-off-by: NMilan Broz <mbroz@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      91e10625
    • N
      dm: merge max_hw_sector · 91212507
      Neil Brown 提交于
      Make sure dm honours max_hw_sectors of underlying devices
      
        We still have no firm testing evidence in support of this patch but
        believe it may help to resolve some bug reports.  - agk
      Signed-off-by: NNeil Brown <neilb@suse.de>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      91212507
    • A
      dm: trigger change uevent on rename · 69267a30
      Alasdair G Kergon 提交于
      Insert a missing KOBJ_CHANGE notification when a device is renamed.
      
      Cc: Scott James Remnant <scott@ubuntu.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      69267a30
    • M
      dm crypt: fix write endio · adfe4770
      Milan Broz 提交于
      Fix BIO_UPTODATE test for write io.
      
      Cc: stable@kernel.org
      Cc: dm-crypt@saout.de
      Signed-off-by: NMilan Broz <mbroz@redhat.com>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      adfe4770
    • P
      dm mpath: hp requires scsi · d1622e89
      Paul Mundt 提交于
      With CONFIG_SCSI=n __scsi_print_sense() is never linked in.
      
      drivers/built-in.o: In function `hp_sw_end_io':
      dm-mpath-hp-sw.c:(.text+0x914f8): undefined reference to `__scsi_print_sense'
      
      Caught with a randconfig on current git.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      Signed-off-by: NAlasdair G Kergon <agk@redhat.com>
      d1622e89
    • J
      dm: table detect io beyond device · 512875bd
      Jun'ichi Nomura 提交于
      This patch fixes a panic on shrinking a DM device if there is
      outstanding I/O to the part of the device that is being removed.
      (Normally this doesn't happen - a filesystem would be resized first,
      for example.)
      
      The bug is that __clone_and_map() assumes dm_table_find_target()
      always returns a valid pointer.  It may fail if a bio arrives from the
      block layer but its target sector is no longer included in the DM
      btree.
      
      This patch appends an empty entry to table->targets[] which will
      be returned by a lookup beyond the end of the device.
      
      After calling dm_table_find_target(), __clone_and_map() and target_message()
      check for this condition using
      dm_target_is_valid().
      
      Sample test script to trigger oops:
      512875bd
  3. 20 12月, 2007 5 次提交
    • A
      [TG3]: Endianness bugfix. · 286e310f
      Al Viro 提交于
      tg3_nvram_write_block_unbuffered() is reading data from nvram into
      allocated buffer before overwriting a part of it with user-supplied
      data.  Then it feeds the entire page back to nvram.  It should be
      storing the words it had read as little-endian, not as host-endian.
      Note that tg3_set_eeprom() does exactly that for padding the same
      data to full words before it gets passed down to tg3_nvram_write_block()
      and then to tg3_nvram_write_block_unbuffered().
      
      Moreover, when we get to sending the entire thing back to nvram, we
      go through it word-by-word, doing essentially
      	writel(swab32(le32_to_cpu(word)), ...)
      so if we want them to reach the card in host-independent endianness,
      we'd better really have all that buffer filled with fixed-endian.
      For user-supplied part we obviously do have that (it's an array of
      octets memcpy'd in), ditto for padding of user-supplied part to word
      boundaries (taken care of in tg3_set_eeprom()).  The rest of the
      buffer gets filled by tg3_nvram_write_block_unbuffered() and it would
      damn better be consistent with that (and with tg3_get_eeprom(), while
      we are at it - there we also convert the words read from nvram to
      little-endian before returning the buffer to user).
      
      The bug should get triggered on big-endian boxen when set_eeprom is done
      for less than entire page.  Then the words that should've been unaffected
      at all will actually get byteswapped in place in nvram.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      286e310f
    • A
      [TG3]: Endianness annotations. · b9fc7dc5
      Al Viro 提交于
      Fixed misannotations, introduced a new helper - tg3_nvram_read_le().
      It gets __le32 * instead of u32 * and puts there the value converted
      to little-endian.  A lot of callers of tg3_nvram_read() were doing
      that; converted them to tg3_nvram_read_le().
      
      At that point the driver is practically endian-clean; the only remaining
      place is an actual bug, AFAICS; will be dealt with in the next patch.
      Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b9fc7dc5
    • A
      pata_hpt37x: Fix HPT374 detection · f941b168
      Alan Cox 提交于
      Bug #9261
      Signed-off-by: NAlan Cox <alan@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      f941b168
    • G
      ps3fb: Fix ps3fb free_irq() dev_id · fcbe6e97
      Geoff Levand 提交于
      The dev_id arg passed to free_irq() must match that passed to
      request_irq().
      
      Fixes this PS3 error message:
      
        Trying to free already-free IRQ 44
      Signed-off-by: NGeoff Levand <geoffrey.levand@am.sony.com>
      Signed-off-by: NGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fcbe6e97
    • G
      ps3fb: Update for firmware 2.10 · 9ac67a35
      Geert Uytterhoeven 提交于
      ps3fb: Update for firmware 2.10
      
      As of PS3 firmware version 2.10, the GPU command buffer size must be at least 2
      MiB large. Since we use only a small part of the GPU command buffer and don't
      want to waste precious XDR memory, move the GPU command buffer back to the
      start of the XDR memory reserved for ps3fb and let the unused part overlap with
      the actual frame buffer.
      Signed-off-by: NGeert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9ac67a35
  4. 19 12月, 2007 6 次提交
  5. 18 12月, 2007 18 次提交