29 Oct, 2017

1 commit

  • …t/masahiroy/linux-kbuild

    Pull Kbuild fixes from Masahiro Yamada:

    - fix O= building on dash

    - remove unused dependency in Makefile

    - fix default of a choice in Kconfig

    - fix typos and documentation style

    - fix command options unrecognized by sparse

    * tag 'kbuild-fixes-v4.14-2' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: clang: fix build failures with sparse check
    kbuild doc: a bundle of fixes on makefiles.txt
    Makefile: kselftest: fix grammar typo
    kbuild: Fix optimization level choice default
    kbuild: drop unused symverfile in Makefile.modpost
    kbuild: revert $(realpath ...) to $(shell cd ... && /bin/pwd)

    Linus Torvalds
     

23 Oct, 2017

2 commits

  • Pull input fix from Dmitry Torokhov:
    "A fix for a broken commit in the previous pull breaking automatic
    module loading of input handlers, such ad evdev"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: do not use property bits when generating module alias

    Linus Torvalds
     
  • The commit 8724ecb07229 ("Input: allow matching device IDs on property
    bits") started using property bits when generating module aliases for input
    handlers, but did not adjust the generation of MODALIAS attribute on input
    device uevents, breaking automatic module loading. Given that no handler
    currently uses property bits in their module tables, let's revert this part
    of the commit for now.

    Reported-by: Damien Wyart
    Tested-by: Damien Wyart
    Fixes: 8724ecb07229 ("Input: allow matching device IDs on property bits")
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

22 Oct, 2017

1 commit

  • Pull input fixes from Dmitry Torokhov:

    - joydev now implements a blacklist to avoid creating joystick nodes
    for accelerometers found in composite devices such as PlaStation
    controllers

    - assorted driver fixes

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: ims-psu - check if CDC union descriptor is sane
    Input: joydev - blacklist ds3/ds4/udraw motion sensors
    Input: allow matching device IDs on property bits
    Input: factor out and export input_device_id matching code
    Input: goodix - poll the 'buffer status' bit before reading data
    Input: axp20x-pek - fix module not auto-loading for axp221 pek
    Input: tca8418 - enable interrupt after it has been requested
    Input: stmfts - fix setting ABS_MT_POSITION_* maximum size
    Input: ti_am335x_tsc - fix incorrect step config for 5 wire touchscreen
    Input: synaptics - disable kernel tracking on SMBus devices

    Linus Torvalds
     

20 Oct, 2017

1 commit


14 Oct, 2017

1 commit

  • gcc on aarch64 may emit synbols of type 'n' if the kernel is built with
    '-frecord-gcc-switches'. In most cases, those symbols are reported with
    nm as

    000000000000000e n $d

    and with objdump as

    0000000000000000 l d .GCC.command.line 0000000000000000 .GCC.command.line
    000000000000000e l .GCC.command.line 0000000000000000 $d

    Those symbols are detected in is_arm_mapping_symbol() and ignored.
    However, if "--prefix-symbols=" is configured as well, the
    situation is different. For example, in efi/libstub, arm64 images are
    built with

    '--prefix-alloc-sections=.init --prefix-symbols=__efistub_'.

    In combination with '-frecord-gcc-switches', the symbols are now reported
    by nm as:

    000000000000000e n __efistub_$d
    and by objdump as:
    0000000000000000 l d .GCC.command.line 0000000000000000 .GCC.command.line
    000000000000000e l .GCC.command.line 0000000000000000 __efistub_$d

    Those symbols are no longer ignored and included in the base address
    calculation. This results in a base address of 000000000000000e, which
    in turn causes kallsyms to abort with

    kallsyms failure:
    relative symbol value 0xffffff900800a000 out of range in relative mode

    The problem is seen in little endian arm64 builds with CONFIG_EFI
    enabled and with '-frecord-gcc-switches' set in KCFLAGS.

    Explicitly ignore symbols of type 'n' since those are clearly debug
    symbols.

    Link: http://lkml.kernel.org/r/1507136063-3139-1-git-send-email-linux@roeck-us.net
    Signed-off-by: Guenter Roeck
    Acked-by: Ard Biesheuvel
    Cc: Josh Poimboeuf
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guenter Roeck
     

13 Oct, 2017

1 commit

  • If faddr2line is given a function name which is the last one listed by
    "nm -n", it will fail because it never finds the next symbol.

    So teach the awk script to catch that possibility, and use 'size' to
    provide the end point of the last function.

    Signed-off-by: NeilBrown
    Signed-off-by: Linus Torvalds

    NeilBrown
     

07 Oct, 2017

1 commit


04 Oct, 2017

2 commits

  • Currently running checkpatch on a directory with a cover-letter.patch
    file reports the following error:

    -----------------------------------------
    patches/smp-v2/v2-0000-cover-letter.patch
    -----------------------------------------

    ERROR: Does not appear to be a unified-diff format patch

    The logic to suppress the unified-diff check for cover letters is there
    but is checking $file instead of $filename. Fix the variable to use the
    correct one.

    Link: http://lkml.kernel.org/r/20170909090406.31523-1-shorne@gmail.com
    Signed-off-by: Stafford Horne
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Stafford Horne
     
  • Here are some of the more spelling mistakes and typos that I've found
    while fixing up spelling mistakes in kernel error message text over the
    past eight weeks.

    [akpm@linux-foundation.org: s/|/||/, per Joe]
    Link: http://lkml.kernel.org/r/20170919090818.5989-1-colin.king@canonical.com
    Signed-off-by: Colin Ian King
    Acked-by: Kees Cook
    Cc: Masahiro Yamada
    Cc: Stephen Boyd
    Cc: Joe Perches
    Cc: Ross Zwisler
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Colin Ian King
     

28 Sep, 2017

1 commit

  • The kbuild bot occasionally reports warnings like:

    drivers/scsi/pcmcia/aha152x_core.o: warning: objtool: seldo_run()+0x130: unreachable instruction

    These warnings are always with GCC 4.4. That version of GCC sometimes
    places unreachable instructions after calls to noreturn functions.

    The unreachable warnings aren't very important anyway. Just ignore them
    for old versions of GCC.

    Reported-by: kbuild test robot
    Signed-off-by: Josh Poimboeuf
    Cc: Linus Torvalds
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Link: http://lkml.kernel.org/r/bc89b807d965b98ec18a0bb94f96a594bd58f2f2.1506551639.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf
     

25 Sep, 2017

1 commit

  • Pull DeviceTree fixes from Rob Herring:

    - fix build for !OF providing empty of_find_device_by_node

    - fix Abracon vendor prefix

    - sync dtx_diff include paths (again)

    - a stm32h7 clock binding doc fix

    * tag 'devicetree-fixes-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    dt-bindings: clk: stm32h7: fix clock-cell size
    scripts/dtc: dtx_diff - 2nd update of include dts paths to match build
    dt-bindings: fix vendor prefix for Abracon
    of: provide inline helper for of_find_device_by_node

    Linus Torvalds
     

20 Sep, 2017

4 commits

  • Update dtx_diff include paths in the same manner as:
    commit b12869a8d519 ("of: remove drivers/of/testcase-data from
    include search path for CPP"), commit 5ffa2aed389c ("of: remove
    arch/$(SRCARCH)/boot/dts from include search path for CPP"), and
    commit 50f9ddaf64e1 ("of: search scripts/dtc/include-prefixes path
    for both CPP and DTC").

    Remove proposed include path kernel/dts/, which was never implemented
    for the dtb build.

    For the diff case, each source file is compiled separately. For
    each of those compiles, provide the location of the source file
    as an include path, not the location of both source files.

    Signed-off-by: Frank Rowand
    Signed-off-by: Rob Herring

    Frank Rowand
     
  • The "Release:" field of the spec file is determined based on the
    .version file.

    However, the .version file is not copied to the source tar file.
    So, when we build the kernel from the source package, the UTS_VERSION
    always indicates #1. This does not match with "rpm -q".

    The kernel UTS_VERSION and "rpm -q" do not agree for binrpm-pkg, either.
    Please note the kernel has already been built before the spec file is
    created. Currently, mkspec invokes mkversion. This script returns an
    incremented version. So, the "Release:" field of the spec file is
    greater than the version in the kernel by one.

    For the source package build (where .version file is missing), we can
    give KBUILD_BUILD_VERSION=%{release} to the build command.

    For the binary package build, we can simply read out the .version file
    because it contains the version number that was used for building the
    kernel image.

    We can remove scripts/mkversion because scripts/package/Makefile need
    not touch the .version file.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • Commit 5620a0d1aacd ("firmware: delete in-kernel firmware") deleted
    in-kernel firmware support, including the firmware install command.

    So, the firmware package does not make sense any more. Remove it.

    Signed-off-by: Masahiro Yamada
    Reviewed-by: Riku Voipio
    Acked-by: Greg Kroah-Hartman

    Masahiro Yamada
     
  • Commit 5620a0d1aacd ("firmware: delete in-kernel firmware") deleted
    in-kernel firmware support, including "make firmware_install".

    Since then, "make rpm-pkg" / "make binrpm-pkg" fails to build with
    the error:

    make[2]: *** No rule to make target `firmware_install'. Stop.

    Commit df85b2d767aa ("firmware: Restore support for built-in firmware")
    restored the build infrastructure for CONFIG_EXTRA_FIRMWARE, but this
    is out of the scope of "make firmware_install". So, the right thing to
    do is to kill the use of "make firmware_install".

    Fixes: 5620a0d1aacd ("firmware: delete in-kernel firmware")
    Signed-off-by: Masahiro Yamada
    Acked-by: Greg Kroah-Hartman

    Masahiro Yamada
     

16 Sep, 2017

1 commit

  • …el/git/gregkh/driver-core

    Pull firmware removal from Greg KH:
    "Many many years ago (at the kernel summit in Boston), we all came to
    the agreement that the firmware/ tree should be dropped from the
    kernel, and everyone use the linux-firmware package instead. For some
    minor reason, David Woodhouse didn't send the pull request at that
    point in time, and everyone forgot about this.

    The topic came up in the hallway track at the Plumbers conference this
    week, so here's a single patch that drops the whole firmware tree. The
    last firmware update was back in 2013, and all distros have been using
    linux-firmware instead since at least that year, if not before. The
    only commits to that directory since 2013 was some kbuild fixups for
    various build tool issues.

    So lets finally drop this, we don't need to lug them around in the
    kernel source tree anymore, especially as no one wants or uses them.

    This has passed build testing with 0-day, I don't think it made it
    into linux-next this week, but I figured it was good to get in before
    4.14-rc1 was out"

    * tag 'firmware_removal-4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    firmware: delete in-kernel firmware

    Linus Torvalds
     

15 Sep, 2017

2 commits

  • The last firmware change for the in-kernel firmware source code was back
    in 2013. Everyone has been relying on the out-of-tree linux-firmware
    package for a long long time.

    So let's drop it, it's baggage we don't need to keep dragging around
    (and having to fix random kbuild issues over time...)

    Cc: Kyle McMartin
    Cc: Andrew Morton
    Cc: Michal Marek
    Cc: Masahiro Yamada
    Acked-by: David Woodhouse
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Pull Kbuild updates from Masahiro Yamada:

    - Use Make-builtin $(abspath ...) helper to get absolute path

    - Add W=2 extra warning option to detect unused macros

    - Use more KCONFIG_CONFIG instead hard-coded .config

    - Fix bugs of tar*-pkg targets

    * tag 'kbuild-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild:
    kbuild: buildtar: do not print successful message if tar returns error
    kbuild: buildtar: fix tar error when CONFIG_MODULES is disabled
    kbuild: Use KCONFIG_CONFIG in buildtar
    Kbuild: enable -Wunused-macros warning for "make W=2"
    kbuild: use $(abspath ...) instead of $(shell cd ... && /bin/pwd)

    Linus Torvalds
     

14 Sep, 2017

2 commits

  • Pull modules updates from Jessica Yu:
    "Summary of modules changes for the 4.14 merge window:

    - minor code cleanups and fixes

    - modpost: avoid building modules that have names that exceed the
    size of the name field in struct module"

    * tag 'modules-for-v4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/jeyu/linux:
    module: Remove const attribute from alias for MODULE_DEVICE_TABLE
    module: fix ddebug_remove_module()
    modpost: abort if module name is too long

    Linus Torvalds
     
  • Pull documentation fixes from Jonathan Corbet:
    "A cleanup from Mauro that needed to wait for the media pull, plus a
    handful of other fixes that wandered in"

    * tag 'docs-4.14' of git://git.lwn.net/linux:
    kokr/memory-barriers.txt: Apply atomic_t.txt change
    kokr/doc: Update memory-barriers.txt for read-to-write dependencies
    docs-rst: don't require adjustbox anymore
    docs-rst: conf.py: only setup notice box colors if Sphinx < 1.6
    docs-rst: conf.py: remove lscape from LaTeX preamble

    Linus Torvalds
     

13 Sep, 2017

1 commit

  • Pull selinux updates from Paul Moore:
    "A relatively quiet period for SELinux, 11 patches with only two/three
    having any substantive changes.

    These noteworthy changes include another tweak to the NNP/nosuid
    handling, per-file labeling for cgroups, and an object class fix for
    AF_UNIX/SOCK_RAW sockets; the rest of the changes are minor tweaks or
    administrative updates (Stephen's email update explains the file
    explosion in the diffstat).

    Everything passes the selinux-testsuite"

    [ Also a couple of small patches from the security tree from Tetsuo
    Handa for Tomoyo and LSM cleanup. The separation of security policy
    updates wasn't all that clean - Linus ]

    * tag 'selinux-pr-20170831' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoore/selinux:
    selinux: constify nf_hook_ops
    selinux: allow per-file labeling for cgroupfs
    lsm_audit: update my email address
    selinux: update my email address
    MAINTAINERS: update the NetLabel and Labeled Networking information
    selinux: use GFP_NOWAIT in the AVC kmem_caches
    selinux: Generalize support for NNP/nosuid SELinux domain transitions
    selinux: genheaders should fail if too many permissions are defined
    selinux: update the selinux info in MAINTAINERS
    credits: update Paul Moore's info
    selinux: Assign proper class to PF_UNIX/SOCK_RAW sockets
    tomoyo: Update URLs in Documentation/admin-guide/LSM/tomoyo.rst
    LSM: Remove security_task_create() hook.

    Linus Torvalds
     

12 Sep, 2017

2 commits

  • The previous commit spotted that "Tarball successfully created ..."
    is displayed even if the "tar" command returns error code because
    it is followed by "| ${compress}".

    Let the build fail instead of printing the successful message since
    if the "tar" command fails, the output may not be what users expect.

    Avoid the use of the pipe. While we are here, refactor the script
    removing the use of sub-shell, ${compress}, ${file_ext}.

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     
  • $tmpdir/lib is created by "make modules_install". It does not exist
    if CONFIG_MODULES is disabled, then tar reports the following messages:

    tar: lib: Cannot stat: No such file or directory
    tar: Exiting with failure status due to previous errors

    Signed-off-by: Masahiro Yamada

    Masahiro Yamada
     

10 Sep, 2017

2 commits

  • Merge more updates from Andrew Morton:

    - most of the rest of MM

    - a small number of misc things

    - lib/ updates

    - checkpatch

    - autofs updates

    - ipc/ updates

    * emailed patches from Andrew Morton : (126 commits)
    ipc: optimize semget/shmget/msgget for lots of keys
    ipc/sem: play nicer with large nsops allocations
    ipc/sem: drop sem_checkid helper
    ipc: convert kern_ipc_perm.refcount from atomic_t to refcount_t
    ipc: convert sem_undo_list.refcnt from atomic_t to refcount_t
    ipc: convert ipc_namespace.count from atomic_t to refcount_t
    kcov: support compat processes
    sh: defconfig: cleanup from old Kconfig options
    mn10300: defconfig: cleanup from old Kconfig options
    m32r: defconfig: cleanup from old Kconfig options
    drivers/pps: use surrounding "if PPS" to remove numerous dependency checks
    drivers/pps: aesthetic tweaks to PPS-related content
    cpumask: make cpumask_next() out-of-line
    kmod: move #ifdef CONFIG_MODULES wrapper to Makefile
    kmod: split off umh headers into its own file
    MAINTAINERS: clarify kmod is just a kernel module loader
    kmod: split out umh code into its own file
    test_kmod: flip INT checks to be consistent
    test_kmod: remove paranoid UINT_MAX check on uint range processing
    vfat: deduplicate hex2bin()
    ...

    Linus Torvalds
     
  • I removed all the gperf use, but not the Makefile rules. Sam Ravnborg
    says I get bonus points for cleaning this up. I'll hold him to it.

    Requested-by: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

09 Sep, 2017

6 commits

  • Unlike all other types, LONG_LINE, LONG_LINE_COMMENT and LONG_LINE_STRING
    are passed to WARN() through a variable. This causes the parser in
    list_types() to miss them and consequently they are not present in the
    output of --list-types.

    Additionally, types TYPO_SPELLING, FSF_MAILING_ADDRESS and AVOID_BUG are
    passed with a variable level, causing the parser to miss them too.

    So modify the regex to also catch these special cases.

    Link: http://lkml.kernel.org/r/20170902175610.7e4a7c9d@endymion
    Fixes: 3beb42eced39 ("checkpatch: add --list-types to show message types to show or ignore")
    Signed-off-by: Jean Delvare
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • The variable name "$msg_type" is sometimes used to set the message type,
    and sometimes used to set the message level. This works but is kind of
    confusing. Use "$msg_level" in the latter case instead, to make the code
    clearer.

    Link: http://lkml.kernel.org/r/20170902175345.175db33a@endymion
    Signed-off-by: Jean Delvare
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • Link: http://lkml.kernel.org/r/20170902175249.15bb77f2@endymion
    Signed-off-by: Jean Delvare
    Acked-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jean Delvare
     
  • An if statement test like
    if ((foo == bar) && (baz != qux))
    can arguably be better written without the parentheses as
    if (foo == bar && baz != qux)

    Add a test to find these cases.

    Link: http://lkml.kernel.org/r/dcd0561ddd0fa43c51a420d53b550d738bf42001.1502734458.git.joe@perches.com
    Signed-off-by: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • I had stupidly missed one special use of 'is_reserved_word()' when I
    converted the code to avoid gperf.

    I had changed that function to return the token ID directly rather than
    a pointer to the token descriptor structure, but that meant that the
    test for "is this a reserved word" changed from checking the return
    value against NULL, to checking that it wasn't negative.

    And while I had converted the main token parser over, I missed the
    special case of the typeof phrase handling. And since our dependency
    chain for genksyms does not include the genksyms program itself
    changing, my kernel rebuild didn't show the problem.

    Fixes: bb3290d91695 ("Remove gperf usage from toolchain")
    Reported-by: Masahiro Yamada
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Only the media PDF book was requiring adjustbox, in order to
    scale big tables. That worked pretty good with Sphinx versions
    1.4 and 1.5, but Spinx 1.6 changed the way tables are produced,
    by introducing some weird macros before tabulary.
    That causes adjustbox to fail. So, it can't be used anymore,
    and its usage was removed from the media book.

    So, let's remove it from conf.py and sphinx-pre-install.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

08 Sep, 2017

3 commits

  • Remove our use of 'gperf' for generating perfect hashes from some of our
    build tools.

    This removal was prompted by Masahiro Yamada sending out a patch that
    removes all our pre-generated files, and when I tested it, I noticed
    that the gperf version I have (3.1) apparently generates code that no
    longer works with out code-base because the function interfaces
    generated by gperf have changed.

    We really don't care that much, and the gperf people changed their
    interfaces in ways that makes it annoying to work with them. Tools that
    make it hard to use them should not be used, and the kernel is not at
    all interested in some autoconf mess. So remove the gperf dependency
    entirely.

    It turns out that if you ignore the pre-generated files, the use of
    gperf apparently saved us a whopping fifteen lines of code. It
    obviously wasn't worth it, considering that the pre-generated files are
    about 500 lines.

    I sent this out as a patch about three weeks ago, and got absolutely
    zero responses. So let's see if anybody notices now that I merge it.
    Because there might be serious bugs here, but it WorksForMe(tm).

    * gperf-removal:
    Remove gperf usage from toolchain

    Linus Torvalds
     
  • Pull gcc plugins update from Kees Cook:
    "This finishes the porting work on randstruct, and introduces a new
    option to structleak, both noted below:

    - For the randstruct plugin, enable automatic randomization of
    structures that are entirely function pointers (along with a couple
    designated initializer fixes).

    - For the structleak plugin, provide an option to perform zeroing
    initialization of all otherwise uninitialized stack variables that
    are passed by reference (Ard Biesheuvel)"

    * tag 'gcc-plugins-v4.14-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    gcc-plugins: structleak: add option to init all vars used as byref args
    randstruct: Enable function pointer struct detection
    drivers/net/wan/z85230.c: Use designated initializers
    drm/amd/powerplay: rv: Use designated initializers

    Linus Torvalds
     
  • Pull DeviceTree updates from Rob Herring:
    "There's a few orphans in the conversion to %pOF printf specifiers
    included here that no one else picked up.

    Summary:

    - Convert more DT code to use of_property_read_* API.

    - Improve DT overlay support when adding multiple overlays

    - Convert printk's to %pOF format specifiers. Most went via subsystem
    trees, but picked up the remaining orphans

    - Correct unittests to use preferred "okay" for "status" property
    value

    - Add a KASLR seed property

    - Vendor prefixes for Mellanox, Theobroma System, Adaptrum, Moxa

    - Fix modalias buffer handling

    - Clean-up of include paths for building dtbs

    - Add bindings for amc6821, isl1208, tsl2x7x, srf02, and srf10
    devices

    - Add nvmem bindings for MediaTek MT7623 and MT7622 SoC

    - Add compatible string for Allwinner H5 Mali-450 GPU

    - Fix links to old OpenFirmware docs with new mirror on
    devicetree.org

    - Remove status property from binding doc examples"

    * tag 'devicetree-for-4.14' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (45 commits)
    devicetree: Adjust status "ok" -> "okay" under drivers/of/
    dt-bindings: Remove "status" from examples
    dt-bindings: pinctrl: sh-pfc: Use generic node name
    dt-bindings: Add vendor Mellanox
    dt-binding: net/phy: fix interrupts description
    virt: Convert to using %pOF instead of full_name
    macintosh: Convert to using %pOF instead of full_name
    ide: pmac: Convert to using %pOF instead of full_name
    microblaze: Convert to using %pOF instead of full_name
    dt-bindings: usb: musb: Grammar s/the/to/, s/is/are/
    of: Use PLATFORM_DEVID_NONE definition
    of/device: Fix of_device_get_modalias() buffer handling
    of/device: Prevent buffer overflow in of_device_modalias()
    dt-bindings: add amc6821, isl1208 trivial bindings
    dt-bindings: add vendor prefix for Theobroma Systems
    of: search scripts/dtc/include-prefixes path for both CPP and DTC
    of: remove arch/$(SRCARCH)/boot/dts from include search path for CPP
    of: remove drivers/of/testcase-data from include search path for CPP
    of: return of_get_cpu_node from of_cpu_device_node_get if CPUs are not registered
    iio: srf08: add device tree binding for srf02 and srf10
    ...

    Linus Torvalds
     

07 Sep, 2017

1 commit

  • There is code duplication between sec_name() and sech_name(). Simplify
    sec_name() by re-using sech_name(). Also, move them up to remove the
    forward declaration of sec_name().

    Link: http://lkml.kernel.org/r/1502248721-22009-1-git-send-email-yamada.masahiro@socionext.com
    Signed-off-by: Masahiro Yamada
    Reviewed-by: Kees Cook
    Cc: Nicholas Piggin
    Cc: Jessica Yu
    Cc: Chris Metcalf
    Cc: Heinrich Schuchardt
    Cc: Ingo Molnar
    Cc: Ard Biesheuvel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Masahiro Yamada
     

05 Sep, 2017

1 commit

  • Pull x86 asm updates from Ingo Molnar:

    - Introduce the ORC unwinder, which can be enabled via
    CONFIG_ORC_UNWINDER=y.

    The ORC unwinder is a lightweight, Linux kernel specific debuginfo
    implementation, which aims to be DWARF done right for unwinding.
    Objtool is used to generate the ORC unwinder tables during build, so
    the data format is flexible and kernel internal: there's no
    dependency on debuginfo created by an external toolchain.

    The ORC unwinder is almost two orders of magnitude faster than the
    (out of tree) DWARF unwinder - which is important for perf call graph
    profiling. It is also significantly simpler and is coded defensively:
    there has not been a single ORC related kernel crash so far, even
    with early versions. (knock on wood!)

    But the main advantage is that enabling the ORC unwinder allows
    CONFIG_FRAME_POINTERS to be turned off - which speeds up the kernel
    measurably:

    With frame pointers disabled, GCC does not have to add frame pointer
    instrumentation code to every function in the kernel. The kernel's
    .text size decreases by about 3.2%, resulting in better cache
    utilization and fewer instructions executed, resulting in a broad
    kernel-wide speedup. Average speedup of system calls should be
    roughly in the 1-3% range - measurements by Mel Gorman [1] have shown
    a speedup of 5-10% for some function execution intense workloads.

    The main cost of the unwinder is that the unwinder data has to be
    stored in RAM: the memory cost is 2-4MB of RAM, depending on kernel
    config - which is a modest cost on modern x86 systems.

    Given how young the ORC unwinder code is it's not enabled by default
    - but given the performance advantages the plan is to eventually make
    it the default unwinder on x86.

    See Documentation/x86/orc-unwinder.txt for more details.

    - Remove lguest support: its intended role was that of a temporary
    proof of concept for virtualization, plus its removal will enable the
    reduction (removal) of the paravirt API as well, so Rusty agreed to
    its removal. (Juergen Gross)

    - Clean up and fix FSGS related functionality (Andy Lutomirski)

    - Clean up IO access APIs (Andy Shevchenko)

    - Enhance the symbol namespace (Jiri Slaby)

    * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (47 commits)
    objtool: Handle GCC stack pointer adjustment bug
    x86/entry/64: Use ENTRY() instead of ALIGN+GLOBAL for stub32_clone()
    x86/fpu/math-emu: Add ENDPROC to functions
    x86/boot/64: Extract efi_pe_entry() from startup_64()
    x86/boot/32: Extract efi_pe_entry() from startup_32()
    x86/lguest: Remove lguest support
    x86/paravirt/xen: Remove xen_patch()
    objtool: Fix objtool fallthrough detection with function padding
    x86/xen/64: Fix the reported SS and CS in SYSCALL
    objtool: Track DRAP separately from callee-saved registers
    objtool: Fix validate_branch() return codes
    x86: Clarify/fix no-op barriers for text_poke_bp()
    x86/switch_to/64: Rewrite FS/GS switching yet again to fix AMD CPUs
    selftests/x86/fsgsbase: Test selectors 1, 2, and 3
    x86/fsgsbase/64: Report FSBASE and GSBASE correctly in core dumps
    x86/fsgsbase/64: Fully initialize FS and GS state in start_thread_common
    x86/asm: Fix UNWIND_HINT_REGS macro for older binutils
    x86/asm/32: Fix regs_get_register() on segment registers
    x86/xen/64: Rearrange the SYSCALL entries
    x86/asm/32: Remove a bunch of '& 0xffff' from pt_regs segment reads
    ...

    Linus Torvalds
     

04 Sep, 2017

1 commit

  • Pull documentation updates from Jonathan Corbet:
    "After a fair amount of churn in the last couple of cycles, docs are
    taking it easier this time around. Lots of fixes and some new
    documentation, but nothing all that radical. Perhaps the most
    interesting change for many is the scripts/sphinx-pre-install tool
    from Mauro; it will tell you exactly which packages you need to
    install to get a working docs toolchain on your system.

    There are two little patches reaching outside of Documentation/; both
    just tweak kerneldoc comments to eliminate warnings and fix some
    dangling doc pointers"

    * 'docs-next' of git://git.lwn.net/linux: (52 commits)
    Documentation/sphinx: fix kernel-doc decode for non-utf-8 locale
    genalloc: Fix an incorrect kerneldoc comment
    doc: Add documentation for the genalloc subsystem
    assoc_array: fix path to assoc_array documentation
    kernel-doc parser mishandles declarations split into lines
    docs: ReSTify table of contents in core.rst
    docs: process: drop git snapshots from applying-patches.rst
    Documentation:input: fix typo
    swap: Remove obsolete sentence
    sphinx.rst: Allow Sphinx version 1.6 at the docs
    docs-rst: fix verbatim font size on tables
    Documentation: stable-kernel-rules: fix broken git urls
    rtmutex: update rt-mutex
    rtmutex: update rt-mutex-design
    docs: fix minimal sphinx version in conf.py
    docs: fix nested numbering in the TOC
    NVMEM documentation fix: A minor typo
    docs-rst: pdf: use same vertical margin on all Sphinx versions
    doc: Makefile: if sphinx is not found, run a check script
    docs: Fix paths in security/keys
    ...

    Linus Torvalds
     

02 Sep, 2017

1 commit


01 Sep, 2017

1 commit