1. 17 10月, 2008 1 次提交
    • C
      compat: generic compat get/settimeofday · b418da16
      Christoph Hellwig 提交于
      Nothing arch specific in get/settimeofday.  The details of the timeval
      conversion varied a little from arch to arch, but all with the same
      results.
      
      Also add an extern declaration for sys_tz to linux/time.h because externs
      in .c files are fowned upon.  I'll kill the externs in various other files
      in a sparate patch.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Acked-by: David S. Miller <davem@davemloft.net> [ sparc bits ]
      Cc: "Luck, Tony" <tony.luck@intel.com>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Acked-by: NKyle McMartin <kyle@mcmartin.ca>
      Cc: Matthew Wilcox <matthew@wil.cx>
      Cc: Grant Grundler <grundler@parisc-linux.org>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b418da16
  2. 01 5月, 2008 1 次提交
  3. 30 4月, 2008 1 次提交
  4. 20 4月, 2008 1 次提交
  5. 17 4月, 2008 1 次提交
  6. 10 2月, 2008 2 次提交
    • O
      hrtimer: don't modify restart_block->fn in restart functions · c289b074
      Oleg Nesterov 提交于
      hrtimer_nanosleep_restart() clears/restores restart_block->fn. This is
      pointless and complicates its usage. Note that if sys_restart_syscall()
      doesn't actually happen, we have a bogus "pending" restart->fn anyway,
      this is harmless.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      c289b074
    • O
      hrtimer: fix *rmtp/restarts handling in compat_sys_nanosleep() · 41652937
      Oleg Nesterov 提交于
      Spotted by Pavel Emelyanov and Alexey Dobriyan.
      
      compat_sys_nanosleep() implicitly uses hrtimer_nanosleep_restart(), this can't
      work. Make a suitable compat_nanosleep_restart() helper.
      
      Introduced by commit c70878b4
      hrtimer: hook compat_sys_nanosleep up to high res timer code
      
      Also, set ->addr_limit = KERNEL_DS before doing hrtimer_nanosleep(), this func
      was changed by the previous patch and now takes the "__user *" parameter.
      
      Thanks to Ingo Molnar for fixing the bug in this patch.
      Signed-off-by: NOleg Nesterov <oleg@tv-sign.ru>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Alexey Dobriyan <adobriyan@sw.ru>
      Cc: Pavel Emelyanov <xemul@sw.ru>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Cc: Toyo Abe <toyoa@mvista.com>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      41652937
  7. 19 10月, 2007 2 次提交
  8. 11 5月, 2007 1 次提交
  9. 12 2月, 2007 1 次提交
    • K
      [PATCH] Common compat_sys_sysinfo · d4d23add
      Kyle McMartin 提交于
      I noticed that almost all architectures implemented exactly the same
      sys32_sysinfo...  except parisc, where a bug was to be found in handling of
      the uptime.  So let's remove a whole whack of code for fun and profit.
      Cribbed compat_sys_sysinfo from x86_64's implementation, since I figured it
      would be the best tested.
      
      This patch incorporates Arnd's suggestion of not using set_fs/get_fs, but
      instead extracting out the common code from sys_sysinfo.
      
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d4d23add
  10. 04 11月, 2006 1 次提交
  11. 29 10月, 2006 1 次提交
  12. 02 10月, 2006 1 次提交
  13. 01 10月, 2006 1 次提交
  14. 30 9月, 2006 1 次提交
  15. 26 6月, 2006 1 次提交
    • A
      [PATCH] N32 sigset and __COMPAT_ENDIAN_SWAP__ · 838cd153
      akpm@osdl.org 提交于
      I'm testing glibc on MIPS64, little-endian, N32, O32 and N64 multilibs.
      
      Among the NPTL test failures seen are some arising from sigsuspend problems
      for N32: it blocks the wrong signals, so SIGCANCEL (SIGRTMIN) is blocked
      despite glibc's carefully excluding it from sets of signals to block.
      Specifically, testing suggests it blocks signal N^32 instead of signal N,
      so (in the example tested) blocking SIGUSR1 (17) blocks signal 49 instead.
      
      glibc's sigset_t uses an array of unsigned long, as does the kernel.
      In both cases, signal N+1 is represented as
      (1UL << (N % (8 * sizeof (unsigned long)))) in word number
      (N / (8 * sizeof (unsigned long))).
      
      Thus the N32 glibc uses an array of 32-bit words and the N64 kernel uses an
      array of 64-bit words.  For little-endian, the layout is the same, with
      signals 1-32 in the first 4 bytes, signals 33-64 in the second, etc.; for
      big-endian, userspace has that layout while in the kernel each 8 bytes have
      the two halves swapped from the userspace layout.
      
      The N32 sigsuspend syscall uses sigset_from_compat to convert the userspace
      sigset to kernel format.  If __COMPAT_ENDIAN_SWAP__ is *not* set, this uses
      logic of the form
      
        set->sig[0] = compat->sig[0] | (((long)compat->sig[1]) << 32 )
      
      to convert the userspace sigset to a kernel one.  This looks correct to me
      for both big and little endian, given that in userspace compat->sig[1] will
      represent signals 33-64, and so will the high 32 bits of set->sig[0] in the
      kernel.  If however __COMPAT_ENDIAN_SWAP__ *is* set, as it is for
      __MIPSEL__, it uses
      
        set->sig[0] = compat->sig[1] | (((long)compat->sig[0]) << 32 );
      
      which seems incorrect for both big and little endian, and would
      explain the observed symptoms.
      
      This code is the only use of __COMPAT_ENDIAN_SWAP__, so if incorrect
      then that macro serves no purpose, in which case something like the
      following patch would seem appropriate to remove it.
      Signed-off-by: NJoseph Myers <joseph@codesourcery.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      838cd153
  16. 23 6月, 2006 2 次提交
  17. 28 3月, 2006 1 次提交
  18. 27 3月, 2006 1 次提交
  19. 08 2月, 2006 1 次提交
  20. 19 1月, 2006 1 次提交
  21. 11 1月, 2006 1 次提交
  22. 11 9月, 2005 1 次提交
  23. 17 4月, 2005 2 次提交