26 Jan, 2011

1 commit

  • memmove_64.c only implements memmove() function which is completely written in
    inline assembly code. Therefore it doesn't make sense to keep the assembly code
    in .c file.

    Currently memmove() doesn't store return value to rax. This may cause issue if
    caller uses the return value. The patch fixes this issue.

    Signed-off-by: Fenghua Yu
    LKML-Reference:
    Signed-off-by: H. Peter Anvin

    Fenghua Yu
     

29 Apr, 2010

1 commit


30 Dec, 2009

1 commit

  • In order to avoid unnecessary chains of branches, rather than
    implementing copy_user_generic() as a function consisting of
    just a single (possibly patched) branch, instead properly deal
    with patching call instructions in the alternative instructions
    framework, and move the patching into the callers.

    As a follow-on, one could also introduce something like
    __EXPORT_SYMBOL_ALT() to avoid patching call sites in modules.

    Signed-off-by: Jan Beulich
    Cc: Nick Piggin
    Cc: Linus Torvalds
    Cc: Andrew Morton
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jan Beulich
     

17 Dec, 2009

1 commit

  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Fix kprobes build with non-gawk awk
    x86: Split swiotlb initialization into two stages
    x86: Regex support and known-movable symbols for relocs, fix _end
    x86, msr: Remove incorrect, duplicated code in the MSR driver
    x86: Merge kernel_thread()
    x86: Sync 32/64-bit kernel_thread
    x86, 32-bit: Use same regs as 64-bit for kernel_thread_helper
    x86, 64-bit: Use user_mode() to determine new stack pointer in copy_thread()
    x86, 64-bit: Move kernel_thread to C
    x86-64, paravirt: Call set_iopl_mask() on 64 bits
    x86-32: Avoid pipeline serialization in PTREGSCALL1 and 2
    x86: Merge sys_clone
    x86, 32-bit: Convert sys_vm86 & sys_vm86old
    x86: Merge sys_sigaltstack
    x86: Merge sys_execve
    x86: Merge sys_iopl
    x86-32: Add new pt_regs stubs
    cpumask: Use modern cpumask style in arch/x86/kernel/cpu/mcheck/mce-inject.c

    Linus Torvalds
     

15 Dec, 2009

1 commit

  • For CONFIG_PARAVIRT, load_gs_index is an inline function (it's #defined
    to native_load_gs_index otherwise).

    Exporting an inline function breaks the new assembler-based alphabetical
    sorted symbol list:

    Today's linux-next build (x86_64 allmodconfig) failed like this:

    .tmp_exports-asm.o: In function `__ksymtab_load_gs_index':
    (__ksymtab_sorted+0x5b40): undefined reference to `load_gs_index'

    Signed-off-by: Rusty Russell
    To: x86@kernel.org
    Cc: alan-jenkins@tuffmail.co.uk

    Rusty Russell
     

11 Dec, 2009

1 commit


16 Nov, 2009

1 commit

  • On x86-64, copy_[to|from]_user() rely on assembly routines that
    never call might_fault(), making us missing various lockdep
    checks.

    This doesn't apply to __copy_from,to_user() that explicitly
    handle these calls, neither is it a problem in x86-32 where
    copy_to,from_user() rely on the "__" prefixed versions that
    also call might_fault().

    Signed-off-by: Frederic Weisbecker
    Cc: Arjan van de Ven
    Cc: Linus Torvalds
    Cc: Nick Piggin
    Cc: Peter Zijlstra
    LKML-Reference:
    [ v2: fix module export ]
    Signed-off-by: Ingo Molnar

    Frederic Weisbecker
     

15 Nov, 2009

1 commit

  • This v2.6.26 commit:

    ad2fc2c: x86: fix copy_user on x86

    rendered __copy_from_user_inatomic() identical to
    copy_user_generic(), yet didn't make the former just call the
    latter from an inline function.

    Furthermore, this v2.6.19 commit:

    b885808: [PATCH] Add proper sparse __user casts to __copy_to_user_inatomic

    converted the return type of __copy_to_user_inatomic() from
    unsigned long to int, but didn't do the same to
    __copy_from_user_inatomic().

    Signed-off-by: Jan Beulich
    Cc: Linus Torvalds
    Cc: Alexander Viro
    Cc: Arjan van de Ven
    Cc: Andi Kleen
    Cc:
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Jan Beulich
     

26 Sep, 2009

1 commit

  • gcc (4.x) supports the __builtin_object_size() builtin, which
    reports the size of an object that a pointer point to, when known
    at compile time. If the buffer size is not known at compile time, a
    constant -1 is returned.

    This patch uses this feature to add a sanity check to
    copy_from_user(); if the target buffer is known to be smaller than
    the copy size, the copy is aborted and a WARNing is emitted in
    memory debug mode.

    These extra checks compile away when the object size is not known,
    or if both the buffer size and the copy length are constants.

    Signed-off-by: Arjan van de Ven
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Arjan van de Ven
     

16 Jan, 2009

1 commit


21 Oct, 2008

