28 Jul, 2016

3 commits


24 Jun, 2016

1 commit

  • The use of __raw IO accesors is not endian safe and should be used
    sparingly. The relaxed variants should be as lightweight and also
    are endian safe.

    Note, this has not been run-time tested.

    Signed-off-by: Ben Dooks
    Acked-by: Rob Herring
    Signed-off-by: Jassi Brar

    Ben Dooks
     

12 Jun, 2016

7 commits

  • tdev->signal is not set NULL after it's freed. This will cause random
    exceptions when the stale pointer is accessed after tdev->signal is
    freed. Also, since tdev->signal allocation is skipped the next time
    it's written, this leads to continuous fault finally leading to the
    total death of the system.

    Fixes: d1c2f87c9a8f ("mailbox: mailbox-test: Prevent memory leak")
    Signed-off-by: Sudeep Holla
    Acked-by: Lee Jones
    Signed-off-by: Jassi Brar

    Sudeep Holla
     
  • Pull block layer fixes from Jens Axboe:
    "A small collection of fixes for the current series. This contains:

    - Two fixes for xen-blkfront, from Bob Liu.

    - A bug fix for NVMe, releasing only the specific resources we
    requested.

    - Fix for a debugfs flags entry for nbd, from Josef.

    - Plug fix from Omar, fixing up a case of code being switched between
    two functions.

    - A missing bio_put() for the new discard callers of
    submit_bio_wait(), fixing a regression causing a leak of the bio.
    From Shaun.

    - Improve dirty limit calculation precision in the writeback code,
    fixing a case where setting a limit lower than 1% of memory would
    end up being zero. From Tejun"

    * 'for-linus' of git://git.kernel.dk/linux-block:
    NVMe: Only release requested regions
    xen-blkfront: fix resume issues after a migration
    xen-blkfront: don't call talk_to_blkback when already connected to blkback
    nbd: pass the nbd pointer for flags debugfs
    block: missing bio_put following submit_bio_wait
    blk-mq: really fix plug list flushing for nomerge queues
    writeback: use higher precision calculation in domain_dirty_limits()

    Linus Torvalds
     
  • Pull GPIO fixes from Linus Walleij:
    "A new bunch of GPIO fixes for v4.7.

    This time I am very grateful that Ricardo Ribalda Delgado went in and
    fixed my stupid refcounting mistakes in the removal path for GPIO
    chips. I had a feeling something was wrong here and so it was. It
    exploded on OMAP and it fixes their problem. Now it should be (more)
    solid.

    The rest i compilation, Kconfig and driver fixes. Some tagged for
    stable.

    Summary:

    - Fix a NULL pointer dereference when we are searching the GPIO
    device list but one of the devices have been removed (struct
    gpio_chip pointer is NULL).

    - Fix unaligned reference counters: we were ending on +3 after all
    said and done. It should be 0. Remove an extraneous get_device(),
    and call cdev_del() followed by device_del() in gpiochip_remove()
    instead and the count goes to zero and calls the release() function
    properly.

    - Fix a compile warning due to a missing #include in the OF/device
    tree portions.

    - Select ANON_INODES for GPIOLIB, we're using that for our character
    device. Some randconfig tests disclosed the problem.

    - Make sure the Zynq driver clock runs also without CONFIG_PM enabled

    - Fix an off-by-one error in the 104-DIO-48E driver

    - Fix warnings in bcm_kona_gpio_reset()"

    * tag 'gpio-v4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: bcm-kona: fix bcm_kona_gpio_reset() warnings
    gpio: select ANON_INODES
    gpio: include in gpiolib-of
    gpiolib: Fix unaligned used of reference counters
    gpiolib: Fix NULL pointer deference
    gpio: zynq: initialize clock even without CONFIG_PM
    gpio: 104-dio-48e: Fix control port offset computation off-by-one error

    Linus Torvalds
     
  • Pull SCSI fixes from James Bottomley:
    "Two current fixes:

    - one affects Qemu CD ROM emulation, which stopped working after the
    updates in SCSI to require VPD pages from all conformant devices.

    Fix temporarily by blacklisting Qemu (we can relax later when they
    come into compliance).

    - The other is a fix to the optimal transfer size. We set up a
    minefield for ourselves by being confused about whether the limits
    are in bytes or sectors (SCSI optimal is in blocks and the queue
    parameter is in bytes).

    This tries to fix the problem (wrong setting for queue limits
    max_sectors) and make the problem more obvious by introducing a
    wrapper function"

    * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
    sd: Fix rw_max for devices that report an optimal xfer size
    scsi: Add QEMU CD-ROM to VPD Inquiry Blacklist

    Linus Torvalds
     
  • Pull i2c fixes from Wolfram Sang:

    - a bigger fix for i801 to finally be able to be loaded on some
    machines again

    - smaller driver fixes

    - documentation update because of a renamed file

    * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
    i2c: mux: reg: Provide of_match_table
    i2c: mux: refer to i2c-mux.txt
    i2c: octeon: Avoid printk after too long SMBUS message
    i2c: octeon: Missing AAK flag in case of I2C_M_RECV_LEN
    i2c: i801: Allow ACPI SystemIO OpRegion to conflict with PCI BAR

    Linus Torvalds
     
  • Pull DeviceTree fixes from Rob Herring:

    - fix unflatten_dt_nodes when dad parameter is set.

    - add vendor prefixes for TechNexion and UniWest

    - documentation fix for Marvell BT

    - OF IRQ kerneldoc fixes

    - restrict CMA alignment adjustments to non dma-coherent

    - a couple of warning fixes in reserved-memory code

    - DT maintainers updates

    * tag 'devicetree-fixes-for-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
    drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch
    drivers/of: Fix depth for sub-tree blob in unflatten_dt_nodes()
    drivers: of: Fix of_pci.h header guard
    dt-bindings: Add vendor prefix for TechNexion
    of: add vendor prefix for UniWest
    dt: bindings: fix documentation for MARVELL's bt-sd8xxx wireless device
    of: add missing const for of_parse_phandle_with_args() in !CONFIG_OF
    of: silence warnings due to max() usage
    drivers: of: of_reserved_mem: fixup the CMA alignment not to affect dma-coherent
    of: irq: fix of_irq_get[_byname]() kernel-doc
    MAINTAINERS: DeviceTree maintainer updates

    Linus Torvalds
     
  • …kernel/git/luto/linux

    Pull uvc compat XU ioctl fixes from Andy Lutomirski:
    "uvc's compat XU ioctls go through tons of potentially buggy
    indirection. The first patch removes the indirection. The second one
    cleans up the code.

    Compile-tested only. I have the hardware, but I have absolutely no
    idea what XU does, how to use it, what software to recompile as
    32-bit, or what to test in that software"

    * tag '20160610_uvc_compat_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/luto/linux:
    uvc_v4l2: Simplify compat ioctl implementation
    uvc: Forward compat ioctls to their handlers directly

    Linus Torvalds
     

