17 Jan, 2019

1 commit

  • commit e4f358916d528d479c3c12bd2fd03f2d5a576380 upstream.

    Commit

    4cd24de3a098 ("x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support")

    replaced the RETPOLINE define with CONFIG_RETPOLINE checks. Remove the
    remaining pieces.

    [ bp: Massage commit message. ]

    Fixes: 4cd24de3a098 ("x86/retpoline: Make CONFIG_RETPOLINE depend on compiler support")
    Signed-off-by: WANG Chao
    Signed-off-by: Borislav Petkov
    Reviewed-by: Zhenzhong Duan
    Reviewed-by: Masahiro Yamada
    Cc: "H. Peter Anvin"
    Cc: Andi Kleen
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Arnd Bergmann
    Cc: Daniel Borkmann
    Cc: David Woodhouse
    Cc: Geert Uytterhoeven
    Cc: Jessica Yu
    Cc: Jiri Kosina
    Cc: Kees Cook
    Cc: Konrad Rzeszutek Wilk
    Cc: Luc Van Oostenryck
    Cc: Michal Marek
    Cc: Miguel Ojeda
    Cc: Peter Zijlstra
    Cc: Tim Chen
    Cc: Vasily Gorbik
    Cc: linux-kbuild@vger.kernel.org
    Cc: srinivas.eeda@oracle.com
    Cc: stable
    Cc: x86-ml
    Link: https://lkml.kernel.org/r/20181210163725.95977-1-chao.wang@ucloud.cn
    Signed-off-by: Greg Kroah-Hartman

    WANG Chao
     

15 Sep, 2018

1 commit

  • [ Upstream commit 1f3aa9002dc6a0d59a4b599b4fc8f01cf43ef014 ]

    Fix missing error check for memory allocation functions in
    scripts/mod/modpost.c.

    Fixes kernel bugzilla #200319:
    https://bugzilla.kernel.org/show_bug.cgi?id=200319

    Signed-off-by: Randy Dunlap
    Cc: Yuexing Wang
    Signed-off-by: Masahiro Yamada
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     

08 Feb, 2018

1 commit

  • commit caf7501a1b4ec964190f31f9c3f163de252273b8

    There's a risk that a kernel which has full retpoline mitigations becomes
    vulnerable when a module gets loaded that hasn't been compiled with the
    right compiler or the right option.

    To enable detection of that mismatch at module load time, add a module info
    string "retpoline" at build time when the module was compiled with
    retpoline support. This only covers compiled C source, but assembler source
    or prebuilt object files are not checked.

    If a retpoline enabled kernel detects a non retpoline protected module at
    load time, print a warning and report it in the sysfs vulnerability file.

    [ tglx: Massaged changelog ]

    Signed-off-by: Andi Kleen
    Signed-off-by: Thomas Gleixner
    Cc: David Woodhouse
    Cc: gregkh@linuxfoundation.org
    Cc: torvalds@linux-foundation.org
    Cc: jeyu@kernel.org
    Cc: arjan@linux.intel.com
    Link: https://lkml.kernel.org/r/20180125235028.31211-1-andi@firstfloor.org
    Signed-off-by: Greg Kroah-Hartman

    Andi Kleen
     

02 Nov, 2017

1 commit

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

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

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

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

    How this work was done:

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

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

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

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

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

    Greg Kroah-Hartman
     

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 Sep, 2017

1 commit

  • 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
     

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
     

25 Jul, 2017

1 commit

  • Module name has a limited length, but currently the build system
    allows the build finishing even if the module name is too long.

    CC /root/kprobe_example/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz.mod.o
    /root/kprobe_example/abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz.mod.c:9:2:
    warning: initializer-string for array of chars is too long [enabled by default]
    .name = KBUILD_MODNAME,
    ^

    but it's merely a warning.

    This patch adds the check of the module name length in modpost and stops
    the build properly.

    Signed-off-by: Wanlong Gao
    Signed-off-by: Jessica Yu

    Wanlong Gao
     

24 May, 2017

