28 Jan, 2015

1 commit

  • commit 7426977c8efeaedf0a7ca00e1c1a5f52ef6b950f upstream.

    The comma after --no-includes makes coccinelle to not run the script:

    /usr/bin/spatch -D report --very-quiet --no-show-diff --cocci-file ./scripts/coccinelle/misc/bugon.cocci --no-includes, --include-headers --patch . --dir drivers/media/platform/coda/ -I ./arch/x86/include -I arch/x86/include/generated -I include -I ./arch/x86/include/uapi -I arch/x86/include/generated/uapi -I ./include/uapi -I include/generated/uapi -I ./include/linux/kconfig.h
    Usage: spatch.opt --sp-file [-o ] [--iso-file ] [options]
    Options are:
    --sp-file the semantic patch file
    -o the output file
    --in-place do the modification on the file directly
    --backup-suffix suffix to use when making a backup for inplace
    ...

    At least with Fedora 20 coccinelle package:
    coccinelle-1.0.0-0.rc20.1.fc21.x86_64

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Julia Lawall
    Tested-by: Wolfram Sang
    Fixes: 5be1df66 (Coccinelle: Script to replace if and BUG with BUG_ON)
    Signed-off-by: Michal Marek
    Signed-off-by: Greg Kroah-Hartman

    Mauro Carvalho Chehab
     

16 Jan, 2015

1 commit

  • commit 7b990789a4c3420fa57596b368733158e432d444 upstream.

    The change from \d+ to .+ inside __aligned() means that the following
    structure:

    struct test {
    u8 a __aligned(2);
    u8 b __aligned(2);
    };

    essentially gets modified to

    struct test {
    u8 a;
    };

    for purposes of kernel-doc, thus dropping a struct member, which in
    turns causes warnings and invalid kernel-doc generation.

    Fix this by replacing the catch-all (".") with anything that's not a
    semicolon ("[^;]").

    Fixes: 9dc30918b23f ("scripts/kernel-doc: handle struct member __aligned without numbers")
    Signed-off-by: Johannes Berg
    Cc: Nishanth Menon
    Cc: Randy Dunlap
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds
    Signed-off-by: Greg Kroah-Hartman

    Johannes Berg
     

14 Oct, 2014

