1. 24 Mar, 2016 20 commits
    • Qianqian Xie's avatar
      net: hns: bug fix for return values · 055a9417
      Qianqian Xie authored
      The return values in the first two functions mdiobus_write()
      are ignored. The patch will fix it.
      Signed-off-by: default avatarQianqian Xie <xieqianqian@huawei.com>
      Signed-off-by: default avatarYisen Zhuang <Yisen.Zhuang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      055a9417
    • Qianqian Xie's avatar
      net: hns: optimizate fmt of snprintf() · 8d71397b
      Qianqian Xie authored
      It misses string format in function snprintf(), as below:
      snprintf(buff, ETH_GSTRING_LEN, g_gmac_stats_string[i].desc);
      
      It needs to add "%s" to fix it as below:
      snprintf(buff, ETH_GSTRING_LEN, "%s", g_gmac_stats_string[i].desc);
      Signed-off-by: default avatarQianqian Xie <xieqianqian@huawei.com>
      Signed-off-by: default avatarKejian Yan <yankejian@huawei.com>
      Signed-off-by: default avatarYisen Zhuang <Yisen.Zhuang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8d71397b
    • Qianqian Xie's avatar
      net: hns: fix a bug for cycle index · 52613126
      Qianqian Xie authored
      The cycle index should be varied while the variable j is a fixed value.
      The patch will fix this bug.
      Signed-off-by: default avatarQianqian Xie <xieqianqian@huawei.com>
      Signed-off-by: default avatarYisen Zhuang <Yisen.Zhuang@huawei.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      52613126
    • subashab@codeaurora.org's avatar
      xfrm: Fix crash observed during device unregistration and decryption · 071d36bf
      subashab@codeaurora.org authored
      A crash is observed when a decrypted packet is processed in receive
      path. get_rps_cpus() tries to dereference the skb->dev fields but it
      appears that the device is freed from the poison pattern.
      
      [<ffffffc000af58ec>] get_rps_cpu+0x94/0x2f0
      [<ffffffc000af5f94>] netif_rx_internal+0x140/0x1cc
      [<ffffffc000af6094>] netif_rx+0x74/0x94
      [<ffffffc000bc0b6c>] xfrm_input+0x754/0x7d0
      [<ffffffc000bc0bf8>] xfrm_input_resume+0x10/0x1c
      [<ffffffc000ba6eb8>] esp_input_done+0x20/0x30
      [<ffffffc0000b64c8>] process_one_work+0x244/0x3fc
      [<ffffffc0000b7324>] worker_thread+0x2f8/0x418
      [<ffffffc0000bb40c>] kthread+0xe0/0xec
      
      -013|get_rps_cpu(
           |    dev = 0xFFFFFFC08B688000,
           |    skb = 0xFFFFFFC0C76AAC00 -> (
           |      dev = 0xFFFFFFC08B688000 -> (
           |        name =
      "......................................................
           |        name_hlist = (next = 0xAAAAAAAAAAAAAAAA, pprev =
      0xAAAAAAAAAAA
      
      Following are the sequence of events observed -
      
      - Encrypted packet in receive path from netdevice is queued
      - Encrypted packet queued for decryption (asynchronous)
      - Netdevice brought down and freed
      - Packet is decrypted and returned through callback in esp_input_done
      - Packet is queued again for process in network stack using netif_rx
      
      Since the device appears to have been freed, the dereference of
      skb->dev in get_rps_cpus() leads to an unhandled page fault
      exception.
      
      Fix this by holding on to device reference when queueing packets
      asynchronously and releasing the reference on call back return.
      
      v2: Make the change generic to xfrm as mentioned by Steffen and
      update the title to xfrm
      Suggested-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: default avatarJerome Stanislaus <jeromes@codeaurora.org>
      Signed-off-by: default avatarSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      071d36bf
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · e46b4e2b
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "Nothing major this round.  Mostly small clean ups and fixes.
      
        Some visible changes:
      
         - A new flag was added to distinguish traces done in NMI context.
      
         - Preempt tracer now shows functions where preemption is disabled but
           interrupts are still enabled.
      
        Other notes:
      
         - Updates were done to function tracing to allow better performance
           with perf.
      
         - Infrastructure code has been added to allow for a new histogram
           feature for recording live trace event histograms that can be
           configured by simple user commands.  The feature itself was just
           finished, but needs a round in linux-next before being pulled.
      
           This only includes some infrastructure changes that will be needed"
      
      * tag 'trace-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (22 commits)
        tracing: Record and show NMI state
        tracing: Fix trace_printk() to print when not using bprintk()
        tracing: Remove redundant reset per-CPU buff in irqsoff tracer
        x86: ftrace: Fix the misleading comment for arch/x86/kernel/ftrace.c
        tracing: Fix crash from reading trace_pipe with sendfile
        tracing: Have preempt(irqs)off trace preempt disabled functions
        tracing: Fix return while holding a lock in register_tracer()
        ftrace: Use kasprintf() in ftrace_profile_tracefs()
        ftrace: Update dynamic ftrace calls only if necessary
        ftrace: Make ftrace_hash_rec_enable return update bool
        tracing: Fix typoes in code comment and printk in trace_nop.c
        tracing, writeback: Replace cgroup path to cgroup ino
        tracing: Use flags instead of bool in trigger structure
        tracing: Add an unreg_all() callback to trigger commands
        tracing: Add needs_rec flag to event triggers
        tracing: Add a per-event-trigger 'paused' field
        tracing: Add get_syscall_name()
        tracing: Add event record param to trigger_ops.func()
        tracing: Make event trigger functions available
        tracing: Make ftrace_event_field checking functions available
        ...
      e46b4e2b
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · faea72dd
      Linus Torvalds authored
      Pull thermal updates from Zhang Rui:
      
       - Fix a regression where bogus trip points on some Lenovo laptops start
         to screw up thermal control after commit 81ad4276 ("Thermal:
         initialize thermal zone device correctly").
      
         On these Lenovo laptops, a bogus passive trip point is reported,
         which is 0 degree Celsius.  Without commit 81ad4276, thermal zone
         fails to set cooling devices to proper cooling state, which is a bug.
         But with commit 81ad4276 applied, the processors are always
         throttled on these Lenovo laptops because the current temperature is
         always higher than the passive trip point.
      
         Fix things to ignore such bogus trip points.  (Zhang Rui)
      
       - Introduce Mediatek thermal driver.  (Sascha Hauer)
      
       - Introduce devm_ versions of OF thermal sensor register API.  (Laxman
         Dewangan)
      
       - Changes in Kconfigs to allow compile test on UM arch.  (Krzysztof
         Kozlowski)
      
       - Introduce Skylake support in intel_pch_thermal driver.  (Srinivas
         Pandruvada)
      
       - Several small fixes on Rockchip, TI-SoC, Tegra, RCar, and Exynos
         thermal drivers.
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (26 commits)
        Thermal: Ignore invalid trip points
        thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros
        thermal: intel_pch_thermal: Enable Skylake PCH thermal
        thermal: doc: Add details of devm_thermal_zone_of_sensor_{register,unregister}
        thermal: of-thermal: Add devm version of thermal_zone_of_sensor_register
        thermal: doc: Add details of thermal_zone_of_sensor_{register,unregister}
        thermal: exynos: Defer probe if vtmu is present but not registered
        thermal: exynos: Use devm_regulator_get_optional() for vtmu
        thermal: exynos: List vtmu-supply as optional property in DT binding
        thermal: exynos: Print a message about exceeded number of supported trip-points
        thermal: exynos: Document number of supported trip-points
        thermal: exynos: Document compatible for Exynos5433 TMU
        thermal: mtk: allow compile testing on UM
        thermal: tegra_soctherm: fix sign bit of temperature
        thermal: Fix build error of missing devm_ioremap_resource on UM
        thermal: ti-soc-thermal: clean up the error handling a bit
        thermal: rcar: Use ARCH_RENESAS
        thermal: rcar_thermal: don't open code of_device_get_match_data()
        thermal: db8500_cpufreq_cooling: Compile with COMPILE_TEST
        thermal: rockchip: fix the tsadc sequence output on rk3228/rk3399
        ...
      faea72dd
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.6' of git://linux-nfs.org/~bfields/linux · 5b1e167d
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Various bugfixes, a RDMA update from Chuck Lever, and support for a
        new pnfs layout type from Christoph Hellwig.  The new layout type is a
        variant of the block layout which uses SCSI features to offer improved
        fencing and device identification.
      
        (Also: note this pull request also includes the client side of SCSI
        layout, with Trond's permission.)"
      
      * tag 'nfsd-4.6' of git://linux-nfs.org/~bfields/linux:
        sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects a race
        nfsd: recover: fix memory leak
        nfsd: fix deadlock secinfo+readdir compound
        nfsd4: resfh unused in nfsd4_secinfo
        svcrdma: Use new CQ API for RPC-over-RDMA server send CQs
        svcrdma: Use new CQ API for RPC-over-RDMA server receive CQs
        svcrdma: Remove close_out exit path
        svcrdma: Hook up the logic to return ERR_CHUNK
        svcrdma: Use correct XID in error replies
        svcrdma: Make RDMA_ERROR messages work
        rpcrdma: Add RPCRDMA_HDRLEN_ERR
        svcrdma: svc_rdma_post_recv() should close connection on error
        svcrdma: Close connection when a send error occurs
        nfsd: Lower NFSv4.1 callback message size limit
        svcrdma: Do not send Write chunk XDR pad with inline content
        svcrdma: Do not write xdr_buf::tail in a Write chunk
        svcrdma: Find client-provided write and reply chunks once per reply
        nfsd: Update NFS server comments related to RDMA support
        nfsd: Fix a memory leak when meeting unsupported state_protect_how4
        nfsd4: fix bad bounds checking
      5b1e167d
    • Linus Torvalds's avatar
      Merge tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 8b97be05
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are some fixes that poped up due to the big staging tree merge,
        as well as the removal of a staging driver that now is covered by a
        "real" driver.
      
        All of these have been in linux-next for a few days with no reported
        issues"
      
      * tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: delete STE RMI4 hackish driver
        staging: android: ion_test: fix check of platform_device_register_simple() error code
        staging: wilc1000: fix a couple of memory leaks
        staging: fsl-mc: fix incorrect type passed to dev_err macros
        staging: fsl-mc: fix incorrect type passed to dev_dbg macros
        staging: wilc1000: fixed kernel panic when firmware is not started
        staging: comedi: ni_mio_common: fix the ni_write[blw]() functions
        staging: most: hdm-dim2: Remove possible dereference error
        staging: lustre: checking for NULL instead of IS_ERR
        staging: lustre: really make lustre dependent on LNet
        staging: refresh TODO for rtl8712
        staging: refresh TODO for rtl8723au
      8b97be05
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 44d1b6dd
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single fix to the pistachio clocksource driver using the proper
        signedness in the error print format"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/drivers/pistachio: Correct output format of PTR_ERR()
      44d1b6dd
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0f0fbec9
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A small set of fixes for the usual ARM/SOC irqchip drivers
      
         - A set of fixes for mbigen to handle multiple devices in a hardware
           module proper
      
         - A cleanup for the mbigen config option which was pointlessly user
           configurable.
      
         - A cleanup for tegra replacing open coded functionality by the
           proper core function
      
        The config cleanup touches arch/arm64/Kconfig.platforms to select the
        irq chip for the related platform"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/mbigen: Make CONFIG_HISILICON_IRQ_MBIGEN a hidden option
        ARM64: Kconfig: Select mbigen interrupt controller on Hisilicon platform
        irqchip/mbigen: Handle multiple device nodes in a mbigen module
        irqchip/mbigen: Adjust DT bindings to handle multiple devices in a module
        irqchip/tegra: Switch to use irq_domain_free_irqs_common
      0f0fbec9
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3fa2fe2c
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "This tree contains various perf fixes on the kernel side, plus three
        hw/event-enablement late additions:
      
         - Intel Memory Bandwidth Monitoring events and handling
         - the AMD Accumulated Power Mechanism reporting facility
         - more IOMMU events
      
        ... and a final round of perf tooling updates/fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        perf llvm: Use strerror_r instead of the thread unsafe strerror one
        perf llvm: Use realpath to canonicalize paths
        perf tools: Unexport some methods unused outside strbuf.c
        perf probe: No need to use formatting strbuf method
        perf help: Use asprintf instead of adhoc equivalents
        perf tools: Remove unused perf_pathdup, xstrdup functions
        perf tools: Do not include stringify.h from the kernel sources
        tools include: Copy linux/stringify.h from the kernel
        tools lib traceevent: Remove redundant CPU output
        perf tools: Remove needless 'extern' from function prototypes
        perf tools: Simplify die() mechanism
        perf tools: Remove unused DIE_IF macro
        perf script: Remove lots of unused arguments
        perf thread: Rename perf_event__preprocess_sample_addr to thread__resolve
        perf machine: Rename perf_event__preprocess_sample to machine__resolve
        perf tools: Add cpumode to struct perf_sample
        perf tests: Forward the perf_sample in the dwarf unwind test
        perf tools: Remove misplaced __maybe_unused
        perf list: Fix documentation of :ppp
        perf bench numa: Fix assertion for nodes bitfield
        ...
      3fa2fe2c
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d88f48e1
      Linus Torvalds authored
      Pull x86 fixes from Ingo Molnar:
       "Misc fixes:
      
         - fix hotplug bugs
         - fix irq live lock
         - fix various topology handling bugs
         - fix APIC ACK ordering
         - fix PV iopl handling
         - fix speling
         - fix/tweak memcpy_mcsafe() return value
         - fix fbcon bug
         - remove stray prototypes"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/msr: Remove unused native_read_tscp()
        x86/apic: Remove declaration of unused hw_nmi_is_cpu_stuck
        x86/oprofile/nmi: Add missing hotplug FROZEN handling
        x86/hpet: Use proper mask to modify hotplug action
        x86/apic/uv: Fix the hotplug notifier
        x86/apb/timer: Use proper mask to modify hotplug action
        x86/topology: Use total_cpus not nr_cpu_ids for logical packages
        x86/topology: Fix Intel HT disable
        x86/topology: Fix logical package mapping
        x86/irq: Cure live lock in fixup_irqs()
        x86/tsc: Prevent NULL pointer deref in calibrate_delay_is_known()
        x86/apic: Fix suspicious RCU usage in smp_trace_call_function_interrupt()
        x86/iopl: Fix iopl capability check on Xen PV
        x86/iopl/64: Properly context-switch IOPL on Xen PV
        selftests/x86: Add an iopl test
        x86/mm, x86/mce: Fix return type/value for memcpy_mcsafe()
        x86/video: Don't assume all FB devices are PCI devices
        arch/x86/irq: Purge useless handler declarations from hw_irq.h
        x86: Fix misspellings in comments
      d88f48e1
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · be53f58f
      Linus Torvalds authored
      Pull scheduler fixes from Ingo Molnar:
       "Misc fixes: a cgroup fix, a fair-scheduler migration accounting fix, a
        cputime fix and two cpuacct cleanups"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/cpuacct: Simplify the cpuacct code
        sched/cpuacct: Rename parameter in cpuusage_write() for readability
        sched/fair: Add comments to explain select_idle_sibling()
        sched/fair: Fix fairness issue on migration
        sched/cgroup: Fix/cleanup cgroup teardown/init
        sched/cputime: Fix steal time accounting vs. CPU hotplug
      be53f58f
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 19d6f04c
      Linus Torvalds authored
      Pull locking fixes from Ingo Molnar:
       "Documentation updates and a bitops ordering fix"
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        bitops: Do not default to __clear_bit() for __clear_bit_unlock()
        documentation: Clarify compiler store-fusion example
        documentation: Transitivity is not cumulativity
        documentation:  Add alternative release-acquire outcome
        documentation: Distinguish between local and global transitivity
        documentation: Subsequent writes ordered by rcu_dereference()
        documentation: Remove obsolete reference to RCU-protected indexes
        documentation: Fix memory-barriers.txt section references
        documentation: Fix control dependency and identical stores
      19d6f04c
    • Ingo Molnar's avatar
      Merge tag 'perf-core-for-mingo-20160323' of... · 05f5ece7
      Ingo Molnar authored
      Merge tag 'perf-core-for-mingo-20160323' of git://git.kernel.org/pub/scm/linux/kernel/git/acme/linux into perf/urgent
      
      Pull perf/core improvements and fixes:
      
      User visible fixes:
      
       - Fix documentation of :ppp modifier in 'perf list' (Andi Kleen)
      
       - Fix silly nodes bitfield bits/bytes length assertion in 'perf bench numa' (Jakub Jelen)
      
       - Remove redundant CPU output in libtraceevent (Steven Rostedt)
      
       - Remove 'core_id' check in topology 'perf test' (Sukadev Bhattiprolu)
      
      Infrastructure changes/fixes:
      
       - Record text offset in dso to calculate objdump address, to use with
         modules in addition to vDSO symbol address calculations (Wang Nan)
      
       - Move utilities.mak from perf to tools/scripts/ (Arnaldo Carvalho de Melo)
      
       - Add cpumode to the perf_sample struct, this way we don't need to pass
         the union event to the machine and thread resolving routines, shortening
         function signatures and allowing the future introduction of a way
         to use tracepoint events instead of the unavailable HW cycles counter on
         powerpc guests in perf kvm by just hooking on perf_evsel__parse_sample,
         at the end (Arnaldo Carvalho de Melo)
      
       - Remove/unexport die() related infrastructure, that at some point will
         finally be removed (Arnaldo Carvalho de Melo)
      
       - Adopt linux/stringify.h from the kernel sources, not to touch this
         kernel header from tools/ (Arnaldo Carvalho de Melo)
      
       - Stop using strbuf for things we can instead trivially use libc's asprintf()
         (Arnaldo Carvalho de Melo)
      
       - Ditch tools/lib/util/abspath.c, its only exported function was used at just
         one place and can be replaced by libc's realpath() (Arnaldo Carvalho de Melo)
      
       - Use strerror_r() in the llvm infrastructure, tread safe, its what is used
         elsewhere in tools/perf/ (Arnaldo Carvalho de Melo)
      
      Cleanups:
      
       - Removed misplaced or needless __maybe_unused/export (Arnaldo Carvalho de Melo)
      Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
      05f5ece7
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · aca04ce5
      Linus Torvalds authored
      Pull networking bugfixes from David Miller:
       "Several bug fixes rolling in, some for changes introduced in this
        merge window, and some for problems that have existed for some time:
      
        1) Fix prepare_to_wait() handling in AF_VSOCK, from Claudio Imbrenda.
      
        2) The new DST_CACHE should be a silent config option, from Dave
           Jones.
      
        3) inet_current_timestamp() unintentionally truncates timestamps to
           16-bit, from Deepa Dinamani.
      
        4) Missing reference to netns in ppp, from Guillaume Nault.
      
        5) Free memory reference in hv_netvsc driver, from Haiyang Zhang.
      
        6) Missing kernel doc documentation for function arguments in various
           spots around the networking, from Luis de Bethencourt.
      
        7) UDP stopped receiving broadcast packets properly, due to
           overzealous multicast checks, fix from Paolo Abeni"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (59 commits)
        net: ping: make ping_v6_sendmsg static
        hv_netvsc: Fix the order of num_sc_offered decrement
        net: Fix typos and whitespace.
        hv_netvsc: Fix the array sizes to be max supported channels
        hv_netvsc: Fix accessing freed memory in netvsc_change_mtu()
        ppp: take reference on channels netns
        net: Reset encap_level to avoid resetting features on inner IP headers
        net: mediatek: fix checking for NULL instead of IS_ERR() in .probe
        net: phy: at803x: Request 'reset' GPIO only for AT8030 PHY
        at803x: fix reset handling
        AF_VSOCK: Shrink the area influenced by prepare_to_wait
        Revert "vsock: Fix blocking ops call in prepare_to_wait"
        macb: fix PHY reset
        ipv4: initialize flowi4_flags before calling fib_lookup()
        fsl/fman: Workaround for Errata A-007273
        ipv4: fix broadcast packets reception
        net: hns: bug fix about the overflow of mss
        net: hns: adds limitation for debug port mtu
        net: hns: fix the bug about mtu setting
        net: hns: fixes a bug of RSS
        ...
      aca04ce5
    • Haishuang Yan's avatar
      net: ping: make ping_v6_sendmsg static · 6579a023
      Haishuang Yan authored
      As ping_v6_sendmsg is used only in this file,
      making it static
      
      The body of "pingv6_prot" and "pingv6_protosw" were
      moved at the middle of the file, to avoid having to
      declare some static prototypes.
      Signed-off-by: default avatarHaishuang Yan <yanhaishuang@cmss.chinamobile.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      6579a023
    • Haiyang Zhang's avatar
      hv_netvsc: Fix the order of num_sc_offered decrement · 3f735131
      Haiyang Zhang authored
      Reorder the code in netvsc_sc_open(), so num_sc_offered is only decremented
      after vmbus_open() is called. This avoid pontential race of removing device
      before all channels are setup.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      3f735131
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v4.6-1' of... · 5a010c73
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v4.6-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86
      
      Pull x86 platform driver updates from Darren Hart:
       "Significant refactoring of Dell laptop drivers, modularizing the
        smbios code.  Multiple new platforms added for ideapad, asus, dell,
        and alienware using existing quirks.  A few fixes and cleanups.
      
        hp-wmi:
         - Remove GPS rfkill support via pre-2009 interface
         - fix unregister order in hp_wmi_rfkill_setup() once again
      
        ideapad-laptop:
         - Add ideapad Y700 (15) to the no_hw_rfkill DMI list
      
        fujitsu-laptop:
         - Support radio toggle button
      
        intel-hid:
         - allocate correct amount of memory for private struct
      
        platform/x86:
         - Make intel_scu_ipc explicitly non-modular
      
        intel_pmc_ipc:
         - Avoid pending IPC1 command during legacy suspend
         - Fix GCR register base address and length
      
        asus-nb-wmi:
         - add wapf=4 quirk for ASUS X75VD
      
        intel_telemetry_pltdrv:
         - Change verbosity control bits
      
        dell-rbtn:
         - Add a comment about the XPS 13 9350
      
        dell-wmi, dell-laptop:
         - depends DMI
      
        dell-wmi:
         - support Dell Inspiron M5110
         - properly process Dell Instant Launch hotkey
         - enable receiving WMI events on Dell Vostro V131
         - Support new hotkeys on the XPS 13 9350 (Skylake)
         - Clean up hotkey table size check
         - Stop storing pointers to DMI tables
      
        dell-laptop:
         - move dell_smi_error() to dell-smbios
         - use dell_smbios_find_token() instead of find_token_location()
         - use dell_smbios_find_token() instead of find_token_id()
         - extract SMBIOS-related code to a separate module
      
        dell-smbios:
         - rename dell_smi_error() to dell_smbios_error()
         - make da_tokens static
         - remove find_token_{id,location}()
         - implement new function for finding DMI table 0xDA tokens
         - make the SMBIOS buffer static
         - return the SMBIOS buffer from dell_smbios_get_buffer()
         - don't return an SMBIOS buffer from dell_smbios_send_request()
         - don't pass an SMBIOS buffer to dell_smbios_send_request()
         - rename dell_send_request() to dell_smbios_send_request()
         - rename release_buffer() to dell_smbios_release_buffer()
         - rename clear_buffer() to dell_smbios_clear_buffer()
         - rename get_buffer() to dell_smbios_get_buffer()
      
        dell-led:
         - use dell_smbios_send_request() for performing SMBIOS calls
         - use dell_smbios_find_token() for finding mic DMI tokens
      
        toshiba_acpi:
         - Add a module parameter to disable hotkeys registration
         - Add sysfs entries for the Cooling Method feature
         - Add support for cooling method feature
      
        Documentation/ABI:
         - Update sysfs-driver-toshiba_acpi file
      
        thinkpad_acpi:
         - Remove ambiguous logging for "Unsupported brightness interface"
      
        alienware-wmi:
         - whitespace improvements
         - Add support for two new systems: ASM200 and ASM201.
         - Add support for deep sleep control.
         - Add initial support for alienware graphics amplifier.
         - Add support for new platform: X51-R3
         - Clean up whitespace for ASM100 platform"
      
      * tag 'platform-drivers-x86-v4.6-1' of git://git.infradead.org/users/dvhart/linux-platform-drivers-x86: (47 commits)
        hp-wmi: Remove GPS rfkill support via pre-2009 interface
        hp-wmi: fix unregister order in hp_wmi_rfkill_setup() once again
        dell-wmi: support Dell Inspiron M5110
        dell-wmi: properly process Dell Instant Launch hotkey
        dell-wmi: enable receiving WMI events on Dell Vostro V131
        dell-smbios: rename dell_smi_error() to dell_smbios_error()
        dell-laptop: move dell_smi_error() to dell-smbios
        ideapad-laptop: Add ideapad Y700 (15) to the no_hw_rfkill DMI list
        fujitsu-laptop: Support radio toggle button
        intel-hid: allocate correct amount of memory for private struct
        platform/x86: Make intel_scu_ipc explicitly non-modular
        intel_pmc_ipc: Avoid pending IPC1 command during legacy suspend
        intel_pmc_ipc: Fix GCR register base address and length
        asus-nb-wmi: add wapf=4 quirk for ASUS X75VD
        intel_telemetry_pltdrv: Change verbosity control bits
        dell-rbtn: Add a comment about the XPS 13 9350
        dell-wmi: Support new hotkeys on the XPS 13 9350 (Skylake)
        dell-wmi: Clean up hotkey table size check
        dell-wmi, dell-laptop: depends DMI
        dell-wmi: Stop storing pointers to DMI tables
        ...
      5a010c73
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-4.6-rc1' of... · b615d3d4
      Linus Torvalds authored
      Merge tag 'pwm/for-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm
      
      Pull pwm updates from Thierry Reding:
       "No new drivers this time around, but a handful of cleanups and fixes"
      
      * tag 'pwm/for-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thierry.reding/linux-pwm:
        pwm: omap-dmtimer: Add debug message for effective period and duty cycle
        pwm: omap-dmtimer: Round load and match values rather than truncate
        pwm: omap-dmtimer: Add sanity checking for load and match values
        pwm: omap-dmtimer: Fix inaccurate period and duty cycle calculations
        pwm: brcmstb: Fix check of devm_ioremap_resource() return code
        pwm: rcar: Depend on ARCH_RENESAS instead of ARCH_SHMOBILE
        pwm: lpc18xx-sct: Test clock rate to avoid division by 0
        pwm: img: Test clock rate to avoid division by 0
      b615d3d4
  2. 23 Mar, 2016 20 commits
    • Linus Torvalds's avatar
      Merge branch 'for-next-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending · ed7d6bc2
      Linus Torvalds authored
      Pull more SCSI target updates from Nicholas Bellinger:
       "This series contains cxgb4 driver prerequisites for supporting iscsi
        segmentation offload (ISO), that will be utilized for a number of
        future v4.7 developments in iscsi-target for supporting generic hw
        offloads"
      
      * 'for-next-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
        cxgb4: update Kconfig and Makefile
        cxgb4: add iSCSI DDP page pod manager
        cxgb4, iw_cxgb4: move delayed ack macro definitions
        cxgb4: move VLAN_NONE macro definition
        cxgb4: update struct cxgb4_lld_info definition
        cxgb4: add definitions for iSCSI target ULD
        cxgb4, cxgb4i: move struct cpl_rx_data_ddp definition
        cxgb4, iw_cxgb4, cxgb4i: remove duplicate definitions
        cxgb4, iw_cxgb4: move definitions to common header file
        cxgb4: large receive offload support
        cxgb4: allocate resources for CXGB4_ULD_ISCSIT
        cxgb4: add new ULD type CXGB4_ULD_ISCSIT
      ed7d6bc2
    • Arnaldo Carvalho de Melo's avatar
      perf llvm: Use strerror_r instead of the thread unsafe strerror one · 76267147
      Arnaldo Carvalho de Melo authored
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-5njrq9dltckgm624omw9ljgu@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      76267147
    • Arnaldo Carvalho de Melo's avatar
      perf llvm: Use realpath to canonicalize paths · 78478269
      Arnaldo Carvalho de Melo authored
      To kill the last user of make_nonrelative_path(), that gets ditched,
      one more panicking function killed.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-3hu56rvyh4q5gxogovb6ko8a@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      78478269
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Unexport some methods unused outside strbuf.c · 0741208a
      Arnaldo Carvalho de Melo authored
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-nq1wvtky4mpu0nupjyar7sbw@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      0741208a
    • Arnaldo Carvalho de Melo's avatar
      perf probe: No need to use formatting strbuf method · 88fd633c
      Arnaldo Carvalho de Melo authored
      We have addch() for chars, add() for fixed size data, and addstr() for
      variable length strings, use them.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-0ap02fn2xtvpduj2j6b2o1j4@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      88fd633c
    • Arnaldo Carvalho de Melo's avatar
      perf help: Use asprintf instead of adhoc equivalents · a610f5cb
      Arnaldo Carvalho de Melo authored
      That doesn't chekcs malloc return and that, when using strbuf, if it
      can't grow, just explodes away via die().
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-vr8qsjbwub7e892hpa9msz95@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      a610f5cb
    • Bjorn Helgaas's avatar
      net: Fix typos and whitespace. · 5e82b4b2
      Bjorn Helgaas authored
      Fix typos.  Capitalize CPU, NAPI, RCU consistently.  Align structure
      indentation.  No functional change intended; only comment and whitespace
      changes.
      Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5e82b4b2
    • Haiyang Zhang's avatar
      hv_netvsc: Fix the array sizes to be max supported channels · 9efc2f7d
      Haiyang Zhang authored
      The VRSS_CHANNEL_MAX is the max number of channels supported by Hyper-V
      hosts. We use it for the related array sizes instead of using NR_CPUS,
      which may be set to several thousands.
      This patch reduces possible memory allocation failures.
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9efc2f7d
    • Haiyang Zhang's avatar
      hv_netvsc: Fix accessing freed memory in netvsc_change_mtu() · d212b463
      Haiyang Zhang authored
      struct netvsc_device is freed in rndis_filter_device_remove(). So we save
      the nvdev->num_chn into a temp variable for later usage.
      
      (Please also include this patch into stable branch.)
      Signed-off-by: default avatarHaiyang Zhang <haiyangz@microsoft.com>
      Reviewed-by: default avatarK. Y. Srinivasan <kys@microsoft.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d212b463
    • Guillaume Nault's avatar
      ppp: take reference on channels netns · 1f461dcd
      Guillaume Nault authored
      Let channels hold a reference on their network namespace.
      Some channel types, like ppp_async and ppp_synctty, can have their
      userspace controller running in a different namespace. Therefore they
      can't rely on them to preclude their netns from being removed from
      under them.
      
      ==================================================================
      BUG: KASAN: use-after-free in ppp_unregister_channel+0x372/0x3a0 at
      addr ffff880064e217e0
      Read of size 8 by task syz-executor/11581
      =============================================================================
      BUG net_namespace (Not tainted): kasan: bad access detected
      -----------------------------------------------------------------------------
      
      Disabling lock debugging due to kernel taint
      INFO: Allocated in copy_net_ns+0x6b/0x1a0 age=92569 cpu=3 pid=6906
      [<      none      >] ___slab_alloc+0x4c7/0x500 kernel/mm/slub.c:2440
      [<      none      >] __slab_alloc+0x4c/0x90 kernel/mm/slub.c:2469
      [<     inline     >] slab_alloc_node kernel/mm/slub.c:2532
      [<     inline     >] slab_alloc kernel/mm/slub.c:2574
      [<      none      >] kmem_cache_alloc+0x23a/0x2b0 kernel/mm/slub.c:2579
      [<     inline     >] kmem_cache_zalloc kernel/include/linux/slab.h:597
      [<     inline     >] net_alloc kernel/net/core/net_namespace.c:325
      [<      none      >] copy_net_ns+0x6b/0x1a0 kernel/net/core/net_namespace.c:360
      [<      none      >] create_new_namespaces+0x2f6/0x610 kernel/kernel/nsproxy.c:95
      [<      none      >] copy_namespaces+0x297/0x320 kernel/kernel/nsproxy.c:150
      [<      none      >] copy_process.part.35+0x1bf4/0x5760 kernel/kernel/fork.c:1451
      [<     inline     >] copy_process kernel/kernel/fork.c:1274
      [<      none      >] _do_fork+0x1bc/0xcb0 kernel/kernel/fork.c:1723
      [<     inline     >] SYSC_clone kernel/kernel/fork.c:1832
      [<      none      >] SyS_clone+0x37/0x50 kernel/kernel/fork.c:1826
      [<      none      >] entry_SYSCALL_64_fastpath+0x16/0x7a kernel/arch/x86/entry/entry_64.S:185
      
      INFO: Freed in net_drop_ns+0x67/0x80 age=575 cpu=2 pid=2631
      [<      none      >] __slab_free+0x1fc/0x320 kernel/mm/slub.c:2650
      [<     inline     >] slab_free kernel/mm/slub.c:2805
      [<      none      >] kmem_cache_free+0x2a0/0x330 kernel/mm/slub.c:2814
      [<     inline     >] net_free kernel/net/core/net_namespace.c:341
      [<      none      >] net_drop_ns+0x67/0x80 kernel/net/core/net_namespace.c:348
      [<      none      >] cleanup_net+0x4e5/0x600 kernel/net/core/net_namespace.c:448
      [<      none      >] process_one_work+0x794/0x1440 kernel/kernel/workqueue.c:2036
      [<      none      >] worker_thread+0xdb/0xfc0 kernel/kernel/workqueue.c:2170
      [<      none      >] kthread+0x23f/0x2d0 kernel/drivers/block/aoe/aoecmd.c:1303
      [<      none      >] ret_from_fork+0x3f/0x70 kernel/arch/x86/entry/entry_64.S:468
      INFO: Slab 0xffffea0001938800 objects=3 used=0 fp=0xffff880064e20000
      flags=0x5fffc0000004080
      INFO: Object 0xffff880064e20000 @offset=0 fp=0xffff880064e24200
      
      CPU: 1 PID: 11581 Comm: syz-executor Tainted: G    B           4.4.0+
      Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
      rel-1.8.2-0-g33fbe13 by qemu-project.org 04/01/2014
       00000000ffffffff ffff8800662c7790 ffffffff8292049d ffff88003e36a300
       ffff880064e20000 ffff880064e20000 ffff8800662c77c0 ffffffff816f2054
       ffff88003e36a300 ffffea0001938800 ffff880064e20000 0000000000000000
      Call Trace:
       [<     inline     >] __dump_stack kernel/lib/dump_stack.c:15
       [<ffffffff8292049d>] dump_stack+0x6f/0xa2 kernel/lib/dump_stack.c:50
       [<ffffffff816f2054>] print_trailer+0xf4/0x150 kernel/mm/slub.c:654
       [<ffffffff816f875f>] object_err+0x2f/0x40 kernel/mm/slub.c:661
       [<     inline     >] print_address_description kernel/mm/kasan/report.c:138
       [<ffffffff816fb0c5>] kasan_report_error+0x215/0x530 kernel/mm/kasan/report.c:236
       [<     inline     >] kasan_report kernel/mm/kasan/report.c:259
       [<ffffffff816fb4de>] __asan_report_load8_noabort+0x3e/0x40 kernel/mm/kasan/report.c:280
       [<     inline     >] ? ppp_pernet kernel/include/linux/compiler.h:218
       [<ffffffff83ad71b2>] ? ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392
       [<     inline     >] ppp_pernet kernel/include/linux/compiler.h:218
       [<ffffffff83ad71b2>] ppp_unregister_channel+0x372/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392
       [<     inline     >] ? ppp_pernet kernel/drivers/net/ppp/ppp_generic.c:293
       [<ffffffff83ad6f26>] ? ppp_unregister_channel+0xe6/0x3a0 kernel/drivers/net/ppp/ppp_generic.c:2392
       [<ffffffff83ae18f3>] ppp_asynctty_close+0xa3/0x130 kernel/drivers/net/ppp/ppp_async.c:241
       [<ffffffff83ae1850>] ? async_lcp_peek+0x5b0/0x5b0 kernel/drivers/net/ppp/ppp_async.c:1000
       [<ffffffff82c33239>] tty_ldisc_close.isra.1+0x99/0xe0 kernel/drivers/tty/tty_ldisc.c:478
       [<ffffffff82c332c0>] tty_ldisc_kill+0x40/0x170 kernel/drivers/tty/tty_ldisc.c:744
       [<ffffffff82c34943>] tty_ldisc_release+0x1b3/0x260 kernel/drivers/tty/tty_ldisc.c:772
       [<ffffffff82c1ef21>] tty_release+0xac1/0x13e0 kernel/drivers/tty/tty_io.c:1901
       [<ffffffff82c1e460>] ? release_tty+0x320/0x320 kernel/drivers/tty/tty_io.c:1688
       [<ffffffff8174de36>] __fput+0x236/0x780 kernel/fs/file_table.c:208
       [<ffffffff8174e405>] ____fput+0x15/0x20 kernel/fs/file_table.c:244
       [<ffffffff813595ab>] task_work_run+0x16b/0x200 kernel/kernel/task_work.c:115
       [<     inline     >] exit_task_work kernel/include/linux/task_work.h:21
       [<ffffffff81307105>] do_exit+0x8b5/0x2c60 kernel/kernel/exit.c:750
       [<ffffffff813fdd20>] ? debug_check_no_locks_freed+0x290/0x290 kernel/kernel/locking/lockdep.c:4123
       [<ffffffff81306850>] ? mm_update_next_owner+0x6f0/0x6f0 kernel/kernel/exit.c:357
       [<ffffffff813215e6>] ? __dequeue_signal+0x136/0x470 kernel/kernel/signal.c:550
       [<ffffffff8132067b>] ? recalc_sigpending_tsk+0x13b/0x180 kernel/kernel/signal.c:145
       [<ffffffff81309628>] do_group_exit+0x108/0x330 kernel/kernel/exit.c:880
       [<ffffffff8132b9d4>] get_signal+0x5e4/0x14f0 kernel/kernel/signal.c:2307
       [<     inline     >] ? kretprobe_table_lock kernel/kernel/kprobes.c:1113
       [<ffffffff8151d355>] ? kprobe_flush_task+0xb5/0x450 kernel/kernel/kprobes.c:1158
       [<ffffffff8115f7d3>] do_signal+0x83/0x1c90 kernel/arch/x86/kernel/signal.c:712
       [<ffffffff8151d2a0>] ? recycle_rp_inst+0x310/0x310 kernel/include/linux/list.h:655
       [<ffffffff8115f750>] ? setup_sigcontext+0x780/0x780 kernel/arch/x86/kernel/signal.c:165
       [<ffffffff81380864>] ? finish_task_switch+0x424/0x5f0 kernel/kernel/sched/core.c:2692
       [<     inline     >] ? finish_lock_switch kernel/kernel/sched/sched.h:1099
       [<ffffffff81380560>] ? finish_task_switch+0x120/0x5f0 kernel/kernel/sched/core.c:2678
       [<     inline     >] ? context_switch kernel/kernel/sched/core.c:2807
       [<ffffffff85d794e9>] ? __schedule+0x919/0x1bd0 kernel/kernel/sched/core.c:3283
       [<ffffffff81003901>] exit_to_usermode_loop+0xf1/0x1a0 kernel/arch/x86/entry/common.c:247
       [<     inline     >] prepare_exit_to_usermode kernel/arch/x86/entry/common.c:282
       [<ffffffff810062ef>] syscall_return_slowpath+0x19f/0x210 kernel/arch/x86/entry/common.c:344
       [<ffffffff85d88022>] int_ret_from_sys_call+0x25/0x9f kernel/arch/x86/entry/entry_64.S:281
      Memory state around the buggy address:
       ffff880064e21680: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
       ffff880064e21700: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
      >ffff880064e21780: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
                                                             ^
       ffff880064e21800: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
       ffff880064e21880: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
      ==================================================================
      
      Fixes: 273ec51d ("net: ppp_generic - introduce net-namespace functionality v2")
      Reported-by: default avatarBaozeng Ding <sploving1@gmail.com>
      Signed-off-by: default avatarGuillaume Nault <g.nault@alphalink.fr>
      Reviewed-by: default avatarCyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1f461dcd
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Remove unused perf_pathdup, xstrdup functions · cf47a8ae
      Arnaldo Carvalho de Melo authored
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-s87zi5d03m6rz622y1z6rlsa@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      cf47a8ae
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Do not include stringify.h from the kernel sources · 531d2410
      Arnaldo Carvalho de Melo authored
      Use instead the copy just made to tools/include/linux/.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-q736w12nwy98x5ox2hamp5ow@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      531d2410
    • Alexander Duyck's avatar
      net: Reset encap_level to avoid resetting features on inner IP headers · 5197f349
      Alexander Duyck authored
      This patch corrects an oversight in which we were allowing the encap_level
      value to pass from the outer headers to the inner headers.  As a result we
      were incorrectly identifying UDP or GRE tunnels as also making use of ipip
      or sit when the second header actually represented a tunnel encapsulated in
      either a UDP or GRE tunnel which already had the features masked.
      
      Fixes: 76443456 ("net: Move GSO csum into SKB_GSO_CB")
      Reported-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarAlexander Duyck <aduyck@mirantis.com>
      Acked-by: default avatarTom Herbert <tom@herbertland.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      5197f349
    • Arnaldo Carvalho de Melo's avatar
      tools include: Copy linux/stringify.h from the kernel · 737ef7d3
      Arnaldo Carvalho de Melo authored
      There is code in tools/ that is directly including this file from the
      kernel, and this is verboten for a while, copy it so that the next csets
      can fix this situation.
      
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-e0r3nks2uai020ndghvxv5qw@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      737ef7d3
    • Steven Rostedt's avatar
      tools lib traceevent: Remove redundant CPU output · 4f3c8876
      Steven Rostedt authored
      Commit a6745330 ("tools lib traceevent: Split pevent_print_event()
      into specific functionality functions") broke apart the function
      pevent_print_event() into three functions.
      
      The first function prints the comm, pid and CPU, the second prints the
      timestamp.
      
      But that commit added the printing of the CPU in the timestamp function,
      which now causes pevent_print_event() to duplicate the CPU output.
      
      Remove the redundant printing of the record's CPU from the timestamp
      function.
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Fixes: a6745330 ("tools lib traceevent: Split pevent_print_event() into specific functionality functions")
      Link: http://lkml.kernel.org/r/20160323101628.459375d2@gandalf.local.homeSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      4f3c8876
    • Arnaldo Carvalho de Melo's avatar
      perf tools: Remove needless 'extern' from function prototypes · 3938bad4
      Arnaldo Carvalho de Melo authored
      Cc: Adrian Hunter <adrian.hunter@intel.com>
      Cc: Jiri Olsa <jolsa@kernel.org>
      Cc: Namhyung Kim <namhyung@kernel.org>
      Cc: Wang Nan <wangnan0@huawei.com>
      Link: http://lkml.kernel.org/n/tip-w246stf7ponfamclsai6b9zo@git.kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
      3938bad4
    • Vladimir Zapolskiy's avatar
      net: mediatek: fix checking for NULL instead of IS_ERR() in .probe · 621e49f6
      Vladimir Zapolskiy authored
      devm_ioremap_resource() returns ERR_PTR() value on error, it never
      returns NULL, fix it and propagate the returned error upwards.
      
      Fixes: 656e7052 ("net-next: mediatek: add support for MT7623 ethernet")
      Signed-off-by: default avatarVladimir Zapolskiy <vz@mleia.com>
      Reviewed-by: default avatarMatthias Brugger <mbrugger@suse.com>
      Acked-by: default avatarJohn Crispin <blogic@openwrt.org>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      621e49f6
    • Sebastian Frias's avatar
      net: phy: at803x: Request 'reset' GPIO only for AT8030 PHY · 9eb13f65
      Sebastian Frias authored
      This removes the dependency on GPIOLIB for non faulty PHYs.
      
      Indeed, without this patch, if GPIOLIB is not selected
      devm_gpiod_get_optional() will return -ENOSYS and the driver probe
      call will fail, regardless of the actual PHY hardware.
      
      Out of the 3 PHYs supported by this driver (AT8030, AT8031, AT8035),
      only AT8030 presents the issues that commit 13a56b44 ("net: phy:
      at803x: Add support for hardware reset") attempts to work-around by
      using a 'reset' GPIO line.
      
      Hence, only AT8030 should depend on GPIOLIB operating properly.
      
      Fixes: 13a56b44 ("net: phy: at803x: Add support for hardware reset")
      Signed-off-by: default avatarSebastian Frias <sf84@laposte.net>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      9eb13f65
    • Sergei Shtylyov's avatar
      at803x: fix reset handling · d57019d1
      Sergei Shtylyov authored
      The driver of course "knows" that the chip's reset signal is active low,
      so  it drives the GPIO to 0  to reset the PHY and to 1 otherwise; however
      all this will only work iff the GPIO  is  specified as active-high in the
      device tree!  I think both the driver and the device trees (if there are
      any -- I was unable to find them) need to be fixed in this case...
      
      Fixes: 13a56b44 ("net: phy: at803x: Add support for hardware reset")
      Signed-off-by: default avatarSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
      Acked-by: default avatarUwe Kleine-König <u.kleine-koenig@pengutronix.de>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d57019d1
    • Maciej S. Szmigiero's avatar
      hp-wmi: Remove GPS rfkill support via pre-2009 interface · fffcad87
      Maciej S. Szmigiero authored
      GPS rfkill support via pre-2009 WMI interface uses hp_wmi_get_sw_state()
      and hp_wmi_get_hw_state() to query its current hard and soft block state,
      respectively.
      
      In hp_wmi_get_sw_state() a mask is calculated which bit should be checked
      in an int value returned by firmware to get current block state: 0x200 <<
      (r * 8) which with r being 3 for GPS results in overflow and mask of zero.
      The same goes for hp_wmi_get_hw_state().
      
      This effectively means that GPS rfkill on this WMI interface is considered
      always both hard and soft blocked.
      
      Unfortunately, later when rfkill subsystem calls hp_wmi_set_block() to sync
      this block to hardware firmware at least on my old nc6400 gets confused and
      sets both hard and soft blocks on WiFi and BT.
      
      This happens for example on hp-wmi module load.
      
      Since due to overflow described above it is dubious that this ever worked
      correctly and HP laptops with modems having GPS support seem to all have
      been released well past year 2009 let's just remove GPS rfkill support via
      pre-2009 WMI interface.
      Signed-off-by: default avatarMaciej S. Szmigiero <mail@maciej.szmigiero.name>
      Signed-off-by: default avatarDarren Hart <dvhart@linux.intel.com>
      fffcad87