1 commit

  • Accessing the mod structure (e.g. for mod->name) prior to having completed
    check_modstruct_version() can result in writing garbage to the error logs
    if the layout of the mod structure loaded from disk doesn't match the
    running kernel's mod structure layout. This kind of mismatch will become
    much more likely if a kernel is built with different randomization seed
    for the struct layout randomization plugin.

    Instead, add and use a new modinfo string for logging the module name.

    Signed-off-by: Kees Cook
    Signed-off-by: Jessica Yu

    Kees Cook
     

13 Apr, 2017

1 commit


02 Mar, 2017

1 commit

  • The '__unreachable' and '__func_stack_frame_non_standard' sections are
    only used at compile time. They're discarded for vmlinux but they
    should also be discarded for modules.

    Since this is a recurring pattern, prefix the section names with
    ".discard.". It's a nice convention and vmlinux.lds.h already discards
    such sections.

    Also remove the 'a' (allocatable) flag from the __unreachable section
    since it doesn't make sense for a discarded section.

    Suggested-by: Linus Torvalds
    Signed-off-by: Josh Poimboeuf
    Cc: Jessica Yu
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Fixes: d1091c7fa3d5 ("objtool: Improve detection of BUG() and other dead ends")
    Link: http://lkml.kernel.org/r/20170301180444.lhd53c5tibc4ns77@treble
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf
     

04 Feb, 2017

1 commit

  • This add the kbuild infrastructure that will allow architectures to emit
    vmlinux symbol CRCs as 32-bit offsets to another location in the kernel
    where the actual value is stored. This works around problems with CRCs
    being mistaken for relocatable symbols on kernels that self relocate at
    runtime (i.e., powerpc with CONFIG_RELOCATABLE=y)

    For the kbuild side of things, this comes down to the following:

    - introducing a Kconfig symbol MODULE_REL_CRCS

    - adding a -R switch to genksyms to instruct it to emit the CRC symbols
    as references into the .rodata section

    - making modpost distinguish such references from absolute CRC symbols
    by the section index (SHN_ABS)

    - making kallsyms disregard non-absolute symbols with a __crc_ prefix

    Signed-off-by: Ard Biesheuvel
    Signed-off-by: Linus Torvalds

    Ard Biesheuvel
     

18 Dec, 2016

1 commit

  • Pull kbuild updates from Michal Marek:

    - prototypes for x86 asm-exported symbols (Adam Borowski) and a warning
    about missing CRCs (Nick Piggin)

    - asm-exports fix for LTO (Nicolas Pitre)

    - thin archives improvements (Nick Piggin)

    - linker script fix for CONFIG_LD_DEAD_CODE_DATA_ELIMINATION (Nick
    Piggin)

    - genksyms support for __builtin_va_list keyword

    - misc minor fixes

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    x86/kbuild: enable modversions for symbols exported from asm
    kbuild: fix scripts/adjust_autoksyms.sh* for the no modules case
    scripts/kallsyms: remove last remnants of --page-offset option
    make use of make variable CURDIR instead of calling pwd
    kbuild: cmd_export_list: tighten the sed script
    kbuild: minor improvement for thin archives build
    kbuild: modpost warn if export version crc is missing
    kbuild: keep data tables through dead code elimination
    kbuild: improve linker compatibility with lib-ksyms.o build
    genksyms: Regenerate parser
    kbuild/genksyms: handle va_list type
    kbuild: thin archives for multi-y targets
    kbuild: kallsyms allow 3-pass generation if symbols size has changed

    Linus Torvalds
     

29 Nov, 2016

1 commit

  • This catches the failing ceph CRC on with:

    LD vmlinux.o
    MODPOST vmlinux.o
    WARNING: EXPORT symbol "ceph_monc_do_statfs" [vmlinux] version
    generation failed, symbol will not be versioned.

    When the modules referring to exported symbols are built, there is an
    existing warning for missing CRC, but it's not always the case such
    any such module will be built, and in any case it is useful to get a
    warning at the source.

    This gets a little verbose with CONFIG_DEBUG_SECTION_MISMATCH,
    producing a warning with each object linked, but I didn't think
    that warranted extra complexity to avoid.

    Signed-off-by: Nicholas Piggin
    Signed-off-by: Michal Marek

    Nicholas Piggin
     

27 Nov, 2016