17 commits

  • Pull misc kbuild updates from Michal Marek:
    "This is the less critical kbuild stuff for v3.18-rc1:

    - make deb-pkg debuginfo fix, ppc64el support and warning fix for
    recent dpkg tools
    - make TAGS fixes
    - new coccinelle patch
    - kbuild documentation improvements"

    * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    deb-pkg: remove obsolete -isp option to dpkg-gencontrol
    coccinelle: misc: semantic patch to delete overly complex return code processing
    deb-pkg: Add support for powerpc little endian
    builddeb: put the dbg files into the correct directory
    scripts/tags.sh: fix DEFINE_HASHTABLE in emacs case
    scripts/tags.sh: remove *PCGFLAGS regular expressions
    scripts/tags.sh: Don't specify kind-spec for emacs' ctags/etags
    Documentation: kbuild: Improve grammar
    Documentation: kbuild: Remove obsolete dtc_cpp section
    Documentation: kbuild: Improve if_changed documentation
    Documentation: kbuild: Remove obsolete include/asm symlink step

    Linus Torvalds
     
  • Pull kbuild changes from Michal Marek:
    - fix for handling dependencies of *-objs targets by Masahiro Yamada
    - lots of cleanups in the kbuild machinery, also by Masahiro
    - fixes for the kconfig build to use an UTF-8 capable ncurses library
    if possible and to build on not-so-standard installs
    - some more minor fixes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Do not reference *-n variables in the Makefile
    kbuild: simplify build, clean, modbuiltin shorthands
    kbuild: arm: Do not define "comma" twice
    kbuild: remove obj-n and lib-n handling
    kbuild: remove unnecessary variable initializaions
    kbuild: remove unnecessary "obj- := dummy.o" trick
    kbuild: handle C=... and M=... after entering into build directory
    kbuild: use $(Q) for sub-make target
    kbuild: fake the "Entering directory ..." message more simply
    kconfig/lxdialog: get ncurses CFLAGS with pkg-config
    kconfig: nconfig: fix multi-byte UTF handling
    kconfig: lxdialog: fix spelling
    kbuild: Make scripts executable
    kbuild: remove redundant clean-files from scripts/kconfig/Makefile
    kbuild: refactor script/kconfig/Makefile
    kbuild: handle the dependency of multi-objs hostprogs appropriately
    kbuild: handle multi-objs dependency appropriately

    Linus Torvalds
     
  • Merge second patch-bomb from Andrew Morton:
    - a few hotfixes
    - drivers/dma updates
    - MAINTAINERS updates
    - Quite a lot of lib/ updates
    - checkpatch updates
    - binfmt updates
    - autofs4
    - drivers/rtc/
    - various small tweaks to less used filesystems
    - ipc/ updates
    - kernel/watchdog.c changes

    * emailed patches from Andrew Morton : (135 commits)
    mm: softdirty: enable write notifications on VMAs after VM_SOFTDIRTY cleared
    kernel/param: consolidate __{start,stop}___param[] in
    ia64: remove duplicate declarations of __per_cpu_start[] and __per_cpu_end[]
    frv: remove unused declarations of __start___ex_table and __stop___ex_table
    kvm: ensure hard lockup detection is disabled by default
    kernel/watchdog.c: control hard lockup detection default
    staging: rtl8192u: use %*pEn to escape buffer
    staging: rtl8192e: use %*pEn to escape buffer
    staging: wlan-ng: use %*pEhp to print SN
    lib80211: remove unused print_ssid()
    wireless: hostap: proc: print properly escaped SSID
    wireless: ipw2x00: print SSID via %*pE
    wireless: libertas: print esaped string via %*pE
    lib/vsprintf: add %*pE[achnops] format specifier
    lib / string_helpers: introduce string_escape_mem()
    lib / string_helpers: refactoring the test suite
    lib / string_helpers: move documentation to c-file
    include/linux: remove strict_strto* definitions
    arch/x86/mm/numa.c: fix boot failure when all nodes are hotpluggable
    fs: check bh blocknr earlier when searching lru
    ...

    Linus Torvalds
     
  • Pull s390 updates from Martin Schwidefsky:
    "This patch set contains the main portion of the changes for 3.18 in
    regard to the s390 architecture. It is a bit bigger than usual,
    mainly because of a new driver and the vector extension patches.

    The interesting bits are:
    - Quite a bit of work on the tracing front. Uprobes is enabled and
    the ftrace code is reworked to get some of the lost performance
    back if CONFIG_FTRACE is enabled.
    - To improve boot time with CONFIG_DEBIG_PAGEALLOC, support for the
    IPTE range facility is added.
    - The rwlock code is re-factored to improve writer fairness and to be
    able to use the interlocked-access instructions.
    - The kernel part for the support of the vector extension is added.
    - The device driver to access the CD/DVD on the HMC is added, this
    will hopefully come in handy to improve the installation process.
    - Add support for control-unit initiated reconfiguration.
    - The crypto device driver is enhanced to enable the additional AP
    domains and to allow the new crypto hardware to be used.
    - Bug fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (39 commits)
    s390/ftrace: simplify enabling/disabling of ftrace_graph_caller
    s390/ftrace: remove 31 bit ftrace support
    s390/kdump: add support for vector extension
    s390/disassembler: add vector instructions
    s390: add support for vector extension
    s390/zcrypt: Toleration of new crypto hardware
    s390/idle: consolidate idle functions and definitions
    s390/nohz: use a per-cpu flag for arch_needs_cpu
    s390/vtime: do not reset idle data on CPU hotplug
    s390/dasd: add support for control unit initiated reconfiguration
    s390/dasd: fix infinite loop during format
    s390/mm: make use of ipte range facility
    s390/setup: correct 4-level kernel page table detection
    s390/topology: call set_sched_topology early
    s390/uprobes: architecture backend for uprobes
    s390/uprobes: common library for kprobes and uprobes
    s390/rwlock: use the interlocked-access facility 1 instructions
    s390/rwlock: improve writer fairness
    s390/rwlock: remove interrupt-enabling rwlock variant.
    s390/mm: remove change bit override support
    ...

    Linus Torvalds
     
  • In file included from scripts/sortextable.c:194:0:
    scripts/sortextable.c: In function `main':
    scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
    memset(relocs, 0, relocs_size);
    ^
    scripts/sortextable.h:106:6: note: `relocs_size' was declared here
    int relocs_size;
    ^
    In file included from scripts/sortextable.c:192:0:
    scripts/sortextable.h:176:3: warning: `relocs_size' may be used uninitialized in this function [-Wmaybe-uninitialized]
    memset(relocs, 0, relocs_size);
    ^
    scripts/sortextable.h:106:6: note: `relocs_size' was declared here
    int relocs_size;
    ^

    gcc 4.9.1

    Signed-off-by: Tim Gardner
    Reviewed-by: Jamie Iles

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

    Tim Gardner
     
  • - headers_install requires at least two arguments

    - missed closing quote

    Signed-off-by: Javier Barrio
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Barrio
     
  • Warn on probable misuses of logging functions with KERN_
    like pr_err(KERN_ERR "foo\n");

    Signed-off-by: Joe Perches
    Suggested-by: Andrew Morton
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Add an exception to the return before else warning when the line
    following it is also a return like:

    if (foo)
    return bar;
    else
    return baz;

    This form of a test then return is at least as readable as

    if (foo)
    return bar;
    return baz;

    so don't emit a warning on the first form.

    Signed-off-by: Joe Perches
    Reported-by: Al Viro
    Cc: Elshad Mustafayev
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Check for misspellings, based on Debian's lintian list. Several false
    positives were removed, and several additional words added that were
    common in the kernel:

    backword backwords
    invalide valide
    recieves
    singed unsinged

    While going back and fixing existing spelling mistakes isn't a high
    priority, it'd be nice to try to catch them before they hit the tree.

    In the 13830 commits between 3.15 and 3.16, the script would have noticed
    560 spelling mistakes. The top 25 are shown here:

    $ git log --pretty=oneline v3.15..v3.16 | wc -l
    13830
    $ git log --format='%H' v3.15..v3.16 | \
    while read commit ; do \
    echo "commit $commit" ; \
    git log --format=email --stat -p -1 $commit | \
    ./scripts/checkpatch.pl --types=typo_spelling --no-summary - ; \
    done | tee spell_v3.15..v3.16.txt | grep "may be misspelled" | \
    awk '{print $2}' | tr A-Z a-z | sort | uniq -c | sort -rn
    21 'seperate'
    17 'endianess'
    15 'sucess'
    13 'noticable'
    11 'occured'
    11 'accomodate'
    10 'interrup'
    9 'prefered'
    8 'unecessary'
    8 'explicitely'
    7 'supress'
    7 'overriden'
    7 'immediatly'
    7 'funtion'
    7 'defult'
    7 'childs'
    6 'succesful'
    6 'splitted'
    6 'specifc'
    6 'reseting'
    6 'recieve'
    6 'changable'
    5 'tmis'
    5 'singed'
    5 'preceeding'

    Thanks to Joe Perches for rewrites, suggestions, additional misspelling
    entries, and testing.

    Signed-off-by: Kees Cook
    Acked-by: Joe Perches
    Cc: Masanari Iida
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Macros with flow control statements (goto and return) are not very nice to
    read as any flow movement is unexpected.

    Try to highlight them and emit a warning on their definition.

    Avoid warning on macros that use argument concatenation as those macros
    commonly create another function where the concatenation is used in the
    function name definition like:

    #define FOO_FUNC(name, rtn_type) \
    rtn_type func##name(arg1, ...) \
    { \
    rtn_type rtn; \
    [code...] \
    return rtn; \
    }

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • There's a useless "+" use that needs to be removed as perl 5.20 emits a
    "Useless use of greediness modifier '+'" message each time it's hit.

    Signed-off-by: Joe Perches
    Reported-by: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • Using a space between concatenated string elements is easier for a human
    to read.

    ie:
    "String"FOO"bar"

    is easier to read as:

    "String" FOO "bar"

    So suggest this style with a --strict command line option.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • This script is used by many other projects, and in some of them the
    requirement of at least 4 line long description for all Kconfig items is
    excessive. This patch adds a command line option to control the required
    minimum length.

    Tested running this script over a patch including a two line config
    description. The script generated a warning when invoked as is, and did
    not generate it when invoked with --min-conf-desc-length=2.

    Signed-off-by: Vadim Bendebury
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Vadim Bendebury
     
  • When run on *.dtsi or *.dts files, the whitespace checks were skipped,
    while they are valid for DTS files. Hence stop skipping them.

    I ran checkpatch on all in-tree DTS files, and didn't notice any error or
    warning messages that are inappropriate for DTS files.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Geert Uytterhoeven
     
  • Several architectures (e.g. x86, MIPS, Blackfin) have asm/reboot.h and
    asm/time.h header files, which are not included in linux/reboot.h and
    linux/time.h headers. This lead to generation of false positive errors.

    Signed-off-by: Sergey Ryazanov
    Cc: Andy Whitcroft
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Ryazanov
     
  • An unnecessary --fix debugging left-over is removed.

    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • The plural of parenthesis is parentheses.

    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     