11 Jun, 2016

16 commits

  • The uvc compat ioctl implementation seems to have copied user data
    for no good reason. Remove a bunch of copies.

    Signed-off-by: Andy Lutomirski

    Andy Lutomirski
     
  • The current code goes through a lot of indirection just to call a
    known handler. Simplify it: just call the handlers directly.

    Cc: stable@vger.kernel.org
    Signed-off-by: Andy Lutomirski

    Andy Lutomirski
     
  • Pull btrfs fixes from Chris Mason:
    "Has some fixes and some new self tests for btrfs. The self tests are
    usually disabled in the .config file (unless you're doing btrfs dev
    work), and this bunch is meant to find problems with the 64K page size
    patches.

    Jeff has a patch to help people see if they are using the hardware
    assist crc32c module, which really helps us nail down problems when
    people ask why crcs are using so much CPU.

    Otherwise, it's small fixes"

    * 'for-linus-4.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    Btrfs: self-tests: Fix extent buffer bitmap test fail on BE system
    Btrfs: self-tests: Fix test_bitmaps fail on 64k sectorsize
    Btrfs: self-tests: Use macros instead of constants and add missing newline
    Btrfs: self-tests: Support testing all possible sectorsizes and nodesizes
    Btrfs: self-tests: Execute page straddling test only when nodesize < PAGE_SIZE
    btrfs: advertise which crc32c implementation is being used at module load
    Btrfs: add validadtion checks for chunk loading
    Btrfs: add more validation checks for superblock
    Btrfs: clear uptodate flags of pages in sys_array eb
    Btrfs: self-tests: Support non-4k page size
    Btrfs: Fix integer overflow when calculating bytes_per_bitmap
    Btrfs: test_check_exists: Fix infinite loop when searching for free space entries
    Btrfs: end transaction if we abort when creating uuid root
    btrfs: Use __u64 in exported linux/btrfs.h.

    Linus Torvalds
     
  • …/kernel/git/powerpc/linux

    Pull powerpc fixes from
    - ptrace: Fix out of bounds array access warning from Khem Raj
    - pseries: Fix PCI config address for DDW from Gavin Shan
    - pseries: Fix IBM_ARCH_VEC_NRCORES_OFFSET since POWER8NVL was added
    from Michael Ellerman
    - of: fix autoloading due to broken modalias with no 'compatible' from
    Wolfram Sang
    - radix: Fix always false comparison against MMU_NO_CONTEXT from Aneesh
    Kumar K.V
    - hash: Compute the segment size correctly for ISA 3.0 from Aneesh
    Kumar K.V
    - nohash: Fix build break with 64K pages from Michael Ellerman

    * tag 'powerpc-4.7-3' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc/nohash: Fix build break with 64K pages
    powerpc/mm/hash: Compute the segment size correctly for ISA 3.0
    powerpc/mm/radix: Fix always false comparison against MMU_NO_CONTEXT
    of: fix autoloading due to broken modalias with no 'compatible'
    powerpc/pseries: Fix IBM_ARCH_VEC_NRCORES_OFFSET since POWER8NVL was added
    powerpc/pseries: Fix PCI config address for DDW
    powerpc/ptrace: Fix out of bounds array access warning

    Linus Torvalds
     
  • …l/git/groeck/linux-staging

    Pull hwmon fixes from Guenter Roeck:

    - fix regression in fam15h_power driver

    - minor variable type fix in lm90 driver

    - document compatible statement for ina2xx driver

    * tag 'hwmon-for-linus-v4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
    hwmon: (lm90) use proper type for update_interval
    hwmon: (ina2xx) Document compatible for INA231
    hwmon: (fam15h_power) Disable preemption when reading registers

    Linus Torvalds
     
  • Merge filesystem stacking fixes from Jann Horn.

    * emailed patches from Jann Horn :
    sched: panic on corrupted stack end
    ecryptfs: forbid opening files without mmap handler
    proc: prevent stacking filesystems on top

    Linus Torvalds
     
  • Until now, hitting this BUG_ON caused a recursive oops (because oops
    handling involves do_exit(), which calls into the scheduler, which in
    turn raises an oops), which caused stuff below the stack to be
    overwritten until a panic happened (e.g. via an oops in interrupt
    context, caused by the overwritten CPU index in the thread_info).

    Just panic directly.

    Signed-off-by: Jann Horn
    Signed-off-by: Linus Torvalds

    Jann Horn
     
  • This prevents users from triggering a stack overflow through a recursive
    invocation of pagefault handling that involves mapping procfs files into
    virtual memory.

    Signed-off-by: Jann Horn
    Acked-by: Tyler Hicks
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Jann Horn
     
  • This prevents stacking filesystems (ecryptfs and overlayfs) from using
    procfs as lower filesystem. There is too much magic going on inside
    procfs, and there is no good reason to stack stuff on top of procfs.

    (For example, procfs does access checks in VFS open handlers, and
    ecryptfs by design calls open handlers from a kernel thread that doesn't
    drop privileges or so.)

    Signed-off-by: Jann Horn
    Cc: stable@vger.kernel.org
    Signed-off-by: Linus Torvalds

    Jann Horn
     
  • Pull arm64 fix from Will Deacon:
    "A fix for an issue that Alex saw whilst swapping with hardware
    access/dirty bit support enabled in the kernel: Fix a failure to fault
    in old pages on a write when CONFIG_ARM64_HW_AFDBM is enabled"

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: mm: always take dirty state from new pte in ptep_set_access_flags

    Linus Torvalds
     
  • Pull x86 fixes from Ingo Molnar:
    "Misc fixes from all around the map, plus a commit that introduces a
    new header of Intel model name symbols (unused) that will make the
    next merge window easier"

    * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/ioapic: Fix incorrect pointers in ioapic_setup_resources()
    x86/entry/traps: Don't force in_interrupt() to return true in IST handlers
    x86/cpu/AMD: Extend X86_FEATURE_TOPOEXT workaround to newer models
    x86/cpu/intel: Introduce macros for Intel family numbers
    x86, build: copy ldlinux.c32 to image.iso
    x86/msr: Use the proper trace point conditional for writes

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Two scheduler debugging fixes"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/debug: Fix 'schedstats=enable' cmdline option
    sched/debug: Fix /proc/sched_debug regression

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "A handful of tooling fixes, two PMU driver fixes and a cleanup of
    redundant code that addresses a security analyzer false positive"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/core: Remove a redundant check
    perf/x86/intel/uncore: Remove SBOX support for Broadwell server
    perf ctf: Convert invalid chars in a string before set value
    perf record: Fix crash when kptr is restricted
    perf symbols: Check kptr_restrict for root
    perf/x86/intel/rapl: Fix pmus free during cleanup

    Linus Torvalds
     
  • Pull locking fixes from Ingo Molnar:
    "Misc fixes:

    - a file-based futex fix
    - one more spin_unlock_wait() fix
    - a ww-mutex deadlock detection improvement/fix
    - and a raw_read_seqcount_latch() barrier fix"

    * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    futex: Calculate the futex key based on a tail page for file-based futexes
    locking/qspinlock: Fix spin_unlock_wait() some more
    locking/ww_mutex: Report recursive ww_mutex locking early
    locking/seqcount: Re-fix raw_read_seqcount_latch()

    Linus Torvalds
     
  • Pull EFI fixes from Ingo Molnar:
    "Two fixes: a regression/crash fix, and a message output fix"

    * 'efi-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    efi/arm: Fix the format of EFI debug messages
    efi: Fix for_each_efi_memory_desc_in_map() for empty memmaps

    Linus Torvalds
     
  • Pull objtool fix from Ingo Molnar:
    "Addresses a false positive warning in the GPU/DRM code"

    [ Technically it's not a "false positive", but it's the virtual GPU
    interface that needs the frame pointer for its own internal purposes ]

    * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    objtool, drm/vmwgfx: Fix "duplicate frame pointer save" warning

    Linus Torvalds
     

