12 Sep, 2016

1 commit


05 Sep, 2016

1 commit


29 Aug, 2016

1 commit


22 Aug, 2016

1 commit


15 Aug, 2016

1 commit


09 Aug, 2016

1 commit


08 Aug, 2016

1 commit


04 Aug, 2016

2 commits

  • Pull media DocBook removal and some fixups from Mauro Carvalho Chehab:

    - removal of the media DocBook (since it's all in Sphinx now)

    - videobuf2: Fix an allocation regression

    - a few fixes related to the CEC drivers

    * tag 'media/v4.8-5' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] cec: fix off-by-one memset
    [media] staging: add MEDIA_SUPPORT dependency
    [media] vivid: don't handle CEC_MSG_SET_STREAM_PATH
    [media] media: adv7180: Fix broken interrupt register access
    [media] vb2: Fix allocation size of dma_parms
    [media] vim2m: copy the other colorspace-related fields as well
    [media] adv7511: fix VIC autodetect
    doc-rst: Remove the media docbook

    Linus Torvalds
     
  • Pull tracing fixes from Steven Rostedt:
    "A few updates and fixes:

    - move the suppressing of the __builtin_return_address >0 warning to
    the tracing directory only.

    - metag recordmcount fix for newer glibc's

    - two tracing histogram fixes that were reported by KASAN"

    * tag 'trace-v4.8-1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    tracing: Fix use-after-free in hist_register_trigger()
    tracing: Fix use-after-free in hist_unreg_all/hist_enable_unreg_all
    Makefile: Mute warning for __builtin_return_address(>0) for tracing only
    ftrace/recordmcount: Work around for addition of metag magic but not relocations

    Linus Torvalds
     

03 Aug, 2016

2 commits

  • Pull kbuild updates from Michal Marek:

    - GCC plugin support by Emese Revfy from grsecurity, with a fixup from
    Kees Cook. The plugins are meant to be used for static analysis of
    the kernel code. Two plugins are provided already.

    - reduction of the gcc commandline by Arnd Bergmann.

    - IS_ENABLED / IS_REACHABLE macro enhancements by Masahiro Yamada

    - bin2c fix by Michael Tautschnig

    - setlocalversion fix by Wolfram Sang

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    gcc-plugins: disable under COMPILE_TEST
    kbuild: Abort build on bad stack protector flag
    scripts: Fix size mismatch of kexec_purgatory_size
    kbuild: make samples depend on headers_install
    Kbuild: don't add obj tree in additional includes
    Kbuild: arch: look for generated headers in obtree
    Kbuild: always prefix objtree in LINUXINCLUDE
    Kbuild: avoid duplicate include path
    Kbuild: don't add ../../ to include path
    vmlinux.lds.h: replace config_enabled() with IS_ENABLED()
    kconfig.h: allow to use IS_{ENABLE,REACHABLE} in macro expansion
    kconfig.h: use already defined macros for IS_REACHABLE() define
    export.h: use __is_defined() to check if __KSYM_* is defined
    kconfig.h: use __is_defined() to check if MODULE is defined
    kbuild: setlocalversion: print error to STDERR
    Add sancov plugin
    Add Cyclomatic complexity GCC plugin
    GCC plugin infrastructure
    Shared library support

    Linus Torvalds
     
  • With the latest gcc compilers, they give a warning if
    __builtin_return_address() parameter is greater than 0. That is because if
    it is used by a function called by a top level function (or in the case of
    the kernel, by assembly), it can try to access stack frames outside the
    stack and crash the system.

    The tracing system uses __builtin_return_address() of up to 2! But it is
    well aware of the dangers that it may have, and has even added precautions
    to protect against it (see the thunk code in arch/x86/entry/thunk*.S)

    Linus originally added KBUILD_CFLAGS that would suppress the warning for the
    entire kernel, as simply adding KBUILD_CFLAGS to the tracing directory
    wouldn't work. The tracing directory plays a bit with the CFLAGS and
    requires a little more logic.

    This adds that special logic to only suppress the warning for the tracing
    directory. If it is used anywhere else outside of tracing, the warning will
    still be triggered.

    Link: http://lkml.kernel.org/r/20160728223043.51996267@grimm.local.home

    Tested-by: Linus Torvalds
    Signed-off-by: Steven Rostedt

    Steven Rostedt
     

