1. 02 May, 2004 14 commits
  2. 01 May, 2004 13 commits
    • Steve French's avatar
    • Steve French's avatar
      dc3d70e8
    • Alexander Viro's avatar
      [PATCH] mcdx.c insanity removal · 1230e437
      Alexander Viro authored
      The mcdx.c author had pulled off something absolutely amazing - he had
      declared several unsigned variables (ISA port numbers) as void *, using
      explicit cast to unsigned in almost all places that used them. 
      Exception: printk.  There he proudly used them as pointers - with %3p in
      format.  That cute trick allowed him to avoid using %03x, which
      apparently scared him for some reason. 
      
      Switched to use of unsigned, killed casts, replaced %3p with %03x in
      formats.  BTW, the code had been that way since the initial merge back
      in 1.3.7...
      1230e437
    • Paul Mackerras's avatar
      [PATCH] ppc64: fix incorrect signal handler argument · 661c8e51
      Paul Mackerras authored
      This fixes a bug in the ppc64 signal delivery code where the signal
      number argument to a signal handler can get corrupted before the handler
      is called.  The specific scenario is that a process is in a blocking
      system call when two signals get generated for it, both of which have
      handlers.
      
      The signal code will stack up two signal frames on the process stack
      (assuming the mask for the first signal delivered doesn't block the
      second signal) and return to userspace to run the handler for the second
      signal.  On return from that handler the first handler gets run with an
      incorrect signal number argument because we end up with regs->result
      still having a negative value (left over from when the system call was
      interrupted) when it should be zero.  This patch sets it to zero when we
      set up the signal frame (in three places; for 64-bit processes, and for
      32-bit processes for RT and non-RT signals). 
      
      The way we handle signal delivery and signal handler return using the
      regs->result field in ppc64 is more complicated than it needs to be.  In
      ppc32 I have already simplified it and eliminated use of the
      regs->result field.  I am going to do the same in the ppc64 code, but I
      think this patch should go in for now to fix the bug. 
      
      The patch also fixes a couple of places where we were unnecessarily and
      incorrectly truncating the regs->result value to 32 bits
      (sys32_sigreturn and sys32_rt_sigreturn return a long value, as all
      syscalls do, and if regs->result is negative we need those syscalls to
      return a negative value).
      
      Thanks to Maneesh Soni for identifying the specific circumstances
      under which this bug shows up.
      661c8e51
    • Linus Torvalds's avatar
      Merge bk://kernel.bkbits.net/davem/net-2.6 · 1f3c42cc
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      1f3c42cc
    • David S. Miller's avatar
      Merge davem@nuts.davemloft.net:/disk1/BK/net-2.6 · 1ccf65ee
      David S. Miller authored
      into kernel.bkbits.net:/home/davem/net-2.6
      1ccf65ee
    • Herbert Xu's avatar
      [IPV4/IPV6]: Fix listing of listening sockets. · ab32df90
      Herbert Xu authored
      There is a bug in listening_get_first() which used by /proc/net/tcp*
      where it wasn't looping through all the sockets in each hash chain.
      This problem doesn't show up unless the first socket in a chain doesn't
      match the family that is being looked up.
      
      The following patch fixes this by getting rid of listening_get_first()
      altogether.
      ab32df90
    • Denis Vlasenko's avatar
      [PATCH] add missing #include · e663d7c9
      Denis Vlasenko authored
      There's a subtle problem with "inline" usage in <linux/string.h>:
      
       <linux/string.h>:
              this pulls in __constant_c_and_count_memset()
      
       <linux/mm.h>:
              this pulls <compiler.h>, re-defining
              inline == __inline__ __attribute__((always_inline)).
      
       But by now it is too late! The compiler has already seen the bare
       "inline" in string.h, and hasn't inlined it.
      
      Result:
      
      	# grep __constant System.map
      	c0144670 t __constant_c_and_count_memset
      	c0145c60 t __constant_c_and_count_memset
      	... many more copies of this function ...
      
      Fixed by including <compiler.h> early enough.
      e663d7c9
    • Steve French's avatar
      Merge bk://linux.bkbits.net/linux-2.5 · 6bc73d8e
      Steve French authored
      into hostme.bitkeeper.com:/repos/c/cifs/linux-2.5cifs
      6bc73d8e
    • Linus Torvalds's avatar
      Merge bk://are.twiddle.net/axp-2.6/ · d14c946e
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      d14c946e
    • Richard Henderson's avatar
      [ALPHA] Add message queue syscalls. · 9f7d77d9
      Richard Henderson authored
      9f7d77d9
    • David S. Miller's avatar
      Merge nuts.davemloft.net:/disk1/BK/network-2.6 · 90652b54
      David S. Miller authored
      into nuts.davemloft.net:/disk1/BK/net-2.6
      90652b54
    • Bartlomiej Zolnierkiewicz's avatar
      [PATCH] serverworks.c: fix DMA for OSB4 · 48c43169
      Bartlomiej Zolnierkiewicz authored
      From: Patrick Wildi <patrick@wildi.com>
      
      On OSB4 the hwif->ultra_mask is set to not support UDMA.
      Unfortunately in that case svwks_config_drive_xfer_rate()
      falls through to the end of the function, instead of trying
      other DMA modes.
      48c43169
  3. 30 Apr, 2004 13 commits