1 commit

  • Due to confusion between the ftrace infrastructure and the gcc profiling
    tracer "ftrace", this patch renames the config options from FTRACE to
    FUNCTION_TRACER. The other two names that are offspring from FTRACE
    DYNAMIC_FTRACE and FTRACE_MCOUNT_RECORD will stay the same.

    This patch was generated mostly by script, and partially by hand.

    Signed-off-by: Steven Rostedt
    Signed-off-by: Ingo Molnar

    Steven Rostedt
     

14 Jul, 2008

1 commit


08 Jul, 2008

1 commit

  • i386 and x86_64 used two different schemes for maintaining the gdt.
    With this patch, x86_64 initial gdt table is defined in a .c file,
    same way as i386 is now. Also, we call it "gdt_page", and the descriptor,
    "early_gdt_descr". This way we achieve common naming, which can allow for
    more code integration.

    Signed-off-by: Glauber Costa
    Signed-off-by: Ingo Molnar

    Glauber Costa
     

24 Jun, 2008

1 commit

  • Record the address of the mcount call-site. Currently all archs except sparc64
    record the address of the instruction following the mcount call-site. Some
    general cleanups are entailed. Storing mcount addresses in rec->ip enables
    looking them up in the kprobe hash table later on to check if they're kprobe'd.

    Signed-off-by: Abhishek Sagar
    Cc: davem@davemloft.net
    Cc: Steven Rostedt
    Signed-off-by: Ingo Molnar

    Abhishek Sagar
     

24 May, 2008

1 commit

  • David S. Miller noticed the following bug: the -pg instrumentation
    function callback is named differently on each platform. On x86 it
    is mcount, on sparc it is _mcount. So the export does not make sense
    in kernel/trace/ftrace.c - move it to x86.

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Ingo Molnar
     

14 May, 2008

1 commit

  • Fix this symbol export problem:

    Building modules, stage 2.
    MODPOST 193 modules
    ERROR: "csum_partial" [fs/reiserfs/reiserfs.ko] undefined!
    make[1]: *** [__modpost] Error 1
    make: *** [modules] Error 2

    This is due to a known weakness of symbol exports: if a symbol's
    only in-core user is an EXPORT_SYMBOL from a lib-y section, the
    symbol is not linked in.

    The solution is to move the export to x8664_ksyms_64.c - but the real
    solution would be to fix kbuild.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     

18 Apr, 2008

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (613 commits)
    x86: standalone trampoline code
    x86: move suspend wakeup code to C
    x86: coding style fixes to arch/x86/kernel/acpi/sleep.c
    x86: setup_trampoline() - fix section mismatch warning
    x86: section mismatch fixes, #1
    x86: fix paranoia about using BIOS quickboot mechanism.
    x86: print out buggy mptable
    x86: use cpu_online()
    x86: use cpumask_of_cpu()
    x86: remove unnecessary tmp local variable
    x86: remove unnecessary memset()
    x86: use ioapic_read_entry() and ioapic_write_entry()
    x86: avoid redundant loop in io_apic_level_ack_pending()
    x86: remove superfluous initialisation in boot code.
    x86: merge mpparse_{32,64}.c
    x86: unify mp_register_gsi
    x86: unify mp_config_acpi_legacy_irqs
    x86: unify mp_register_ioapic
    x86: unify uniq_io_apic_id
    x86: unify smp_scan_config
    ...

    Linus Torvalds
     

17 Apr, 2008

2 commits

  • arch/x86/kernel/x8664_ksyms_64.o:
    text data bss dec hex filename
    0 0 0 0 0 x8664_ksyms_64.o.before
    0 0 0 0 0 x8664_ksyms_64.o.after
    md5:
    2dd2d82a2b440a3c29b9ac9ce3221994 x8664_ksyms_64.o.before.asm
    2dd2d82a2b440a3c29b9ac9ce3221994 x8664_ksyms_64.o.after.asm

    Signed-off-by: Paolo Ciarrocchi
    Signed-off-by: Ingo Molnar

    Paolo Ciarrocchi
     
  • Semaphores are no longer performance-critical, so a generic C
    implementation is better for maintainability, debuggability and
    extensibility. Thanks to Peter Zijlstra for fixing the lockdep
    warning. Thanks to Harvey Harrison for pointing out that the
    unlikely() was unnecessary.

    Signed-off-by: Matthew Wilcox
    Acked-by: Ingo Molnar

    Matthew Wilcox
     

30 Jan, 2008

2 commits

  • With paravirualization, hypervisors needs to handle the gdt,
    that was right to this point only used at very early
    inialization code. Hypervisors (lguest being the current case)
    are commonly modules, so make it an export

    Signed-off-by: Glauber de Oliveira Costa
    Signed-off-by: Steven Rostedt
    Acked-by: Jeremy Fitzhardinge
    Signed-off-by: Thomas Gleixner

    Signed-off-by: Glauber de Oliveira Costa
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Glauber de Oliveira Costa
     
  • This patch removes the unused exports for __{read,write}_lock_failed.

    Signed-off-by: Adrian Bunk

    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Adrian Bunk
     

11 Oct, 2007

1 commit