09 Oct, 2014

1 commit


08 Oct, 2014

3 commits

  • Pull arm64 updates from Catalin Marinas:
    - eBPF JIT compiler for arm64
    - CPU suspend backend for PSCI (firmware interface) with standard idle
    states defined in DT (generic idle driver to be merged via a
    different tree)
    - Support for CONFIG_DEBUG_SET_MODULE_RONX
    - Support for unmapped cpu-release-addr (outside kernel linear mapping)
    - set_arch_dma_coherent_ops() implemented and bus notifiers removed
    - EFI_STUB improvements when base of DRAM is occupied
    - Typos in KGDB macros
    - Clean-up to (partially) allow kernel building with LLVM
    - Other clean-ups (extern keyword, phys_addr_t usage)

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (51 commits)
    arm64: Remove unneeded extern keyword
    ARM64: make of_device_ids const
    arm64: Use phys_addr_t type for physical address
    aarch64: filter $x from kallsyms
    arm64: Use DMA_ERROR_CODE to denote failed allocation
    arm64: Fix typos in KGDB macros
    arm64: insn: Add return statements after BUG_ON()
    arm64: debug: don't re-enable debug exceptions on return from el1_dbg
    Revert "arm64: dmi: Add SMBIOS/DMI support"
    arm64: Implement set_arch_dma_coherent_ops() to replace bus notifiers
    of: amba: use of_dma_configure for AMBA devices
    arm64: dmi: Add SMBIOS/DMI support
    arm64: Correct ftrace calls to aarch64_insn_gen_branch_imm()
    arm64:mm: initialize max_mapnr using function set_max_mapnr
    setup: Move unmask of async interrupts after possible earlycon setup
    arm64: LLVMLinux: Fix inline arm64 assembly for use with clang
    arm64: pageattr: Correctly adjust unaligned start addresses
    net: bpf: arm64: fix module memory leak when JIT image build fails
    arm64: add PSCI CPU_SUSPEND based cpu_suspend support
    arm64: kernel: introduce cpu_init_idle CPU operation
    ...

    Linus Torvalds
     
  • Pull "trivial tree" updates from Jiri Kosina:
    "Usual pile from trivial tree everyone is so eagerly waiting for"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)
    Remove MN10300_PROC_MN2WS0038
    mei: fix comments
    treewide: Fix typos in Kconfig
    kprobes: update jprobe_example.c for do_fork() change
    Documentation: change "&" to "and" in Documentation/applying-patches.txt
    Documentation: remove obsolete pcmcia-cs from Changes
    Documentation: update links in Changes
    Documentation: Docbook: Fix generated DocBook/kernel-api.xml
    score: Remove GENERIC_HAS_IOMAP
    gpio: fix 'CONFIG_GPIO_IRQCHIP' comments
    tty: doc: Fix grammar in serial/tty
    dma-debug: modify check_for_stack output
    treewide: fix errors in printk
    genirq: fix reference in devm_request_threaded_irq comment
    treewide: fix synchronize_rcu() in comments
    checkstack.pl: port to AArch64
    doc: queue-sysfs: minor fixes
    init/do_mounts: better syntax description
    MIPS: fix comment spelling
    powerpc/simpleboot: fix comment
    ...

    Linus Torvalds
     
  • Pull module update from Rusty Russell:
    "Nothing major: support for compressing modules, and auto-tainting
    params.

    PS. My virtio-next tree is empty: DaveM took the patches I had. There
    might be a virtio-rng starvation fix, but so far it's a bit voodoo
    so I will get to that in the next two days or it will wait"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    moduleparam: Resolve missing-field-initializer warning
    kbuild: handle module compression while running 'make modules_install'.
    modinst: wrap long lines in order to enhance cmd_modules_install
    modsign: lookup lines ending in .ko in .mod files
    modpost: simplify file name generation of *.mod.c files
    modpost: reduce visibility of symbols and constify r/o arrays
    param: check for tainting before calling set op.
    drm/i915: taint the kernel if unsafe module parameters are set
    module: add module_param_unsafe and module_param_named_unsafe
    module: make it possible to have unsafe, tainting module params
    module: rename KERNEL_PARAM_FL_NOARG to avoid confusion

    Linus Torvalds
     

