1. 28 11月, 2007 2 次提交
    • H
      m32r: Ignore warnings for unused syscalls · 52fda487
      Hirokazu Takata 提交于
      checksyscalls.sh reports warnings for missing syscalls.
      But, on m32r, some legacy syscalls were removed elaborately.
      
      This patch kills warnings for obsolete syscalls, which are
      no longer used in the m32r kernel.
      Signed-off-by: NHirokazu Takata <takata@linux-m32r.org>
      52fda487
    • H
      m32r: Add missing syscalls · 59ce3df3
      Hirokazu Takata 提交于
      Add the following 39 syscalls for m32r:
        sys_add_key, sys_request_key, sys_keyctl, sys_ioprio_set,
        sys_ioprio_get, sys_inotify_init, sys_inotify_add_watch,
        sys_inotify_rm_watch, sys_migrate_pages, sys_openat,
        sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat,
        sys_fstatat64, sys_unlinkat, sys_renameat, sys_linkat,
        sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat,
        sys_pselect6, sys_ppoll, sys_unshare, sys_set_robust_list,
        sys_get_robust_list, sys_splice, sys_sync_file_range,
        sys_tee, sys_vmsplice, sys_move_pages, sys_getcpu, sys_epoll_pwait,
        sys_utimensat, sys_signalfd, sys_timerfd, sys_eventfd, sys_fallocate
      Signed-off-by: NHirokazu Takata <takata@linux-m32r.org>
      59ce3df3
  2. 27 11月, 2007 14 次提交
    • A
      SUNRPC: make sunrpc/xprtsock.c:xs_setup_{udp,tcp}() static · 483066d6
      Adrian Bunk 提交于
      xs_setup_{udp,tcp}() can now become static.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      483066d6
    • A
      NFS: make nfs_wb_page_priority() static · 5334eb13
      Adrian Bunk 提交于
      nfs_wb_page_priority() can now become static.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Cc: Trond Myklebust <trond.myklebust@fys.uio.no>
      Cc: "J. Bruce Fields" <bfields@fieldses.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      5334eb13
    • J
      SUNRPC: remove NFS/RDMA client's binary sysctls · cfcb43ff
      James Lentini 提交于
      Support for binary sysctls is being deprecated in 2.6.24. Since there
      are no applications using the NFS/RDMA client's binary sysctls, it
      makes sense to remove them. The patch below does this while leaving
      the /proc/sys interface unchanged.
      
      Please consider this for 2.6.24.
      Signed-off-by: NJames Lentini <jlentini@netapp.com>
      Signed-off-by: NTrond Myklebust <Trond.Myklebust@netapp.com>
      cfcb43ff
    • I
      sched: fix RLIMIT_CPU comment · 58e1010d
      Ingo Molnar 提交于
      Devan Lippman noticed that the RLIMIT_CPU comment in resource.h is
      incorrect: the field is in seconds, not msecs. We used msecs in
      earlier versions of the patch but that got changed.
      Found-by: NDevan Lippman <devan.lippman@gmail.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      58e1010d
    • J
      time: add ADJ_OFFSET_SS_READ · 52bfb360
      John Stultz 提交于
      Michael Kerrisk reported that a long standing bug in the adjtimex()
      system call causes glibc's adjtime(3) function to deliver the wrong
      results if 'delta' is NULL.
      
      add the ADJ_OFFSET_SS_READ API detail, which will be used by glibc
      to fix this API compatibility bug.
      
      Also see: http://bugzilla.kernel.org/show_bug.cgi?id=6761
      
      [ mingo@elte.hu: added patch description and made it backwards compatible ]
      
      NOTE: the new flag is defined 0xa001 so that it returns -EINVAL on
      older kernels - this way glibc can use it safely. Suggested by Ulrich
      Drepper.
      Acked-by: NUlrich Drepper <drepper@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      52bfb360
    • T
      x86: fix ACPI compile for LOCAL_APIC=n · aafab10d
      Thomas Gleixner 提交于
      ACPI processor idle code references local_apic_timer_c2_ok, which
      is not available when LOCAL_APIC is disabled.
      
      Define local_apic_timer_c2_ok as a constant, when LOCAL_APIC=n
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      aafab10d
    • A
      ACPI: Set max_cstate to 1 for early Opterons. · c1c30634
      Alexey Starikovskiy 提交于
      AMD Opteron processors before CG revision don't like C-states > 1.
      
      This solves the long standing bugzilla #5303 and probably some more
      on affected machines:
      
        http://bugzilla.kernel.org/show_bug.cgi?id=5303
      
      [ tglx@linutronix.de: reworked the patch so it does not wreck ia64 ]
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      c1c30634
    • R
      [MIPS] 64-bit Sibyte kernels need DMA32. · cce335ae
      Ralf Baechle 提交于
      Sibyte SOCs only have 32-bit PCI.  Due to the sparse use of the address
      space only the first 1GB of memory is mapped at physical addresses
      below 1GB.  If a system has more than 1GB of memory 32-bit DMA will
      not be able to reach all of it.
      
      For now this patch is good enough to keep Sibyte users happy but it seems
      eventually something like swiotlb will be needed for Sibyte.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      cce335ae
    • R
      [MIPS] Only build r4k clocksource for systems that work ok with it. · 940f6b48
      Ralf Baechle 提交于
      In particular as-is it's not suited for multicore and mutiprocessors
      systems where there is on guarantee that the counter are synchronized
      or running from the same clock at all.  This broke Sibyte and probably
      others since the "[MIPS] Handle R4000/R4400 mfc0 from count register."
      commit.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      940f6b48
    • R
      [MIPS] Handle R4000/R4400 mfc0 from count register. · 5aa85c9f
      Ralf Baechle 提交于
      The R4000 and R4400 have an errata where if the cp0 count register is read
      in the exact moment when it matches the compare register no interrupt will
      be generated.
      
      This bug may be triggered if the cp0 count register is being used as
      clocksource and the compare interrupt as clockevent.  So a simple
      workaround is to avoid using the compare for both facilities on the
      affected CPUs.
      
      This is different from the workaround suggested in the old errata documents;
      at some opportunity probably the official version should be implemented
      and tested.  Another thing to find out is which processor versions
      exactly are affected.  I only have errata documents upto R4400 V3.0
      available so for the moment the code treats all R4000 and R4400 as broken.
      
      This is potencially a problem for some machines that have no other decent
      clocksource available; this workaround will cause them to fall back to
      another clocksource, worst case the "jiffies" source.
      5aa85c9f
    • R
      [MIPS] Fix possible hang in LL/SC futex loops. · 0f67e90e
      Ralf Baechle 提交于
      The LL / SC loops in __futex_atomic_op() have the usual fixups necessary
      for memory acccesses to userspace from kernel space installed:
      
              __asm__ __volatile__(
              "       .set    push                            \n"
              "       .set    noat                            \n"
              "       .set    mips3                           \n"
              "1:     ll      %1, %4  # __futex_atomic_op     \n"
              "       .set    mips0                           \n"
              "       " insn  "                               \n"
              "       .set    mips3                           \n"
              "2:     sc      $1, %2                          \n"
              "       beqz    $1, 1b                          \n"
              __WEAK_LLSC_MB
              "3:                                             \n"
              "       .set    pop                             \n"
              "       .set    mips0                           \n"
              "       .section .fixup,\"ax\"                  \n"
              "4:     li      %0, %6                          \n"
              "       j       2b                              \n"	<-----
              "       .previous                               \n"
              "       .section __ex_table,\"a\"               \n"
              "       "__UA_ADDR "\t1b, 4b                    \n"
              "       "__UA_ADDR "\t2b, 4b                    \n"
              "       .previous                               \n"
              : "=r" (ret), "=&r" (oldval), "=R" (*uaddr)
              : "0" (0), "R" (*uaddr), "Jr" (oparg), "i" (-EFAULT)
              : "memory");
      
      The branch at the end of the fixup code, it goes back to the SC
      instruction, no matter if the fault was first taken by the LL or SC
      instruction resulting in an endless loop which will only terminate if
      the address become valid again due to another thread setting up an
      accessible mapping and the CPU happens to execute the SC instruction
      successfully which due to the preceeding ERET instruction of the fault
      handler would only happen if UNPREDICTABLE instruction behaviour of the
      SC instruction without a preceeding LL happens to favor that outcome.
      But normally processes are nice, pass valid arguments and we were just
      getting away with this.
      
      Thanks to Kaz Kylheku <kaz@zeugmasystems.com> for providing the original
      report and a test case.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      0f67e90e
    • R
      [MIPS] Fix context DSP context / TLS pointer switching bug for new threads. · 07500b0d
      Ralf Baechle 提交于
      A new born thread starts execution not in schedule but rather in
      ret_from_fork which results in it bypassing the part of the code to
      load a new context written in C which are the DSP context and the
      userlocal register which Linux uses for the TLS pointer.  Frequently
      we were just getting away with this bug for a number of reasons:
      
       o Real world application scenarios are very unlikely to use clone or fork
         in blocks of DSP code.
       o Linux by default runs the child process right after the fork, so the
         child by luck will find all the right context in the DSP and userlocal
         registers.
       o So far the rdhwr instruction was emulated on all hardware so userlocal
         wasn't getting referenced at all and the emulation wasn't suffering
         from the issue since it gets it's value straight from the thread's
         thread_info.
      
      Fixed by moving the code to load the context from switch_to() to
      finish_arch_switch which will be called by newborn and old threads.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      07500b0d
    • R
      [MIPS] IP32: More interrupt renumbering fixes. · 98ce4721
      Ralf Baechle 提交于
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      98ce4721
    • R
      [MIPS] Fix pcspeaker build. · cfb6f260
      Ralf Baechle 提交于
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      cfb6f260
  3. 26 11月, 2007 2 次提交
    • H
      [SKBUFF]: Free old skb properly in skb_morph · 2d4baff8
      Herbert Xu 提交于
      The skb_morph function only freed the data part of the dst skb, but leaked
      the auxiliary data such as the netfilter fields.  This patch fixes this by
      moving the relevant parts from __kfree_skb to skb_release_all and calling
      it in skb_morph.
      
      It also makes kfree_skbmem static since it's no longer called anywhere else
      and it now no longer does skb_release_data.
      
      Thanks to Yasuyuki KOZAKAI for finding this problem and posting a patch for
      it.
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      2d4baff8
    • P
      [IPV4]: Fix memory leak in inet_hashtables.h when NUMA is on · 218ad12f
      Pavel Emelyanov 提交于
      The inet_ehash_locks_alloc() looks like this:
      
      #ifdef CONFIG_NUMA
      	if (size > PAGE_SIZE)
      		x = vmalloc(...);
      	else
      #endif
      		x = kmalloc(...);
      
      Unlike it, the inet_ehash_locks_alloc() looks like this:
      
      #ifdef CONFIG_NUMA
      	if (size > PAGE_SIZE)
      		vfree(x);
      	else
      #else
      		kfree(x);
      #endif
      
      The error is obvious - if the NUMA is on and the size
      is less than the PAGE_SIZE we leak the pointer (kfree is
      inside the #else branch).
      
      Compiler doesn't warn us because after the kfree(x) there's
      a "x = NULL" assignment, so here's another (minor?) bug: we 
      don't set x to NULL under certain circumstances.
      
      Boring explanation, I know... Patch explains it better.
      Signed-off-by: NPavel Emelyanov <xemul@openvz.org>
      Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
      218ad12f
  4. 22 11月, 2007 1 次提交
  5. 21 11月, 2007 13 次提交
  6. 20 11月, 2007 8 次提交