06 Apr, 2016

1 commit


05 Apr, 2016

3 commits


02 Apr, 2016

29 commits

  • Pull networking fixes from David Miller:

    1) Missing device reference in IPSEC input path results in crashes
    during device unregistration. From Subash Abhinov Kasiviswanathan.

    2) Per-queue ISR register writes not being done properly in macb
    driver, from Cyrille Pitchen.

    3) Stats accounting bugs in bcmgenet, from Patri Gynther.

    4) Lightweight tunnel's TTL and TOS were swapped in netlink dumps, from
    Quentin Armitage.

    5) SXGBE driver has off-by-one in probe error paths, from Rasmus
    Villemoes.

    6) Fix race in save/swap/delete options in netfilter ipset, from
    Vishwanath Pai.

    7) Ageing time of bridge not set properly when not operating over a
    switchdev device. Fix from Haishuang Yan.

    8) Fix GRO regression wrt nested FOU/GUE based tunnels, from Alexander
    Duyck.

    9) IPV6 UDP code bumps wrong stats, from Eric Dumazet.

    10) FEC driver should only access registers that actually exist on the
    given chipset, fix from Fabio Estevam.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (73 commits)
    net: mvneta: fix changing MTU when using per-cpu processing
    stmmac: fix MDIO settings
    Revert "stmmac: Fix 'eth0: No PHY found' regression"
    stmmac: fix TX normal DESC
    net: mvneta: use cache_line_size() to get cacheline size
    net: mvpp2: use cache_line_size() to get cacheline size
    net: mvpp2: fix maybe-uninitialized warning
    tun, bpf: fix suspicious RCU usage in tun_{attach, detach}_filter
    net: usb: cdc_ncm: adding Telit LE910 V2 mobile broadband card
    rtnl: fix msg size calculation in if_nlmsg_size()
    fec: Do not access unexisting register in Coldfire
    net: mvneta: replace MVNETA_CPU_D_CACHE_LINE_SIZE with L1_CACHE_BYTES
    net: mvpp2: replace MVPP2_CPU_D_CACHE_LINE_SIZE with L1_CACHE_BYTES
    net: dsa: mv88e6xxx: Clear the PDOWN bit on setup
    net: dsa: mv88e6xxx: Introduce _mv88e6xxx_phy_page_{read, write}
    bpf: make padding in bpf_tunnel_key explicit
    ipv6: udp: fix UDP_MIB_IGNOREDMULTI updates
    bnxt_en: Fix ethtool -a reporting.
    bnxt_en: Fix typo in bnxt_hwrm_set_pause_common().
    bnxt_en: Implement proper firmware message padding.
    ...

    Linus Torvalds
     
  • Pull clk fixes from Stephen Boyd:
    "A handful of const updates for reset ops and a couple fixes to the
    newly introduced IPQ4019 clock driver"

    * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
    clk: qcom: ipq4019: add some fixed clocks for ddrppl and fepll
    clk: qcom: ipq4019: switch remaining defines to enums
    clk: qcom: Make reset_control_ops const
    clk: tegra: Make reset_control_ops const
    clk: sunxi: Make reset_control_ops const
    clk: atlas7: Make reset_control_ops const
    clk: rockchip: Make reset_control_ops const
    clk: mmp: Make reset_control_ops const
    clk: mediatek: Make reset_control_ops const

    Linus Torvalds
     
  • Pull power management and ACPI fix from Rafael J. Wysocki:
    "Just one fix for a nasty boot failure on some systems based on Intel
    Skylake that shipped with broken firmware where enabling
    hardware-coordinated P-states management (HWP) causes a faulty
    interrupt handler in SMM to be invoked and crash the system (Srinivas
    Pandruvada)"

    * tag 'pm+acpi-4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / processor: Request native thermal interrupt handling via _OSC

    Linus Torvalds
     
  • Merge fixes from Andrew Morton:
    "11 fixes"

    * emailed patches from Andrew Morton :
    .mailmap: add Christophe Ricard
    Make CONFIG_FHANDLE default y
    mm/page_isolation.c: fix the function comments
    oom, oom_reaper: do not enqueue task if it is on the oom_reaper_list head
    mm/page_isolation: fix tracepoint to mirror check function behavior
    mm/rmap: batched invalidations should use existing api
    x86/mm: TLB_REMOTE_SEND_IPI should count pages
    mm: fix invalid node in alloc_migrate_target()
    include/linux/huge_mm.h: return NULL instead of false for pmd_trans_huge_lock()
    mm, kasan: fix compilation for CONFIG_SLAB
    MAINTAINERS: orangefs mailing list is subscribers-only

    Linus Torvalds
     
  • * acpi-processor:
    ACPI / processor: Request native thermal interrupt handling via _OSC

    Rafael J. Wysocki
     
  • Pull btrfs fixes from Chris Mason:
    "This has a few fixes Dave Sterba had queued up. These are all pretty
    small, but since they were tested I decided against waiting for more"

    * 'for-linus-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs:
    btrfs: transaction_kthread() is not freezable
    btrfs: cleaner_kthread() doesn't need explicit freeze
    btrfs: do not write corrupted metadata blocks to disk
    btrfs: csum_tree_block: return proper errno value

    Linus Torvalds
     
  • Pull OrangeFS fixes from Martin Brandenburg:
    "Two bugfixes for OrangeFS.

    One is a reference counting bug and the other is a typo in client
    minimum version"

    * tag 'for-linus' of git://github.com/martinbrandenburg/linux:
    orangefs: minimum userspace version is 2.9.3
    orangefs: don't put readdir slot twice

    Linus Torvalds
     
  • Pull arm64 fixes from Will Deacon:

    - fix oops when patching in alternative sequences on big-endian CPUs

    - reconcile asm/perf_event.h after merge window fallout with KVM ARM

    - defconfig updates

    * tag 'arm64-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: defconfig: updates for 4.6
    arm64: perf: Move PMU register related defines to asm/perf_event.h
    arm64: opcodes.h: Add arm big-endian config options before including arm header

    Linus Torvalds
     
  • Pull sound fixes from Takashi Iwai:
    "A collection of small fixes:

    - a fix in ALSA timer core to avoid possible BUG() trigger
    - a fix in ALSA timer core 32bit compat layer
    - a few HD-audio quirks for ASUS and HP machines
    - AMD HD-audio HDMI controller quirks
    - fixes of USB-audio double-free at some error paths
    - a fix for memory leak in DICE driver at hotunplug"

    * tag 'sound-4.6-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
    ALSA: timer: Use mod_timer() for rearming the system timer
    ALSA: hda - fix front mic problem for a HP desktop
    ALSA: usb-audio: Fix double-free in error paths after snd_usb_add_audio_stream() call
    ALSA: hda: add AMD Polaris-10/11 AZ PCI IDs with proper driver caps
    ALSA: dice: fix memory leak when unplugging
    ALSA: hda - Apply fix for white noise on Asus N550JV, too
    ALSA: hda - Fix white noise on Asus N750JV headphone
    ALSA: hda - Asus N750JV external subwoofer fixup
    ALSA: timer: fix gparams ioctl compatibility for different architectures

    Linus Torvalds
     
  • Different computers had different settings in the mail client. Some
    contributions appear as Christophe Ricard, others as Christophe RICARD.

    Signed-off-by: Christophe Ricard
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Christophe Ricard
     
  • Newer Fedora and OpenSUSE didn't boot with my standard configuration.
    It took me some time to figure out why, in fact I had to write a script
    to try different config options systematically.

    The problem is that something (systemd) in dracut depends on
    CONFIG_FHANDLE, which adds open by file handle syscalls.

    While it is set in defconfigs it is very easy to miss when updating
    older configs because it is not default y.

    Make it default y and also depend on EXPERT, as dracut use is likely
    widespread.

    Signed-off-by: Andi Kleen
    Cc: Richard Weinberger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Commit fea85cff11de ("mm/page_isolation.c: return last tested pfn rather
    than failure indicator") changed the meaning of the return value. Let's
    change the function comments as well.

    Signed-off-by: Neil Zhang
    Cc: Joonsoo Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Neil Zhang
     
  • Commit bb29902a7515 ("oom, oom_reaper: protect oom_reaper_list using
    simpler way") has simplified the check for tasks already enqueued for
    the oom reaper by checking tsk->oom_reaper_list != NULL. This check is
    not sufficient because the tsk might be the head of the queue without
    any other tasks queued and then we would simply lockup looping on the
    same task. Fix the condition by checking for the head as well.

    Fixes: bb29902a7515 ("oom, oom_reaper: protect oom_reaper_list using simpler way")
    Signed-off-by: Michal Hocko
    Acked-by: Tetsuo Handa
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • Page isolation has not failed if the fin pfn extends beyond the end pfn
    and test_pages_isolated checks this correctly. Fix the tracepoint to
    report the same result as the actual check function.

    Signed-off-by: Lucas Stach
    Acked-by: Vlastimil Babka
    Cc: Joonsoo Kim
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lucas Stach
     
  • The recently introduced batched invalidations mechanism uses its own
    mechanism for shootdown. However, it does wrong accounting of
    interrupts (e.g., inc_irq_stat is called for local invalidations),
    trace-points (e.g., TLB_REMOTE_SHOOTDOWN for local invalidations) and
    may break some platforms as it bypasses the invalidation mechanisms of
    Xen and SGI UV.

    This patch reuses the existing TLB flushing mechnaisms instead. We use
    NULL as mm to indicate a global invalidation is required.

    Fixes 72b252aed506b8 ("mm: send one IPI per CPU to TLB flush all entries after unmapping pages")
    Signed-off-by: Nadav Amit
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Dave Hansen
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nadav Amit
     
  • TLB_REMOTE_SEND_IPI was recently introduced, but it counts bytes instead
    of pages. In addition, it does not report correctly the case in which
    flush_tlb_page flushes a page. Fix it to be consistent with other TLB
    counters.

    Fixes: 5b74283ab251b9d ("x86, mm: trace when an IPI is about to be sent")
    Signed-off-by: Nadav Amit
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Dave Hansen
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Nadav Amit
     
  • It is incorrect to use next_node to find a target node, it will return
    MAX_NUMNODES or invalid node. This will lead to crash in buddy system
    allocation.

    Fixes: c8721bbbdd36 ("mm: memory-hotplug: enable memory hotplug to handle hugepage")
    Signed-off-by: Xishi Qiu
    Acked-by: Vlastimil Babka
    Acked-by: Naoya Horiguchi
    Cc: Joonsoo Kim
    Cc: David Rientjes
    Cc: "Laura Abbott"
    Cc: Hui Zhu
    Cc: Wang Xiaoqiang
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Xishi Qiu
     
  • The return value of pmd_trans_huge_lock() is a pointer, not a boolean
    value, so use NULL instead of false as the return value.

    Signed-off-by: Chen Gang
    Acked-by: Kirill A. Shutemov
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Chen Gang
     
  • Add the missing argument to set_track().

    Fixes: cd11016e5f52 ("mm, kasan: stackdepot implementation. Enable stackdepot for SLAB")
    Signed-off-by: Alexander Potapenko
    Cc: Andrey Konovalov
    Cc: Christoph Lameter
    Cc: Dmitry Vyukov
    Cc: Andrey Ryabinin
    Cc: Steven Rostedt
    Cc: Joonsoo Kim
    Cc: Konstantin Serebryany
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexander Potapenko
     
  • So update MAINTAINERS to say so.

    Signed-off-by: Joe Perches
    Cc: Mike Marshall
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • After enabling per-cpu processing it appeared that under heavy load
    changing MTU can result in blocking all port's interrupts and
    transmitting data is not possible after the change.

    This commit fixes above issue by disabling percpu interrupts for the
    time, when TXQs and RXQs are reconfigured.

    Signed-off-by: Marcin Wojtas
    Signed-off-by: David S. Miller

    Marcin Wojtas
     
  • Giuseppe Cavallaro says:

    ====================
    stmmac MDIO and normal descr fixes

    This patch series is to fix the problems below and recently debugged
    in this mailing list:

    o to fix a problem for the HW where the normal descriptor
    o to fix the mdio registration according to the different
    platform configurations

    I am resending all the patches again: built on top of net.git repo.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Initially the phy_bus_name was added to manipulate the
    driver name but it was recently just used to manage the
    fixed-link and then to take some decision at run-time.
    So the patch uses the is_pseudo_fixed_link and removes
    the phy_bus_name variable not necessary anymore.

    The driver can manage the mdio registration by using phy-handle,
    dwmac-mdio and own parameter e.g. snps,phy-addr.
    This patch takes care about all these possible configurations
    and fixes the mdio registration in case of there is a real
    transceiver or a switch (that needs to be managed by using
    fixed-link).

    Signed-off-by: Giuseppe Cavallaro
    Reviewed-by: Andreas Färber
    Tested-by: Frank Schäfer
    Cc: Gabriel Fernandez
    Cc: Dinh Nguyen
    Cc: David S. Miller
    Cc: Phil Reid
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     
  • This reverts commit 88f8b1bb41c6208f81b6a480244533ded7b59493.
    due to problems on GeekBox and Banana Pi M1 board when
    connected to a real transceiver instead of a switch via
    fixed-link.

    Signed-off-by: Giuseppe Cavallaro
    Cc: Gabriel Fernandez
    Cc: Andreas Färber
    Cc: Frank Schäfer
    Cc: Dinh Nguyen
    Cc: David S. Miller
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     
  • This patch fixs a regression raised when test on chips that use
    the normal descriptor layout. In fact, no len bits were set for
    the TDES1 and no OWN bit inside the TDES0.

    Signed-off-by: Giuseppe CAVALLARO
    Tested-by: Andreas Färber
    Cc: Fabrice Gasnier
    Signed-off-by: David S. Miller

    Giuseppe CAVALLARO
     
  • L1_CACHE_BYTES may not be the real cacheline size, use cache_line_size
    to determine the cacheline size in runtime.

    Signed-off-by: Jisheng Zhang
    Suggested-by: Marcin Wojtas
    Signed-off-by: David S. Miller

    Jisheng Zhang
     
  • L1_CACHE_BYTES may not be the real cacheline size, use cache_line_size
    to determine the cacheline size in runtime.

    Signed-off-by: Jisheng Zhang
    Suggested-by: Marcin Wojtas
    Signed-off-by: David S. Miller

    Jisheng Zhang
     
  • This is to fix the following maybe-uninitialized warning:

    drivers/net/ethernet/marvell/mvpp2.c:6007:18: warning: 'err' may be
    used uninitialized in this function [-Wmaybe-uninitialized]

    Signed-off-by: Jisheng Zhang
    Signed-off-by: David S. Miller

    Jisheng Zhang
     
  • Sasha Levin reported a suspicious rcu_dereference_protected() warning
    found while fuzzing with trinity that is similar to this one:

    [ 52.765684] net/core/filter.c:2262 suspicious rcu_dereference_protected() usage!
    [ 52.765688] other info that might help us debug this:
    [ 52.765695] rcu_scheduler_active = 1, debug_locks = 1
    [ 52.765701] 1 lock held by a.out/1525:
    [ 52.765704] #0: (rtnl_mutex){+.+.+.}, at: [] rtnl_lock+0x17/0x20
    [ 52.765721] stack backtrace:
    [ 52.765728] CPU: 1 PID: 1525 Comm: a.out Not tainted 4.5.0+ #264
    [...]
    [ 52.765768] Call Trace:
    [ 52.765775] [] dump_stack+0x85/0xc8
    [ 52.765784] [] lockdep_rcu_suspicious+0xd5/0x110
    [ 52.765792] [] sk_detach_filter+0x82/0x90
    [ 52.765801] [] tun_detach_filter+0x35/0x90 [tun]
    [ 52.765810] [] __tun_chr_ioctl+0x354/0x1130 [tun]
    [ 52.765818] [] ? selinux_file_ioctl+0x130/0x210
    [ 52.765827] [] tun_chr_ioctl+0x13/0x20 [tun]
    [ 52.765834] [] do_vfs_ioctl+0x96/0x690
    [ 52.765843] [] ? security_file_ioctl+0x43/0x60
    [ 52.765850] [] SyS_ioctl+0x79/0x90
    [ 52.765858] [] do_syscall_64+0x62/0x140
    [ 52.765866] [] entry_SYSCALL64_slow_path+0x25/0x25

    Same can be triggered with PROVE_RCU (+ PROVE_RCU_REPEATEDLY) enabled
    from tun_attach_filter() when user space calls ioctl(tun_fd, TUN{ATTACH,
    DETACH}FILTER, ...) for adding/removing a BPF filter on tap devices.

    Since the fix in f91ff5b9ff52 ("net: sk_{detach|attach}_filter() rcu
    fixes") sk_attach_filter()/sk_detach_filter() now dereferences the
    filter with rcu_dereference_protected(), checking whether socket lock
    is held in control path.

    Since its introduction in 994051625981 ("tun: socket filter support"),
    tap filters are managed under RTNL lock from __tun_chr_ioctl(). Thus the
    sock_owned_by_user(sk) doesn't apply in this specific case and therefore
    triggers the false positive.

    Extend the BPF API with __sk_attach_filter()/__sk_detach_filter() pair
    that is used by tap filters and pass in lockdep_rtnl_is_held() for the
    rcu_dereference_protected() checks instead.

    Reported-by: Sasha Levin
    Signed-off-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Daniel Borkmann
     

01 Apr, 2016

7 commits

  • Pull drm fixes from Dave Airlie:
    "Nothing too crazy in here: a bunch of AMD fixes/quirks, two msm fixes,
    some rockchip fixes, and a udl warning fix, along with one locking fix
    for displayport that seems to fix some dodgy monitors"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/udl: Use unlocked gem unreferencing
    drm/dp: move hw_mutex up the call stack
    drm/amdgpu: Don't move pinned BOs
    drm/radeon: Don't move pinned BOs
    drm/radeon: add a dpm quirk for all R7 370 parts
    drm/radeon: add another R7 370 quirk
    drm/rockchip: dw_hdmi: Don't call platform_set_drvdata()
    drm/rockchip: vop: Fix vop crtc cleanup
    drm/rockchip: dw_hdmi: Call drm_encoder_cleanup() in error path
    drm/rockchip: vop: Disable planes when disabling CRTC
    drm/rockchip: vop: Don't reject empty modesets
    drm/rockchip: cancel pending vblanks on close
    drm/rockchip: vop: fix crtc size in plane check
    drm/radeon: add a dpm quirk for sapphire Dual-X R7 370 2G D5
    drm/amd: Beef up ACP Kconfig menu text
    drm/msm: fix typo in the !COMMON_CLK case
    drm/msm: fix bug after preclose removal

    Linus Torvalds
     
  • Pull powerpc fixes from Michael Ellerman:
    - Fixup preempt underflow with huge pages from Sebastian Siewior
    - Fix altivec SPR not being saved from Oliver O'Halloran
    - Correct used_vsr comment from Simon Guo

    * tag 'powerpc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
    powerpc: Correct used_vsr comment
    powerpc/process: Fix altivec SPR not being saved
    powerpc/mm: Fixup preempt underflow with huge pages

    Linus Torvalds
     
  • Pull s390 fixes from Martin Schwidefsky:
    - A proper fix for the locking issue in the dasd driver
    - Wire up the new preadv2 nad pwritev2 system calls
    - Add the mark_rodata_ro function and set DEBUG_RODATA=y
    - A few more bug fixes.

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390: wire up preadv2/pwritev2 syscalls
    s390/pci: PCI function group 0 is valid for clp_query_pci_fn
    s390/crypto: provide correct file mode at device register.
    s390/mm: handle PTE-mapped tail pages in fast gup
    s390: add DEBUG_RODATA support
    s390: disable postinit-readonly for now
    s390/dasd: reorder lcu and device lock
    s390/cpum_sf: Fix cpu hotplug notifier transitions
    s390/cpum_cf: Fix missing cpu hotplug notifier transition

    Linus Torvalds
     
  • ALSA system timer backend stops the timer via del_timer() without sync
    and leaves del_timer_sync() at the close instead. This is because of
    the restriction by the design of ALSA timer: namely, the stop callback
    may be called from the timer handler, and calling the sync shall lead
    to a hangup. However, this also triggers a kernel BUG() when the
    timer is rearmed immediately after stopping without sync:
    kernel BUG at kernel/time/timer.c:966!
    Call Trace:

    [] snd_timer_s_start+0x13e/0x1a0
    [] snd_timer_interrupt+0x504/0xec0
    [] ? debug_check_no_locks_freed+0x290/0x290
    [] snd_timer_s_function+0xb4/0x120
    [] call_timer_fn+0x162/0x520
    [] ? call_timer_fn+0xcd/0x520
    [] ? snd_timer_interrupt+0xec0/0xec0
    ....

    It's the place where add_timer() checks the pending timer. It's clear
    that this may happen after the immediate restart without sync in our
    cases.

    So, the workaround here is just to use mod_timer() instead of
    add_timer(). This looks like a band-aid fix, but it's a right move,
    as snd_timer_interrupt() takes care of the continuous rearm of timer.

    Reported-by: Jiri Slaby
    Cc:
    Signed-off-by: Takashi Iwai

    Takashi Iwai
     
  • Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • The PCI function group 0 is a valid function group,
    it is wrong to reject it.

    Let's accept PCI function group 0.

    Signed-off-by: Pierre Morel
    Acked-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Pierre Morel
     
  • The front mic jack (pink color) can't detect any plug or unplug. After
    applying this fix, both detecting function and recording function
    work well.

    BugLink: https://bugs.launchpad.net/bugs/1564712
    Cc: stable@vger.kernel.org
    Signed-off-by: Hui Wang
    Signed-off-by: Takashi Iwai

    Hui Wang