1 commit

  • valgrind complains that memory is not freed after allocation
    with realloc() called from main() and write_dump().

    So let us free the allocated memory properly.

    Signed-off-by: Heinrich Schuchardt
    Signed-off-by: Rusty Russell
    Link: http://lkml.kernel.org/r/1470166981-6461-1-git-send-email-xypron.glpk@gmx.de
    Signed-off-by: Jessica Yu

    Heinrich Schuchardt
     

08 Oct, 2016

1 commit

  • When doing an nmi backtrace of many cores, most of which are idle, the
    output is a little overwhelming and very uninformative. Suppress
    messages for cpus that are idling when they are interrupted and just
    emit one line, "NMI backtrace for N skipped: idling at pc 0xNNN".

    We do this by grouping all the cpuidle code together into a new
    .cpuidle.text section, and then checking the address of the interrupted
    PC to see if it lies within that section.

    This commit suitably tags x86 and tile idle routines, and only adds in
    the minimal framework for other architectures.

    Link: http://lkml.kernel.org/r/1472487169-14923-5-git-send-email-cmetcalf@mellanox.com
    Signed-off-by: Chris Metcalf
    Acked-by: Peter Zijlstra (Intel)
    Tested-by: Peter Zijlstra (Intel)
    Tested-by: Daniel Thompson [arm]
    Tested-by: Petr Mladek
    Cc: Aaron Tomlin
    Cc: Peter Zijlstra (Intel)
    Cc: "Rafael J. Wysocki"
    Cc: Russell King
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chris Metcalf
     

27 Jun, 2016

1 commit

  • Move the definition of fsl_mc_device_id to its proper location in
    mod_devicetable.h, and add fsl-mc bus support to devicetable-offsets.c
    and file2alias.c to enable device table matching. With this patch udev
    based module loading of fsl-mc drivers is supported.

    Signed-off-by: Stuart Yoder
    Signed-off-by: Greg Kroah-Hartman

    Stuart Yoder
     

08 Jun, 2016

1 commit

  • Because of an improper dereference, a stray 'C' character was output to
    the modalias when no 'compatible' was specified. This is the case for
    some old PowerMac drivers which only set the 'name' property. Fix it to
    let them match again.

    Reported-by: Mathieu Malaterre
    Signed-off-by: Wolfram Sang
    Tested-by: Mathieu Malaterre
    Cc: Philipp Zabel
    Cc: Andreas Schwab
    Fixes: 6543becf26fff6 ("mod/file2alias: make modalias generation safe for cross compiling")
    Cc: stable@vger.kernel.org # v3.9+
    Signed-off-by: Michael Ellerman

    Wolfram Sang
     

06 May, 2016

