Skip to content
  1. Apr 12, 2018
    • Helge Deller's avatar
      parisc: Prevent panic at system halt · 67698287
      Helge Deller authored
      
      
      When issuing a "shutdown -h now", the reboot syscall calls kernel_halt()
      which shouldn't return, otherwise one gets this panic:
      
      reboot: System halted
      Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000000
      CPU: 0 PID: 1 Comm: systemd-shutdow Not tainted 4.16.0-32bit+ #560
      Backtrace:
       [<1018a694>] show_stack+0x18/0x28
       [<106e68a8>] dump_stack+0x80/0x10c
       [<101a4df8>] panic+0xfc/0x290
       [<101a90b8>] do_exit+0x73c/0x914
       [<101c7e38>] SyS_reboot+0x190/0x1d4
       [<1017e444>] syscall_exit+0x0/0x14
      
      Fix it by letting machine_halt() call machine_power_off() which doesn't
      return.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      67698287
  2. Apr 11, 2018
    • Helge Deller's avatar
      parisc: Switch to generic COMPAT_BINFMT_ELF · 71d577db
      Helge Deller authored
      
      
      Drop our own compat binfmt implementation in
      arch/parisc/kernel/binfmt_elf32.c in favour of the generic
      implementation with CONFIG_COMPAT_BINFMT_ELF.
      
      While cleaning up the dependencies, I noticed that ELF_PLATFORM was strangely
      defined: On a 32-bit kernel, it was defined to "PARISC", while when running in
      compat mode on a 64-bit kernel it was defined to "PARISC32". Since it doesn't
      seem to be used in glibc yet, it's now defined in both cases to "PARISC". In
      any case, it can be distinguished because it's either a 32-bit or a 64-bit ELF
      file.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      71d577db
    • Helge Deller's avatar
      parisc: Move cache flush functions into .text.hot section · 2a03bb9e
      Helge Deller authored
      
      
      and move the disable_sr_hashing() C and assembly functions into the
      .init section.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      2a03bb9e
    • Helge Deller's avatar
      parisc/signal: Add FPE_CONDTRAP for conditional trap handling · 75abf642
      Helge Deller authored
      
      
      Posix and common sense requires that SI_USER not be a signal specific
      si_code. Thus add a new FPE_CONDTRAP si_code for conditional traps.
      
      Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      75abf642
    • Linus Torvalds's avatar
      Merge tag 'ceph-for-4.17-rc1' of git://github.com/ceph/ceph-client · b284d4d5
      Linus Torvalds authored
      Pull ceph updates from Ilya Dryomov:
       "The big ticket items are:
      
         - support for rbd "fancy" striping (myself).
      
           The striping feature bit is now fully implemented, allowing mapping
           v2 images with non-default striping patterns. This completes
           support for --image-format 2.
      
         - CephFS quota support (Luis Henriques and Zheng Yan).
      
           This set is based on the new SnapRealm code in the upcoming v13.y.z
           ("Mimic") release. Quota handling will be rejected on older
           filesystems.
      
         - memory usage improvements in CephFS (Chengguang Xu).
      
           Directory specific bits have been split out of ceph_file_info and
           some effort went into improving cap reservation code to avoid OOM
           crashes.
      
        Also included a bunch of assorted fixes all over the place from
        Chengguang and others"
      
      * tag 'ceph-for-4.17-rc1' of git://github.com/ceph/ceph-client: (67 commits)
        ceph: quota: report root dir quota usage in statfs
        ceph: quota: add counter for snaprealms with quota
        ceph: quota: cache inode pointer in ceph_snap_realm
        ceph: fix root quota realm check
        ceph: don't check quota for snap inode
        ceph: quota: update MDS when max_bytes is approaching
        ceph: quota: support for ceph.quota.max_bytes
        ceph: quota: don't allow cross-quota renames
        ceph: quota: support for ceph.quota.max_files
        ceph: quota: add initial infrastructure to support cephfs quotas
        rbd: remove VLA usage
        rbd: fix spelling mistake: "reregisteration" -> "reregistration"
        ceph: rename function drop_leases() to a more descriptive name
        ceph: fix invalid point dereference for error case in mdsc destroy
        ceph: return proper bool type to caller instead of pointer
        ceph: optimize memory usage
        ceph: optimize mds session register
        libceph, ceph: add __init attribution to init funcitons
        ceph: filter out used flags when printing unused open flags
        ceph: don't wait on writeback when there is no more dirty pages
        ...
      b284d4d5
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.17-1' of git://git.infradead.org/linux-platform-drivers-x86 · a7726f6b
      Linus Torvalds authored
      Pull x86 platform driver updates from Andy Shevchenko:
      
       - Dell SMBIOS driver fixed against memory leaks.
      
       - The fujitsu-laptop driver is cleaned up and now supports hotkeys for
         Lifebook U7x7 models. Besides that the typo introduced by one of
         previous clean up series has been fixed.
      
       - Specific to x86-based laptops HID device now supports
         KEY_ROTATE_LOCK_TOGGLE event which is emitted, for example, by Wacom
         MobileStudio Pro 13.
      
       - Turbo MAX 3 technology is enabled for the rest of platforms that
         support Hardware-P-States feature which have core priority described
         by ACPI CPPC table.
      
       - Mellanox on x86 gets better support of I2C bus in use including
         support of hotpluggable ones.
      
       - Silead touchscreen is enabled on two tablet models, i.e Yours Y8W81
         and I.T.Works TW701.
      
       - From now on the second fan on Thinkpad P50 is supported.
      
       - The topstar-laptop driver is reworked to support new models, in
         particular Topstar U931.
      
      * tag 'platform-drivers-x86-v4.17-1' of git://git.infradead.org/linux-platform-drivers-x86: (41 commits)
        platform/x86: thinkpad_acpi: Add 2nd Fan Support for Thinkpad P50
        platform/x86: dell-smbios: Fix memory leaks in build_tokens_sysfs()
        intel-hid: support KEY_ROTATE_LOCK_TOGGLE
        intel-hid: clean up and sort header files
        platform/x86: silead_dmi: Add entry for the Yours Y8W81 tablet
        platform/x86: fujitsu-laptop: Support Lifebook U7x7 hotkeys
        platform/x86: mlx-platform: Add physical bus number auto detection
        platform/mellanox: mlxreg-hotplug: Change input for device create routine
        platform/x86: mlx-platform: Add deffered bus functionality
        platform/x86: mlx-platform: Use define for the channel numbers
        platform/x86: fujitsu-laptop: Revert UNSUPPORTED_CMD back to an int
        platform/x86: Fix dell driver init order
        platform/x86: dell-smbios: Resolve dependency error on ACPI_WMI
        platform/x86: dell-smbios: Resolve dependency error on DCDBAS
        platform/x86: Allow for SMBIOS backend defaults
        platform/x86: dell-smbios: Link all dell-smbios-* modules together
        platform/x86: dell-smbios: Rename dell-smbios source to dell-smbios-base
        platform/x86: dell-smbios: Correct some style warnings
        platform/x86: wmi: Fix misuse of vsprintf extension %pULL
        platform/x86: intel-hid: Reset wakeup capable flag on removal
        ...
      a7726f6b
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.17-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 1b02dcb9
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
       "This time we have couple of new drivers along with updates to drivers:
      
         - new drivers for the DesignWare AXI DMAC and MediaTek High-Speed DMA
           controllers
      
         - stm32 dma and qcom bam dma driver updates
      
         - norandom test option for dmatest"
      
      * tag 'dmaengine-4.17-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (30 commits)
        dmaengine: stm32-dma: properly mask irq bits
        dmaengine: stm32-dma: fix max items per transfer
        dmaengine: stm32-dma: fix DMA IRQ status handling
        dmaengine: stm32-dma: Improve memory burst management
        dmaengine: stm32-dma: fix typo and reported checkpatch warnings
        dmaengine: stm32-dma: fix incomplete configuration in cyclic mode
        dmaengine: stm32-dma: threshold manages with bitfield feature
        dt-bindings: stm32-dma: introduce DMA features bitfield
        dt-bindings: rcar-dmac: Document r8a77470 support
        dmaengine: rcar-dmac: Fix too early/late system suspend/resume callbacks
        dmaengine: dw-axi-dmac: fix spelling mistake: "catched" -> "caught"
        dmaengine: edma: Check the memory allocation for the memcpy dma device
        dmaengine: at_xdmac: fix rare residue corruption
        dmaengine: mediatek: update MAINTAINERS entry with MediaTek DMA driver
        dmaengine: mediatek: Add MediaTek High-Speed DMA controller for MT7622 and MT7623 SoC
        dt-bindings: dmaengine: Add MediaTek High-Speed DMA controller bindings
        dt-bindings: Document the Synopsys DW AXI DMA bindings
        dmaengine: Introduce DW AXI DMAC driver
        dmaengine: pl330: fix a race condition in case of threaded irqs
        dmaengine: imx-sdma: fix pagefault when channel is disabled during interrupt
        ...
      1b02dcb9
    • Linus Torvalds's avatar
      Merge tag 'rproc-v4.17' of git://github.com/andersson/remoteproc · 92589cbd
      Linus Torvalds authored
      Pull remoteproc updates from Bjorn Andersson:
      
       - add support for generating coredumps for remoteprocs using
         devcoredump
      
       - add the Qualcomm sysmon driver for intra-remoteproc crash handling
      
       - a number of fixes in Qualcomm and IMX drivers
      
      * tag 'rproc-v4.17' of git://github.com/andersson/remoteproc:
        remoteproc: fix null pointer dereference on glink only platforms
        soc: qcom: qmi: add CONFIG_NET dependency
        remoteproc: imx_rproc: Slightly simplify code in 'imx_rproc_probe()'
        remoteproc: imx_rproc: Re-use existing error handling path in 'imx_rproc_probe()'
        remoteproc: imx_rproc: Fix an error handling path in 'imx_rproc_probe()'
        samples: Introduce Qualcomm QMI sample client
        remoteproc: qcom: Introduce sysmon
        remoteproc: Pass type of shutdown to subdev remove
        remoteproc: qcom: Register segments for core dump
        soc: qcom: mdt-loader: Return relocation base
        remoteproc: Rename "load_rsc_table" to "parse_fw"
        remoteproc: Ad...
      92589cbd
    • Linus Torvalds's avatar
      Merge tag 'rpmsg-v4.17' of git://github.com/andersson/remoteproc · 9ab89c40
      Linus Torvalds authored
      Pull rpmsg updates from Bjorn Andersson:
      
       - transition the rpmsg_trysend() code paths of SMD and GLINK to use
         non-sleeping locks
      
       - revert the overly optimistic handling of discovered SMD channels
      
       - fix an issue in SMD where incoming messages race with the probing of
         a client driver
      
      * tag 'rpmsg-v4.17' of git://github.com/andersson/remoteproc:
        rpmsg: smd: Use announce_create to process any receive work
        rpmsg: Only invoke announce_create for rpdev with endpoints
        rpmsg: smd: Fix container_of macros
        Revert "rpmsg: smd: Create device for all channels"
        rpmsg: glink: Use spinlock in tx path
        rpmsg: smd: Use spinlock in tx path
        rpmsg: smd: use put_device() if device_register fail
        rpmsg: glink: use put_device() if device_register fail
      9ab89c40
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · f77cfbe6
      Linus Torvalds authored
      Pull c6x updates from Mark Salter.
      
      * tag 'for-linus' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        c6x: pass endianness info to sparse
        c6x: fix platforms/plldata.c get_coreid build error
        c6x: remove unused KTHREAD_SIZE definition
      f77cfbe6
    • Linus Torvalds's avatar
      Merge tag 'mips_4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/jhogan/mips · 948869fa
      Linus Torvalds authored
      Pull MIPS updates from James Hogan:
       "These are the main MIPS changes for 4.17. Rough overview:
      
         (1) generic platform: Add support for Microsemi Ocelot SoCs
      
         (2) crypto: Add CRC32 and CRC32C HW acceleration module
      
         (3) Various cleanups and misc improvements
      
        More detailed summary:
      
        Miscellaneous:
         - hang more efficiently on halt/powerdown/restart
         - pm-cps: Block system suspend when a JTAG probe is present
         - expand make help text for generic defconfigs
         - refactor handling of legacy defconfigs
         - determine the entry point from the ELF file header to fix microMIPS
           for certain toolchains
         - introduce isa-rev.h for MIPS_ISA_REV and use to simplify other code
      
        Minor cleanups:
         - DTS: boston/ci20: Unit name cleanups and correction
         - kdump: Make the default for PHYSICAL_START always 64-bit
         - constify gpio_led in Alchemy, AR7, and TXX9
         - silence a couple of W=1 warnings
         - remove dupli...
      948869fa
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 2a56bb59
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "New features:
      
         - Tom Zanussi's extended histogram work.
      
           This adds the synthetic events to have histograms from multiple
           event data Adds triggers "onmatch" and "onmax" to call the
           synthetic events Several updates to the histogram code from this
      
         - Allow way to nest ring buffer calls in the same context
      
         - Allow absolute time stamps in ring buffer
      
         - Rewrite of filter code parsing based on Al Viro's suggestions
      
         - Setting of trace_clock to global if TSC is unstable (on boot)
      
         - Better OOM handling when allocating large ring buffers
      
         - Added initcall tracepoints (consolidated initcall_debug code with
           them)
      
        And other various fixes and clean ups"
      
      * tag 'trace-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (68 commits)
        init: Have initcall_debug still work without CONFIG_TRACEPOINTS
        init, tracing: Have printk come through the trace events for initcall_debug
        init, tracing: instrument security and console initcall trace events
        init, tracing: Add initcall trace events
        tracing: Add rcu dereference annotation for test func that touches filter->prog
        tracing: Add rcu dereference annotation for filter->prog
        tracing: Fixup logic inversion on setting trace_global_clock defaults
        tracing: Hide global trace clock from lockdep
        ring-buffer: Add set/clear_current_oom_origin() during allocations
        ring-buffer: Check if memory is available before allocation
        lockdep: Add print_irqtrace_events() to __warn
        vsprintf: Do not preprocess non-dereferenced pointers for bprintf (%px and %pK)
        tracing: Uninitialized variable in create_tracing_map_fields()
        tracing: Make sure variable string fields are NULL-terminated
        tracing: Add action comparisons when testing matching hist triggers
        tracing: Don't add flag strings when displaying variable references
        tracing: Fix display of hist trigger expressions containing timestamps
        ftrace: Drop a VLA in module_exists()
        tracing: Mention trace_clock=global when warning about unstable clocks
        tracing: Default to using trace_global_clock if sched_clock is unstable
        ...
      2a56bb59
    • Linus Torvalds's avatar
      Merge tag 'libnvdimm-for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 9f3a0941
      Linus Torvalds authored
      Pull libnvdimm updates from Dan Williams:
       "This cycle was was not something I ever want to repeat as there were
        several late changes that have only now just settled.
      
        Half of the branch up to commit d2c997c0 ("fs, dax: use
        page->mapping to warn...") have been in -next for several releases.
        The of_pmem driver and the address range scrub rework were late
        arrivals, and the dax work was scaled back at the last moment.
      
        The of_pmem driver missed a previous merge window due to an oversight.
        A sense of obligation to rectify that miss is why it is included for
        4.17. It has acks from PowerPC folks. Stephen reported a build failure
        that only occurs when merging it with your latest tree, for now I have
        fixed that up by disabling modular builds of of_pmem. A test merge
        with your tree has received a build success report from the 0day robot
        over 156 configs.
      
        An initial version of the ARS rework was submitted before the merge
        window. It is self contained to libnvdimm, a net code reduction, and
        passing all unit tests.
      
        The filesystem-dax changes are based on the wait_var_event()
        functionality from tip/sched/core. However, late review feedback
        showed that those changes regressed truncate performance to a large
        degree. The branch was rewound to drop the truncate behavior change
        and now only includes preparation patches and cleanups (with full acks
        and reviews). The finalization of this dax-dma-vs-trnucate work will
        need to wait for 4.18.
      
        Summary:
      
         - A rework of the filesytem-dax implementation provides for detection
           of unmap operations (truncate / hole punch) colliding with
           in-progress device-DMA. A fix for these collisions remains a
           work-in-progress pending resolution of truncate latency and
           starvation regressions.
      
         - The of_pmem driver expands the users of libnvdimm outside of x86
           and ACPI to describe an implementation of persistent memory on
           PowerPC with Open Firmware / Device tree.
      
         - Address Range Scrub (ARS) handling is completely rewritten to
           account for the fact that ARS may run for 100s of seconds and there
           is no platform defined way to cancel it. ARS will now no longer
           block namespace initialization.
      
         - The NVDIMM Namespace Label implementation is updated to handle
           label areas as small as 1K, down from 128K.
      
         - Miscellaneous cleanups and updates to unit test infrastructure"
      
      * tag 'libnvdimm-for-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm: (39 commits)
        libnvdimm, of_pmem: workaround OF_NUMA=n build error
        nfit, address-range-scrub: add module option to skip initial ars
        nfit, address-range-scrub: rework and simplify ARS state machine
        nfit, address-range-scrub: determine one platform max_ars value
        powerpc/powernv: Create platform devs for nvdimm buses
        doc/devicetree: Persistent memory region bindings
        libnvdimm: Add device-tree based driver
        libnvdimm: Add of_node to region and bus descriptors
        libnvdimm, region: quiet region probe
        libnvdimm, namespace: use a safe lookup for dimm device name
        libnvdimm, dimm: fix dpa reservation vs uninitialized label area
        libnvdimm, testing: update the default smart ctrl_temperature
        libnvdimm, testing: Add emulation for smart injection commands
        nfit, address-range-scrub: introduce nfit_spa->ars_state
        libnvdimm: add an api to cast a 'struct nd_region' to its 'struct device'
        nfit, address-range-scrub: fix scrub in-progress reporting
        dax, dm: allow device-mapper to operate without dax support
        dax: introduce CONFIG_DAX_DRIVER
        fs, dax: use page->mapping to warn if truncate collides with a busy page
        ext2, dax: introduce ext2_dax_aops
        ...
      9f3a0941
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · fbe173e3
      Linus Torvalds authored
      Pull RTC updates from Alexandre Belloni:
       "This contains a few series that have been in preparation for a while
        and that will help systems with RTCs that will fail in 2038, 2069 or
        2100.
      
        Subsystem:
         - Add tracepoints
         - Rework of the RTC/nvmem API to allow drivers to discard struct
           nvmem_config after registration
         - New range API, drivers can now expose the useful range of the RTC
         - New offset API the core is now able to add an offset to the RTC
           time, modifying the supported range.
         - Multiple rtc_time64_to_tm fixes
         - Handle time_t overflow on 32 bit platforms in the core instead of
           letting drivers do crazy things.
         - remove rtc_control API
      
        New driver:
         - Intersil ISL12026
      
        Drivers:
         - Drivers exposing the RTC non volatile memory have been converted to
           use nvmem
         - Removed useless time and date validation
         - Removed an indirection pattern that was a cargo cult from a...
      fbe173e3
    • Linus Torvalds's avatar
      Merge tag 'fbdev-v4.17' of git://github.com/bzolnier/linux · 5e630afd
      Linus Torvalds authored
      Pull fbdev updates from Bartlomiej Zolnierkiewicz:
       "There is nothing really major here, just a couple of small bugfixes,
        improvements and cleanups:
      
         - make it possible to load radeonfb driver when offb driver is loaded
           first (Mathieu Malaterre)
      
         - fix memory leak in offb driver (Mathieu Malaterre)
      
         - fix unaligned access in udlfb driver (Ladislav Michl)
      
         - convert atmel_lcdfb driver to use GPIO descriptors (Ludovic
           Desroches)
      
         - avoid mismatched prototypes in sisfb driver (Arnd Bergmann)
      
         - remove VLA usage from viafb driver (Gustavo A. R. Silva)
      
         - add missing help text to FB_I810_I2 config option (Ulf Magnusson)
      
         - misc fixes (Gustavo A. R. Silva, Colin Ian King, Markus Elfring)
      
         - remove dead code from s3c-fb driver for Exynos and S5PV210
           platforms
      
         - misc cleanups (Corentin Labbe, Ladislav Michl, Ulf Magnusson,
           Vladimir Zapolskiy, Markus Elfring)"
      
      * tag 'fbdev-v4.17' of git://github.com/bzolnier/linux: (32 commits)
        video: fbdev: s3c-fb: remove dead platform code for Exynos and S5PV210 platforms
        video: au1100fb: Delete an unnecessary variable initialisation in au1100fb_drv_probe()
        video: au1100fb: Improve a size determination in au1100fb_drv_probe()
        video: au1100fb: Delete an error message for a failed memory allocation in au1100fb_drv_probe()
        video/console/sticore: Delete an error message for a failed memory allocation in sti_try_rom_generic()
        video: ARM CLCD: Improve a size determination in clcdfb_probe()
        video: ARM CLCD: Delete an error message for a failed memory allocation in clcdfb_probe()
        video: matroxfb: Delete an error message for a failed memory allocation in matroxfb_crtc2_probe()
        video: s3c-fb: Improve a size determination in s3c_fb_probe()
        video: s3c-fb: Delete an error message for a failed memory allocation in s3c_fb_probe()
        video: fsl-diu-fb: Delete an error message for a failed memory allocation in fsl_diu_init()
        video: ssd1307fb: Improve a size determination in ssd1307fb_probe()
        video: smscufx: Delete an error message for a failed memory allocation in ufx_realloc_framebuffer()
        video: smscufx: Return an error code only as a constant in ufx_realloc_framebuffer()
        video: smscufx: Less checks in ufx_usb_probe() after error detection
        video: udlfb: Return an error code only as a constant in dlfb_realloc_framebuffer()
        video/fbdev/stifb: Delete an error message for a failed memory allocation in stifb_init_fb()
        video/fbdev/stifb: Return -ENOMEM after a failed kzalloc() in stifb_init_fb()
        video: fbdev: aty128fb: use true and false for boolean values
        fbdev: aty: fix missing indentation in if statement
        ...
      5e630afd
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 7aa1cf25
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "The main purpose of this pull request is a fix for a regression in the
        recent PCM OSS emulation code that may lead to RCU stall. Since
        syzkaller hits this too often, I send the pull request now with a
        minimal collection. Possibly another pull request may follow before
        RC1.
      
        The other fixes here are for USB-audio class 2 and 3 to improve the
        parser for the clock descriptors. These are rather cleanups but good
        for security, too.
      
        Last but not least, another included fix is the trivial one to remove
        superfluous WARN_ON() that annoyed syzbot"
      
      * tag 'sound-fix-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: pcm: Remove WARN_ON() at snd_pcm_hw_params() error
        ALSA: pcm: Fix endless loop for XRUN recovery in OSS emulation
        ALSA: usb-audio: Add sanity checks in UAC3 clock parsers
        ALSA: usb-audio: More strict sanity checks for clock parsers
        ALSA: usb-audio: Refactor clock finder helpers
      7aa1cf25
    • Linus Torvalds's avatar
      Merge tag 'media/v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · d3626005
      Linus Torvalds authored
      Pull media fixes from Mauro Carvalho Chehab:
       "A series of media updates/fixes for 4.17.
      
        There are two important core fix patches in this series:
      
         - A regression fix on Kernel 4.16 with causes it to not work with
           some input devices that depend on media core
      
         - A fix at compat32 bits with causes it to OOPS on overlay, and
           affects the Kernels where the CVE-2017-13166 was backported
      
        The remaining ones are other random fixes at the documentation and on
        drivers.
      
        The biggest part of this series is a set of 18 patches for the Intel
        atomisp driver. Currently, it produces hundreds of warnings/errors on
        sparse/smatch, causing me to sometimes ignore new warnings on other
        drivers that are not so broken. This driver is on really poor state,
        even for staging standards: it has several layers of abstraction on
        it, and it supports two different hardware. Selecting between them
        require to add a define (there isn't even a Kconfig option for such
        purpose). Just on this smatch cleanup, I could easily get rid of 8
        "do-nothing" files. So, I'm seriously considering its removal from
        upstream, if I don't see any real work on addressing the problems
        there along this year"
      
      * tag 'media/v4.17-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (48 commits)
        media: v4l2-core: fix size of devnode_nums[] bitarray
        media: v4l2-compat-ioctl32: don't oops on overlay
        media: i2c: adv748x: afe: fix sparse warning
        media: extended-controls.rst: transmitter -> receiver
        media: staging: atomisp: stop duplicating input format types
        media: staging: atomisp: get rid of an unused var
        media: staging: atomisp: stop mixing enum types
        media: staging: atomisp: get rid of some static warnings
        media: staging: atomisp: use %p to print pointers
        media: staging: atomisp: remove an useless check
        media: staging: atomisp: avoid a warning if 32 bits build
        media: staging: atomisp: don't access a NULL var
        media: staging: atomisp: Get rid of *default.host.[ch]
        media: staging: atomisp: get rid of an unused function
        media: staging: atomisp: remove unused set_pd_base()
        media: staging: atomisp: fix endianess issues
        media: staging: atomisp: add a missing include
        media: staging: atomisp: get rid of stupid statements
        media: staging: atomisp: declare static vars as such
        media: staging: atomisp: ia_css_output.host: don't use var before check
        ...
      d3626005
  3. Apr 10, 2018
    • Luc Van Oostenryck's avatar
      c6x: pass endianness info to sparse · 85fa2cc5
      Luc Van Oostenryck authored
      
      
      c6x depends on the macro '_BIG_ENDIAN' being defined or not
      to correctly select or define endian-specific macros, structures
      or pieces of code.
      
      This macro is predefined by the compiler but sparse knows nothing
      about it and thus may pre-process files differently from what
      gcc would.
      
      Fix this by passing '-D_BIG_ENDIAN' when compiling a big-endian
      kernel, like GCC would have done.
      
      To: Mark Salter <msalter@redhat.com>
      To: Aurelien Jacquiot <a-jacquiot@ti.com>
      CC: linux-c6x-dev@linux-c6x.org
      Signed-off-by: default avatarLuc Van Oostenryck <luc.vanoostenryck@gmail.com>
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      85fa2cc5
    • Randy Dunlap's avatar
      c6x: fix platforms/plldata.c get_coreid build error · 319938bd
      Randy Dunlap authored
      
      
      Fix build error reported by the 0day bot by including the header
      file for that macro.
      
      Fixes this build error: (should fix; not tested)
      arch/c6x/platforms/plldata.c: In function 'c6472_setup_clocks':
      arch/c6x/platforms/plldata.c:279:33: error: implicit declaration of function 'get_coreid'; did you mean 'get_order'? [-Werror=implicit-function-declaration]
            c6x_core_clk.parent = &sysclks[get_coreid() + 1];
      
      Reported-by: default avatarFengguang Wu <fengguang.wu@intel.com>
      Cc: Mark Salter <msalter@redhat.com>
      Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com>
      Cc: linux-c6x-dev@linux-c6x.org
      Cc: Ingo Molnar <mingo@kernel.org>
      
      Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      319938bd
    • Jérémy Lefaure's avatar
      c6x: remove unused KTHREAD_SIZE definition · f5ad907e
      Jérémy Lefaure authored
      
      
      KTHREAD_SIZE has never been used since it has been defined for c6x arch.
      Let's remove this useless definition.
      
      Signed-off-by: default avatarJérémy Lefaure <jeremy.lefaure@lse.epita.fr>
      Signed-off-by: default avatarMark Salter <msalter@redhat.com>
      f5ad907e
    • Vinod Koul's avatar
      Merge branch 'topic/stm' into for-linus · 2ffb850e
      Vinod Koul authored
      2ffb850e
    • Vinod Koul's avatar
      Merge branch 'topic/renesas' into for-linus · 3a7b854d
      Vinod Koul authored
      3a7b854d
    • Vinod Koul's avatar
      Merge branch 'topic/raid' into for-linus · 477e0f90
      Vinod Koul authored
      477e0f90
    • Vinod Koul's avatar
      Merge branch 'topic/qcom' into for-linus · 185a6cdb
      Vinod Koul authored
      185a6cdb
    • Vinod Koul's avatar
      Merge branch 'topic/pl330' into for-linus · f18b4619
      Vinod Koul authored
      f18b4619
    • Vinod Koul's avatar
      Merge branch 'topic/mtek' into for-linus · c21bd0a8
      Vinod Koul authored
      c21bd0a8
    • Vinod Koul's avatar
      Merge branch 'topic/imx' into for-linus · ab2528c1
      Vinod Koul authored
      ab2528c1
    • Vinod Koul's avatar
      Merge branch 'topic/edma' into for-linus · 238eed66
      Vinod Koul authored
      238eed66
    • Vinod Koul's avatar
      Merge branch 'topic/dw_axi' into for-linus · 62065132
      Vinod Koul authored
      62065132
    • Vinod Koul's avatar
      Merge branch 'topic/dmatest' into for-linus · 36ebe2b9
      Vinod Koul authored
      36ebe2b9
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.17' of... · 71219b34
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
      
       - added chip support: new Centaur CPUs, ADM1272, NCT6796D
      
       - ucd9000: added debugfs attributes, gpio support
      
       - cleanup and minor bug fixes
      
      * tag 'hwmon-for-linus-v4.17' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (via-cputemp) support new centaur CPUs
        hwmon: (nct6775) Fix writing pwmX_mode
        hwmon: (lm92) Add max6635 to lm92_id[]
        hwmon: (pmbus/adm1275) Add support for ADM1272
        hwmon: (lm92) Do not try to detect MAX6635
        hwmon: (ucd9000) Add debugfs attributes to provide mfr_status
        hwmon: (ucd9000) Add gpio chip interface
        hwmon: (nct6775) Add support for NCT6796D
        hwmon: (nct6775) Initialize boolean variables with declaration
        hwmon: (nct6775) Improve fan6/pwm6 support
        hwmon: (nct6775) Use NUM_FAN consistently
        hwmon: (g762) handle cleanup with devm_add_action
        hwmon: (sht3x) Update data sheet URL
        hwmon: (sht21) Update data sheet URLs
        hwmon: (pmbus/adm1275) Accept negative page register values
        hwmon: (pmbus/max8688) Accept negative page register values
      71219b34
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · c18bb396
      Linus Torvalds authored
      Pull networking fixes from David Miller:
      
       1) The sockmap code has to free socket memory on close if there is
          corked data, from John Fastabend.
      
       2) Tunnel names coming from userspace need to be length validated. From
          Eric Dumazet.
      
       3) arp_filter() has to take VRFs properly into account, from Miguel
          Fadon Perlines.
      
       4) Fix oops in error path of tcf_bpf_init(), from Davide Caratti.
      
       5) Missing idr_remove() in u32_delete_key(), from Cong Wang.
      
       6) More syzbot stuff. Several use of uninitialized value fixes all
          over, from Eric Dumazet.
      
       7) Do not leak kernel memory to userspace in sctp, also from Eric
          Dumazet.
      
       8) Discard frames from unused ports in DSA, from Andrew Lunn.
      
       9) Fix DMA mapping and reset/failover problems in ibmvnic, from Thomas
          Falcon.
      
      10) Do not access dp83640 PHY registers prematurely after reset, from
          Esben Haabendal.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (46 commits)
        vhost-net: set packet weight of tx polling to 2 * vq size
        net: thunderx: rework mac addresses list to u64 array
        inetpeer: fix uninit-value in inet_getpeer
        dp83640: Ensure against premature access to PHY registers after reset
        devlink: convert occ_get op to separate registration
        ARM: dts: ls1021a: Specify TBIPA register address
        net/fsl_pq_mdio: Allow explicit speficition of TBIPA address
        ibmvnic: Do not reset CRQ for Mobility driver resets
        ibmvnic: Fix failover case for non-redundant configuration
        ibmvnic: Fix reset scheduler error handling
        ibmvnic: Zero used TX descriptor counter on reset
        ibmvnic: Fix DMA mapping mistakes
        tipc: use the right skb in tipc_sk_fill_sock_diag()
        sctp: sctp_sockaddr_af must check minimal addr length for AF_INET6
        net: dsa: Discard frames from unused ports
        sctp: do not leak kernel memory to user space
        soreuseport: initialise timewait reuseport field
        ipv4: fix uninit-value in ip_route_output_key_hash_rcu()
        dccp: initialize ireq->ir_mark
        net: fix uninit-value in __hw_addr_add_ex()
        ...
      c18bb396
    • Linus Torvalds's avatar
      Merge branch 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · fd3b36d2
      Linus Torvalds authored
      Pull vfs namei updates from Al Viro:
      
       - make lookup_one_len() safe with parent locked only shared(incoming
         afs series wants that)
      
       - fix of getname_kernel() regression from 2015 (-stable fodder, that
         one).
      
      * 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        getname_kernel() needs to make sure that ->name != ->iname in long case
        make lookup_one_len() safe to use with directory locked shared
        new helper: __lookup_slow()
        merge common parts of lookup_one_len{,_unlocked} into common helper
      fd3b36d2
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.17-ofs' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · 8ea4a5d8
      Linus Torvalds authored
      Pull orangefs updates from Mike Marshall:
       "Fixes and cleanups:
      
         - Documentation cleanups
      
         - removal of unused code
      
         - make some structs static
      
         - implement Orangefs vm_operations fault callout
      
         - eliminate two single-use functions and put their cleaned up code in
           line.
      
         - replace a vmalloc/memset instance with vzalloc
      
         - fix a race condition bug in wait code"
      
      * tag 'for-linus-4.17-ofs' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        Orangefs: documentation updates
        orangefs: document package install and xfstests procedure
        orangefs: remove unused code
        orangefs: make several *_operations structs static
        orangefs: implement vm_ops->fault
        orangefs: open code short single-use functions
        orangefs: replace vmalloc and memset with vzalloc
        orangefs: bug fix for a race condition when getting a slot
      8ea4a5d8
    • Linus Torvalds's avatar
      Merge tag 'pstore-v4.17-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 190f2ace
      Linus Torvalds authored
      Pull pstore fix from Kees Cook:
       "Fix another compression Kconfig combination missed in testing (Tobias
        Regnery)"
      
      * tag 'pstore-v4.17-rc1-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore: fix crypto dependencies without compression
      190f2ace
    • Stephen Smalley's avatar
      selinux: fix missing dput() before selinuxfs unmount · fd40ffc7
      Stephen Smalley authored
      Commit 0619f0f5 ("selinux: wrap selinuxfs state") triggers a BUG
      when SELinux is runtime-disabled (i.e. systemd or equivalent disables
      SELinux before initial policy load via /sys/fs/selinux/disable based on
      /etc/selinux/config SELINUX=disabled).
      
      This does not manifest if SELinux is disabled via kernel command line
      argument or if SELinux is enabled (permissive or enforcing).
      
      Before:
        SELinux:  Disabled at runtime.
        BUG: Dentry 000000006d77e5c7{i=17,n=null}  still in use (1) [unmount of selinuxfs selinuxfs]
      
      After:
        SELinux:  Disabled at runtime.
      
      Fixes: 0619f0f5
      
       ("selinux: wrap selinuxfs state")
      Reported-by: default avatarTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
      Reported-by: default avatarDmitry Vyukov <dvyukov@google.com>
      Signed-off-by: default avatarStephen Smalley <sds@tycho.nsa.gov>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fd40ffc7
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · d8312a3f
      Linus Torvalds authored
      Pull kvm updates from Paolo Bonzini:
       "ARM:
         - VHE optimizations
      
         - EL2 address space randomization
      
         - speculative execution mitigations ("variant 3a", aka execution past
           invalid privilege register access)
      
         - bugfixes and cleanups
      
        PPC:
         - improvements for the radix page fault handler for HV KVM on POWER9
      
        s390:
         - more kvm stat counters
      
         - virtio gpu plumbing
      
         - documentation
      
         - facilities improvements
      
        x86:
         - support for VMware magic I/O port and pseudo-PMCs
      
         - AMD pause loop exiting
      
         - support for AMD core performance extensions
      
         - support for synchronous register access
      
         - expose nVMX capabilities to userspace
      
         - support for Hyper-V signaling via eventfd
      
         - use Enlightened VMCS when running on Hyper-V
      
         - allow userspace to disable MWAIT/HLT/PAUSE vmexits
      
         - usual roundup of optimizations and nested virtualization bugfixes
      
        Generic:
         - API selftest infrastructure (though the only tests are for x86 as
           of now)"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (174 commits)
        kvm: x86: fix a prototype warning
        kvm: selftests: add sync_regs_test
        kvm: selftests: add API testing infrastructure
        kvm: x86: fix a compile warning
        KVM: X86: Add Force Emulation Prefix for "emulate the next instruction"
        KVM: X86: Introduce handle_ud()
        KVM: vmx: unify adjacent #ifdefs
        x86: kvm: hide the unused 'cpu' variable
        KVM: VMX: remove bogus WARN_ON in handle_ept_misconfig
        Revert "KVM: X86: Fix SMRAM accessing even if VM is shutdown"
        kvm: Add emulation for movups/movupd
        KVM: VMX: raise internal error for exception during invalid protected mode state
        KVM: nVMX: Optimization: Dont set KVM_REQ_EVENT when VMExit with nested_run_pending
        KVM: nVMX: Require immediate-exit when event reinjected to L2 and L1 event pending
        KVM: x86: Fix misleading comments on handling pending exceptions
        KVM: x86: Rename interrupt.pending to interrupt.injected
        KVM: VMX: No need to clear pending NMI/interrupt on inject realmode interrupt
        x86/kvm: use Enlightened VMCS when running on Hyper-V
        x86/hyper-v: detect nested features
        x86/hyper-v: define struct hv_enlightened_vmcs and clean field bits
        ...
      d8312a3f
    • Dan Williams's avatar
      e13e75b8
    • Dan Williams's avatar
    • Linus Torvalds's avatar
      Fix subtle macro variable shadowing in min_not_zero() · e9092d0d
      Linus Torvalds authored
      Commit 3c8ba0d6 ("kernel.h: Retain constant expression output for
      max()/min()") rewrote our min/max macros to be very clever, but in the
      meantime resurrected a variable name shadow issue that we had had
      previously fixed in commit 589a9785 ("min/max: remove sparse
      warnings when they're nested").
      
      That commit talks about the sparse warnings that this shadowing causes,
      which we ignored as just a minor annoyance.  But it turns out that the
      sparse warning is the least of our problems.  We actually have a real
      bug due to the shadowing through the interaction with "min_not_zero()",
      which ends up doing
      
         min(__x, __y)
      
      internally, and then the new declaration of "__x" and "__y" as new
      variables in __cmp_once() results in a complete mess of an expression,
      and "min_not_zero()" doesn't work at all.
      
      For some odd reason, this only ever caused (reported) problems on s390,
      even though it is a generic issue and most of the (obviously successful)
      testing of the problematic commit had happened on other architectures.
      
      Quoting Sebastian Ott:
       "What happened is that the bio build by the partition detection code
        was attempted to be split by the block layer because the block queue
        had a max_sector setting of 0. blk_queue_max_hw_sectors uses
        min_not_zero."
      
      So re-introduce the use of __UNIQUE_ID() to make sure that the min/max
      macros do not have these kinds of clashes.
      
      [ That said, __UNIQUE_ID() itself has several issues that make it less
        than wonderful.
      
        In particular, the "uniqueness" has a fallback on the line number,
        which means that it's not actually unique in more complex cases if you
        don't build with gcc or clang (which have working unique counters that
        aren't tied to line numbers).
      
        That historical broken fallback also means that we have that pointless
        "prefix" argument that doesn't actually make much sense _except_ for
        the known-broken case. Oh well. ]
      
      Fixes: 3c8ba0d6
      
       ("kernel.h: Retain constant expression output for max()/min()")
      Reported-and-tested-by: default avatarSebastian Ott <sebott@linux.vnet.ibm.com>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Ingo Molnar <mingo@kernel.org>
      Cc: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e9092d0d