04 May, 2015

1 commit


27 Apr, 2015

1 commit


16 Apr, 2015

1 commit

  • Pull kbuild updates from Michal Marek:
    "Here is the first round of kbuild changes for v4.1-rc1:

    - kallsyms fix for ARM and cleanup

    - make dep(end) removed (developers have no sense of nostalgia these
    days...)

    - include Makefiles by relative path

    - stop useless rebuilds of asm-offsets.h and bounds.h"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    Kbuild: kallsyms: drop special handling of pre-3.0 GCC symbols
    Kbuild: kallsyms: ignore veneers emitted by the ARM linker
    kbuild: ia64: use $(src)/Makefile.gate rather than particular path
    kbuild: include $(src)/Makefile rather than $(obj)/Makefile
    kbuild: use relative path more to include Makefile
    kbuild: use relative path to include Makefile
    kbuild: do not add $(bounds-file) and $(offsets-file) to targets
    kbuild: remove warning about "make depend"
    kbuild: Don't reset timestamps in include/generated if not needed

    Linus Torvalds
     

14 Apr, 2015

1 commit

  • Pull core locking changes from Ingo Molnar:
    "Main changes:

    - jump label asm preparatory work for PowerPC (Anton Blanchard)

    - rwsem optimizations and cleanups (Davidlohr Bueso)

    - mutex optimizations and cleanups (Jason Low)

    - futex fix (Oleg Nesterov)

    - remove broken atomicity checks from {READ,WRITE}_ONCE() (Peter
    Zijlstra)"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    powerpc, jump_label: Include linux/jump_label.h to get HAVE_JUMP_LABEL define
    jump_label: Allow jump labels to be used in assembly
    jump_label: Allow asm/jump_label.h to be included in assembly
    locking/mutex: Further simplify mutex_spin_on_owner()
    locking: Remove atomicy checks from {READ,WRITE}_ONCE
    locking/rtmutex: Rename argument in the rt_mutex_adjust_prio_chain() documentation as well
    locking/rwsem: Fix lock optimistic spinning when owner is not running
    locking: Remove ACCESS_ONCE() usage
    locking/rwsem: Check for active lock before bailing on spinning
    locking/rwsem: Avoid deceiving lock spinners
    locking/rwsem: Set lock ownership ASAP
    locking/rwsem: Document barrier need when waking tasks
    locking/futex: Check PF_KTHREAD rather than !p->mm to filter out kthreads
    locking/mutex: Refactor mutex_spin_on_owner()
    locking/mutex: In mutex_spin_on_owner(), return true when owner changes

    Linus Torvalds
     

13 Apr, 2015

1 commit


09 Apr, 2015

1 commit

  • To use jump labels in assembly we need the HAVE_JUMP_LABEL
    define, so we select a fallback version if the toolchain does
    not support them.

    Modify linux/jump_label.h so it can be included by assembly
    files. We also need to add -DCC_HAVE_ASM_GOTO to KBUILD_AFLAGS.

    Signed-off-by: Anton Blanchard
    Acked-by: Peter Zijlstra (Intel)
    Cc: Andrew Morton
    Cc: Linus Torvalds
    Cc: Paul E. McKenney
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: benh@kernel.crashing.org
    Cc: catalin.marinas@arm.com
    Cc: davem@davemloft.net
    Cc: heiko.carstens@de.ibm.com
    Cc: jbaron@akamai.com
    Cc: linux@arm.linux.org.uk
    Cc: linuxppc-dev@lists.ozlabs.org
    Cc: liuj97@gmail.com
    Cc: mgorman@suse.de
    Cc: mmarek@suse.cz
    Cc: mpe@ellerman.id.au
    Cc: paulus@samba.org
    Cc: ralf@linux-mips.org
    Cc: rostedt@goodmis.org
    Cc: schwidefsky@de.ibm.com
    Cc: will.deacon@arm.com
    Link: http://lkml.kernel.org/r/1428551492-21977-2-git-send-email-anton@samba.org
    Signed-off-by: Ingo Molnar

    Anton Blanchard
     

07 Apr, 2015

1 commit


02 Apr, 2015

1 commit

  • Prior to this commit, it was impossible to use relative path to
    include Makefiles from the top level Makefile because the option
    "--include-dir=$(srctree)" becomes effective when Make enters into
    sub Makefiles.

    To use relative path in any places, this commit moves the option
    above the "sub-make" target.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

30 Mar, 2015

1 commit


25 Mar, 2015

1 commit


23 Mar, 2015

1 commit


16 Mar, 2015

1 commit


09 Mar, 2015

1 commit


04 Mar, 2015

1 commit


23 Feb, 2015