29 Jul, 2016

1 commit

  • Now that all media documentation was converted to Sphinx, we
    should get rid of the old DocBook one, as we don't want people
    to submit patches against the old stuff.

    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Hans Verkuil
    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     

28 Jul, 2016

2 commits

  • Newer versions of gcc warn about the use of __builtin_return_address()
    with a non-zero argument when "-Wall" is specified:

    kernel/trace/trace_irqsoff.c: In function ‘stop_critical_timings’:
    kernel/trace/trace_irqsoff.c:433:86: warning: calling ‘__builtin_return_address’ with a nonzero argument is unsafe [-Wframe-address]
    stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
    [ .. repeats a few times for other similar cases .. ]

    It is true that a non-zero argument is somewhat dangerous, and we do not
    actually have very many uses of that in the kernel - but the ftrace code
    does use it, and as Stephen Rostedt says:

    "We are well aware of the danger of using __builtin_return_address() of
    > 0. In fact that's part of the reason for having the "thunk" code in
    x86 (See arch/x86/entry/thunk_{64,32}.S). [..] it adds extra frames
    when tracking irqs off sections, to prevent __builtin_return_address()
    from accessing bad areas. In fact the thunk_32.S states: 'Trampoline to
    trace irqs off. (otherwise CALLER_ADDR1 might crash)'."

    For now, __builtin_return_address() with a non-zero argument is the best
    we can do, and the warning is not helpful and can end up making people
    miss other warnings for real problems.

    So disable the frame-address warning on compilers that need it.

    Acked-by: Steven Rostedt
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Several build configurations had already disabled this warning because
    it generates a lot of false positives. But some had not, and it was
    still enabled for "allmodconfig" builds, for example.

    Looking at the warnings produced, every single one I looked at was a
    false positive, and the warnings are frequent enough (and big enough)
    that they can easily hide real problems that you don't notice in the
    noise generated by -Wmaybe-uninitialized.

    The warning is good in theory, but this is a classic case of a warning
    that causes more problems than the warning can solve.

    If gcc gets better at avoiding false positives, we may be able to
    re-enable this warning. But as is, we're better off without it, and I
    want to be able to see the *real* warnings.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

27 Jul, 2016