07 Oct, 2014

2 commits

  • Pull "tinification" patches from Josh Triplett.

    Work on making smaller kernels.

    * tag 'tiny/for-3.18' of git://git.kernel.org/pub/scm/linux/kernel/git/josh/linux:
    bloat-o-meter: Ignore syscall aliases SyS_ and compat_SyS_
    mm: Support compiling out madvise and fadvise
    x86: Support compiling out human-friendly processor feature names
    x86: Drop support for /proc files when !CONFIG_PROC_FS
    x86, boot: Don't compile early_serial_console.c when !CONFIG_EARLY_PRINTK
    x86, boot: Don't compile aslr.c when !CONFIG_RANDOMIZE_BASE
    x86, boot: Use the usual -y -n mechanism for objects in vmlinux
    x86: Add "make tinyconfig" to configure the tiniest possible kernel
    x86, platform, kconfig: move kvmconfig functionality to a helper

    Linus Torvalds
     
  • The -isp option has been deprecated, after it became the default
    behaviour back in 2006.

    Since dpkg 1.17.11, dpkg-gencontrol emits a warning on -isp usage.

    References: https://bugs.debian.org/215233
    Signed-off-by: Asbjoern Sloth Toennesen
    Signed-off-by: Michal Marek

    Asbjoern Sloth Toennesen
     