1 commit

  • .. after extensive statistical analysis of my G+ polling, I've come to
    the inescapable conclusion that internet polls are bad.

    Big surprise.

    But "Hurr durr I'ma sheep" trounced "I like online polls" by a 62-to-38%
    margin, in a poll that people weren't even supposed to participate in.
    Who can argue with solid numbers like that? 5,796 votes from people who
    can't even follow the most basic directions?

    In contrast, "v4.0" beat out "v3.20" by a slimmer margin of 56-to-44%,
    but with a total of 29,110 votes right now.

    Now, arguably, that vote spread is only about 3,200 votes, which is less
    than the almost six thousand votes that the "please ignore" poll got, so
    it could be considered noise.

    But hey, I asked, so I'll honor the votes.

    Linus Torvalds
     

20 Feb, 2015

1 commit

  • Pull kbuild updates from Michal Marek:

    - several cleanups in kbuild

    - serialize multiple *config targets so that 'make defconfig kvmconfig'
    works

    - The cc-ifversion macro got support for an else-branch

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild,gcov: simplify kernel/gcov/Makefile more
    kbuild: allow cc-ifversion to have the argument for false condition
    kbuild,gcov: simplify kernel/gcov/Makefile
    kbuild,gcov: remove unnecessary workaround
    kbuild: do not add $(call ...) to invoke cc-version or cc-fullversion
    kbuild: fix cc-ifversion macro
    kbuild: drop $(version_h) from MRPROPER_FILES
    kbuild: use mixed-targets when two or more config targets are given
    kbuild: remove redundant line from bounds.h/asm-offsets.h
    kbuild: merge bounds.h and asm-offsets.h rules
    kbuild: Drop support for clean-rule

    Linus Torvalds
     

18 Feb, 2015

1 commit

  • This provides the basic infrastructure to load kernel-specific python
    helper scripts when debugging the kernel in gdb.

    The loading mechanism is based on gdb loading for -gdb.py when
    opening . Therefore, this places a corresponding link to the
    main helper script into the output directory that contains vmlinux.

    The main scripts will pull in submodules containing Linux specific gdb
    commands and functions. To avoid polluting the source directory with
    compiled python modules, we link to them from the object directory.

    Due to gdb.parse_and_eval and string redirection for gdb.execute, we
    depend on gdb >= 7.2.

    This feature is enabled via CONFIG_GDB_SCRIPTS.

    Signed-off-by: Jan Kiszka
    Acked-by: Michal Marek [kbuild stuff]
    Cc: Thomas Gleixner
    Cc: Jason Wessel
    Cc: Andi Kleen
    Cc: Ben Widawsky
    Cc: Borislav Petkov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kiszka
     

14 Feb, 2015