1 commit

  • Since the wildcard at the end of OF module aliases is gone, autoloading
    of modules that don't match a device's last (most generic) compatible
    value fails.

    For example the CODA960 VPU on i.MX6Q has the SoC specific compatible
    "fsl,imx6q-vpu" and the generic compatible "cnm,coda960". Since the
    driver currently only works with knowledge about the SoC specific
    integration, it doesn't list "cnm,cod960" in the module device table.

    This results in the device compatible
    "of:NvpuTCfsl,imx6q-vpuCcnm,coda960" not matching the module alias
    "of:N*T*Cfsl,imx6q-vpu" anymore, whereas before commit 2f632369ab79
    ("modpost: don't add a trailing wildcard for OF module aliases") it
    matched the module alias "of:N*T*Cfsl,imx6q-vpu*".

    This patch adds two module aliases for each compatible, one without the
    wildcard and one with "C*" appended.

    $ modinfo coda | grep imx6q
    alias: of:N*T*Cfsl,imx6q-vpuC*
    alias: of:N*T*Cfsl,imx6q-vpu

    Fixes: 2f632369ab79 ("modpost: don't add a trailing wildcard for OF module aliases")
    Link: http://lkml.kernel.org/r/1462203339-15340-1-git-send-email-p.zabel@pengutronix.de
    Signed-off-by: Philipp Zabel
    Cc: Javier Martinez Canillas
    Cc: Brian Norris
    Cc: Sjoerd Simons
    Cc: Rusty Russell
    Cc: Greg Kroah-Hartman
    Cc: [4.5+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Philipp Zabel
     

29 Feb, 2016

1 commit

  • Code which runs outside the kernel's normal mode of operation often does
    unusual things which can cause a static analysis tool like objtool to
    emit false positive warnings:

    - boot image
    - vdso image
    - relocation
    - realmode
    - efi
    - head
    - purgatory
    - modpost

    Set OBJECT_FILES_NON_STANDARD for their related files and directories,
    which will tell objtool to skip checking them. It's ok to skip them
    because they don't affect runtime stack traces.

    Also skip the following code which does the right thing with respect to
    frame pointers, but is too "special" to be validated by a tool:

    - entry
    - mcount

    Also skip the test_nx module because it modifies its exception handling
    table at runtime, which objtool can't understand. Fortunately it's
    just a test module so it doesn't matter much.

    Currently objtool is the only user of OBJECT_FILES_NON_STANDARD, but it
    might eventually be useful for other tools.

    Signed-off-by: Josh Poimboeuf
    Cc: Andrew Morton
    Cc: Andy Lutomirski
    Cc: Arnaldo Carvalho de Melo
    Cc: Bernd Petrovitsch
    Cc: Borislav Petkov
    Cc: Chris J Arges
    Cc: Jiri Slaby
    Cc: Linus Torvalds
    Cc: Michal Marek
    Cc: Namhyung Kim
    Cc: Pedro Alves
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: live-patching@vger.kernel.org
    Link: http://lkml.kernel.org/r/366c080e3844e8a5b6a0327dc7e8c2b90ca3baeb.1456719558.git.jpoimboe@redhat.com
    Signed-off-by: Ingo Molnar

    Josh Poimboeuf
     

21 Jan, 2016

1 commit

  • PowerPC64 uses the symbol .TOC. much as other targets use
    _GLOBAL_OFFSET_TABLE_. It identifies the value of the GOT pointer (or in
    powerpc parlance, the TOC pointer). Global offset tables are generally
    local to an executable or shared library, or in the kernel, module. Thus
    it does not make sense for a module to resolve a relocation against
    .TOC. to the kernel's .TOC. value. A module has its own .TOC., and
    indeed the powerpc64 module relocation processing ignores the kernel
    value of .TOC. and instead calculates a module-local value.

    This patch removes code involved in exporting the kernel .TOC., tweaks
    modpost to ignore an undefined .TOC., and the module loader to twiddle
    the section symbol so that .TOC. isn't seen as undefined.

    Note that if the kernel was compiled with -msingle-pic-base then ELFv2
    would not have function global entry code setting up r2. In that case
    the module call stubs would need to be modified to set up r2 using the
    kernel .TOC. value, requiring some of this code to be reinstated.

    mpe: Furthermore a change in binutils master (not yet released) causes
    the current way we handle the TOC to no longer work when building with
    MODVERSIONS=y and RELOCATABLE=n. The symptom is that modules can not be
    loaded due to there being no version found for TOC.

    Cc: stable@vger.kernel.org # 3.16+
    Signed-off-by: Alan Modra
    Signed-off-by: Michael Ellerman

    Alan Modra
     

15 Jan, 2016

1 commit

  • Commit ac551828993e ("modpost: i2c aliases need no trailing wildcard")
    removed the wildcard at the end of the I2C module aliases because I2C
    devices have no IDs so the aliases are just arbitrary device names.

    This is also true for OF modaliases since a compatible string is used to
    define a specific IP hardware block. So the modalias should match a
    specific compatible string and not attempt to match a compatible string
    whose name matches the beginning of another one.

    For example, the following driver module:

    $ modinfo cros_ec_keyb | grep alias
    alias: platform:cros-ec-keyb
    alias: of:N*T*Cgoogle,cros-ec-keyb*

    will be tried to be loaded for an alias of:N*T*Cgoogle,cros-ec-keyb-v2
    but there could be a different driver that supports the device for that
    compatible string so it's better to remove the trailing wildcard for OF.

    Also, remove the word "always" from the add_wildcard() function comment
    since that was carried from the time where a wildcard was always added
    at the end of the module alias for all the devices.

    Signed-off-by: Javier Martinez Canillas
    Suggested-by: Brian Norris
    Reviewed-by: Sjoerd Simons
    Cc: Rusty Russell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Javier Martinez Canillas
     

15 Dec, 2015

1 commit


10 Nov, 2015

1 commit


07 Nov, 2015

1 commit

  • Pull sound updates from Takashi Iwai:
    "Here is the first batch of updates for sound system on 4.4-rc1.

    Again at this time, the update looks fairly calm; no big changes in
    either ALSA core or ASoC infrastructures, rather all small cleanups,
    in addition to the new stuff as usual.

    The biggest changes are about Firewire sound devices. It gained lots
    of new device support, and MIDI functionality. Also there are updates
    for a few still working-in-progress stuff (topology API and ASoC
    skylake), too. But overall, this update should give no big surprise.

    Some highlights are below:

    Core:
    - A few more Kconfig items for tinification; it's marked as EXPERT,
    so normal user should't be bothered :)
    - Refactoring with a new PCM hw_constraint helper
    - Removal of unused transfer_ack_{begin,end} PCM callbacks

    Firewire:
    - Restructuring of code subtree, lots of refactoring
    - Support AMDTP variants
    - New driver for Digidesign 002/003 family
    - Adds support for TASCAM FireOne to ALSA OXFW driver
    - Add MIDI support to TASCAM and Digi00x devices

    HD-Audio:
    - Automated modalias generation for codec drivers, finally
    - Improvement on heuristics for setting mixer name
    - A few fixes for longstanding bugs on Creative CA0132 cards
    - Addition of audio rate callback with i915 communication
    - Fix suspend issue on recent Dell XPS
    - Intel Lewisburg controller support

    ASoC:
    - Updates to the topology userspace interface
    - Big updates to the Renesas support (rcar)
    - More updates for supporting Intel Sky Lake systems
    - New drivers for Asahi Kasei Microdevices AK4613, Allwinnner A10,
    Cirrus Logic WM8998, Dialog DA7219, Nuvoton NAU8825, Rockchip
    S/PDIF, and Atmel class D amplifier

    USB-Audio:
    - A fix for newer Roland MIDI devices
    - Quirks and workarounds for Zoom R16/24 device

    Misc:
    - A few fixes for some old Cirrus CS46xx PCI sound boards
    - Yet another fixes for some old ESS Maestro3 PCI sound boards"

    * tag 'sound-4.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (330 commits)
    ALSA: hda - Add Intel Lewisburg device IDs Audio
    ALSA: hda - Apply pin fixup for HP ProBook 6550b
    ALSA: hda - Fix lost 4k BDL boundary workaround
    ALSA: maestro3: Fix Allegro mute until master volume/mute is touched
    ALSA: maestro3: Enable docking support for Dell Latitude C810
    ALSA: firewire-digi00x: add another rawmidi character device for MIDI control ports
    ALSA: firewire-digi00x: add MIDI operations for MIDI control port
    ALSA: firewire-digi00x: rename identifiers of MIDI operation for physical ports
    ALSA: cs46xx: Fix suspend for all channels
    ALSA: cs46xx: Fix Duplicate front for CS4294 and CS4298 codecs
    ALSA: DocBook: Add soc-ops.c and soc-compress.c
    ALSA: hda - Add / fix kernel doc comments
    ALSA: Constify ratden/ratnum constraints
    ALSA: hda - Disable 64bit address for Creative HDA controllers
    ALSA: hda/realtek - Dell XPS one ALC3260 speaker no sound after resume back
    ALSA: hda/ca0132 - Convert leftover pr_info() and pr_err()
    ASoC: fsl: Use #ifdef instead of #if for CONFIG_PM_SLEEP
    ASoC: rt5645: Sort the order for register bit defines
    ASoC: dwc: add check for master/slave format
    ASoC: rt5645: Add the HWEQ for the speaker output
    ...

    Linus Torvalds
     

26 Oct, 2015

1 commit

  • In our ARC toolchain the default linker script includes special
    sections used for code and data located in special fast memory.
    To avoid warnings we add these sections i.e. .cmem* and .fmt_slot*
    to white list.

    Signed-off-by: Noam Camus
    Cc: Rusty Russell
    Cc: Quentin Casasnovas
    Signed-off-by: Rusty Russell

    Noam Camus
     

20 Oct, 2015

1 commit

  • For generating modalias entries automatically, move the definition of
    struct hda_device_id to linux/mod_devicetable.h and add the handling
    of this record in file2alias helper. The new modalias is represented
    with combination of vendor id, device id, and api version as
    "hdaudio:vNrNaN".

    This patch itself doesn't convert the existing modaliases. Since they
    were added manually, this patch won't give any regression by itself at
    this point.

    [Modified the modalias format to adapt the api_version field, and drop
    invalid ANY_ID definition by tiwai]

    Signed-off-by: Subhransu S. Prusty
    Reviewed-by: Vinod Koul
    Tested-by: Subhransu S Prusty
    Signed-off-by: Takashi Iwai

    Subhransu S. Prusty
     

06 Oct, 2015

1 commit

  • The section mismatch warning can be easy to miss during the kernel build
    process. Allow it to be marked as fatal to be easily caught and prevent
    bugs from slipping in.

    Setting CONFIG_SECTION_MISMATCH_WARN_ONLY=y causes these warnings to be
    non-fatal, since there are a number of section mismatches when using
    allmodconfig on some architectures, and we do not want to break these
    builds by default.

    Signed-off-by: Nicolas Boichat
    Change-Id: Ic346706e3297c9f0d790e3552aa94e5cff9897a6
    Signed-off-by: Rusty Russell

    Nicolas Boichat
     

21 Sep, 2015

2 commits


09 Sep, 2015

1 commit

  • Pull core kbuild updates from Michal Marek:
    - modpost portability fix
    - linker script fix
    - genksyms segfault fix
    - fixdep cleanup
    - fix for clang detection

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: Fix clang detection
    kbuild: fixdep: drop meaningless hash table initialization
    kbuild: fixdep: optimize code slightly
    genksyms: Regenerate parser
    genksyms: Duplicate function pointer type definitions segfault
    kbuild: Fix .text.unlikely placement
    Avoid conflict with host definitions when cross-compiling

    Linus Torvalds
     

20 Aug, 2015

1 commit


08 Aug, 2015

1 commit

  • Module symbols have a limited length, but currently the build system
    allows the build finishing even if the driver code contains a too long
    symbol name, which eventually overflows the modversion_info[] item.
    The compiler may catch at compiling *.mod.c like
    CC xxx.mod.o
    xxx.mod.c:18:16: warning: initializer-string for array of chars is too long
    but it's merely a warning.

    This patch adds the check of the symbol length in modpost and stops
    the build properly.

    Currently MODULE_NAME_LEN is defined in modpost.c instead of referring
    to the definition in kernel header because including linux/module.h is
    messy and we must cover cross-compilation.

    Signed-off-by: Takashi Iwai
    Signed-off-by: Rusty Russell

    Takashi Iwai
     

09 Jul, 2015

2 commits

  • Pull power management and ACPI updates from Rafael Wysocki:
    "These are fixes on top of the previous PM+ACPI pull requests
    (including one fix for a 4.1 regression) and two commits adding
    _CLS-based device enumeration support to the ACPI core and the ATA
    subsystem that waited for the latest ACPICA changes to be merged.

    Specifics:

    - Fix for an ACPI resources management regression introduced during
    the 4.1 cycle (that unfortunately went into -stable) effectively
    reverting the bad commit along with the recent fixups on top of it
    and using an alternative approach to address the underlying issue
    (Rafael J Wysocki).

    - Fix for a memory leak and an incorrect return value in an error
    code path in the ACPI LPSS (Low-Power Subsystem) driver (Rafael J
    Wysocki).

    - Fix for a leftover dangling pointer in an error code path in the
    new wakeup IRQ support code (Rafael J Wysocki).

    - Fix to prevent infinite loops (due to errors in other places) from
    happening in the core generic PM domains support code (Geert
    Uytterhoeven).

    - Hibernation documentation update/clarification (Uwe Geuder).

    - Support for _CLS-based device enumeration in the ACPI core and in
    the ATA subsystem (Suravee Suthikulpanit)"

    * tag 'pm+acpi-4.2-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    PM / wakeirq: Avoid setting power.wakeirq too hastily
    ata: ahci_platform: Add ACPI _CLS matching
    ACPI / scan: Add support for ACPI _CLS device matching
    PM / hibernate: clarify resume documentation
    PM / Domains: Avoid infinite loops in attach/detach code
    ACPI / LPSS: Fix up acpi_lpss_create_device()
    ACPI / PNP: Reserve ACPI resources at the fs_initcall_sync stage

    Linus Torvalds
     
  • The tilegx and tilepro compilers use .coldtext for their unlikely
    executed text section name, so an __attribute__((cold)) function
    will (when compiled with higher optimization levels) land in
    the .coldtext section.

    Modify modpost to add .coldtext to the set of OTHER_TEXT_SECTIONS
    so we don't get warnings about referencing such a section in an
    __ex_table block, and then also modify arch/tile/lib/memcpy_user_64.c
    so that it uses plain ".coldtext" instead of ".coldtext.memcpy".
    The latter naming is a relic of an earlier use of -ffunction-sections,
    which we no longer use by default.

    Signed-off-by: Chris Metcalf
    Acked-by: Rusty Russell

    Chris Metcalf
     

07 Jul, 2015

1 commit

  • Device drivers typically use ACPI _HIDs/_CIDs listed in struct device_driver
    acpi_match_table to match devices. However, for generic drivers, we do not
    want to list _HID for all supported devices. Also, certain classes of devices
    do not have _CID (e.g. SATA, USB). Instead, we can leverage ACPI _CLS,
    which specifies PCI-defined class code (i.e. base-class, subclass and
    programming interface). This patch adds support for matching ACPI devices using
    the _CLS method.

    To support loadable module, current design uses _HID or _CID to match device's
    modalias. With the new way of matching with _CLS this would requires modification
    to the current ACPI modalias key to include _CLS. This patch appends PCI-defined
    class-code to the existing ACPI modalias as following.

    acpi::::..:::
    E.g:
    # cat /sys/devices/platform/AMDI0600:00/modalias
    acpi:AMDI0600:010601:

    where bb is th base-class code, ss is te sub-class code, and pp is the
    programming interface code

    Since there would not be _HID/_CID in the ACPI matching table of the driver,
    this patch adds a field to acpi_device_id to specify the matching _CLS.

    static const struct acpi_device_id ahci_acpi_match[] = {
    { ACPI_DEVICE_CLASS(PCI_CLASS_STORAGE_SATA_AHCI, 0xffffff) },
    {},
    };

    In this case, the corresponded entry in modules.alias file would be:

    alias acpi*:010601:* ahci_platform

    Acked-by: Mika Westerberg
    Reviewed-by: Hanjun Guo
    Signed-off-by: Suravee Suthikulpanit
    Signed-off-by: Rafael J. Wysocki

    Suthikulpanit, Suravee
     

27 Jun, 2015

1 commit

  • Pull USB updates from Greg KH:
    "Here's the big USB patchset for 4.2-rc1. As is normal these days, the
    majority of changes are in the gadget drivers, with a bunch of other
    small driver changes.

    All of these have been in linux-next with no reported issues"

    * tag 'usb-4.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (175 commits)
    usb: dwc3: Use ASCII space in Kconfig
    usb: chipidea: add work-around for Marvell HSIC PHY startup
    usb: chipidea: allow multiple instances to use default ci_default_pdata
    dt-bindings: Consolidate ChipIdea USB ci13xxx bindings
    phy: add Marvell HSIC 28nm PHY
    phy: Add Marvell USB 2.0 OTG 28nm PHY
    dt-bindings: Add Marvell PXA1928 USB and HSIC PHY bindings
    USB: ssb: use devm_kzalloc
    USB: ssb: fix error handling in ssb_hcd_create_pdev()
    usb: isp1760: check for null return from kzalloc
    cdc-acm: Add support of ATOL FPrint fiscal printers
    usb: chipidea: usbmisc_imx: Remove unneeded semicolon
    USB: usbtmc: add device quirk for Rigol DS6104
    USB: serial: mos7840: Use setup_timer
    phy: twl4030-usb: add ABI documentation
    phy: twl4030-usb: remove incorrect pm_runtime_get_sync() in probe function.
    phy: twl4030-usb: remove pointless 'suspended' test in 'suspend' callback.
    phy: twl4030-usb: make runtime pm more reliable.
    drivers:usb:fsl: Fix compilation error for fsl ehci drv
    usb: renesas_usbhs: Don't disable the pipe if Control write status stage
    ...

    Linus Torvalds