1. 17 Sep, 2004 8 commits
    • Roland McGrath's avatar
      [PATCH] fix posix-timers leak · c68f9a4d
      Roland McGrath authored
      Exec fails to clean up posix-timers.  This manifests itself in two ways, one
      worse than the other.  In the single-threaded case, it just fails to clear out
      the timers on exec.  POSIX says that exec clears out the timers from
      timer_create (though not the setitimer ones), so it's wrong that a lingering
      timer could fire after exec and kill the process with a signal it's not
      expecting.  In the multi-threaded case, it not only leaves lingering timers,
      but it leaks them entirely when it replaces signal_struct, so they will never
      be freed by the process exiting after that exec.  The new per-user
      RLIMIT_SIGPENDING actually limits the damage here, because a UID will fill up
      its quota with leaked timers and then never be able to use timer_create again
      (that's what my test program does).  But if you have many many untrusted UIDs,
      this leak could be considered a DoS risk.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c68f9a4d
    • Ingo Molnar's avatar
      [PATCH] x86 TSS: io bitmap lazy updating · 5daa8679
      Ingo Molnar authored
      This uses Davide's do_general_protection() fault based io-bitmap lazy update
      code and combines it with the ioport-owner cache.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5daa8679
    • Ingo Molnar's avatar
      [PATCH] x86 TSS: io port caching · dd826030
      Ingo Molnar authored
      There's one additional step we can do ontop of the ports-max code to get rid
      of copying in X.org's case: cache the last task that set up the IO bitmap. 
      This means we can set the offset to invalid and keep the IO bitmap of that
      task, and switch back to a valid offset (without any copying) when switching
      back to that task.  (or do a copy if there is another ioperm task we switch
      to.)
      
      I've attached ioport-cache-2.6.8.1.patch that implements this. When
      there's a single active ioperm() using task in the system then the
      context-switch overhead is very low and constant:
      
       # ./ioperm-latency
       default no ioperm:             scheduling latency: 2478 cycles
       turning on port 80 ioperm:     scheduling latency: 2499 cycles
       turning on port 65535 ioperm:  scheduling latency: 2481 cycles
      
      This single-ioperm-user situation matches 99% of the actual ioperm()
      usage scenarios and gets rid of any copying whatsoever - without relying
      on any fault mechanism. I can see no advantage of the GPF approach over
      this patch.
      Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      dd826030
    • Ryan S. Arnold's avatar
      [PATCH] hvc_console fix to protect hvc_write against ldisc write after hvc_close · 9642f757
      Ryan S. Arnold authored
      Due to the tty ldisc code not stopping write operations against a driver
      even after a tty has been closed I added a mechanism to hvc_console in my
      previous patch to prevent this by nulling out the tty->driver_data in
      hvc_close() but I forgot to check tty->driver_data in hvc_write().  Anton
      Blanchard got several oops'es from hvc_write() accessing NULL as if it were
      a pointer to an hvc_struct usually stored in tty->driver_data.
      
      So this patch checks tty->driver_data in hvc_write() before it is used. 
      Hopefully once Alan Cox's patch is checked in ldisc writes won't continue
      to happen after tty closes.
      
      Anton Blanchard has tested this patch and is unable to reproduce the oops
      with it applied.
      
      Changelog:
      
      drivers/char/hvc_console.c
      
      - Added comment to hvc_close() to explain the reason for NULLing
        tty->driver_data.
      
      - Added check to hvc_write() to verify that tty->driver_data is valid
        (NOT NULL) which would be the case if the write operation was invoked
        after a tty close was initiated on the tty.
      Signed-off-by: default avatarRyan S. Arnold <rsa@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      9642f757
    • Markus Lidel's avatar
      [PATCH] reduce ioremap memory size for Adaptec I2O controllers · 1e8b36cc
      Markus Lidel authored
      The I2O subsystem currently map all memory from the I2O controller for the
      controller's in queue, even if it is not necessary.  This is a problem,
      because on some systems the size returned from pci_resource_len() could be
      128MB and only 1-4MB is needed.
      
      Changes:
      
      - only ioremap as much memory as the controller is actually using.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      1e8b36cc
    • Linus Torvalds's avatar
      Merge bk://ppc.bkbits.net/for-linus-ppc · 25c407de
      Linus Torvalds authored
      into ppc970.osdl.org:/home/torvalds/v2.6/linux
      25c407de
    • Tom Rini's avatar
    • Tom Rini's avatar
      ppc32: Fix a problem with the FCC enet driver for CPM2 systems · 331c2b9d
      Tom Rini authored
      The Local Protect Bit needs to be set when entering full
      duplex mode.
      Signed-off-by: default avatarRune Torgersen <runet@innovsys.com>
      Signed-off-by: default avatarTom Rini <trini@kernel.crashing.org>
      331c2b9d
  2. 16 Sep, 2004 20 commits
  3. 17 Sep, 2004 4 commits
  4. 16 Sep, 2004 2 commits
  5. 15 Sep, 2004 6 commits