03 Apr, 2019

1 commit

  • commit 54a7151b1496cddbb7a83546b7998103e98edc88 upstream.

    Fix commit 56067812d5b0 ("kbuild: modversions: add infrastructure for
    emitting relative CRCs") where CRCs are interpreted in host byte order
    rather than proper kernel byte order. The bug is conditional on
    CONFIG_MODULE_REL_CRCS.

    For example, when loading a BE module into a BE kernel compiled with a LE
    system, the error "disagrees about version of symbol module_layout" is
    produced. A message such as "Found checksum D7FA6856 vs module 5668FAD7"
    will be given with debug enabled, which indicates an obvious endian
    problem within __kcrctab within the kernel image.

    The general solution is to use the macro TO_NATIVE, as is done in
    similar cases throughout modpost.c. With this correction it has been
    verified that a BE kernel compiled with a LE system accepts BE modules.

    This change has also been verified with a LE kernel compiled with a LE
    system, in which case TO_NATIVE returns its value unmodified since the
    byte orders match. This is by far the common case.

    Fixes: 56067812d5b0 ("kbuild: modversions: add infrastructure for emitting relative CRCs")
    Signed-off-by: Fredrik Noring
    Cc: stable@vger.kernel.org
    Signed-off-by: Masahiro Yamada
    Signed-off-by: Greg Kroah-Hartman

    Fredrik Noring
     

13 Feb, 2019

1 commit

  • [ Upstream commit 5818c683a619c534c113e1f66d24f636defc29bc ]

    If an ARM mapping symbol shares an address with a valid symbol,
    find_elf_symbol can currently return the mapping symbol instead, as the
    symbol is not validated. This can result in confusing warnings:

    WARNING: vmlinux.o(.text+0x18f4028): Section mismatch in reference
    from the function set_reset_devices() to the variable .init.text:$x.0

    This change adds a call to is_valid_name to find_elf_symbol, similarly
    to how it's already used in find_elf_symbol2.

    Signed-off-by: Sami Tolvanen
    Signed-off-by: Masahiro Yamada
    Signed-off-by: Sasha Levin

    Sami Tolvanen
     

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
     

22 Aug, 2018

1 commit


19 Aug, 2018

1 commit

  • Pull USB/PHY updates from Greg KH:
    "Here is the big USB and phy driver patch set for 4.19-rc1.

    Nothing huge but there was a lot of work that happened this
    development cycle:

    - lots of type-c work, with drivers graduating out of staging, and
    displayport support being added.

    - new PHY drivers

    - the normal collection of gadget driver updates and fixes

    - code churn to work on the urb handling path, using irqsave()
    everywhere in anticipation of making this codepath a lot simpler in
    the future.

    - usbserial driver fixes and reworks

    - other misc changes

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

    * tag 'usb-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (159 commits)
    USB: serial: pl2303: add a new device id for ATEN
    usb: renesas_usbhs: Kconfig: convert to SPDX identifiers
    usb: dwc3: gadget: Check MaxPacketSize from descriptor
    usb: dwc2: Turn on uframe_sched on "stm32f4x9_fsotg" platforms
    usb: dwc2: Turn on uframe_sched on "amlogic" platforms
    usb: dwc2: Turn on uframe_sched on "his" platforms
    usb: dwc2: Turn on uframe_sched on "bcm" platforms
    usb: dwc2: gadget: ISOC's starting flow improvement
    usb: dwc2: Make dwc2_readl/writel functions endianness-agnostic.
    usb: dwc3: core: Enable AutoRetry feature in the controller
    usb: dwc3: Set default mode for dwc_usb31
    usb: gadget: udc: renesas_usb3: Add register of usb role switch
    usb: dwc2: replace ioread32/iowrite32_rep with dwc2_readl/writel_rep
    usb: dwc2: Modify dwc2_readl/writel functions prototype
    usb: dwc3: pci: Intel Merrifield can be host
    usb: dwc3: pci: Supply device properties via driver data
    arm64: dts: dwc3: description of incr burst type
    usb: dwc3: Enable undefined length INCR burst type
    usb: dwc3: add global soc bus configuration reg0
    usb: dwc3: Describe 'wakeup_work' field of struct dwc3_pci
    ...

    Linus Torvalds
     

18 Jul, 2018

1 commit

  • In Fedora, the debug information is packaged separately (foo-debuginfo) and
    can be installed separately. There's been a long standing issue where only
    one version of a debuginfo info package can be installed at a time. There's
    been an effort for Fedora for parallel debuginfo to rectify this problem.

    Part of the requirement to allow parallel debuginfo to work is that build ids
    are unique between builds. The existing upstream rpm implementation ensures
    this by re-calculating the build-id using the version and release as a
    seed. This doesn't work 100% for the kernel because of the vDSO which is
    its own binary and doesn't get updated when embedded.

    Fix this by adding some data in an ELF note for both the kernel and modules.
    The data is controlled via a Kconfig option so distributions can set it
    to an appropriate value to ensure uniqueness between builds.

    Suggested-by: Masahiro Yamada
    Signed-off-by: Laura Abbott
    Signed-off-by: Masahiro Yamada

    Laura Abbott
     

02 Jul, 2018

1 commit


07 Jun, 2018

1 commit

  • Pull Kbuild updates from Masahiro Yamada:

    - improve fixdep to coalesce consecutive slashes in dep-files

    - fix some issues of the maintainer string generation in deb-pkg script

    - remove unused CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX and clean-up
    several tools and linker scripts

    - clean-up modpost

    - allow to enable the dead code/data elimination for PowerPC in EXPERT
    mode

    - improve two coccinelle scripts for better performance

    - pass endianness and machine size flags to sparse for all architecture

    - misc fixes

    * tag 'kbuild-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (25 commits)
    kbuild: add machine size to CHECKFLAGS
    kbuild: add endianness flag to CHEKCFLAGS
    kbuild: $(CHECK) doesnt need NOSTDINC_FLAGS twice
    scripts: Fixed printf format mismatch
    scripts/tags.sh: use `find` for $ALLSOURCE_ARCHS generation
    coccinelle: deref_null: improve performance
    coccinelle: mini_lock: improve performance
    powerpc: Allow LD_DEAD_CODE_DATA_ELIMINATION to be selected
    kbuild: Allow LD_DEAD_CODE_DATA_ELIMINATION to be selectable if enabled
    kbuild: LD_DEAD_CODE_DATA_ELIMINATION no -ffunction-sections/-fdata-sections for module build
    kbuild: Fix asm-generic/vmlinux.lds.h for LD_DEAD_CODE_DATA_ELIMINATION
    modpost: constify *modname function argument where possible
    modpost: remove redundant is_vmlinux() test
    modpost: use strstarts() helper more widely
    modpost: pass struct elf_info pointer to get_modinfo()
    checkpatch: remove VMLINUX_SYMBOL() check
    vmlinux.lds.h: remove no-op macro VMLINUX_SYMBOL()
    kbuild: remove CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX
    export.h: remove code for prefixing symbols with underscore
    depmod.sh: remove symbol prefix support
    ...

    Linus Torvalds
     

06 Jun, 2018

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the "big" char and misc driver patches for 4.18-rc1.

    It's not a lot of stuff here, but there are some highlights:

    - coreboot driver updates

    - soundwire driver updates

    - android binder updates

    - fpga big sync, mostly documentation

    - lots of minor driver updates

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

    * tag 'char-misc-4.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (81 commits)
    vmw_balloon: fixing double free when batching mode is off
    MAINTAINERS: Add driver-api/fpga path
    fpga: clarify that unregister functions also free
    documentation: fpga: move fpga-region.txt to driver-api
    documentation: fpga: add bridge document to driver-api
    documentation: fpga: move fpga-mgr.txt to driver-api
    Documentation: fpga: move fpga overview to driver-api
    fpga: region: kernel-doc fixes
    fpga: bridge: kernel-doc fixes
    fpga: mgr: kernel-doc fixes
    fpga: use SPDX
    fpga: region: change api, add fpga_region_create/free
    fpga: bridge: change api, don't use drvdata
    fpga: manager: change api, don't use drvdata
    fpga: region: don't use drvdata in common fpga code
    Drivers: hv: vmbus: Removed an unnecessary cast from void *
    ver_linux: Drop redundant calls to system() to test if file is readable
    ver_linux: Move stderr redirection from function parameter to function body
    misc: IBM Virtual Management Channel Driver (VMC)
    rpmsg: Correct support for MODULE_DEVICE_TABLE()
    ...

    Linus Torvalds
     

17 May, 2018

5 commits


14 May, 2018

1 commit

  • Due to missing a missing entry in file2alias.c MODULE_DEVICE_TABLE() are
    not generating the proper module aliases. Add the needed entry here.

    Fixes: bcabbccabffe ("rpmsg: add virtio-based remote processor messaging bus")
    Reported-by: Suman Anna
    Signed-off-by: Andrew F. Davis
    Signed-off-by: Greg Kroah-Hartman

    Andrew F. Davis
     

03 May, 2018

1 commit

  • Commit 7840fea200cd ("kbuild: Fix computing srcversion for modules")
    fixed the comment above parse_source_files to refer to the new source_
    line, but left this one behind that could still give the impression that
    drivers/net/dummy.c appears in the deps_ variable.

    Signed-off-by: Rasmus Villemoes
    Signed-off-by: Masahiro Yamada

    Rasmus Villemoes
     

10 Mar, 2018

1 commit


08 Feb, 2018

1 commit


02 Feb, 2018

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big pull request for char/misc drivers for 4.16-rc1.

    There's a lot of stuff in here. Three new driver subsystems were added
    for various types of hardware busses:

    - siox
    - slimbus
    - soundwire

    as well as a new vboxguest subsystem for the VirtualBox hypervisor
    drivers.

    There's also big updates from the FPGA subsystem, lots of Android
    binder fixes, the usual handful of hyper-v updates, and lots of other
    smaller driver updates.

    All of these have been in linux-next for a long time, with no reported
    issues"

    * tag 'char-misc-4.16-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (155 commits)
    char: lp: use true or false for boolean values
    android: binder: use VM_ALLOC to get vm area
    android: binder: Use true and false for boolean values
    lkdtm: fix handle_irq_event symbol for INT_HW_IRQ_EN
    EISA: Delete error message for a failed memory allocation in eisa_probe()
    EISA: Whitespace cleanup
    misc: remove AVR32 dependencies
    virt: vbox: Add error mapping for VERR_INVALID_NAME and VERR_NO_MORE_FILES
    soundwire: Fix a signedness bug
    uio_hv_generic: fix new type mismatch warnings
    uio_hv_generic: fix type mismatch warnings
    auxdisplay: img-ascii-lcd: add missing MODULE_DESCRIPTION/AUTHOR/LICENSE
    uio_hv_generic: add rescind support
    uio_hv_generic: check that host supports monitor page
    uio_hv_generic: create send and receive buffers
    uio: document uio_hv_generic regions
    doc: fix documentation about uio_hv_generic
    vmbus: add monitor_id and subchannel_id to sysfs per channel
    vmbus: fix ABI documentation
    uio_hv_generic: use ISR callback method
    ...

    Linus Torvalds
     

30 Jan, 2018

1 commit

  • Pull x86/pti updates from Thomas Gleixner:
    "Another set of melted spectrum related changes:

    - Code simplifications and cleanups for RSB and retpolines.

    - Make the indirect calls in KVM speculation safe.

    - Whitelist CPUs which are known not to speculate from Meltdown and
    prepare for the new CPUID flag which tells the kernel that a CPU is
    not affected.

    - A less rigorous variant of the module retpoline check which merily
    warns when a non-retpoline protected module is loaded and reflects
    that fact in the sysfs file.

    - Prepare for Indirect Branch Prediction Barrier support.

    - Prepare for exposure of the Speculation Control MSRs to guests, so
    guest OSes which depend on those "features" can use them. Includes
    a blacklist of the broken microcodes. The actual exposure of the
    MSRs through KVM is still being worked on"

    * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/speculation: Simplify indirect_branch_prediction_barrier()
    x86/retpoline: Simplify vmexit_fill_RSB()
    x86/cpufeatures: Clean up Spectre v2 related CPUID flags
    x86/cpu/bugs: Make retpoline module warning conditional
    x86/bugs: Drop one "mitigation" from dmesg
    x86/nospec: Fix header guards names
    x86/alternative: Print unadorned pointers
    x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support
    x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes
    x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown
    x86/msr: Add definitions for new speculation control MSRs
    x86/cpufeatures: Add AMD feature bits for Speculation Control
    x86/cpufeatures: Add Intel feature bits for Speculation Control
    x86/cpufeatures: Add CPUID_7_EDX CPUID leaf
    module/retpoline: Warn about missing retpoline in module
    KVM: VMX: Make indirect call speculation safe
    KVM: x86: Make indirect calls in emulator speculation safe

    Linus Torvalds
     

26 Jan, 2018

1 commit

  • 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

    Andi Kleen
     

17 Jan, 2018

1 commit


19 Dec, 2017

1 commit

  • This adds the base SoundWire bus type, bus and driver registration.
    along with changes to module device table for new SoundWire
    device type.

    Signed-off-by: Sanyog Kale
    Reviewed-by: Philippe Ombredanne
    Acked-By: Pierre-Louis Bossart
    Reviewed-by: Takashi Iwai
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Vinod Koul
    Signed-off-by: Greg Kroah-Hartman

    Vinod Koul
     

16 Nov, 2017

1 commit

  • Pull networking updates from David Miller:
    "Highlights:

    1) Maintain the TCP retransmit queue using an rbtree, with 1GB
    windows at 100Gb this really has become necessary. From Eric
    Dumazet.

    2) Multi-program support for cgroup+bpf, from Alexei Starovoitov.

    3) Perform broadcast flooding in hardware in mv88e6xxx, from Andrew
    Lunn.

    4) Add meter action support to openvswitch, from Andy Zhou.

    5) Add a data meta pointer for BPF accessible packets, from Daniel
    Borkmann.

    6) Namespace-ify almost all TCP sysctl knobs, from Eric Dumazet.

    7) Turn on Broadcom Tags in b53 driver, from Florian Fainelli.

    8) More work to move the RTNL mutex down, from Florian Westphal.

    9) Add 'bpftool' utility, to help with bpf program introspection.
    From Jakub Kicinski.

    10) Add new 'cpumap' type for XDP_REDIRECT action, from Jesper
    Dangaard Brouer.

    11) Support 'blocks' of transformations in the packet scheduler which
    can span multiple network devices, from Jiri Pirko.

    12) TC flower offload support in cxgb4, from Kumar Sanghvi.

    13) Priority based stream scheduler for SCTP, from Marcelo Ricardo
    Leitner.

    14) Thunderbolt networking driver, from Amir Levy and Mika Westerberg.

    15) Add RED qdisc offloadability, and use it in mlxsw driver. From
    Nogah Frankel.

    16) eBPF based device controller for cgroup v2, from Roman Gushchin.

    17) Add some fundamental tracepoints for TCP, from Song Liu.

    18) Remove garbage collection from ipv6 route layer, this is a
    significant accomplishment. From Wei Wang.

    19) Add multicast route offload support to mlxsw, from Yotam Gigi"

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (2177 commits)
    tcp: highest_sack fix
    geneve: fix fill_info when link down
    bpf: fix lockdep splat
    net: cdc_ncm: GetNtbFormat endian fix
    openvswitch: meter: fix NULL pointer dereference in ovs_meter_cmd_reply_start
    netem: remove unnecessary 64 bit modulus
    netem: use 64 bit divide by rate
    tcp: Namespace-ify sysctl_tcp_default_congestion_control
    net: Protect iterations over net::fib_notifier_ops in fib_seq_sum()
    ipv6: set all.accept_dad to 0 by default
    uapi: fix linux/tls.h userspace compilation error
    usbnet: ipheth: prevent TX queue timeouts when device not ready
    vhost_net: conditionally enable tx polling
    uapi: fix linux/rxrpc.h userspace compilation errors
    net: stmmac: fix LPI transitioning for dwmac4
    atm: horizon: Fix irq release error
    net-sysfs: trigger netlink notification on ifalias change via sysfs
    openvswitch: Using kfree_rcu() to simplify the code
    openvswitch: Make local function ovs_nsh_key_attr_size() static
    openvswitch: Fix return value check in ovs_meter_cmd_features()
    ...

    Linus Torvalds
     

