1. 31 10月, 2010 1 次提交
    • C
      firewire: ohci: fix buffer overflow in AR split packet handling · 85f7ffd5
      Clemens Ladisch 提交于
      When the controller had to split a received asynchronous packet into two
      buffers, the driver tries to reassemble it by copying both parts into
      the first page.  However, if size + rest > PAGE_SIZE, i.e., if the yet
      unhandled packets before the split packet, the split packet itself, and
      any received packets after the split packet are together larger than one
      page, then the memory after the first page would get overwritten.
      
      To fix this, do not try to copy the data of all unhandled packets at
      once, but copy the possibly needed data every time when handling
      a packet.
      
      This gets rid of most of the infamous crashes and data corruptions when
      using firewire-net.
      Signed-off-by: NClemens Ladisch <clemens@ladisch.de>
      Cc: 2.6.22-2.6.36 <stable@kernel.org>
      Tested-by: NMaxim Levitsky <maximlevitsky@gmail.com>
      Signed-off-by: Stefan Richter <stefanr@s5r6.in-berlin.de> (cast PAGE_SIZE to size_t)
      85f7ffd5
  2. 21 10月, 2010 5 次提交
  3. 20 10月, 2010 7 次提交
  4. 19 10月, 2010 6 次提交
  5. 18 10月, 2010 14 次提交
  6. 17 10月, 2010 2 次提交
  7. 16 10月, 2010 5 次提交