02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

02 Mar, 2017

1 commit


09 Nov, 2013

2 commits


13 Oct, 2012

1 commit


05 Mar, 2012

1 commit

  • If a header file is making use of BUG, BUG_ON, BUILD_BUG_ON, or any
    other BUG variant in a static inline (i.e. not in a #define) then
    that header really should be including and not just
    expecting it to be implicitly present.

    We can make this change risk-free, since if the files using these
    headers didn't have exposure to linux/bug.h already, they would have
    been causing compile failures/warnings.

    Signed-off-by: Paul Gortmaker

    Paul Gortmaker
     

22 May, 2010

1 commit

  • The declarations for elf_core_extra_phdrs() et al got added on the
    wrong side of #ifdef __KERNEL__ in linux/elfcore.h so they leak into
    the user header copy and we get a warning at build time about it.

    Signed-off-by: Roland McGrath
    Signed-off-by: Linus Torvalds

    Roland McGrath
     

07 Mar, 2010

2 commits

  • The current ELF dumper implementation can produce broken corefiles if
    program headers exceed 65535. This number is determined by the number of
    vmas which the process have. In particular, some extreme programs may use
    more than 65535 vmas. (If you google max_map_count, you can find some
    users facing this problem.) This kind of program never be able to generate
    correct coredumps.

    This patch implements ``extended numbering'' that uses sh_info field of
    the first section header instead of e_phnum field in order to represent
    upto 4294967295 vmas.

    This is supported by
    AMD64-ABI(http://www.x86-64.org/documentation.html) and
    Solaris(http://docs.sun.com/app/docs/doc/817-1984/).
    Of course, we are preparing patches for gdb and binutils.

    Signed-off-by: Daisuke HATAYAMA
    Cc: "Luck, Tony"
    Cc: Jeff Dike
    Cc: David Howells
    Cc: Greg Ungerer
    Cc: Roland McGrath
    Cc: Oleg Nesterov
    Cc: Ingo Molnar
    Cc: Alexander Viro
    Cc: Andi Kleen
    Cc: Alan Cox
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daisuke HATAYAMA
     
  • elf_core_dump() and elf_fdpic_core_dump() use #ifdef and the corresponding
    macro for hiding _multiline_ logics in functions. This patch removes
    #ifdef and replaces ELF_CORE_EXTRA_* by corresponding functions. For
    architectures not implemeonting ELF_CORE_EXTRA_*, we use weak functions in
    order to reduce a range of modification.

    This cleanup is for my next patches, but I think this cleanup itself is
    worth doing regardless of my firnal purpose.

    Signed-off-by: Daisuke HATAYAMA
    Cc: "Luck, Tony"
    Cc: Jeff Dike
    Cc: David Howells
    Cc: Greg Ungerer
    Cc: Roland McGrath
    Cc: Oleg Nesterov
    Cc: Ingo Molnar
    Cc: Alexander Viro
    Cc: Andi Kleen
    Cc: Alan Cox
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daisuke HATAYAMA
     

09 Jul, 2009

1 commit

  • Commit a65e7bfcd74e4c0939f235d2bf9f48ddb3a57991 broke the UML build with
    the following error -

    In file included from fs/proc/kcore.c:17:
    include/linux/elfcore.h: In function 'elf_core_copy_task_regs':
    include/linux/elfcore.h:129: error: implicit declaration of function 'task_pt_regs'

    Fix this by restoring the previous behavior of returning 0 for all arches
    like UML that don't define task_pt_regs.

    Signed-off-by: Parag Warudkar
    Acked-by: Amerigo Wang
    Signed-off-by: Linus Torvalds

    Parag Warudkar
     

07 Jul, 2009

1 commit

  • Fix the multithread program core thread message error.

    This issue affects arches with neither has CORE_DUMP_USE_REGSET nor
    ELF_CORE_COPY_TASK_REGS, ARM is one of them.

    The thread message of core file is generated in elf_dump_thread_status.
    The register values is set by elf_core_copy_task_regs in this function.

    If an arch doesn't define ELF_CORE_COPY_TASK_REGS,
    elf_core_copy_task_regs() will do nothing. Then the core file will not
    have the register message of thread.

    So add elf_core_copy_regs to set regiser values if ELF_CORE_COPY_TASK_REGS
    doesn't define.

    The following is how to reproduce this issue:

    cat 1.c
    #include
    #include
    #include

    void td1(void * i)
    {
    while (1)
    {
    printf ("1\n");
    sleep (1);
    }

    return;
    }

    void td2(void * i)
    {
    while (1)
    {
    printf ("2\n");
    sleep (1);
    }

    return;
    }

    int
    main(int argc,char *argv[],char *envp[])
    {
    pthread_t t1,t2;

    pthread_create(&t1, NULL, (void*)td1, NULL);
    pthread_create(&t2, NULL, (void*)td2, NULL);

    sleep (10);

    assert(0);

    return (0);
    }
    arm-xxx-gcc -g -lpthread 1.c -o 1
    copy 1.c and 1 to a arm board.
    Goto this board.
    ulimit -c 1800000
    ./1
    # ./1
    1
    2
    1
    ...
    ...
    1
    1: 1.c:37: main: Assertion `0' failed.
    Aborted (core dumped)
    Then you can get a core file.
    gdb 1 core.xxx
    Without the patch:
    (gdb) info threads
    3 process 909 0x00000000 in ?? ()
    2 process 908 0x00000000 in ?? ()
    * 1 process 907 0x4a6e2238 in raise () from /lib/libc.so.6
    You can found that the pc of 909 and 908 is 0x00000000.
    With the patch:
    (gdb) info threads
    3 process 885 0x4a749974 in nanosleep () from /lib/libc.so.6
    2 process 884 0x4a749974 in nanosleep () from /lib/libc.so.6
    * 1 process 883 0x4a6e2238 in raise () from /lib/libc.so.6
    The pc of 885 and 884 is right.

    Signed-off-by: Hui Zhu
    Cc: Amerigo Wang
    Cc: Al Viro
    Cc: David Howells
    Cc: Roland McGrath
    Cc: Jakub Jelinek
    Cc: Russell King
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Hui Zhu
     

10 Feb, 2009

1 commit

  • ELF core dump is used for both user land core dump and kernel crash
    dump. Depending on architecture, register might need to be accessed
    differently for userland and kernel. Allow architectures to define
    ELF_CORE_COPY_KERNEL_REGS() and use different operation for kernel
    register dump.

    Signed-off-by: Tejun Heo
    Signed-off-by: Ingo Molnar

    Tejun Heo
     

08 Feb, 2008

2 commits


11 Jul, 2006

1 commit


04 Feb, 2006

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