4 commits

  • Merge updates from Andrew Morton:

    - a few misc bits

    - ocfs2

    - most(?) of MM

    * emailed patches from Andrew Morton : (125 commits)
    thp: fix comments of __pmd_trans_huge_lock()
    cgroup: remove unnecessary 0 check from css_from_id()
    cgroup: fix idr leak for the first cgroup root
    mm: memcontrol: fix documentation for compound parameter
    mm: memcontrol: remove BUG_ON in uncharge_list
    mm: fix build warnings in
    mm, thp: convert from optimistic swapin collapsing to conservative
    mm, thp: fix comment inconsistency for swapin readahead functions
    thp: update Documentation/{vm/transhuge,filesystems/proc}.txt
    shmem: split huge pages beyond i_size under memory pressure
    thp: introduce CONFIG_TRANSPARENT_HUGE_PAGECACHE
    khugepaged: add support of collapse for tmpfs/shmem pages
    shmem: make shmem_inode_info::lock irq-safe
    khugepaged: move up_read(mmap_sem) out of khugepaged_alloc_page()
    thp: extract khugepaged from mm/huge_memory.c
    shmem, thp: respect MADV_{NO,}HUGEPAGE for file mappings
    shmem: add huge pages support
    shmem: get_unmapped_area align huge page
    shmem: prepare huge= mount option and sysfs knob
    mm, rmap: account shmem thp pages
    ...

    Linus Torvalds
     
  • Before, the stack protector flag was sanity checked before .config had
    been reprocessed. This meant the build couldn't be aborted early, and
    only a warning could be emitted followed later by the compiler blowing
    up with an unknown flag. This has caused a lot of confusion over time,
    so this splits the flag selection from sanity checking and performs the
    sanity checking after the make has been restarted from a reprocessed
    .config, so builds can be aborted as early as possible now.

    Additionally moves the x86-specific sanity check to the same location,
    since it suffered from the same warn-then-wait-for-compiler-failure
    problem.

    Link: http://lkml.kernel.org/r/20160712223043.GA11664@www.outflux.net
    Signed-off-by: Kees Cook
    Cc: Michal Marek
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kees Cook
     
  • Before, the stack protector flag was sanity checked before .config had
    been reprocessed. This meant the build couldn't be aborted early, and
    only a warning could be emitted followed later by the compiler blowing
    up with an unknown flag. This has caused a lot of confusion over time,
    so this splits the flag selection from sanity checking and performs the
    sanity checking after the make has been restarted from a reprocessed
    .config, so builds can be aborted as early as possible now.

    Additionally moves the x86-specific sanity check to the same location,
    since it suffered from the same warn-then-wait-for-compiler-failure
    problem.

    Signed-off-by: Kees Cook
    Signed-off-by: Michal Marek

    Kees Cook
     
  • Pull documentation updates from Jonathan Corbet:
    "Some big changes this month, headlined by the addition of a new
    formatted documentation mechanism based on the Sphinx system.

    The objectives here are to make it easier to create better-integrated
    (and more attractive) documents while (eventually) dumping our
    one-of-a-kind, cobbled-together system for something that is widely
    used and maintained by others. There's a fair amount of information
    what's being done, why, and how to use it in:

    https://lwn.net/Articles/692704/
    https://lwn.net/Articles/692705/

    Closer to home, Documentation/kernel-documentation.rst describes how
    it works.

    For now, the new system exists alongside the old one; you should soon
    see the GPU documentation converted over in the DRM pull and some
    significant media conversion work as well. Once all the docs have
    been moved over and we're convinced that the rough edges (of which are
    are a few) have been smoothed over, the DocBook-based stuff should go
    away.

    Primary credit is to Jani Nikula for doing the heavy lifting to make
    this stuff actually work; there has also been notable effort from
    Markus Heiser, Daniel Vetter, and Mauro Carvalho Chehab.

    Expect a couple of conflicts on the new index.rst file over the course
    of the merge window; they are trivially resolvable. That file may be
    a bit of a conflict magnet in the short term, but I don't expect that
    situation to last for any real length of time.

    Beyond that, of course, we have the usual collection of tweaks,
    updates, and typo fixes"

    * tag 'docs-for-linus' of git://git.lwn.net/linux: (77 commits)
    doc-rst: kernel-doc: fix handling of address_space tags
    Revert "doc/sphinx: Enable keep_warnings"
    doc-rst: kernel-doc directive, fix state machine reporter
    docs: deprecate kernel-doc-nano-HOWTO.txt
    doc/sphinx: Enable keep_warnings
    Documentation: add watermark_scale_factor to the list of vm systcl file
    kernel-doc: Fix up warning output
    docs: Get rid of some kernel-documentation warnings
    doc-rst: add an option to ignore DocBooks when generating docs
    workqueue: Fix a typo in workqueue.txt
    Doc: ocfs: Fix typo in filesystems/ocfs2-online-filecheck.txt
    Documentation/sphinx: skip build if user requested specific DOCBOOKS
    Documentation: add cleanmediadocs to the documentation targets
    Add .pyc files to .gitignore
    Doc: PM: Fix a typo in intel_powerclamp.txt
    doc-rst: flat-table directive - initial implementation
    Documentation: add meta-documentation for Sphinx and kernel-doc
    Documentation: tiny typo fix in usb/gadget_multi.txt
    Documentation: fix wrong value in md.txt
    bcache: documentation formatting, edited for clarity, stripe alignment notes
    ...

    Linus Torvalds
     

26 Jul, 2016