1 commit

  • Kernel Address sanitizer (KASan) is a dynamic memory error detector. It
    provides fast and comprehensive solution for finding use-after-free and
    out-of-bounds bugs.

    KASAN uses compile-time instrumentation for checking every memory access,
    therefore GCC > v4.9.2 required. v4.9.2 almost works, but has issues with
    putting symbol aliases into the wrong section, which breaks kasan
    instrumentation of globals.

    This patch only adds infrastructure for kernel address sanitizer. It's
    not available for use yet. The idea and some code was borrowed from [1].

    Basic idea:

    The main idea of KASAN is to use shadow memory to record whether each byte
    of memory is safe to access or not, and use compiler's instrumentation to
    check the shadow memory on each memory access.

    Address sanitizer uses 1/8 of the memory addressable in kernel for shadow
    memory and uses direct mapping with a scale and offset to translate a
    memory address to its corresponding shadow address.

    Here is function to translate address to corresponding shadow address:

    unsigned long kasan_mem_to_shadow(unsigned long addr)
    {
    return (addr >> KASAN_SHADOW_SCALE_SHIFT) + KASAN_SHADOW_OFFSET;
    }

    where KASAN_SHADOW_SCALE_SHIFT = 3.

    So for every 8 bytes there is one corresponding byte of shadow memory.
    The following encoding used for each shadow byte: 0 means that all 8 bytes
    of the corresponding memory region are valid for access; k (1
    Acked-by: Michal Marek
    Signed-off-by: Andrey Konovalov
    Cc: Dmitry Vyukov
    Cc: Konstantin Serebryany
    Cc: Dmitry Chernenkov
    Cc: Yuri Gribov
    Cc: Konstantin Khlebnikov
    Cc: Sasha Levin
    Cc: Christoph Lameter
    Cc: Joonsoo Kim
    Cc: Dave Hansen
    Cc: Andi Kleen
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: David Rientjes
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Ryabinin
     

12 Feb, 2015

1 commit

  • Pull s390 updates from Martin Schwidefsky:

    - The remaining patches for the z13 machine support: kernel build
    option for z13, the cache synonym avoidance, SMT support,
    compare-and-delay for spinloops and the CES5S crypto adapater.

    - The ftrace support for function tracing with the gcc hotpatch option.
    This touches common code Makefiles, Steven is ok with the changes.

    - The hypfs file system gets an extension to access diagnose 0x0c data
    in user space for performance analysis for Linux running under z/VM.

    - The iucv hvc console gets wildcard spport for the user id filtering.

    - The cacheinfo code is converted to use the generic infrastructure.

    - Cleanup and bug fixes.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (42 commits)
    s390/process: free vx save area when releasing tasks
    s390/hypfs: Eliminate hypfs interval
    s390/hypfs: Add diagnose 0c support
    s390/cacheinfo: don't use smp_processor_id() in preemptible context
    s390/zcrypt: fixed domain scanning problem (again)
    s390/smp: increase maximum value of NR_CPUS to 512
    s390/jump label: use different nop instruction
    s390/jump label: add sanity checks
    s390/mm: correct missing space when reporting user process faults
    s390/dasd: cleanup profiling
    s390/dasd: add locking for global_profile access
    s390/ftrace: hotpatch support for function tracing
    ftrace: let notrace function attribute disable hotpatching if necessary
    ftrace: allow architectures to specify ftrace compile options
    s390: reintroduce diag 44 calls for cpu_relax()
    s390/zcrypt: Add support for new crypto express (CEX5S) adapter.
    s390/zcrypt: Number of supported ap domains is not retrievable.
    s390/spinlock: add compare-and-delay to lock wait loops
    s390/tape: remove redundant if statement
    s390/hvc_iucv: add simple wildcard matches to the iucv allow filter
    ...

    Linus Torvalds
     

09 Feb, 2015

1 commit


02 Feb, 2015

1 commit


29 Jan, 2015

1 commit

  • If the kernel is compiled with function tracer support the -pg compile option
    is passed to gcc to generate extra code into the prologue of each function.

    This patch replaces the "open-coded" -pg compile flag with a CC_FLAGS_FTRACE
    makefile variable which architectures can override if a different option
    should be used for code generation.

    Acked-by: Steven Rostedt
    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     

26 Jan, 2015

1 commit


18 Jan, 2015

1 commit


12 Jan, 2015

1 commit


09 Jan, 2015

1 commit

  • The introduction of the uapi directories in v3.7-rc1 moved some of the
    generated headers from arch/*/include/generated to the uapi directory,
    keeping the #include directives intact.

    This creates a problem when bisecting, because the unversioned files are
    not cleaned automatically by git and the compiler might include stale
    headers as a result. Instead of cleaning them in the Makefiles, promote
    arch/*/include/generated/uapi in the search path. Under normal
    circumstances, there is no overlap between this uapi subdirectory and
    its parent, so the include choices remain the same. We keep
    arch/*/include/generated/uapi in the USERINCLUDE variable so that it is
    usable standalone.

    Note that we cannot completely swap the order of the uapi and
    kernel-only directories, since the headers in include/uapi/asm-generic
    are meant to be wrapped by their include/asm-generic counterparts when
    building kernel code.

    Reported-by: "Nicholas A. Bellinger"
    Reported-by: David Drysdale
    Signed-off-by: Michal Marek
    Signed-off-by: Linus Torvalds

    Michal Marek
     

08 Jan, 2015

2 commits

  • Now $(version_h) is include/generated/uapi/linux/version.h.

    $(version_h) in MRPROPER_FILES is redundant because it is covered
    by include/generated in MRPROPER_DIRS.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     
  • "make kvmconfig" expects that the .config has already been created,
    but some people might want to create the .config and run kvmconfig
    in one shot command, like this:

    $ make defconfig kvmconfig

    To make sure this command works correctly even if -j* option is set,
    we must handle them one by one.
    This commit turns on mixed-targets when $(MAKECMDGOALS) includes
    at least one config target and also includes another target.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

06 Jan, 2015

1 commit


29 Dec, 2014

1 commit


21 Dec, 2014

2 commits

  • Linus Torvalds
     
  • Pull kbuild updates from Michal Marek:
    "Here are the kbuild changes for v3.19-rc1:

    - Cleanups and deduplication in the main Makefile and
    scripts/Makefile.*
    - Sort the output of *config targets in make help
    - Old is always removed to avoid a surprise during
    bisecting
    - Warning fix in kconfig"

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: remove redundant -rR flag of hdr-inst
    kbuild: Fix make help- on powerpc
    kbuild: Automatically remove stale file
    kconfig: Fix warning "‘jump’ may be used uninitialized"
    Makefile: sort list of defconfig targets in make help output
    kbuild: Remove duplicate $(cmd) definition in Makefile.clean
    kbuild: collect shorthands into scripts/Kbuild.include

    Linus Torvalds
     

08 Dec, 2014

1 commit


01 Dec, 2014

1 commit


28 Nov, 2014

3 commits


26 Nov, 2014

1 commit

  • The shorthand "clean" is defined in both the top Makefile and
    scripts/Makefile.clean. Likewise, the "hdr-inst" is defined in
    both the top Makefile and scripts/Makefile.headersinst.

    To reduce code duplication, this commit collects them into
    scripts/Kbuild.include like the "build" and "modbuiltin" shorthands.
    It requires scripts/Makefile.clean to include scripts/Kbuild.include,
    but its impact on the performance of "make clean" should be
    negligible.

    Signed-off-by: Masahiro Yamada
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

24 Nov, 2014

1 commit


17 Nov, 2014

1 commit