1. 29 Aug, 2005 2 commits
  2. 15 Aug, 2005 9 commits
  3. 05 Aug, 2005 14 commits
  4. 15 Jul, 2005 11 commits
  5. 29 Jun, 2005 4 commits
    • Chris Wright's avatar
      Linux 2.6.12.2 · 88800936
      Chris Wright authored
      88800936
    • David S. Miller's avatar
      [PATCH] Fix two socket hashing bugs. · 1b1f8246
      David S. Miller authored
      1) netlink_release() should only decrement the hash entry
         count if the socket was actually hashed.
      
         This was causing hash->entries to underflow, which
         resulting in all kinds of troubles.
      
         On 64-bit systems, this would cause the following
         conditional to erroneously trigger:
      
      	err = -ENOMEM;
      	if (BITS_PER_LONG > 32 && unlikely(hash->entries >= UINT_MAX))
      		goto err;
      
      2) netlink_autobind() needs to propagate the error return from
         netlink_insert().  Otherwise, callers will not see the error
         as they should and thus try to operate on a socket with a zero pid,
         which is very bad.
      
         However, it should not propagate -EBUSY.  If two threads race
         to autobind the socket, that is fine.  This is consistent with the
         autobind behavior in other protocols.
      
         So bug #1 above, combined with this one, resulted in hangs
         on netlink_sendmsg() calls to the rtnetlink socket.  We'd try
         to do the user sendmsg() with the socket's pid set to zero,
         later we do a socket lookup using that pid (via the value we
         stashed away in NETLINK_CB(skb).pid), but that won't give us the
         user socket, it will give us the rtnetlink socket.  So when we
         try to wake up the receive queue, we dive back into rtnetlink_rcv()
         which tries to recursively take the rtnetlink semaphore.
      
      Thanks to Jakub Jelink for providing backtraces.  Also, thanks to
      Herbert Xu for supplying debugging patches to help track this down,
      and also finding a mistake in an earlier version of this fix.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarChris Wright <chrisw@osdl.org>
      1b1f8246
    • Linus Torvalds's avatar
      [PATCH] ACPI: Make sure we call acpi_register_gsi() even for default PCI interrupt assignment · 1ef0867a
      Linus Torvalds authored
      ACPI: Make sure we call acpi_register_gsi() even for default PCI interrupt assignment
      
      That's the part that keeps track of the ELCR register, and we want to
      make sure that the PCI interrupts are properly marked level/low.
      Signed-off-by: default avatarChris Wright <chrisw@osdl.org>
      1ef0867a
    • Linus Torvalds's avatar
      [PATCH] Add "memory" clobbers to the x86 inline asm of strncmp and friends · 2e8e1219
      Linus Torvalds authored
      Add "memory" clobbers to the x86 inline asm of strncmp and friends
      
      They don't actually clobber memory, but gcc doesn't even know they
      _read_ memory, so can apparently re-order memory accesses around them.
      
      Which obviously does the wrong thing if the memory access happens to
      change the memory that the compare function is accessing..
      
      Verified to fix a strange boot problem by Jens Axboe.
      Signed-off-by: default avatarChris Wright <chrisw@osdl.org>
      2e8e1219