13 Nov, 2017

1 commit

  • Partially revert commit 2fa365682943 ("kbuild: soften MODULE_LICENSE
    check") so that modpost detects modules that do not have a
    MODULE_LICENSE.

    Sam's commit also changed the fatal error to a warning, which I am
    leaving as is.

    This gives advance notice of when a module has no license and will taint
    the kernel if the module is loaded.

    This produces the following warnings on x86_64 allmodconfig:

    MODPOST 6520 modules
    WARNING: modpost: missing MODULE_LICENSE() in drivers/auxdisplay/img-ascii-lcd.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/gpio/gpio-ath79.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/gpio/gpio-iop.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/iio/accel/kxsd9-i2c.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/iio/adc/qcom-vadc-common.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/media/platform/mtk-vcodec/mtk-vcodec-common.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/media/platform/soc_camera/soc_scale_crop.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/mtd/nand/denali_pci.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/net/phy/cortina.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/pinctrl/pxa/pinctrl-pxa2xx.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/power/reset/zx-reboot.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/rpmsg/qcom_glink_native.o
    WARNING: modpost: missing MODULE_LICENSE() in drivers/staging/comedi/drivers/ni_atmio.o
    WARNING: modpost: missing MODULE_LICENSE() in net/9p/9pnet_xen.o
    WARNING: modpost: missing MODULE_LICENSE() in sound/soc/codecs/snd-soc-pcm512x-spi.o

    Signed-off-by: Randy Dunlap
    Cc: Sam Ravnborg
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     

04 Nov, 2017

1 commit


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
     

30 Oct, 2017

1 commit

  • Several conflicts here.

    NFP driver bug fix adding nfp_netdev_is_nfp_repr() check to
    nfp_fl_output() needed some adjustments because the code block is in
    an else block now.

    Parallel additions to net/pkt_cls.h and net/sch_generic.h

    A bug fix in __tcp_retransmit_skb() conflicted with some of
    the rbtree changes in net-next.

    The tc action RCU callback fixes in 'net' had some overlap with some
    of the recent tcf_block reworking.

    Signed-off-by: David S. Miller

    David S. Miller
     

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

2 commits

  • There were quite a few overlapping sets of changes here.

    Daniel's bug fix for off-by-ones in the new BPF branch instructions,
    along with the added allowances for "data_end > ptr + x" forms
    collided with the metadata additions.

    Along with those three changes came veritifer test cases, which in
    their final form I tried to group together properly. If I had just
    trimmed GIT's conflict tags as-is, this would have split up the
    meta tests unnecessarily.

    In the socketmap code, a set of preemption disabling changes
    overlapped with the rename of bpf_compute_data_end() to
    bpf_compute_data_pointers().

    Changes were made to the mv88e6060.c driver set addr method
    which got removed in net-next.

    The hyperv transport socket layer had a locking change in 'net'
    which overlapped with a change of socket state macro usage
    in 'net-next'.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • 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


03 Oct, 2017

1 commit

  • When two hosts are connected over a Thunderbolt cable, there is a
    protocol they can use to communicate capabilities supported by the host.
    The discovery protocol uses automatically configured control channel
    (ring 0) and is build on top of request/response transactions using
    special XDomain primitives provided by the Thunderbolt base protocol.

    The capabilities consists of a root directory block of basic properties
    used for identification of the host, and then there can be zero or more
    directories each describing a Thunderbolt service and its capabilities.

    Once both sides have discovered what is supported the two hosts can
    setup high-speed DMA paths and transfer data to the other side using
    whatever protocol was agreed based on the properties. The software
    protocol used to communicate which DMA paths to enable is service
    specific.

    This patch adds support for the XDomain discovery protocol to the
    Thunderbolt bus. We model each remote host connection as a Linux XDomain
    device. For each Thunderbolt service found supported on the XDomain
    device, we create Linux Thunderbolt service device which Thunderbolt
    service drivers can then bind to based on the protocol identification
    information retrieved from the property directory describing the
    service.

    This code is based on the work done by Amir Levy and Michael Jamet.

    Signed-off-by: Michael Jamet
    Signed-off-by: Mika Westerberg
    Reviewed-by: Yehezkel Bernat
    Reviewed-by: Andy Shevchenko
    Signed-off-by: David S. Miller

    Mika Westerberg
     

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