26 Sep, 2019

1 commit

  • When building with W=1, a number of warnings are issued:

    CC lib/extable.o
    lib/extable.c:63:6: warning: no previous prototype for 'sort_extable' [-Wmissing-prototypes]
    63 | void sort_extable(struct exception_table_entry *start,
    | ^~~~~~~~~~~~
    lib/extable.c:75:6: warning: no previous prototype for 'trim_init_extable' [-Wmissing-prototypes]
    75 | void trim_init_extable(struct module *m)
    | ^~~~~~~~~~~~~~~~~
    lib/extable.c:115:1: warning: no previous prototype for 'search_extable' [-Wmissing-prototypes]
    115 | search_extable(const struct exception_table_entry *base,
    | ^~~~~~~~~~~~~~

    Add the missing #include for the prototypes.

    Link: http://lkml.kernel.org/r/45574.1565235784@turing-police
    Signed-off-by: Valdis Kletnieks
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Valdis Kletnieks
     

31 May, 2019

1 commit

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 3029 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

11 Jul, 2017

1 commit


25 Dec, 2016

1 commit


24 Feb, 2016

1 commit

  • This adds support to the generic search_extable() and sort_extable()
    implementations for dealing with exception table entries whose fields
    contain relative offsets rather than absolute addresses.

    Acked-by: Helge Deller
    Acked-by: Heiko Carstens
    Acked-by: H. Peter Anvin
    Acked-by: Tony Luck
    Acked-by: Will Deacon
    Acked-by: Richard Henderson
    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Catalin Marinas

    Ard Biesheuvel
     

12 Jun, 2009

1 commit

  • It's theoretically possible that there are exception table entries
    which point into the (freed) init text of modules. These could cause
    future problems if other modules get loaded into that memory and cause
    an exception as we'd see the wrong fixup. The only case I know of is
    kvm-intel.ko (when CONFIG_CC_OPTIMIZE_FOR_SIZE=n).

    Amerigo fixed this long-standing FIXME in the x86 version, but this
    patch is more general.

    This implements trim_init_extable(); most archs are simple since they
    use the standard lib/extable.c sort code. Alpha and IA64 use relative
    addresses in their fixups, so thier trimming is a slight variation.

    Sparc32 is unique; it doesn't seem to define ARCH_HAS_SORT_EXTABLE,
    yet it defines its own sort_extable() which overrides the one in lib.
    It doesn't sort, so we have to mark deleted entries instead of
    actually trimming them.

    Inspired-by: Amerigo Wang
    Signed-off-by: Rusty Russell
    Cc: linux-alpha@vger.kernel.org
    Cc: sparclinux@vger.kernel.org
    Cc: linux-ia64@vger.kernel.org

    Rusty Russell
     

07 Feb, 2008

1 commit

  • Actual code let compiler generates idiv instruction on x86.

    Using a right shift is OK here and readable as well.

    Before patch
    10: 57 push %edi
    11: 56 push %esi
    12: 89 d6 mov %edx,%esi
    14: 53 push %ebx
    15: 89 c3 mov %eax,%ebx
    17: eb 22 jmp 3b
    19: 89 f0 mov %esi,%eax
    1b: ba 02 00 00 00 mov $0x2,%edx
    20: 29 d8 sub %ebx,%eax
    22: 89 d7 mov %edx,%edi
    24: c1 f8 03 sar $0x3,%eax
    27: 99 cltd
    28: f7 ff idiv %edi
    2a: 8d 04 c3 lea (%ebx,%eax,8),%eax
    2d: 39 08 cmp %ecx,(%eax)
    ...

    After patch

    00000010 :
    10: 53 push %ebx
    11: 89 c3 mov %eax,%ebx
    13: eb 18 jmp 2d
    15: 89 d0 mov %edx,%eax
    17: 29 d8 sub %ebx,%eax
    19: c1 f8 04 sar $0x4,%eax
    1c: 8d 04 c3 lea (%ebx,%eax,8),%eax
    1f: 39 08 cmp %ecx,(%eax)
    ...

    Signed-off-by: Eric Dumazet
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Dumazet
     

01 Jul, 2006

1 commit


10 Feb, 2006

1 commit


31 Oct, 2005

1 commit


17 Apr, 2005

1 commit

  • Initial git repository build. I'm not bothering with the full history,
    even though we have it. We can create a separate "historical" git
    archive of that later if we want to, and in the meantime it's about
    3.2GB when imported into git - space that would just make the early
    git days unnecessarily complicated, when we don't have a lot of good
    infrastructure for it.

    Let it rip!

    Linus Torvalds