1 commit

  • Pull perf updates from Ingo Molnar:
    "With over 300 commits it's been a busy cycle - with most of the work
    concentrated on the tooling side (as it should).

    The main kernel side enhancements were:

    - Add per event callchain limit: Recently we introduced a sysctl to
    tune the max-stack for all events for which callchains were
    requested:

    $ sysctl kernel.perf_event_max_stack
    kernel.perf_event_max_stack = 127

    Now this patch introduces a way to configure this per event, i.e.
    this becomes possible:

    $ perf record -e sched:*/max-stack=2/ -e block:*/max-stack=10/ -a

    allowing finer tuning of how much buffer space callchains use.

    This uses an u16 from the reserved space at the end, leaving
    another u16 for future use.

    There has been interest in even finer tuning, namely to control the
    max stack for kernel and userspace callchains separately. Further
    discussion is needed, we may for instance use the remaining u16 for
    that and when it is present, assume that the sample_max_stack
    introduced in this patch applies for the kernel, and the u16 left
    is used for limiting the userspace callchain (Arnaldo Carvalho de
    Melo)

    - Optimize AUX event (hardware assisted side-band event) delivery
    (Kan Liang)

    - Rework Intel family name macro usage (this is partially x86 arch
    work) (Dave Hansen)

    - Refine and fix Intel LBR support (David Carrillo-Cisneros)

    - Add support for Intel 'TopDown' events (Andi Kleen)

    - Intel uncore PMU driver fixes and enhancements (Kan Liang)

    - ... other misc changes.

    Here's an incomplete list of the tooling enhancements (but there's
    much more, see the shortlog and the git log for details):

    - Support cross unwinding, i.e. collecting '--call-graph dwarf'
    perf.data files in one machine and then doing analysis in another
    machine of a different hardware architecture. This enables, for
    instance, to do:

    $ perf record -a --call-graph dwarf

    on a x86-32 or aarch64 system and then do 'perf report' on it on a
    x86_64 workstation (He Kuang)

    - Allow reading from a backward ring buffer (one setup via
    sys_perf_event_open() with perf_event_attr.write_backward = 1)
    (Wang Nan)

    - Finish merging initial SDT (Statically Defined Traces) support, see
    cset comments for details about how it all works (Masami Hiramatsu)

    - Support attaching eBPF programs to tracepoints (Wang Nan)

    - Add demangling of symbols in programs written in the Rust language
    (David Tolnay)

    - Add support for tracepoints in the python binding, including an
    example, that sets up and parses sched:sched_switch events,
    tools/perf/python/tracepoint.py (Jiri Olsa)

    - Introduce --stdio-color to set up the color output mode selection
    in 'annotate' and 'report', allowing emit color escape sequences
    when redirecting the output of these tools (Arnaldo Carvalho de
    Melo)

    - Add 'callindent' option to 'perf script -F', to indent the Intel PT
    call stack, making this output more ftrace-like (Adrian Hunter,
    Andi Kleen)

    - Allow dumping the object files generated by llvm when processing
    eBPF scriptlet events (Wang Nan)

    - Add stackcollapse.py script to help generating flame graphs (Paolo
    Bonzini)

    - Add --ldlat option to 'perf mem' to specify load latency for loads
    event (e.g. cpu/mem-loads/ ) (Jiri Olsa)

    - Tooling support for Intel TopDown counters, recently added to the
    kernel (Andi Kleen)"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (303 commits)
    perf tests: Add is_printable_array test
    perf tools: Make is_printable_array global
    perf script python: Fix string vs byte array resolving
    perf probe: Warn unmatched function filter correctly
    perf cpu_map: Add more helpers
    perf stat: Balance opening and reading events
    tools: Copy linux/{hash,poison}.h and check for drift
    perf tools: Remove include/linux/list.h from perf's MANIFEST
    tools: Copy the bitops files accessed from the kernel and check for drift
    Remove: kernel unistd*h files from perf's MANIFEST, not used
    perf tools: Remove tools/perf/util/include/linux/const.h
    perf tools: Remove tools/perf/util/include/asm/byteorder.h
    perf tools: Add missing linux/compiler.h include to perf-sys.h
    perf jit: Remove some no-op error handling
    perf jit: Add missing curly braces
    objtool: Initialize variable to silence old compiler
    objtool: Add -I$(srctree)/tools/arch/$(ARCH)/include/uapi
    perf record: Add --tail-synthesize option
    perf session: Don't warn about out of order event if write_backward is used
    perf tools: Enable overwrite settings
    ...

    Linus Torvalds
     

