1. 18 5月, 2005 1 次提交
  2. 17 5月, 2005 1 次提交
  3. 07 5月, 2005 1 次提交
  4. 06 5月, 2005 6 次提交
    • K
      [PATCH] x86: geode support fixes · 47137419
      Kianusch Sayah Karadji 提交于
      - Changed Name/defines from "Geode GX" to "Geode GX1" for clarification
      
      - Dropped "-march=i586" in favor of "-march=i486"
      
      - Dopped X86_OOSTORE support for Geode GX1
      Signed-off-by: NKianusch Sayah Karadji <kianusch@sk-tech.net>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      47137419
    • D
      [PATCH] CodingStyle: trivial whitespace fixups · 125947f2
      Domen Puncer 提交于
      When I do a "diff -Nur arch/i386 arch/x86_64" to see what is different between these two
      architectures, I see some differences due to whitespace issues only. The attached patch removes
      some of the noise by fixing up the following files:
      - arch/i386/boot/bootsect.S
      - arch/i386/boot/video.S
      - arch/x86_64/boot/bootsect.S
      Signed-off-by: NDaniel Dickman <didickman@yahoo.com>
      Signed-off-by: NDomen Puncer <domen@coderock.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      125947f2
    • M
      [PATCH] cyrix: eliminate bad section references · a27e951f
      maximilian attems 提交于
      Fix cyrix section references:
       convert __initdata to __devinitdata.
      
      Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 00000379
      R_386_32          .init.data
      Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 00000399
      R_386_32          .init.data
      Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 000003b3
      R_386_32          .init.data
      Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 000003b9
      R_386_32          .init.data
      Error: ./arch/i386/kernel/cpu/mtrr/cyrix.o .text refers to 000003bf
      R_386_32          .init.data
      Signed-of-by: Nmaximilian attems <janitor@sternwelten.at>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      a27e951f
    • P
      [PATCH] Kprobes: Incorrect handling of probes on ret/lret instruction · 0b9e2cac
      Prasanna S Panchamukhi 提交于
      Kprobes could not handle the insertion of a probe on the ret/lret
      instruction and used to oops after single stepping since kprobes was
      modifying eip/rip incorrectly.  Adjustment of eip/rip is not required after
      single stepping in case of ret/lret instruction, because eip/rip points to
      the correct location after execution of the ret/lret instruction.  This
      patch fixes the above problem.
      Signed-off-by: NPrasanna S Panchamukhi <prasanna@in.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0b9e2cac
    • P
      [PATCH] x86_64: make string func definition work as intended · 0c28130b
      Paolo 'Blaisorblade' Giarrusso 提交于
      In include/asm-x86_64/string.h there are such comments:
      
      /* Use C out of line version for memcmp */
      #define memcmp __builtin_memcmp
      int memcmp(const void * cs,const void * ct,size_t count);
      
      This would mean that if the compiler does not decide to use __builtin_memcmp,
      it emits a call to memcmp to be satisfied by the C out-of-line version in
      lib/string.c.  What happens is that after preprocessing, in lib/string.i you
      may find the definition of "__builtin_strcmp".
      
      Actually, by accident, in the object you will find the definition of strcmp
      and such (maybe a trick intended to redirect calls to __builtin_memcmp to the
      default memcmp when the definition is not expanded); however, this particular
      case is not a documented feature as far as I can see.
      
      Also, the EXPORT_SYMBOL does not work, so it's duplicated in the arch.
      
      I simply added some #undef to lib/string.c and removed the (now duplicated)
      exports in x86-64 and UML/x86_64 subarchs (the second ones are introduced by
      another patch I just posted for -mm).
      Signed-off-by: NPaolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
      CC: Andi Kleen <ak@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      0c28130b
    • A
      [PATCH] x86 stack initialisation fix · f48d9663
      Alexander Nyberg 提交于
      The recent change fix-crash-in-entrys-restore_all.patch
      
       	childregs->esp = esp;
      
       	p->thread.esp = (unsigned long) childregs;
      -	p->thread.esp0 = (unsigned long) (childregs+1);
      +	p->thread.esp0 = (unsigned long) (childregs+1) - 8;
      
       	p->thread.eip = (unsigned long) ret_from_fork;
      
      introduces an inconsistency between esp and esp0 before the task is run the
      first time.  esp0 is no longer the actual start of the stack, but 8 bytes
      off.
      
      This shows itself clearly in a scenario when a ptracer that is set to also
      ptrace eventual children traces program1 which then clones thread1.  Now
      the ptracer wants to modify the registers of thread1.  The x86 ptrace
      implementation bases it's knowledge about saved user-space registers upon
      p->thread.esp0.  But this will be a few bytes off causing certain writes to
      the kernel stack to overwrite a saved kernel function address making the
      kernel when actually running thread1 jump out into user-space.  Very
      spectacular.
      
      The testcase I've used is:
      /* start with strace -f ./a.out */
      #include <pthread.h>
      #include <stdio.h>
      
      void *do_thread(void *p)
      {
      	for (;;);
      }
      
      int main()
      {
      	pthread_t one;
      	pthread_create(&one, NULL, &do_thread, NULL);
      	for (;;);
      	return 0;
      }
      
      So, my solution is to instead of just adjusting esp0 that creates an
      inconsitent state I adjust where the user-space registers are saved with -8
      bytes.  This gives us the wanted extra bytes on the start of the stack and
      esp0 is now correct.  This solves the issues I saw from the original
      testcase from Mateusz Berezecki and has survived testing here.  I think
      this should go into -mm a round or two first however as there might be some
      cruft around depending on pt_regs lying on the start of the stack.  That
      however would have broken with the first change too!
      
      It's actually a 2-line diff but I had to move the comment of why the -8 bytes
      are there a few lines up. Thanks to Zwane for helping me with this.
      Signed-off-by: NAlexander Nyberg <alexn@telia.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      f48d9663
  5. 04 5月, 2005 1 次提交
    • A
      [PATCH] ISA DMA Kconfig fixes - part 1 · 5cae841b
      Al Viro 提交于
      A bunch of drivers use ISA DMA helpers or their equivalents for
      platforms that have ISA with different DMA controller (a lot of ARM
      boxen).  Currently there is no way to put such dependency in Kconfig -
      CONFIG_ISA is not it (e.g.  it is not set on platforms that have no ISA
      slots, but have on-board devices that pretend to be ISA ones).
      
      New symbol added - ISA_DMA_API.  Set when we have functional
      enable_dma()/set_dma_mode()/etc.  set of helpers.  Next patches in the
      series will add missing dependencies for drivers that need them.
      
      I'm very carefully staying the hell out of the recurring flamefest on
      what exactly CONFIG_ISA would mean in ideal world - added symbol has a
      well-defined meaning and for now I really want to treat it as completely
      independent from the mess around CONFIG_ISA.
      Signed-off-by: NAl Viro <viro@parcelfarce.linux.theplanet.co.uk>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      5cae841b
  6. 01 5月, 2005 18 次提交
  7. 30 4月, 2005 1 次提交
    • L
      x86: make traps on 'iret' be debuggable in user space · a879cbbb
      Linus Torvalds 提交于
      This makes a trap on the 'iret' that returns us to user space
      cause a nice clean SIGSEGV, instead of just a hard (and silent)
      exit.
      
      That way a debugger can actually try to see what happened, and
      we also properly notify everybody who might be interested about
      us being gone.
      
      This loses the error code, but tells the debugger what happened
      with ILL_BADSTK in the siginfo.
      a879cbbb
  8. 29 4月, 2005 1 次提交
    • [AUDIT] Don't allow ptrace to fool auditing, log arch of audited syscalls. · 2fd6f58b
      提交于
      We were calling ptrace_notify() after auditing the syscall and arguments,
      but the debugger could have _changed_ them before the syscall was actually
      invoked. Reorder the calls to fix that.
      
      While we're touching ever call to audit_syscall_entry(), we also make it
      take an extra argument: the architecture of the syscall which was made,
      because some architectures allow more than one type of syscall.
      
      Also add an explicit success/failure flag to audit_syscall_exit(), for
      the benefit of architectures which return that in a condition register
      rather than only returning a single register.
      
      Change type of syscall return value to 'long' not 'int'.
      Signed-off-by: NDavid Woodhouse <dwmw2@infradead.org>
      2fd6f58b
  9. 22 4月, 2005 1 次提交
  10. 20 4月, 2005 2 次提交
    • H
      [PATCH] freepgt: hugetlb area is clean · 021740dc
      Hugh Dickins 提交于
      Once we're strict about clearing away page tables, hugetlb_prefault can assume
      there are no page tables left within its range.  Since the other arches
      continue if !pte_none here, let i386 do the same.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      021740dc
    • H
      [PATCH] freepgt: free_pgtables use vma list · e0da382c
      Hugh Dickins 提交于
      Recent woes with some arches needing their own pgd_addr_end macro; and 4-level
      clear_page_range regression since 2.6.10's clear_page_tables; and its
      long-standing well-known inefficiency in searching throughout the higher-level
      page tables for those few entries to clear and free: all can be blamed on
      ignoring the list of vmas when we free page tables.
      
      Replace exit_mmap's clear_page_range of the total user address space by
      free_pgtables operating on the mm's vma list; unmap_region use it in the same
      way, giving floor and ceiling beyond which it may not free tables.  This
      brings lmbench fork/exec/sh numbers back to 2.6.10 (unless preempt is enabled,
      in which case latency fixes spoil unmap_vmas throughput).
      
      Beware: the do_mmap_pgoff driver failure case must now use unmap_region
      instead of zap_page_range, since a page table might have been allocated, and
      can only be freed while it is touched by some vma.
      
      Move free_pgtables from mmap.c to memory.c, where its lower levels are adapted
      from the clear_page_range levels.  (Most of free_pgtables' old code was
      actually for a non-existent case, prev not properly set up, dating from before
      hch gave us split_vma.) Pass mmu_gather** in the public interfaces, since we
      might want to add latency lockdrops later; but no attempt to do so yet, going
      by vma should itself reduce latency.
      
      But what if is_hugepage_only_range?  Those ia64 and ppc64 cases need careful
      examination: put that off until a later patch of the series.
      
      What of x86_64's 32bit vdso page __map_syscall32 maps outside any vma?
      
      And the range to sparc64's flush_tlb_pgtables?  It's less clear to me now that
      we need to do more than is done here - every PMD_SIZE ever occupied will be
      flushed, do we really have to flush every PGDIR_SIZE ever partially occupied? 
      A shame to complicate it unnecessarily.
      
      Special thanks to David Miller for time spent repairing my ceilings.
      Signed-off-by: NHugh Dickins <hugh@veritas.com>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      e0da382c
  11. 18 4月, 2005 1 次提交
  12. 17 4月, 2005 6 次提交