1. 08 Nov, 2003 2 commits
    • Andi Kleen's avatar
      [PATCH] Fix TSS limit on x86-64 · 954caecd
      Andi Kleen authored
      The limit of the TSS segment was incorrectly set to a too big value
      on x86-64. This lead to the CPU reading random memory behind the main
      TSS when iopl was >0, but there was no ioperm bitmap set. This caused
      random failures in port accesses in this state.
      
      Set the correct limit.
      954caecd
    • Linus Torvalds's avatar
      Don't fold nanosleep() into clock_nanosleep(). · 35d64a33
      Linus Torvalds authored
      The latter has buggy restart functionality and is a lot
      more complicated anyway.
      35d64a33
  2. 07 Nov, 2003 7 commits
    • Greg Kroah-Hartman's avatar
      [PATCH] fix reference count bug with class devices · 59ccfc46
      Greg Kroah-Hartman authored
      When a kobject is associated with a kset, the kset MUST be set before
      the kobject is initialized (by either a call to kobject_register() or
      kobject_init()).  This patch fixes the class code which improperly set
      the kset after the kobject was initialized, which would cause improper
      reference counts on the kset.
      
      Thanks to Mike Anderson for locating the source of this bug.
      59ccfc46
    • Andi Kleen's avatar
      [PATCH] Fix IP checksum for SuSE 9.0 compiler · 6077b1d3
      Andi Kleen authored
      The hammer branch based gcc 3.3 in SuSE 9.0 has a more aggressive
      optimizer. ip_send_check has this code:
      
      	iph->check = 0;
      	iph->check = ip_fast_csum((unsigned char *)iph, iph->ihl);
      
      The new gcc optimizes the first store away because it doesn't know
      that ip_fast_csum reads its input memory. This leads to occassionally
      packets with wrong IP header checksum getting sent; this happens especially
      with NFS. Fixing it in the constraints would have been ugly and probably
      not future proof, so this patch just adds a memory clobber to ip_fast_csum.
      
      For some reason the issue only hits in 2.6, we haven't seen it in 2.4.
      Problem occurs on both i386 and x86-64.
      
      Credit goes to Olaf Kirch for tracking this down.
      6077b1d3
    • Linus Torvalds's avatar
      Merge bk://linuxusb.bkbits.net/gregkh-2.6 · 9399e05e
      Linus Torvalds authored
      into home.osdl.org:/home/torvalds/v2.5/linux
      9399e05e
    • David Brownell's avatar
      [PATCH] USB: usb ignores 64bit dma · 4f428f01
      David Brownell authored
      The dma hooks whereby EHCI can pass 64bit DMA support
      up the driver stack (to avoid buffer copies) turn out
      to broken on most architectures(*).  This patch just
      disables them all, since it looks like those mechanisms
      won't get fixed before 2.6.0-final.  For now it'd only
      matter on a few big Intel boxes anyway.
      
      Please merge.
      
      - Dave
      
      (*) On x86, mips, and arm dma_supported() doesn't
           even compare with the device's mask.  On several
           other architectures (reported on ppc, alpha,
           and sparc64), asking that question for non-PCI
           devices will just BUG() -- even though all info
           needed to answer the question is right at hand.
      4f428f01
    • Matthew Dharm's avatar
      [PATCH] USB: fix a thread-exit problem at module unload · a816ee81
      Matthew Dharm authored
      This patch fixes a thread-exit problem when the usb-storage module is
      unloaded with a preemptable kernel.  Please refer to the comments in the
      code for more detail.
      a816ee81
    • Michael Clark's avatar
      [PATCH] PCI: Fix oops in quirk_via_bridge · b2df260f
      Michael Clark authored
      I have a VIA cardbus 1394 controller which oops on insertion
      after an APM suspend/resume cycle (without card inserted):
      
      bounds: 0000 [#1]
      CPU:    0
      EIP:    0060:[<c0300060>]    Tainted: PF
      EFLAGS: 00010206
      EIP is at quirk_via_bridge+0x4/0x1c
      eax: 0000ffff   ebx: c02982e0   ecx: d1958000   edx: 000c0010
      esi: d1958000   edi: 00000001   ebp: 00000000   esp: da401ee8
      ds: 007b   es: 007b   ss: 0068
      Process pccardd (pid: 1093, threadinfo=da400000 task=da4c8780)
      Stack: c019fb85 d1958000 00000001 d1958000 00000000 c019fbc2 d1958000 00000001
               c02980a0 d1958000 dfdebf14 c019d828 00000001 d1958000 00000000 dec2802c
               dfdebf00 dfdebf14 00000000 e3dfe7c7 dfdebf00 00000000 dec2802c da401f48
      Call Trace:
         [<c019fb85>] pci_do_fixups+0x52/0x54
         [<c019fbc2>] pci_fixup_device+0x3b/0x49
         [<c019d828>] pci_scan_slot+0x46/0x8f
         [<e3dfe7c7>] cb_alloc+0x29/0xf7 [pcmcia_core]
         [<e3dfb9aa>] socket_insert+0x90/0x102 [pcmcia_core]
         [<e3dfbc0d>] socket_detect_change+0x54/0x7e [pcmcia_core]
         [<e3dfbdbc>] pccardd+0x185/0x1f9 [pcmcia_core]
      
      quirk_via_bridge (which is marked device PCI_ANY_ID) triggers on
      my 1394 controller which vendor=VIA but is not a bridge.
      
      Making the quirk __devinit solves the problem.
      b2df260f
    • Alexander Viro's avatar
      [PATCH] Fix cramfs metadata races · 0aef2868
      Alexander Viro authored
      There's a few places that use incorrect exclusion for the cramfs raw
      data access buffers.  The proper lock is "read_mutex" (and BKL does
      nothing).
      
       - fix mount-time read and block number initialization without the mutex
         held. 
       - cramfs_readdir() needs to copy the name and inode information into a
         separate buffer since it can't hold the semaphore over the
         (potentially blocking) user mode access
       - cramfs_lookup() needs to hold the access lock over the whole
         function, not just the read itself
       - use generic_file_llseek on directories to get i_sem exclusion on
         readdir/lseek
      0aef2868
  3. 06 Nov, 2003 5 commits
  4. 05 Nov, 2003 13 commits
  5. 04 Nov, 2003 13 commits