10 Jun, 2016

13 commits

  • Pull networking fixes from David Miller:

    1) nfnetlink timestamp taken from wrong skb, fix from Florian Westphal.

    2) Revert some msleep conversions in rtlwifi as these spots are in
    atomic context, from Larry Finger.

    3) Validate that NFTA_SET_TABLE attribute is actually specified when we
    call nf_tables_getset(). From Phil Turnbull.

    4) Don't do mdio_reset in stmmac driver with spinlock held as that can
    sleep, from Vincent Palatin.

    5) sk_filter() does things other than run a BPF filter, so we should
    not elide it's call just because sk->sk_filter is NULL. Fix from
    Eric Dumazet.

    6) Fix missing backlog updates in several packet schedulers, from Cong
    Wang.

    7) bnx2x driver should allow VLAN add/remove while the interface is
    down, from Michal Schmidt.

    8) Several RDS/TCP race fixes from Sowmini Varadhan.

    9) fq_codel scheduler doesn't return correct queue length in dumps,
    from Eric Dumazet.

    10) Fix TCP stats for tail loss probe and early retransmit in ipv6, from
    Yuchung Cheng.

    11) Properly initialize udp_tunnel_socket_cfg in l2tp_tunnel_create(),
    from Guillaume Nault.

    12) qfq scheduler leaks SKBs if a kzalloc fails, fix from Florian
    Westphal.

    13) sock_fprog passed into PACKET_FANOUT_DATA needs compat handling,
    from Willem de Bruijn.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (85 commits)
    vmxnet3: segCnt can be 1 for LRO packets
    packet: compat support for sock_fprog
    stmmac: fix parameter to dwmac4_set_umac_addr()
    net/mlx5e: Fix blue flame quota logic
    net/mlx5e: Use ndo_stop explicitly at shutdown flow
    net/mlx5: E-Switch, always set mc_promisc for allmulti vports
    net/mlx5: E-Switch, Modify node guid on vf set MAC
    net/mlx5: E-Switch, Fix vport enable flow
    net/mlx5: E-Switch, Use the correct error check on returned pointers
    net/mlx5: E-Switch, Use the correct free() function
    net/mlx5: Fix E-Switch flow steering capabilities check
    net/mlx5: Fix flow steering NIC capabilities check
    net/mlx5: Fix root flow table update
    net/mlx5: Fix MLX5_CMD_OP_MAX to be defined correctly
    net/mlx5: Fix masking of reserved bits in XRCD number
    net/mlx5: Fix the size of modify QP mailbox
    mlxsw: spectrum: Don't sleep during ndo_get_phys_port_name()
    mlxsw: spectrum: Make split flow match firmware requirements
    wext: Fix 32 bit iwpriv compatibility issue with 64 bit Kernel
    cfg80211: remove get/set antenna and tx power warnings
    ...

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "We have only few, mainly HD-audio device-specific fixes. Realtek
    codec driver got a slightly more LOC, but they are all for the new
    codec chip, and won't affect others at all"

    * tag 'sound-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: hda - Add PCI ID for Kabylake
    ALSA: hda/realtek: Add T560 docking unit fixup
    ALSA: hda - Fix headset mic detection problem for Dell machine
    ALSA: uapi: Add three missing header files to Kbuild file
    ALSA: hda/realtek - Add support for new codecs ALC700/ALC701/ALC703
    ALSA: hda/realtek - ALC256 speaker noise issue

    Linus Torvalds
     
  • Pull drm fixes from Dave Airlie:
    "This weeks instalment of fixes:

    amdgpu:
    Lots of memory leak and firmware leak fixes

    nouveau:
    Collection of display fixes, KASAN fixes

    vc4:
    vblank/pageflipping fixes

    fsl-dcu:
    Regmap cache fix

    omap:
    Unused variable warning fix.

    Nothing too surprising so far"

    * tag 'drm-fixes-for-v4.7-rc3' of git://people.freedesktop.org/~airlied/linux: (46 commits)
    drm/amdgpu: fix warning with powerplay disabled.
    drm/amd/powerplay: delete useless code as pptable changed in vbios.
    drm/amd/powerplay: fix bug visit array out of bounds
    drm/amdgpu: fix smu ucode memleak (v2)
    drm/amdgpu: add release firmware for cgs
    drm/amdgpu: fix tonga smu_fini mem leak
    drm/amdgpu: fix fiji smu fini mem leak
    drm/amdgpu: fix cik sdma ucode memleak
    drm/amdgpu: fix sdma24 ucode mem leak
    drm/amdgpu: fix sdma3 ucode mem leak
    drm/amdgpu: fix uvd fini mem leak
    drm/amdgpu: fix gfx 7 ucode mem leak
    drm/amdgpu: fix gfx8 ucode mem leak
    drm/amdgpu: fix missing free wb for cond_exec
    drm/amdgpu: fix memleak in pptable_init
    drm/amdgpu: fix mem leak in atombios
    drm/amdgpu: fix mem leak in pplib/hwmgr
    drm/amdgpu: fix mem leak in smumgr
    drm/amdgpu: add pipeline sync while vmid switch in same ctx
    drm/amdgpu: vBIOS post only call when mem_size zero
    ...

    Linus Torvalds
     
  • Pull ACPI fix from Rafael Wysocki:
    "A recently introduced boot regression related to the ACPI EC
    initialization is addressed by restoring the previous behavior (Lv
    Zheng)"

    * tag 'acpi-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / EC: Fix a boot EC regresion by restoring boot EC support for the DSDT EC

    Linus Torvalds
     
  • Pull power management fixes from Rafael Wysocki:
    "Stable-candidate fixes for the intel_pstate driver and the cpuidle
    core.

    Specifics:

    - Fix two intel_pstate initialization issues, one of which was
    introduced during the 4.4 cycle (Srinivas Pandruvada)

    - Fix kernel build with CONFIG_UBSAN set and CONFIG_CPU_IDLE unset
    (Catalin Marinas)"

    * tag 'pm-4.7-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpufreq: intel_pstate: Fix ->set_policy() interface for no_turbo
    cpufreq: intel_pstate: Fix code ordering in intel_pstate_set_policy()
    cpuidle: Do not access cpuidle_devices when !CONFIG_CPU_IDLE

    Linus Torvalds
     
  • Merge misc fixes from Andrew Morton:
    "7 fixes"

    * emailed patches from Andrew Morton :
    mm/fadvise.c: do not discard partial pages with POSIX_FADV_DONTNEED
    mm: introduce dedicated WQ_MEM_RECLAIM workqueue to do lru_add_drain_all
    kernel/relay.c: fix potential memory leak
    mm: thp: broken page count after commit aa88b68c3b1d
    revert "mm: memcontrol: fix possible css ref leak on oom"
    kasan: change memory hot-add error messages to info messages
    mm/hugetlb: fix huge page reserve accounting for private mappings

    Linus Torvalds
     
  • On a 4-socket Brickland system, hot-removing one ioapic is fine.
    Hot-removing the 2nd one causes panic in mp_unregister_ioapic()
    while calling release_resource().

    It is because the iomem_res pointer has already been released
    when removing the first ioapic.

    To explain the use of &res[num] here: res is assigned to ioapic_resources,
    and later in ioapic_insert_resources() we do:

    struct resource *r = ioapic_resources;

    for_each_ioapic(i) {
    insert_resource(&iomem_resource, r);
    r++;
    }

    Here 'r' is treated as an arry of 'struct resource', and the r++ ensures
    that each element of the array is inserted separately. Thus we should call
    release_resouce() on each element at &res[num].

    Fix it by assigning the correct pointers to ioapics[i].iomem_res in
    ioapic_setup_resources().

    Signed-off-by: Rui Wang
    Signed-off-by: Thomas Gleixner
    Cc: tony.luck@intel.com
    Cc: linux-pci@vger.kernel.org
    Cc: rjw@rjwysocki.net
    Cc: linux-acpi@vger.kernel.org
    Cc: bhelgaas@google.com
    Link: http://lkml.kernel.org/r/1465369193-4816-3-git-send-email-rui.y.wang@intel.com
    Signed-off-by: Ingo Molnar

    Rui Wang
     
  • Forcing in_interrupt() to return true if we're not in a bona fide
    interrupt confuses the softirq code. This fixes warnings like:

    NOHZ: local_softirq_pending 282

    ... which can happen when running things like selftests/x86.

    This will change perf's static percpu buffer usage in IST context.
    I think this is okay, and it's changing the behavior to match
    historical (pre-4.0) behavior.

    Signed-off-by: Andy Lutomirski
    Cc: Andy Lutomirski
    Cc: Borislav Petkov
    Cc: Brian Gerst
    Cc: Denys Vlasenko
    Cc: H. Peter Anvin
    Cc: Linus Torvalds
    Cc: Oleg Nesterov
    Cc: Peter Zijlstra
    Cc: Thomas Gleixner
    Cc: stable@vger.kernel.org
    Fixes: 959274753857 ("x86, traps: Track entry into and exit from IST context")
    Link: http://lkml.kernel.org/r/cdc215f94d118d691d73df35275022331156fb45.1464130360.git.luto@kernel.org
    Signed-off-by: Ingo Molnar

    Andy Lutomirski
     
  • The device emulation may send segCnt of 1 for LRO packets.

    Signed-off-by: Shrikrishna Khare
    Signed-off-by: Jin Heo
    Signed-off-by: David S. Miller

    Shrikrishna Khare
     
  • Socket option PACKET_FANOUT_DATA takes a struct sock_fprog as argument
    if PACKET_FANOUT has mode PACKET_FANOUT_CBPF. This structure contains
    a pointer into user memory. If userland is 32-bit and kernel is 64-bit
    the two disagree about the layout of struct sock_fprog.

    Add compat setsockopt support to convert a 32-bit compat_sock_fprog to
    a 64-bit sock_fprog. This is analogous to compat_sock_fprog support for
    SO_REUSEPORT added in commit 1957598840f4 ("soreuseport: add compat
    case for setsockopt SO_ATTACH_REUSEPORT_CBPF").

    Reported-by: Daniel Borkmann
    Signed-off-by: Willem de Bruijn
    Acked-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Willem de Bruijn
     
  • The dwmac4_set_umac_addr() takes a struct mac_device_info as
    the first parameter, but is being passed a ioaddr instead from
    dwmac4_set_filter(). Fix the warning/bug by changing the first
    parameter.

    drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46: warning: incorrect type in argument 1 (different address spaces)
    drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46: expected struct mac_device_info *hw
    drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c:159:46: got void [noderef] *ioaddr

    Note, only compile tested this as do not have any
    hardware with it in.

    Signed-off-by: Ben Dooks
    Acked-by: Giuseppe Cavallaro
    Signed-off-by: David S. Miller

    Ben Dooks
     
  • Saeed Mahameed says:

    ====================
    Mellanox 100G mlx5 fixes for 4.7-rc

    The following series provides some small fixes for mlx5 driver.

    Two small fixes for the mlx5e netdev, the 1st is for the blue flame
    quota accounting and the 2nd is a small refactoring in shutdown flow.

    Five trivial fixes for mlx5 E-Switch.
    - Allmulti mc_promisc flag was not set in a specific flow.
    - Modify VF node guid when admin mac is changed.
    - Race in vport enable flow.
    - Misc code fixes (kvfree when needed and error pointers checking).

    Three in mlx5 steering area. Correct capabilities checking and root flow table update.

    Three misc fixes in mlx5 commands enum and layouts.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Blue flame is a latency enhancement feature that allows the driver to
    write the packet data directly to the NIC's registers thus making the
    read of the packet data from host memory redundant.

    We maintain a quota for the blue flame which is reloaded whenever we
    identify that the hardware is processing send requests and processes
    them fast enough so by the time we post the next send request it was
    able to process all the pending ones. This indicates that the hardware
    is capable of processing more blue flame requests efficiently. The blue
    flame quota is decremented whenever we send using blue flame.

    The current code erroneously clears the budget if we did not use blue
    flame for the current post send operation and we fix it here.

    Fixes: 88a85f99e51f ('net/mlx5e: TX latency optimization to save DMA reads')
    Signed-off-by: Eli Cohen
    Signed-off-by: Saeed Mahameed
    Signed-off-by: David S. Miller

    Eli Cohen