30 Jan, 2017

6 commits

  • This patch fixes the following warning message seen when booting the
    kernel as Dom0 with Xen on Intel machines.

    [0.003000] [Firmware Bug]: CPU1: APIC id mismatch. Firmware: 0 APIC: 1]

    The code generating the warning in validate_apic_and_package_id() matches
    cpu_data(cpu).apicid (initialized in init_intel()->
    detect_extended_topology() using cpuid) against the apicid returned from
    xen_apic_read(). Now, xen_apic_read() makes a hypercall to retrieve apicid
    for the boot cpu but returns 0 otherwise. Hence the warning gets thrown
    for all but the boot cpu.

    The idea behind xen_apic_read() returning 0 for apicid is that the
    guests (even Dom0) should not need to know what physical processor their
    vcpus are running on. This is because we currently do not have topology
    information in Xen and also because xen allows more vcpus than physical
    processors. However, boot cpu's apicid is required for loading
    xen-acpi-processor driver on AMD machines. Look at following patch for
    details:

    commit 558daa289a40 ("xen/apic: Return the APIC ID (and version) for CPU
    0.")

    So to get rid of the warning, this patch modifies
    xen_cpu_present_to_apicid() to return cpu_data(cpu).apicid instead of
    calling xen_apic_read().

    The warning is not seen on AMD machines because init_amd() populates
    cpu_data(cpu).apicid by calling hard_smp_processor_id()->xen_apic_read()
    as opposed to using apicid from cpuid as is done on Intel machines.

    Signed-off-by: Mohit Gambhir
    Reviewed-by: Juergen Gross
    Signed-off-by: Boris Ostrovsky

    Mohit Gambhir
     
  • The default for the maximum number of tx/rx queues of one interface is
    the number of cpus of the system today. As each queue pair reserves 512
    grant pages this default consumes a ridiculous number of grants for
    large guests.

    Limit the queue number to 8 as default. This value can be modified
    via a module parameter if required.

    Signed-off-by: Juergen Gross
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Boris Ostrovsky

    Juergen Gross
     
  • The default for the number of tx/rx queues of one interface is the
    number of vcpus of the system today. As each queue pair reserves 512
    grant pages this default consumes a ridiculous number of grants for
    large guests.

    Limit the queue number to 8 as default. This value can be modified
    via a module parameter if required.

    Signed-off-by: Juergen Gross
    Reviewed-by: Boris Ostrovsky
    Signed-off-by: Boris Ostrovsky

    Juergen Gross
     
  • Linus Torvalds
     
  • I've seen this trigger twice now, where the i915_gem_object_to_ggtt()
    call in intel_unpin_fb_obj() returns NULL, resulting in an oops
    immediately afterwards as the (inlined) call to i915_vma_unpin_fence()
    tries to dereference it.

    It seems to be some race condition where the object is going away at
    shutdown time, since both times happened when shutting down the X
    server. The call chains were different:

    - VT ioctl(KDSETMODE, KD_TEXT):

    intel_cleanup_plane_fb+0x5b/0xa0 [i915]
    drm_atomic_helper_cleanup_planes+0x6f/0x90 [drm_kms_helper]
    intel_atomic_commit_tail+0x749/0xfe0 [i915]
    intel_atomic_commit+0x3cb/0x4f0 [i915]
    drm_atomic_commit+0x4b/0x50 [drm]
    restore_fbdev_mode+0x14c/0x2a0 [drm_kms_helper]
    drm_fb_helper_restore_fbdev_mode_unlocked+0x34/0x80 [drm_kms_helper]
    drm_fb_helper_set_par+0x2d/0x60 [drm_kms_helper]
    intel_fbdev_set_par+0x18/0x70 [i915]
    fb_set_var+0x236/0x460
    fbcon_blank+0x30f/0x350
    do_unblank_screen+0xd2/0x1a0
    vt_ioctl+0x507/0x12a0
    tty_ioctl+0x355/0xc30
    do_vfs_ioctl+0xa3/0x5e0
    SyS_ioctl+0x79/0x90
    entry_SYSCALL_64_fastpath+0x13/0x94

    - i915 unpin_work workqueue:

    intel_unpin_work_fn+0x58/0x140 [i915]
    process_one_work+0x1f1/0x480
    worker_thread+0x48/0x4d0
    kthread+0x101/0x140

    and this patch purely papers over the issue by adding a NULL pointer
    check and a WARN_ON_ONCE() to avoid the oops that would then generally
    make the machine unresponsive.

    Other callers of i915_gem_object_to_ggtt() seem to also check for the
    returned pointer being NULL and warn about it, so this clearly has
    happened before in other places.

    [ Reported it originally to the i915 developers on Jan 8, applying the
    ugly workaround on my own now after triggering the problem for the
    second time with no feedback.

    This is likely to be the same bug reported as

    https://bugs.freedesktop.org/show_bug.cgi?id=98829
    https://bugs.freedesktop.org/show_bug.cgi?id=99134

    which has a patch for the underlying problem, but it hasn't gotten to
    me, so I'm applying the workaround. ]

    Cc: Daniel Vetter
    Cc: Jani Nikula
    Cc: Ville Syrjälä
    Cc: Chris Wilson
    Cc: Maarten Lankhorst
    Cc: Tvrtko Ursulin
    Cc: Imre Deak
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • Pull two parisc fixes from Helge Deller:
    "One fix to avoid usage of BITS_PER_LONG in user-space exported swab.h
    header which breaks compiling qemu, and one trivial fix for printk
    continuation in the parisc parport driver"

    * 'parisc-4.10-3' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
    parisc: Don't use BITS_PER_LONG in userspace-exported swab.h header
    parisc, parport_gsc: Fixes for printk continuation lines

    Linus Torvalds
     

29 Jan, 2017

7 commits

  • Pull i2c fixes from Wolfram Sang:
    "Two I2C driver bugfixes.

    The 'VLLS mode support' patch should have been entitled 'reconfigure
    pinctrl after suspend' to make the bugfix more clear. Sorry, I missed
    that, yet didn't want to rebase"

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: imx-lpi2c: add VLLS mode support
    i2c: i2c-cadence: Initialize configuration before probing devices

    Linus Torvalds
     
  • In swab.h the "#if BITS_PER_LONG > 32" breaks compiling userspace programs if
    BITS_PER_LONG is #defined by userspace with the sizeof() compiler builtin.

    Solve this problem by using __BITS_PER_LONG instead. Since we now
    #include asm/bitsperlong.h avoid further potential userspace pollution
    by moving the #define of SHIFT_PER_LONG to bitops.h which is not
    exported to userspace.

    This patch unbreaks compiling qemu on hppa/parisc.

    Signed-off-by: Helge Deller
    Cc:

    Helge Deller
     
  • Signed-off-by: Helge Deller

    Helge Deller
     
  • Pull NFS client bugfixes from Trond Myklebust:
    "Stable patches:
    - NFSv4.1: Fix a deadlock in layoutget
    - NFSv4 must not bump sequence ids on NFS4ERR_MOVED errors
    - NFSv4 Fix a regression with OPEN EXCLUSIVE4 mode
    - Fix a memory leak when removing the SUNRPC module

    Bugfixes:
    - Fix a reference leak in _pnfs_return_layout"

    * tag 'nfs-for-4.10-4' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    pNFS: Fix a reference leak in _pnfs_return_layout
    nfs: Fix "Don't increment lock sequence ID after NFS4ERR_MOVED"
    SUNRPC: cleanup ida information when removing sunrpc module
    NFSv4.0: always send mode in SETATTR after EXCLUSIVE4
    nfs: Don't increment lock sequence ID after NFS4ERR_MOVED
    NFSv4.1: Fix a deadlock in layoutget

    Linus Torvalds
     
  • Pull MD fixes from Shaohua Li:
    "This fixes several corner cases for raid5 cache, which is merged into
    this cycle"

    * tag 'md/4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
    md/r5cache: disable write back for degraded array
    md/r5cache: shift complex rmw from read path to write path
    md/r5cache: flush data only stripes in r5l_recovery_log()
    md/raid5: move comment of fetch_block to right location
    md/r5cache: read data into orig_page for prexor of cached data
    md/raid5-cache: delete meaningless code

    Linus Torvalds
     
  • Pull arm64 fix from Catalin Marinas:
    "Fix kernel panic on ACPI-based systems where CPU capacity description
    is not currently handled"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: skip register_cpufreq_notifier on ACPI-based systems

    Linus Torvalds
     
  • Pull ARC fixes from Vineet Gupta:
    "Hopefully last set of changes for ARC for 4.10:

    - fix for unaligned access emulation corner case

    - fix for udelay loop inline asm regression

    - fix irq affinity finally for AXS103 board [Yuriy]

    - final fixes for setting IO-coherency sanely in SMP"

    * tag 'arc-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
    ARC: [arcompact] handle unaligned access delay slot corner case
    ARCv2: smp-boot: wake_flag polling by non-Masters needs to be uncached
    ARC: smp-boot: Decouple Non masters waiting API from jump to entry point
    ARCv2: MCIP: update the BCR per current changes
    ARC: udelay: fix inline assembler by adding LP_COUNT to clobber list
    ARCv2: MCIP: Deprecate setting of affinity in Device Tree

    Linus Torvalds
     

28 Jan, 2017

17 commits

  • Pull networking fixes from David Miller:

    1) GTP fixes from Andreas Schultz (missing genl module alias, clear IP
    DF on transmit).

    2) Netfilter needs to reflect the fwmark when sending resets, from Pau
    Espin Pedrol.

    3) nftable dump OOPS fix from Liping Zhang.

    4) Fix erroneous setting of VIRTIO_NET_HDR_F_DATA_VALID on transmit,
    from Rolf Neugebauer.

    5) Fix build error of ipt_CLUSTERIP when procfs is disabled, from Arnd
    Bergmann.

    6) Fix regression in handling of NETIF_F_SG in harmonize_features(),
    from Eric Dumazet.

    7) Fix RTNL deadlock wrt. lwtunnel module loading, from David Ahern.

    8) tcp_fastopen_create_child() needs to setup tp->max_window, from
    Alexey Kodanev.

    9) Missing kmemdup() failure check in ipv6 segment routing code, from
    Eric Dumazet.

    10) Don't execute unix_bind() under the bindlock, otherwise we deadlock
    with splice. From WANG Cong.

    11) ip6_tnl_parse_tlv_enc_lim() potentially reallocates the skb buffer,
    therefore callers must reload cached header pointers into that skb.
    Fix from Eric Dumazet.

    12) Fix various bugs in legacy IRQ fallback handling in alx driver, from
    Tobias Regnery.

    13) Do not allow lwtunnel drivers to be unloaded while they are
    referenced by active instances, from Robert Shearman.

    14) Fix truncated PHY LED trigger names, from Geert Uytterhoeven.

    15) Fix a few regressions from virtio_net XDP support, from John
    Fastabend and Jakub Kicinski.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (102 commits)
    ISDN: eicon: silence misleading array-bounds warning
    net: phy: micrel: add support for KSZ8795
    gtp: fix cross netns recv on gtp socket
    gtp: clear DF bit on GTP packet tx
    gtp: add genl family modules alias
    tcp: don't annotate mark on control socket from tcp_v6_send_response()
    ravb: unmap descriptors when freeing rings
    virtio_net: reject XDP programs using header adjustment
    virtio_net: use dev_kfree_skb for small buffer XDP receive
    r8152: check rx after napi is enabled
    r8152: re-schedule napi for tx
    r8152: avoid start_xmit to schedule napi when napi is disabled
    r8152: avoid start_xmit to call napi_schedule during autosuspend
    net: dsa: Bring back device detaching in dsa_slave_suspend()
    net: phy: leds: Fix truncated LED trigger names
    net: phy: leds: Break dependency of phy.h on phy_led_triggers.h
    net: phy: leds: Clear phy_num_led_triggers on failure to avoid crash
    net-next: ethernet: mediatek: change the compatible string
    Documentation: devicetree: change the mediatek ethernet compatible string
    bnxt_en: Fix RTNL lock usage on bnxt_get_port_module_status().
    ...

    Linus Torvalds
     
  • Pull xfs uodates from Darrick Wong:
    "I have some more fixes this week: better input validation, corruption
    avoidance, build fixes, memory leak fixes, and a couple from Christoph
    to avoid an ENOSPC failure.

    Summary:
    - Fix race conditions in the CoW code
    - Fix some incorrect input validation checks
    - Avoid crashing fs by running out of space when freeing inodes
    - Fix toctou race wrt whether or not an inode has an attr
    - Fix build error on arm
    - Fix page refcount corruption when readahead fails
    - Don't corrupt userspace in the bmap ioctl"

    * tag 'xfs-for-linus-4.10-rc6-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
    xfs: prevent quotacheck from overloading inode lru
    xfs: fix bmv_count confusion w/ shared extents
    xfs: clear _XBF_PAGES from buffers when readahead page
    xfs: extsize hints are not unlikely in xfs_bmap_btalloc
    xfs: remove racy hasattr check from attr ops
    xfs: use per-AG reservations for the finobt
    xfs: only update mount/resv fields on success in __xfs_ag_resv_init
    xfs: verify dirblocklog correctly
    xfs: fix COW writeback race

    Linus Torvalds
     
  • Pull btrfs updates from Chris Mason:
    "Some fixes that we've collected from the list.

    We still have one more pending to nail down a regression in lzo
    compression, but I wanted to get this batch out the door"

    * 'for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: remove ->{get, set}_acl() from btrfs_dir_ro_inode_operations
    Btrfs: disable xattr operations on subvolume directories
    Btrfs: remove old tree_root case in btrfs_read_locked_inode()
    Btrfs: fix truncate down when no_holes feature is enabled
    Btrfs: Fix deadlock between direct IO and fast fsync
    btrfs: fix false enospc error when truncating heavily reflinked file

    Linus Torvalds
     
  • Pull block fixes from Jens Axboe:
    "A set of fixes for this series. This contains:

    - Set of fixes for the nvme target code

    - A revert of patch from this merge window, causing a regression with
    WRITE_SAME on iSCSI targets at least.

    - A fix for a use-after-free in the new O_DIRECT bdev code.

    - Two fixes for the xen-blkfront driver"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    Revert "sd: remove __data_len hack for WRITE SAME"
    nvme-fc: use blk_rq_nr_phys_segments
    nvmet-rdma: Fix missing dma sync to nvme data structures
    nvmet: Call fatal_error from keep-alive timout expiration
    nvmet: cancel fatal error and flush async work before free controller
    nvmet: delete controllers deletion upon subsystem release
    nvmet_fc: correct logic in disconnect queue LS handling
    block: fix use after free in __blkdev_direct_IO
    xen-blkfront: correct maximum segment accounting
    xen-blkfront: feature flags handling adjustments

    Linus Torvalds
     
  • Pull rdma fixes from Doug Ledford:
    "Second round of -rc fixes for 4.10.

    This -rc cycle has been slow for the rdma subsystem. I had already
    sent you the first batch before the Holiday break. After that, we kept
    only getting a few here or there. Up until this week, when I got a
    drop of 13 to one driver (qedr). So, here's the -rc patches I have. I
    currently have none held in reserve, so unless something new comes in,
    this is it until the next merge window opens.

    Summary:

    - series of iw_cxgb4 fixes to make it work with the drain cq API

    - one or two patches each to: srp, iser, cxgb3, vmw_pvrdma, umem,
    rxe, and ipoib

    - one big series (13 patches) for the new qedr driver"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dledford/rdma: (27 commits)
    RDMA/cma: Fix unknown symbol when CONFIG_IPV6 is not enabled
    IB/rxe: Prevent from completer to operate on non valid QP
    IB/rxe: Fix rxe dev insertion to rxe_dev_list
    IB/umem: Release pid in error and ODP flow
    RDMA/qedr: Dispatch port active event from qedr_add
    RDMA/qedr: Fix and simplify memory leak in PD alloc
    RDMA/qedr: Fix RDMA CM loopback
    RDMA/qedr: Fix formatting
    RDMA/qedr: Mark three functions as static
    RDMA/qedr: Don't reset QP when queues aren't flushed
    RDMA/qedr: Don't spam dmesg if QP is in error state
    RDMA/qedr: Remove CQ spinlock from CM completion handlers
    RDMA/qedr: Return max inline data in QP query result
    RDMA/qedr: Return success when not changing QP state
    RDMA/qedr: Add uapi header qedr-abi.h
    RDMA/qedr: Fix MTU returned from QP query
    RDMA/core: Add the function ib_mtu_int_to_enum
    IB/vmw_pvrdma: Fix incorrect cleanup on pvrdma_pci_probe error path
    IB/vmw_pvrdma: Don't leak info from alloc_ucontext
    IB/cxgb3: fix misspelling in header guard
    ...

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    "Another two bug fixes:

    - ptrace partial write information leak

    - a guest page hinting regression introduced with v4.6"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/mm: Fix cmma unused transfer from pgste into pte
    s390/ptrace: Preserve previous registers for short regset write

    Linus Torvalds
     
  • Pull swiotlb fix from Konrad Rzeszutek Wilk:
    "An ARM fix in the Xen SWIOTLB - mainly the translation of physical to
    bus addresses was done just a tad too late"

    * 'stable/for-linus-4.10' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
    swiotlb-xen: update dev_addr after swapping pages

    Linus Torvalds
     
  • Pull VFIO fix from Alex Williamson:
    "mdev IOMMU groups are not yet compatible with the powerpc SPAPR IOMMU
    backend, detect and fail group attach (Greg Kurz)"

    * tag 'vfio-v4.10-rc6' of git://github.com/awilliam/linux-vfio:
    vfio/spapr: fail tce_iommu_attach_group() when iommu_data is null

    Linus Torvalds
     
  • If IPV6 has not been enabled in the underlying kernel, we must avoid
    calling IPV6 procedures in rdma_cm.ko.

    This requires using "IS_ENABLED(CONFIG_IPV6)" in "if" statements
    surrounding any code which calls external IPV6 procedures.

    In the instance fixed here, procedure cma_bind_addr() called
    ipv6_addr_type() -- which resulted in calling external procedure
    __ipv6_addr_type().

    Fixes: 6c26a77124ff ("RDMA/cma: fix IPv6 address resolution")
    Cc: # v4.2+
    Cc: Spencer Baugh
    Signed-off-by: Jack Morgenstein
    Reviewed-by: Moni Shoua
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Jack Morgenstein
     
  • …/git/konrad/xen into for-linus

    Konrad writes:

    Please pull in your 'for-linus' branch two little fixes for Xen
    block front:

    One fix is for handling the XEN_PAGE_SIZE != PAGE_SIZE (4KB vs 64KB
    on ARM for example) mishandling while the other is fixing
    the accounting for the configuration changes.

    Jens Axboe
     
  • After emulating an unaligned access in delay slot of a branch, we
    pretend as the delay slot never happened - so return back to actual
    branch target (or next PC if branch was not taken).

    Curently we did this by handling STATUS32.DE, we also need to clear the
    BTA.T bit, which is disregarded when returning from original misaligned
    exception, but could cause weirdness if it took the interrupt return
    path (in case interrupt was acive too)

    One ARC700 customer ran into this when enabling unaligned access fixup
    for kernel mode accesses as well

    Cc: stable@vger.kernel.org
    Signed-off-by: Vineet Gupta

    Vineet Gupta
     
  • Pull media fixes from Mauro Carvalho Chehab:

    - fix a regression on tvp5150 causing failures at input selection and
    image glitches

    - CEC was moved out of staging for v4.10. Fix some bugs on it while not
    too late

    - fix a regression on pctv452e caused by VM stack changes

    - fix suspend issued with smiapp

    - fix a regression on cobalt driver

    - fix some warnings and Kconfig issues with some random configs.

    * tag 'media/v4.10-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
    [media] s5k4ecgx: select CRC32 helper
    [media] dvb: avoid warning in dvb_net
    [media] v4l: tvp5150: Don't override output pinmuxing at stream on/off time
    [media] v4l: tvp5150: Fix comment regarding output pin muxing
    [media] v4l: tvp5150: Reset device at probe time, not in get/set format handlers
    [media] pctv452e: move buffer to heap, no mutex
    [media] media/cobalt: use pci_irq_allocate_vectors
    [media] cec: fix race between configuring and unconfiguring
    [media] cec: move cec_report_phys_addr into cec_config_thread_func
    [media] cec: replace cec_report_features by cec_fill_msg_report_features
    [media] cec: update log_addr[] before finishing configuration
    [media] cec: CEC_MSG_GIVE_FEATURES should abort for CEC version < 2
    [media] cec: when canceling a message, don't overwrite old status info
    [media] cec: fix report_current_latency
    [media] smiapp: Make suspend and resume functions __maybe_unused
    [media] smiapp: Implement power-on and power-off sequences without runtime PM

    Linus Torvalds
     
  • Pull MMC fix from Ulf Hansson:
    "MMC host: fix runtime PM resume path in dw_mmc"

    * tag 'mmc-v4.10-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
    mmc: dw_mmc: force setup bus if active slots exist

    Linus Torvalds
     
  • Pull thermal management fix from Zhang Rui:
    "A single revert from a recently introduced problem.

    Specifics:

    Commit 7611fb68062f ("thermal: thermal_hwmon: Convert to
    hwmon_device_register_with_info()"), which was introduced in 4.10-rc5,
    uses new hwmon API. But this breaks some soc thermal driver because
    the new hwmon API has a strict rule for the hwmon device name. Revert
    the offending commit as a quick solution for 4.10"

    * 'for-rc' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
    Revert "thermal: thermal_hwmon: Convert to hwmon_device_register_with_info()"

    Linus Torvalds
     
  • Quotacheck runs at mount time in situations where quota accounting must
    be recalculated. In doing so, it uses bulkstat to visit every inode in
    the filesystem. Historically, every inode processed during quotacheck
    was released and immediately tagged for reclaim because quotacheck runs
    before the superblock is marked active by the VFS. In other words,
    the final iput() lead to an immediate ->destroy_inode() call, which
    allowed the XFS background reclaim worker to start reclaiming inodes.

    Commit 17c12bcd3 ("xfs: when replaying bmap operations, don't let
    unlinked inodes get reaped") marks the XFS superblock active sooner as
    part of the mount process to support caching inodes processed during log
    recovery. This occurs before quotacheck and thus means all inodes
    processed by quotacheck are inserted to the LRU on release. The
    s_umount lock is held until the mount has completed and thus prevents
    the shrinkers from operating on the sb. This means that quotacheck can
    excessively populate the inode LRU and lead to OOM conditions on systems
    without sufficient RAM.

    Update the quotacheck bulkstat handler to set XFS_IGET_DONTCACHE on
    inodes processed by quotacheck. This causes ->drop_inode() to return 1
    and in turn causes iput_final() to evict the inode. This preserves the
    original quotacheck behavior and prevents it from overloading the LRU
    and running out of memory.

    CC: stable@vger.kernel.org # v4.9
    Reported-by: Martin Svec
    Signed-off-by: Brian Foster
    Reviewed-by: Eric Sandeen
    Reviewed-by: Darrick J. Wong
    Signed-off-by: Darrick J. Wong

    Brian Foster
     
  • With some gcc versions, we get a warning about the eicon driver,
    and that currently shows up as the only remaining warning in one
    of the build bots:

    In file included from ../drivers/isdn/hardware/eicon/message.c:30:0:
    eicon/message.c: In function 'mixer_notify_update':
    eicon/platform.h:333:18: warning: array subscript is above array bounds [-Warray-bounds]

    The code is easily changed to open-code the unusual PUT_WORD() line
    causing this to avoid the warning.

    Cc: stable@vger.kernel.org
    Link: http://arm-soc.lixom.net/buildlogs/stable-rc/v4.4.45/
    Signed-off-by: Arnd Bergmann
    Signed-off-by: David S. Miller

    Arnd Bergmann
     
  • This is adds support for the PHYs in the KSZ8795 5port managed switch.

    It will allow to detect the link between the switch and the soc
    and uses the same read_status functions as the KSZ8873MLL switch.

    Signed-off-by: Sean Nyekjaer
    Signed-off-by: David S. Miller

    Sean Nyekjaer
     

27 Jan, 2017

10 commits

  • Andreas Schultz says:

    ====================
    various gtp fixes

    I'm sorry for the compile error mess up in the last version.
    It's no excuse for not test compiling, but the hunks got lost in
    a rebase.

    This is the part of the previous "simple gtp improvements" series
    that Pablo indicated should go into net.

    The addition of the module alias fixes genl family autoloading,
    clearing the DF bit fixes a protocol violation in regard to the
    specification and the netns comparison fixes a corner case of
    cross netns recv.

    v2->v3: fix compiler error introduced in rebase
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • The use of the passed through netlink src_net to check for a
    cross netns operation was wrong. Using the GTP socket and the
    GTP netdevice is always correct (even if the netdev has been
    moved to new netns after link creation).

    Remove the now obsolete net field from gtp_dev.

    Signed-off-by: Andreas Schultz
    Acked-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Andreas Schultz
     
  • 3GPP TS 29.281 and 3GPP TS 29.060 imply that GTP-U packets should be
    sent with the DF bit cleared. For example 3GPP TS 29.060, Release 8,
    Section 13.2.2:

    > Backbone router: Any router in the backbone may fragment the GTP
    > packet if needed, according to IPv4.

    Signed-off-by: Andreas Schultz
    Acked-by: Harald Welte
    Acked-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Andreas Schultz
     
  • Auto-load the module when userspace asks for the gtp netlink
    family.

    Signed-off-by: Andreas Schultz
    Acked-by: Harald Welte
    Acked-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Andreas Schultz
     
  • Unlike ipv4, this control socket is shared by all cpus so we cannot use
    it as scratchpad area to annotate the mark that we pass to ip6_xmit().

    Add a new parameter to ip6_xmit() to indicate the mark. The SCTP socket
    family caches the flowi6 structure in the sctp_transport structure, so
    we cannot use to carry the mark unless we later on reset it back, which
    I discarded since it looks ugly to me.

    Fixes: bf99b4ded5f8 ("tcp: fix mark propagation with fwmark_reflect enabled")
    Suggested-by: Eric Dumazet
    Signed-off-by: Pablo Neira Ayuso
    Signed-off-by: David S. Miller

    Pablo Neira
     
  • On ACPI based systems where the topology is setup using the API
    store_cpu_topology, at the moment we do not have necessary code
    to parse cpu capacity and handle cpufreq notifier, thus
    resulting in a kernel panic.

    Stack:
    init_cpu_capacity_callback+0xb4/0x1c8
    notifier_call_chain+0x5c/0xa0
    __blocking_notifier_call_chain+0x58/0xa0
    blocking_notifier_call_chain+0x3c/0x50
    cpufreq_set_policy+0xe4/0x328
    cpufreq_init_policy+0x80/0x100
    cpufreq_online+0x418/0x710
    cpufreq_add_dev+0x118/0x180
    subsys_interface_register+0xa4/0xf8
    cpufreq_register_driver+0x1c0/0x298
    cppc_cpufreq_init+0xdc/0x1000 [cppc_cpufreq]
    do_one_initcall+0x5c/0x168
    do_init_module+0x64/0x1e4
    load_module+0x130c/0x14d0
    SyS_finit_module+0x108/0x120
    el0_svc_naked+0x24/0x28

    Fixes: 7202bde8b7ae ("arm64: parse cpu capacity-dmips-mhz from DT")
    Acked-by: Will Deacon
    Signed-off-by: Prashanth Prakash
    Signed-off-by: Catalin Marinas

    Prashanth Prakash
     
  • Pull drm fixes from Dave Airlie:
    "This is the main request for rc6, since really the one earlier was the
    rc5 one :-)

    The main thing are the nouveau specific race fixes for the connector
    locking bug we fixed in -next and reverted here as it has quite large
    prereqs. These two fixes should solve the problem at that level and we
    can fix it properly in 4.11

    Otherwise i915 has a bunch of changes, one ABI change for GVT related
    stuff, some VC4 leak fixes, one core fence fix and some AMD changes,
    oh and one ast hang avoidance fix.

    Hoping it calms down around now"

    * tag 'drm-fixes-for-v4.10-rc6-part-two' of git://people.freedesktop.org/~airlied/linux: (25 commits)
    drm/nouveau: Handle fbcon suspend/resume in seperate worker
    drm/nouveau: Don't enabling polling twice on runtime resume
    drm/ast: Fixed system hanged if disable P2A
    Revert "drm/radeon: always apply pci shutdown callbacks"
    drm/i915: reinstate call to trace_i915_vma_bind
    drm/i915: Move atomic state free from out of fence release
    drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic()
    drm/i915: Fix calculation of rotated x and y offsets for planar formats
    drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend()
    drm/i915: Don't leak edid in intel_crt_detect_ddc()
    drm/i915: Release temporary load-detect state upon switching
    drm/i915: prevent crash with .disable_display parameter
    drm/i915: Avoid drm_atomic_state_put(NULL) in intel_display_resume
    MAINTAINERS: update new mail list for intel gvt driver
    drm/i915/gvt: Fix kmem_cache_create() name
    drm/i915/gvt/kvmgt: mdev ABI is available_instances, not available_instance
    drm/amdgpu: fix unload driver issue for virtual display
    drm/amdgpu: check ring being ready before using
    drm/vc4: Return -EINVAL on the overflow checks failing.
    drm/vc4: Fix an integer overflow in temporary allocation layout.
    ...

    Linus Torvalds
     
  • More fixes than I'd like at this stage, but I think the holidays and
    conferences have delayed finding and fixing the stuff a bit. Almost all
    of them have Fixes: tags, so it's not just random fixes, we can point
    fingers at the commits that broke stuff.

    There's an ABI fix to GVT from Alex, before we go on an release a kernel
    with the wrong attribute name.

    * tag 'drm-intel-fixes-2017-01-26' of git://anongit.freedesktop.org/git/drm-intel:
    drm/i915: reinstate call to trace_i915_vma_bind
    drm/i915: Move atomic state free from out of fence release
    drm/i915: Check for NULL atomic state in intel_crtc_disable_noatomic()
    drm/i915: Fix calculation of rotated x and y offsets for planar formats
    drm/i915: Don't init hpd polling for vlv and chv from runtime_suspend()
    drm/i915: Don't leak edid in intel_crt_detect_ddc()
    drm/i915: Release temporary load-detect state upon switching
    drm/i915: prevent crash with .disable_display parameter
    drm/i915: Avoid drm_atomic_state_put(NULL) in intel_display_resume
    MAINTAINERS: update new mail list for intel gvt driver
    drm/i915/gvt: Fix kmem_cache_create() name
    drm/i915/gvt/kvmgt: mdev ABI is available_instances, not available_instance
    drm/i915/gvt: Fix relocation of shadow bb
    drm/i915/gvt: Enable the shadow batch buffer

    Dave Airlie
     
  • Pull ACPI fixes from Rafael Wysocki:
    "These fix two regressions introduced recently, one by reverting the
    problematic commit and one by fixing up locking in the ACPICA core.

    Specifics:

    - Revert a recent change that added an ACPI video blacklist entry for
    HP Pavilion dv6 as it turned to introduce backlight handling
    regressions on some systems (Hans de Goede).

    - Fix locking in the ACPICA core to avoid deadlocks related to table
    loading that were exposed by a recent change in that area (Lv
    Zheng)"

    * tag 'acpi-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    Revert "ACPI / video: Add force_native quirk for HP Pavilion dv6"
    ACPICA: Tables: Fix hidden logic related to acpi_tb_install_standard_table()

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "These fix two regressions introduced recently, one by reverting the
    problematic commit and one by fixing up the behavior in an overlooked
    case.

    Specifics:

    - Revert the recent change that caused suspend-to-idle to be used as
    the default suspend method on systems where it is indicated to be
    efficient by the ACPI tables, as that turned out to be premature
    and introduced suspend regressions on some systems with missing
    power management support in device drivers (Rafael Wysocki).

    - Fix up the intel_pstate driver to take changes of the global limits
    via sysfs correctly when the performance policy is used which has
    been broken by a recent change in it (Srinivas Pandruvada)"

    * tag 'pm-4.10-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: intel_pstate: Fix sysfs limits enforcement for performance policy
    Revert "PM / sleep / ACPI: Use the ACPI_FADT_LOW_POWER_S0 flag"

    Linus Torvalds