03 Oct, 2014

1 commit

  • Similar to ARM, AArch64 is generating $x and $d syms... which isn't
    terribly helpful when looking at %pF output and the like. Filter those
    out in kallsyms, modpost and when looking at module symbols.

    Seems simplest since none of these check EM_ARM anyway, to just add it
    to the strchr used, rather than trying to make things overly
    complicated.

    initcall_debug improves:
    dmesg_before.txt: initcall $x+0x0/0x154 [sg] returned 0 after 26331 usecs
    dmesg_after.txt: initcall init_sg+0x0/0x154 [sg] returned 0 after 15461 usecs

    Signed-off-by: Kyle McMartin
    Acked-by: Rusty Russell
    Signed-off-by: Catalin Marinas

    Kyle McMartin
     

02 Oct, 2014

2 commits

  • $(if $(KBUILD_SRC),$(srctree)/) was a useful strategy
    to omit a long absolute path for in-source-tree build
    prior to commit 890676c65d699db3ad82e7dddd0cf8fb449031af
    (kbuild: Use relative path when building in the source tree).

    Now $(srctree) is "." when building in the source tree.
    It would not be annoying to add "$(srctree)/" all the time.

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

    Masahiro Yamada
     
  • Kconfig never defines CONFIG_* as 'n'.
    Now obj-n is only used in firmware/Makefile and it can be
    replaced with obj-. No makefile uses lib-n.

    Let's rip off obj-n and lib-n.

    Signed-off-by: Masahiro Yamada
    Acked-by: Peter Foley
    Signed-off-by: Michal Marek

    Masahiro Yamada
     

28 Sep, 2014