25 Jul, 2016

1 commit


22 Jul, 2016

1 commit

  • Olof's build test setup keeps failing to compile arm64 kernels
    because of a toolchain that uses outdated kernel headers:

    /work/build/batch/samples/seccomp/bpf-fancy.c:13:27: fatal error: linux/seccomp.h: No such file or directory

    This is of course something he could change, but it also indicates
    that others may run into the same problem. Running 'make headers_install'
    avoids the issue by ensuring that the kernel headers are put into
    the $(objdir)/usr/include path before we build the samples.

    The same problem happened for the Documentation build in the
    past and was fixed up with commit 8e2faea877eb ("Make Documenation
    depend on headers_install"). This adds an identical Makefile dependency
    for the samples/ subdirectory.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Michal Marek

    Arnd Bergmann
     

19 Jul, 2016

2 commits

  • When $(LINUXINCLUDE) is added to the cflags of a target that
    normall doesn't have it (e.g. HOSTCFLAGS), each entry in the
    list is expanded so that we search both $(objtree) and $(srctree),
    which is a bit silly, as we already know which of the two we
    want for each entry in LINUXINCLUDE.

    Also, a follow-up patch changes the behavior so we only look in
    $(srctree) for manually added include path, and that breaks finding
    the generated headers.

    This adds an explicit $(objtree) for each tree that we want to
    look for generated files.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Michal Marek

    Arnd Bergmann
     
  • arch/$(hdr-arch)/include/generated/uapi is included twice in the
    header search path, which is unnecessary, so this changes the
    top-level Makefile to drop the second instance by filtering out
    everything from USERINCLUDE that was already part of LINUXINCLUDE.

    This should have very little effect other than making the 'make V=1'
    output slightly smaller and making the build time faster by a miniscule
    amount, but it seems to be cleaner.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Michal Marek

    Arnd Bergmann
     

11 Jul, 2016

1 commit


07 Jul, 2016

1 commit


04 Jul, 2016

1 commit


02 Jul, 2016

1 commit

  • This was broken when updating the documentation targets for the Sphinx
    build, and moving from %docs target pattern to explicitly listed
    targets.

    Cc: Markus Heiser
    Cc: Mauro Carvalho Chehab
    Fixes: 22cba31bae9d ("Documentation/sphinx: add basic working Sphinx configuration and build")
    Signed-off-by: Jani Nikula
    Signed-off-by: Jonathan Corbet

    Jani Nikula
     

28 Jun, 2016

1 commit

  • Pull kbuild regression fix from Michal Marek:
    "The problem is that commit 9c8fa9bc08f6 ("kbuild: fix if_change and
    friends to consider argument order") fixed a potential missed rebuild,
    but this results in unnnecessary rebuilds with the packaging targets.
    Which is still more correct than the previous logic, but also very
    annoying"

    * 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Initialize exported variables

    Linus Torvalds
     

27 Jun, 2016

2 commits


23 Jun, 2016

1 commit


22 Jun, 2016

1 commit

  • On openSUSE, the libelf development files are in package libelf-devel.

    Signed-off-by: Jean Delvare
    Acked-by: Josh Poimboeuf
    Cc: Jiri Olsa
    Cc: Michal Marek
    Cc: Peter Zijlstra
    Cc: linux-kbuild@vger.kernel.org
    Link: http://lkml.kernel.org/n/tip-s8nyk3pyy2927sd7qp7u42oi@git.kernel.org
    Signed-off-by: Arnaldo Carvalho de Melo

    Jean Delvare
     

20 Jun, 2016

1 commit


12 Jun, 2016

1 commit


08 Jun, 2016

3 commits

  • The NOSTDINC_FLAGS variable is exported, so it needs to be cleared to
    avoid duplicating its content when running make from within make (e.g.
    in the packaging targets). This became an issue after commit
    9c8fa9bc08f6 ("kbuild: fix if_change and friends to consider argument
    order"), which no longer ignores the duplicate options. As Paulo Zanoni
    points out, the LDFLAGS_vmlinux variable has the same problem.

    Reported-by: "Zanoni, Paulo R"
    Fixes: 9c8fa9bc08f6 ("kbuild: fix if_change and friends to consider argument order")
    Signed-off-by: Michal Marek

    Michal Marek
     
  • The sancov gcc plugin inserts a __sanitizer_cov_trace_pc() call
    at the start of basic blocks.

    This plugin is a helper plugin for the kcov feature. It supports
    all gcc versions with plugin support (from gcc-4.5 on).
    It is based on the gcc commit "Add fuzzing coverage support" by Dmitry Vyukov
    (https://gcc.gnu.org/viewcvs/gcc?limit_changes=0&view=revision&revision=231296).

    Signed-off-by: Emese Revfy
    Acked-by: Kees Cook
    Signed-off-by: Michal Marek

    Emese Revfy
     
  • This patch allows to build the whole kernel with GCC plugins. It was ported from
    grsecurity/PaX. The infrastructure supports building out-of-tree modules and
    building in a separate directory. Cross-compilation is supported too.
    Currently the x86, arm, arm64 and uml architectures enable plugins.

    The directory of the gcc plugins is scripts/gcc-plugins. You can use a file or a directory
    there. The plugins compile with these options:
    * -fno-rtti: gcc is compiled with this option so the plugins must use it too
    * -fno-exceptions: this is inherited from gcc too
    * -fasynchronous-unwind-tables: this is inherited from gcc too
    * -ggdb: it is useful for debugging a plugin (better backtrace on internal
    errors)
    * -Wno-narrowing: to suppress warnings from gcc headers (ipa-utils.h)
    * -Wno-unused-variable: to suppress warnings from gcc headers (gcc_version
    variable, plugin-version.h)

    The infrastructure introduces a new Makefile target called gcc-plugins. It
    supports all gcc versions from 4.5 to 6.0. The scripts/gcc-plugin.sh script
    chooses the proper host compiler (gcc-4.7 can be built by either gcc or g++).
    This script also checks the availability of the included headers in
    scripts/gcc-plugins/gcc-common.h.

    The gcc-common.h header contains frequently included headers for GCC plugins
    and it has a compatibility layer for the supported gcc versions.

    The gcc-generate-*-pass.h headers automatically generate the registration
    structures for GIMPLE, SIMPLE_IPA, IPA and RTL passes.

    Note that 'make clean' keeps the *.so files (only the distclean or mrproper
    targets clean all) because they are needed for out-of-tree modules.

    Based on work created by the PaX Team.

    Signed-off-by: Emese Revfy
    Acked-by: Kees Cook
    Signed-off-by: Michal Marek

    Emese Revfy
     

06 Jun, 2016

1 commit


30 May, 2016

2 commits

  • Add basic configuration and makefile to build documentation from any
    .rst files under Documentation using Sphinx. For starters, there's just
    the placeholder index.rst.

    At the top level Makefile, hook Sphinx documentation targets alongside
    (but independent of) the DocBook toolchain, having both be run on the
    various 'make *docs' targets.

    All Sphinx processing is placed into Documentation/Makefile.sphinx. Both
    that and the Documentation/DocBook/Makefile are now expected to handle
    all the documentation targets, explicitly ignoring them if they're not
    relevant for that particular toolchain. The changes to the existing
    DocBook Makefile are kept minimal.

    There is graceful handling of missing Sphinx and rst2pdf (which is
    needed for pdf output) by checking for the tool and python module,
    respectively, with informative messages to the user.

    If the Read the Docs theme (sphinx_rtd_theme) is available, use it, but
    otherwise gracefully fall back to the Sphinx default theme, with an
    informative message to the user, and slightly less pretty HTML output.

    Sphinx can now handle htmldocs, pdfdocs (if rst2pdf is available),
    epubdocs and xmldocs targets. The output documents are written into per
    output type subdirectories under Documentation/output.

    Finally, you can pass options to sphinx-build using the SPHINXBUILD make
    variable. For example, 'make SPHINXOPTS=-v htmldocs' for more verbose
    output from Sphinx.

    This is based on the original work by Jonathan Corbet, but he probably
    wouldn't recognize this as his own anymore.

    Signed-off-by: Jani Nikula

    Jani Nikula
     
  • Linus Torvalds