1 commit

  • Pull cgroup fixes from Tejun Heo:
    "This is quite late but these need to be backported anyway.

    This is the fix for a long-standing cpuset bug which existed from
    2009. cpuset makes use of PF_SPREAD_{PAGE|SLAB} flags to modify the
    task's memory allocation behavior according to the settings of the
    cpuset it belongs to; unfortunately, when those flags have to be
    changed, cpuset did so directly even whlie the target task is running,
    which is obviously racy as task->flags may be modified by the task
    itself at any time. This obscure bug manifested as corrupt
    PF_USED_MATH flag leading to a weird crash.

    The bug is fixed by moving the flag to task->atomic_flags. The first
    two are prepatory ones to help defining atomic_flags accessors and the
    third one is the actual fix"

    * 'for-3.17-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    cpuset: PF_SPREAD_PAGE and PF_SPREAD_SLAB should be atomic flags
    sched: add macros to define bitops for task atomic flags
    sched: fix confusing PFA_NO_NEW_PRIVS constant

    Linus Torvalds
     

26 Sep, 2014

1 commit


25 Sep, 2014

1 commit

  • This will simplify code when we add new flags.

    v3:
    - Kees pointed out that no_new_privs should never be cleared, so we
    shouldn't define task_clear_no_new_privs(). we define 3 macros instead
    of a single one.

    v2:
    - updated scripts/tags.sh, suggested by Peter

    Cc: Ingo Molnar
    Cc: Miao Xie
    Cc: Tetsuo Handa
    Acked-by: Peter Zijlstra (Intel)
    Acked-by: Kees Cook
    Signed-off-by: Zefan Li
    Signed-off-by: Tejun Heo

    Zefan Li
     

23 Sep, 2014

2 commits


12 Sep, 2014

1 commit

  • The Debian powerpc little endian architecture is called ppc64el. This
    is the default architecture used by Ubuntu for powerpc.

    The below checks the kernel config to see if we are compiling little
    endian and sets the Debian arch appropriately.

    Signed-off-by: Michael Neuling
    Signed-off-by: Michal Marek

    Michael Neuling
     

11 Sep, 2014

1 commit

  • The general form for commit id and description is

    'Commit ("commit description/subject line")'

    but commit logs often have relatively long commit ids and the commit
    description emds on the next line like:

    Some explanation as to why commit
    ("commit foo description/subject line") is improved.

    Allow this form.

    Signed-off-by: Joe Perches
    Suggested-by: Joe Lawrence
    Tested-by: Joe Lawrence
    Suggested-by: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

01 Sep, 2014

1 commit


30 Aug, 2014

1 commit


28 Aug, 2014

1 commit


27 Aug, 2014

2 commits

  • Since module-init-tools (gzip) and kmod (gzip and xz) support compressed
    modules, it could be useful to include a support for compressing modules
    right after having them installed. Doing this in kbuild instead of per
    distro can permit to make this kind of usage more generic.

    This patch add a Kconfig entry to "Enable loadable module support" menu
    and let you choose to compress using gzip (default) or xz.

    Both gzip and xz does not used any extra -[1-9] option since Andi Kleen
    and Rusty Russell prove no gain is made using them. gzip is called with -n
    argument to avoid storing original filename inside compressed file, that
    way we can save some more bytes.

    On a v3.16 kernel, 'make allmodconfig' generated 4680 modules for a
    total of 378MB (no strip, no sign, no compress), the following table
    shows observed disk space gain based on the allmodconfig .config :

    | time |
    +-------------+-----------------+
    | manual .ko | make | size | percent
    | compression | modules_install | | gain
    +-------------+-----------------+------+--------
    - | | 18.61s | 378M |
    GZIP | 3m16s | 3m37s | 102M | 73.41%
    XZ | 5m22s | 5m39s | 77M | 79.83%

    The gain for restricted environnement seems to be interesting while
    uncompress can be time consuming but happens only while loading a module,
    that is generally done only once.

    This is fully compatible with signed modules while the signed module is
    compressed. module-init-tools or kmod handles decompression
    and provide to other layer the uncompressed but signed payload.

    Reviewed-by: Willy Tarreau
    Signed-off-by: Bertrand Jacquin
    Signed-off-by: Rusty Russell

    Bertrand Jacquin
     
  • Note: shouldn't we use 'install -D $(2)/$@ $@' instead of mkdir
    and cp ?

    Reviewed-by: Willy Tarreau
    Signed-off-by: Bertrand Jacquin
    Signed-off-by: Rusty Russell

    Bertrand Jacquin