07 Dec, 2013

10 commits

  • Add a new check for CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS to reduce
    the number of or's used in the ether_addr_equal comparison to very
    slightly improve function performance.

    Simplify the ether_addr_equal_64bits implementation.
    Integrate and remove the zap_last_2bytes helper as it's now
    used only once.

    Remove the now unused compare_ether_addr function.

    Update the unaligned-memory-access documentation to remove the
    compare_ether_addr description and show how unaligned accesses
    could occur with ether_addr_equal.

    Signed-off-by: Joe Perches
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Creating an address with this flag set will result in kernel taking care
    of temporary addresses in the same way as if the address was created by
    kernel itself (after RA receive). This allows userspace applications
    implementing the autoconfiguration (NetworkManager for example) to
    implement ipv6 addresses privacy.

    Signed-off-by: Jiri Pirko
    Signed-off-by: Thomas Haller
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • There is no more space in u8 ifa_flags. So do what davem suffested and
    add another netlink attr called IFA_FLAGS for carry more flags.

    Signed-off-by: Jiri Pirko
    Signed-off-by: Thomas Haller
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • Some network drivers use dev_kfree_skb_any() and dev_kfree_skb_irq()
    helpers to free skbs, both for dropped packets and TX completed ones.

    We need to separate the two causes to get better diagnostics
    given by dropwatch or "perf record -e skb:kfree_skb"

    This patch provides two new helpers, dev_consume_skb_any() and
    dev_consume_skb_irq() to be used for consumed skbs.

    __dev_kfree_skb_irq() is slightly optimized to remove one
    atomic_dec_and_test() in fast path, and use this_cpu_{r|w} accessors.

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Breakdown the PHY_*_FEATURES into per speed defines such that we can
    easily re-use them individually.

    Signed-off-by: Florian Fainelli
    Signed-off-by: David S. Miller

    Florian Fainelli
     
  • John W. Linville says:

    ====================
    Please pull this batch of updates intended for the 3.14 stream...

    For the mac80211 bits, Johannes says:

    "I have various improvements/cleanups/fixes all over, but the shortlog
    shows that Luis's regulatory work and mesh work from the cozybit folks
    are the biggest ones, along with the CSA fixes."

    Along with that, we have big batches of updates to brcmfmac, rtlwifi,
    and ath9k. There are updates to wcn36xx, rt2x00, and a handful of
    others as well.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • With the introduction of TCP Small Queues, TSO auto sizing, and TCP
    pacing, we can implement Automatic Corking in the kernel, to help
    applications doing small write()/sendmsg() to TCP sockets.

    Idea is to change tcp_push() to check if the current skb payload is
    under skb optimal size (a multiple of MSS bytes)

    If under 'size_goal', and at least one packet is still in Qdisc or
    NIC TX queues, set the TCP Small Queue Throttled bit, so that the push
    will be delayed up to TX completion time.

    This delay might allow the application to coalesce more bytes
    in the skb in following write()/sendmsg()/sendfile() system calls.

    The exact duration of the delay is depending on the dynamics
    of the system, and might be zero if no packet for this flow
    is actually held in Qdisc or NIC TX ring.

    Using FQ/pacing is a way to increase the probability of
    autocorking being triggered.

    Add a new sysctl (/proc/sys/net/ipv4/tcp_autocorking) to control
    this feature and default it to 1 (enabled)

    Add a new SNMP counter : nstat -a | grep TcpExtTCPAutoCorking
    This counter is incremented every time we detected skb was under used
    and its flush was deferred.

    Tested:

    Interesting effects when using line buffered commands under ssh.

    Excellent performance results in term of cpu usage and total throughput.

    lpq83:~# echo 1 >/proc/sys/net/ipv4/tcp_autocorking
    lpq83:~# perf stat ./super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128
    9410.39

    Performance counter stats for './super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128':

    35209.439626 task-clock # 2.901 CPUs utilized
    2,294 context-switches # 0.065 K/sec
    101 CPU-migrations # 0.003 K/sec
    4,079 page-faults # 0.116 K/sec
    97,923,241,298 cycles # 2.781 GHz [83.31%]
    51,832,908,236 stalled-cycles-frontend # 52.93% frontend cycles idle [83.30%]
    25,697,986,603 stalled-cycles-backend # 26.24% backend cycles idle [66.70%]
    102,225,978,536 instructions # 1.04 insns per cycle
    # 0.51 stalled cycles per insn [83.38%]
    18,657,696,819 branches # 529.906 M/sec [83.29%]
    91,679,646 branch-misses # 0.49% of all branches [83.40%]

    12.136204899 seconds time elapsed

    lpq83:~# echo 0 >/proc/sys/net/ipv4/tcp_autocorking
    lpq83:~# perf stat ./super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128
    6624.89

    Performance counter stats for './super_netperf 4 -t TCP_STREAM -H lpq84 -- -m 128':
    40045.864494 task-clock # 3.301 CPUs utilized
    171 context-switches # 0.004 K/sec
    53 CPU-migrations # 0.001 K/sec
    4,080 page-faults # 0.102 K/sec
    111,340,458,645 cycles # 2.780 GHz [83.34%]
    61,778,039,277 stalled-cycles-frontend # 55.49% frontend cycles idle [83.31%]
    29,295,522,759 stalled-cycles-backend # 26.31% backend cycles idle [66.67%]
    108,654,349,355 instructions # 0.98 insns per cycle
    # 0.57 stalled cycles per insn [83.34%]
    19,552,170,748 branches # 488.244 M/sec [83.34%]
    157,875,417 branch-misses # 0.81% of all branches [83.34%]

    12.130267788 seconds time elapsed

    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Several files refer to an old address for the Free Software Foundation
    in the file header comment. Resolve by replacing the address with
    the URL so that we do not have to keep
    updating the header comments anytime the address changes.

    CC: netfilter@vger.kernel.org
    CC: Pablo Neira Ayuso
    CC: Patrick McHardy
    CC: Jozsef Kadlecsik
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jeff Kirsher
     
  • Several files refer to an old address for the Free Software Foundation
    in the file header comment. Resolve by replacing the address with
    the URL so that we do not have to keep
    updating the header comments anytime the address changes.

    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jeff Kirsher
     
  • Several files refer to an old address for the Free Software Foundation
    in the file header comment. Resolve by replacing the address with
    the URL so that we do not have to keep
    updating the header comments anytime the address changes.

    CC: Vlad Yasevich
    CC: Neil Horman
    Signed-off-by: Jeff Kirsher
    Signed-off-by: David S. Miller

    Jeff Kirsher
     

06 Dec, 2013

2 commits


03 Dec, 2013

7 commits

  • This reverts commit 018c5bba052b3a383d83cf0c756da0e7bc748397.

    It causes regressions for people using chips driven by the sungem
    driver. Suspicion is that the skb->csum value isn't being adjusted
    properly.

    The change also has a bug in that if __pskb_trim() fails, we'll leave
    a corruped skb->csum value in there. We would really need to revert
    it to it's original value in that case.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Modify tg3_chip_reset() and tg3_close() to check if the PCI network
    adapter device is accessible at all in order to skip poking it or
    trying to handle a carrier loss in vain when that's not the case.
    Introduce a special PCI helper function pci_device_is_present()
    for this purpose.

    Of course, this uncovers the lack of the appropriate RTNL locking
    in tg3_suspend() and tg3_resume(), so add that locking in there
    too.

    These changes prevent tg3 from burning a CPU at 100% load level for
    solid several seconds after the Thunderbolt link is disconnected from
    a Matrox DS1 docking station.

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Michael Chan
    Signed-off-by: David S. Miller

    Rafael J. Wysocki
     
  • John W. Linville
     
  • Pull irq fixes from Thomas Gleixner:
    - Correction of fuzzy and fragile IRQ_RETVAL macro
    - IRQ related resume fix affecting only XEN
    - ARM/GIC fix for chained GIC controllers

    * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    irqchip: Gic: fix boot for chained gics
    irq: Enable all irqs unconditionally in irq_resume
    genirq: Correct fuzzy and fragile IRQ_RETVAL() definition

    Linus Torvalds
     
  • Pull scheduler fixes from Ingo Molnar:
    "Various smaller fixlets, all over the place"

    * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    sched/doc: Fix generation of device-drivers
    sched: Expose preempt_schedule_irq()
    sched: Fix a trivial typo in comments
    sched: Remove unused variable in 'struct sched_domain'
    sched: Avoid NULL dereference on sd_busy
    sched: Check sched_domain before computing group power
    MAINTAINERS: Update file patterns in the lockdep and scheduler entries

    Linus Torvalds
     
  • Pull perf fixes from Ingo Molnar:
    "Misc kernel and tooling fixes"

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    tools lib traceevent: Fix conversion of pointer to integer of different size
    perf/trace: Properly use u64 to hold event_id
    perf: Remove fragile swevent hlist optimization
    ftrace, perf: Avoid infinite event generation loop
    tools lib traceevent: Fix use of multiple options in processing field
    perf header: Fix possible memory leaks in process_group_desc()
    perf header: Fix bogus group name
    perf tools: Tag thread comm as overriden

    Linus Torvalds
     
  • Pull networking updates from David Miller:
    "Here is a pile of bug fixes that accumulated while I was in Europe"

    1) In fixing kernel leaks to userspace during copying of socket
    addresses, we broke a case that used to work, namely the user
    providing a buffer larger than the in-kernel generic socket address
    structure. This broke Ruby amongst other things. Fix from Dan
    Carpenter.

    2) Fix regression added by byte queue limit support in 8139cp driver,
    from Yang Yingliang.

    3) The addition of MSG_SENDPAGE_NOTLAST buggered up a few sendpage
    implementations, they should just treat it the same as MSG_MORE.
    Fix from Richard Weinberger and Shawn Landden.

    4) Handle icmpv4 errors received on ipv6 SIT tunnels correctly, from
    Oussama Ghorbel. In particular we should send an ICMPv6 unreachable
    in such situations.

    5) Fix some regressions in the recent genetlink fixes, in particular
    get the pmcraid driver to use the new safer interfaces correctly.
    From Johannes Berg.

    6) macvtap was converted to use a per-cpu set of statistics, but some
    code was still bumping tx_dropped elsewhere. From Jason Wang.

    7) Fix build failure of xen-netback due to missing include on some
    architectures, from Andy Whitecroft.

    8) macvtap double counts received packets in statistics, fix from Vlad
    Yasevich.

    9) Fix various cases of using *_STATS_BH() when *_STATS() is more
    appropriate. From Eric Dumazet and Hannes Frederic Sowa.

    10) Pktgen ipsec mode doesn't update the ipv4 header length and checksum
    properly after encapsulation. Fix from Fan Du.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (61 commits)
    net/mlx4_en: Remove selftest TX queues empty condition
    {pktgen, xfrm} Update IPv4 header total len and checksum after tranformation
    virtio_net: make all RX paths handle erors consistently
    virtio_net: fix error handling for mergeable buffers
    virtio_net: Fixed a trivial typo (fitler --> filter)
    netem: fix gemodel loss generator
    netem: fix loss 4 state model
    netem: missing break in ge loss generator
    net/hsr: Support iproute print_opt ('ip -details ...')
    net/hsr: Very small fix of comment style.
    MAINTAINERS: Added net/hsr/ maintainer
    ipv6: fix possible seqlock deadlock in ip6_finish_output2
    ixgbe: Make ixgbe_identify_qsfp_module_generic static
    ixgbe: turn NETIF_F_HW_L2FW_DOFFLOAD off by default
    ixgbe: ixgbe_fwd_ring_down needs to be static
    e1000: fix possible reset_task running after adapter down
    e1000: fix lockdep warning in e1000_reset_task
    e1000: prevent oops when adapter is being closed and reset simultaneously
    igb: Fixed Wake On LAN support
    inet: fix possible seqlock deadlocks
    ...

    Linus Torvalds
     

02 Dec, 2013

3 commits

  • The channel switch notification should be sent under the
    wdev/sdata-lock, preferably in the same moment as the channel change
    happens, to avoid races by other callers (e.g. start/stop_ap).
    This also adds the previously missing sdata_lock protection in
    csa_finalize_work.

    Reported-by: Johannes Berg
    Signed-off-by: Simon Wunderlich
    Signed-off-by: Johannes Berg

    Simon Wunderlich
     
  • Change cfg80211 and mac80211 to use cfg80211_mgmt_tx_params
    struct to aggregate parameters for mgmt_tx functions.
    This makes the functions' signatures less clumsy and allows
    less painful parameters extension.

    Signed-off-by: Andrei Otcheretianski
    [fix all other drivers]
    Signed-off-by: Johannes Berg

    Andrei Otcheretianski
     
  • nla_put_flag needs a real nl80211 attribute id, not a wiphy flag bit.
    While at it, split 5 and 10 MHz capability flags in case we ever need
    to support hardware that can only do one of the two.

    Also move the flag settings to the split-only information so we don't
    increase the space needed for old userspace.

    Signed-off-by: Felix Fietkau
    [change location of flag setting]
    Signed-off-by: Johannes Berg

    Felix Fietkau
     

01 Dec, 2013

1 commit


29 Nov, 2013

4 commits

  • Currently retransmitted DATA chunks could also be used for
    RTT measurements since there are no flag to identify whether
    the transmitted DATA chunk is a new one or a retransmitted one.
    This problem is introduced by commit ae19c5486 ("sctp: remove
    'resent' bit from the chunk") which inappropriately removed the
    'resent' bit completely, instead of doing this, we should set
    the resent bit only for the retransmitted DATA chunks.

    Signed-off-by: Xufeng Zhang
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Xufeng Zhang
     
  • The pmcraid driver is abusing the genetlink API and is using its
    family ID as the multicast group ID, which is invalid and may
    belong to somebody else (and likely will.)

    Make it use the correct API, but since this may already be used
    as-is by userspace, reserve a family ID for this code and also
    reserve that group ID to not break userspace assumptions.

    My previous patch broke event delivery in the driver as I missed
    that it wasn't using the right API and forgot to update it later
    in my series.

    While changing this, I noticed that the genetlink code could use
    the static group ID instead of a strcmp(), so also do that for
    the VFS_DQUOT family.

    Cc: Anil Ravindranath
    Cc: "James E.J. Bottomley"
    Signed-off-by: Johannes Berg
    Signed-off-by: David S. Miller

    Johannes Berg
     
  • The first netlink attribute (value 0) must always be defined as none/unspec.
    This is correctly done in inet_diag.h, but other diag interfaces are wrong.

    Because we cannot change an existing API, I add a comment to point the mistake
    and avoid to propagate it in a new diag API in the future.

    CC: Thomas Graf
    Signed-off-by: Nicolas Dichtel
    Acked-by: Thomas Graf
    Signed-off-by: David S. Miller

    Nicolas Dichtel
     
  • Pull GPIO fixes from Linus Walleij:
    "Here us a bunch of patches for the v3.13 series. Most important stuff
    is related to fixes and documentation for the new GPIO descriptor API.
    If the diffstat is scary you'll notice most of it is to
    Documentation/*:

    - A big slew of documentation for the gpiod transition that happened
    in the merge window, no semantic effect, but we should provide
    proper documentation with the new API.

    - Fix flags related to the new API.

    - Fix to the find_chip_by_name() lookup function related to the new
    API.

    - Fix of_find_gpio() when not using device tree.

    - Bug fix for the TB10x direction setting.

    - Error path fixes from Dan Carpenter.

    - Nasty IRQdomain bug relating to taking an unitialized spinlock.

    - Minor fixes here and there"

    * tag 'gpio-v3.13-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
    gpio: bcm281xx: Fix return value of bcm_kona_gpio_get()
    gpio: pl061: move irqdomain initialization
    gpio: ucb1400: Add MODULE_ALIAS
    gpiolib: fix of_find_gpio() when OF not defined
    gpio: fix memory leak in error path
    gpio: rcar: NULL dereference on error in probe()
    gpio: msm: make msm_gpio.summary_irq signed for error handling
    gpio: mvebu: make mvchip->irqbase signed for error handling
    gpiolib: use dedicated flags for GPIO properties
    gpiolib: fix find_chip_by_name()
    Documentation: gpiolib: document new interface
    gpio: tb10x: Set output value before setting direction to output

    Linus Torvalds
     

28 Nov, 2013

2 commits

  • Pull staging fixes from Greg KH:
    "Here are a number of staging, and IIO driver, fixes for 3.13-rc2 that
    resolve issues that have been reported for 3.13-rc1. All of these
    have been in linux-next for a bit this week"

    * tag 'staging-3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (25 commits)
    Staging: tidspbridge: disable driver
    staging: zsmalloc: Ensure handle is never 0 on success
    staging/lustre/ptlrpc: fix ptlrpc_stop_pinger logic
    staging: r8188eu: Fix AP mode
    Staging: btmtk_usb: Add hdev parameter to hdev->send driver callback
    Staging: go7007: fix up some remaining go->dev issues
    staging: imx-drm: Fix modular build of DRM_IMX_IPUV3
    staging: ft1000: fix use of potentially uninitialized variable
    Revert "staging:media: Use dev_dbg() instead of pr_debug()"
    Staging: zram: Fix memory leak by refcount mismatch
    staging: vt6656: [BUG] Fix for TX USB resets from vendors driver.
    staging: nvec: potential NULL dereference on error path
    Staging: vt6655-6: potential NULL dereference in hostap_disable_hostapd()
    staging: comedi: s626: fix value written by s626_set_dac()
    Staging: comedi: pcl730: fix some bitwise vs logical AND bugs
    staging: comedi: fix potentially uninitialised variable
    iio:accel:kxsd9 fix missing mutex unlock
    iio: adc: ti_am335x_adc: avoid double free of buffer.
    staging:iio: Fix hmc5843 Kconfig dependencies
    iio: Fix tcs3472 Kconfig dependencies
    ...

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael Wysocki:

    - Fix for a recent regression in the Tegra cpufreq driver causing
    excess error messages to be printed from Stephen Warren

    - ACPI-based device hotplug fix to prevent conflicting notify handlers
    from being installed for PCI host bridge objects. From Toshi Kani

    - ACPICA update to upstream version 20131115. This contains bug fixes
    mostly (loop termination fix for the get AML length function, fixes
    related to namespace node removal and debug output). From Bob Moore,
    Tomasz Nowicki and Lv Zheng

    - Removal of incorrect inclusions of internal ACPICA header files by
    non-ACPICA code from Lv Zheng

    - Fixes for the ACPI sysfs interface exposing tables to user space from
    Daisuke Hatayama and Jeremy Compostella

    - Assorted ACPI and cpufreq cleanups from Sachin Kamat and Al Stone

    - cpupower tool fix and man page from Thomas Renninger

    * tag 'pm+acpi-3.13-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI: Clean up incorrect inclusions of ACPICA headers
    tools: cpupower: fix wrong err msg not supported vs not available
    tools: cpupower: Add cpupower-idle-set(1) manpage
    ACPI / sysfs: Fix incorrect ACPI tables walk in acpi_tables_sysfs_init()
    ACPI / sysfs: Set file size for each exposed ACPI table
    ACPICA: Update version to 20131115.
    ACPICA: Add support to delete all objects attached to the root namespace node.
    ACPICA: Delete all attached data objects during namespace node deletion.
    ACPICA: Resources: Fix loop termination for the get AML length function.
    ACPICA: Tests: Add CHECKSUM_ABORT protection for test utilities.
    ACPICA: Debug output: Do not emit function nesting level for kernel build.
    ACPI / sleep: clean up compiler warning about uninitialized field
    cpufreq: exynos: Remove unwanted EXPORT_SYMBOL
    cpufreq: tegra: don't error target() when suspended
    ACPI / hotplug: Fix conflicted PCI bridge notify handlers

    Linus Torvalds
     

27 Nov, 2013

3 commits

  • …it/rostedt/linux-trace

    Pull tracing fixes from Steven Rostedt:
    "This includes two fixes.

    1) is a bug fix that happens when root does the following:

    echo function_graph > current_tracer
    modprobe foo
    echo nop > current_tracer

    This causes the ftrace internal accounting to get screwed up and
    crashes ftrace, preventing the user from using the function tracer
    after that.

    2) if a TRACE_EVENT has a string field, and NULL is given for it.

    The internal trace event code does a strlen() and strcpy() on the
    source of field. If it is NULL it causes the system to oops.

    This bug has been there since 2.6.31, but no TRACE_EVENT ever passed
    in a NULL to the string field, until now"

    * tag 'trace-fixes-v3.13-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
    ftrace: Fix function graph with loading of modules
    tracing: Allow events to have NULL strings

    Linus Torvalds
     
  • * acpica:
    ACPI: Clean up incorrect inclusions of ACPICA headers
    ACPICA: Update version to 20131115.
    ACPICA: Add support to delete all objects attached to the root namespace node.
    ACPICA: Delete all attached data objects during namespace node deletion.
    ACPICA: Resources: Fix loop termination for the get AML length function.
    ACPICA: Tests: Add CHECKSUM_ABORT protection for test utilities.
    ACPICA: Debug output: Do not emit function nesting level for kernel build.

    Rafael J. Wysocki
     
  • Pull ARM SoC fixes from Olof Johansson:
    "Mostly bugfixes and a few small code removals. Worth pointing out is:

    - A handful of more fixes to get DT enablement working properly on
    OMAP, finding new breakage of things that don't work quite right
    yet without the traditional board files. I expect a bit more of
    this to come in this release as people test on their hardware.
    - Implementation of power_down_finish() on vexpress, to make kexec
    work and to stop the MCPM core to produce a warning (the warning
    was new to 3.13-rc1).
    - A handful of minor fixes for various platforms"

    * tag 'fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc:
    ARM: bcm2835: add missing #xxx-cells to I2C nodes
    ARM: dts: Add max77686 RTC interrupt to cros5250-common
    ARM: vexpress/TC2: Implement MCPM power_down_finish()
    ARM: tegra: Provide dummy powergate implementation
    ARM: omap: fix warning with LPAE build
    ARM: OMAP2+: Remove legacy omap4_twl6030_hsmmc_init
    ARM: OMAP2+: Remove legacy mux code for display.c
    ARM: OMAP2+: Fix undefined reference to set_cntfreq
    gpio: twl4030: Fix passing of pdata in the device tree case
    gpio: twl4030: Fix regression for twl gpio output
    ARM: OMAP2+: More randconfig fixes for reconfigure_io_chain
    ARM: dts: imx6qdl: disable spdif "rxtx5" clock option
    ARM: dts: Fix omap2 specific dtsi files by adding the missing entries
    ARM: OMAP2+: Fix GPMC and simplify bootloader timings for 8250 and smc91x
    i2c: omap: Fix missing device tree flags for omap2

    Linus Torvalds
     

26 Nov, 2013

8 commits

  • If an TRACE_EVENT() uses __assign_str() or __get_str on a NULL pointer
    then the following oops will happen:

    BUG: unable to handle kernel NULL pointer dereference at (null)
    IP: [] strlen+0x10/0x1a
    *pde = 00000000 ^M
    Oops: 0000 [#1] PREEMPT SMP
    Modules linked in:
    CPU: 1 PID: 0 Comm: swapper/1 Not tainted 3.13.0-rc1-test+ #2
    Hardware name: /DG965MQ, BIOS MQ96510J.86A.0372.2006.0605.1717 06/05/2006^M
    task: f5cde9f0 ti: f5e5e000 task.ti: f5e5e000
    EIP: 0060:[] EFLAGS: 00210046 CPU: 1
    EIP is at strlen+0x10/0x1a
    EAX: 00000000 EBX: c2472da8 ECX: ffffffff EDX: c2472da8
    ESI: c1c5e5fc EDI: 00000000 EBP: f5e5fe84 ESP: f5e5fe80
    DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
    CR0: 8005003b CR2: 00000000 CR3: 01f32000 CR4: 000007d0
    Stack:
    f5f18b90 f5e5feb8 c10687a8 0759004f 00000005 00000005 00000005 00200046
    00000002 00000000 c1082a93 f56c7e28 c2472da8 c1082a93 f5e5fee4 c106bc61^M
    00000000 c1082a93 00000000 00000000 00000001 00200046 00200082 00000000
    Call Trace:
    [] ftrace_raw_event_lock+0x39/0xc0
    [] ? ktime_get+0x29/0x69
    [] ? ktime_get+0x29/0x69
    [] lock_release+0x57/0x1a5
    [] ? ktime_get+0x29/0x69
    [] read_seqcount_begin.constprop.7+0x4d/0x75
    [] ? ktime_get+0x29/0x69^M
    [] ktime_get+0x29/0x69
    [] __tick_nohz_idle_enter+0x1e/0x426
    [] ? lock_release_holdtime.part.19+0x48/0x4d
    [] ? time_hardirqs_off+0xe/0x28
    [] ? trace_hardirqs_off_caller+0x3f/0xaf
    [] tick_nohz_idle_enter+0x59/0x62
    [] cpu_startup_entry+0x64/0x192
    [] start_secondary+0x277/0x27c
    Code: 90 89 c6 89 d0 88 c4 ac 38 e0 74 09 84 c0 75 f7 be 01 00 00 00 89 f0 48 5e 5d c3 55 89 e5 57 66 66 66 66 90 83 c9 ff 89 c7 31 c0 ae f7 d1 8d 41 ff 5f 5d c3 55 89 e5 57 66 66 66 66 90 31 ff
    EIP: [] strlen+0x10/0x1a SS:ESP 0068:f5e5fe80
    CR2: 0000000000000000
    ---[ end trace 01bc47bf519ec1b2 ]---

    New tracepoints have been added that have allowed for NULL pointers
    being assigned to strings. To fix this, change the TRACE_EVENT() code
    to check for NULL and if it is, it will assign "(null)" to it instead
    (similar to what glibc printf does).

    Reported-by: Shuah Khan
    Reported-by: Jovi Zhangwei
    Link: http://lkml.kernel.org/r/CAGdX0WFeEuy+DtpsJzyzn0343qEEjLX97+o1VREFkUEhndC+5Q@mail.gmail.com
    Link: http://lkml.kernel.org/r/528D6972.9010702@samsung.com
    Fixes: 9cbf117662e2 ("tracing/events: provide string with undefined size support")
    Cc: stable@vger.kernel.org # 2.6.31+
    Signed-off-by: Steven Rostedt

    Steven Rostedt (Red Hat)
     
  • In order to support increased build test coverage for drivers, implement
    dummies for the powergate implementation. This will allow the drivers to
    be built without requiring support for Tegra to be selected.

    This patch solves the following build errors, which can be triggered in
    v3.13-rc1 by selecting DRM_TEGRA without ARCH_TEGRA:

    drivers/built-in.o: In function `gr3d_remove':
    drivers/gpu/drm/tegra/gr3d.c:321: undefined reference to `tegra_powergate_power_off'
    drivers/gpu/drm/tegra/gr3d.c:325: undefined reference to `tegra_powergate_power_off'
    drivers/built-in.o: In function `gr3d_probe':
    drivers/gpu/drm/tegra/gr3d.c:266: undefined reference to `tegra_powergate_sequence_power_up'
    drivers/gpu/drm/tegra/gr3d.c:273: undefined reference to `tegra_powergate_sequence_power_up'

    Signed-off-by: Thierry Reding
    [swarren, updated commit description]
    Signed-off-by: Stephen Warren
    Signed-off-by: Olof Johansson

    Thierry Reding
     
  • * acpi-hotplug:
    ACPI / hotplug: Fix conflicted PCI bridge notify handlers

    * acpi-sysfs:
    ACPI / sysfs: Fix incorrect ACPI tables walk in acpi_tables_sysfs_init()
    ACPI / sysfs: Set file size for each exposed ACPI table

    * acpi-sleep:
    ACPI / sleep: clean up compiler warning about uninitialized field

    Rafael J. Wysocki
     
  • …23/iio into staging-linus

    Jonathan writes:

    First round of fixes for IIO in the 3.13 cycle.

    The usual mixed bag of fixes.

    * 3 cases where kconfig dependencies were missing. We need to keep a closer
    eye on this in new drivers.

    * hid_sensors was abusing the iio_dev->trigger pointer. We had a round
    of clearing this out some time ago but this driver clearly slipped through.

    * A misuse of the IIO_ST macro, in mcp3422, which we should really make a
    concertive effort to finish removing.

    * Avoid a double free introduced by recent buffer reference counting in the
    one driver that (quite reasonably!) does things differently (am335x)

    * A missing mutex_unlock in kxsd9 that means that driver has been non
    functional for some time and no one noticed (including me who for once
    actually has one of the supported devices).

    * An incorrect assumption about the parameters of sign_extend32 in mcp3422.

    So nothing controversial. The only substantial patch is the hid_sensors
    one and that is actually just adding a new pointer to the devices private
    state then moving the code over to it.

    Greg Kroah-Hartman
     
  • u8 was used in some other places, just stick to the enum,
    this forces us to express the values that are expected.

    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: Johannes Berg

    Luis R. Rodriguez
     
  • Add a new field to ieee80211_chanctx_conf to indicate
    the min required channel configuration.

    Tuning to a narrower channel might help reducing
    the noise level and saving some power.

    The min required channel definition is the max of
    all min required channel definitions of the interfaces
    bound to this channel context.

    In AP mode, use 20MHz when there are no connected station.
    When a new station is added/removed, calculate the new max
    bandwidth supported by any of the stations (e.g. 80MHz when
    80MHz and 40MHz stations are connected).

    In other cases, simply use bss_conf.chandef as the
    min required chandef.

    Notify drivers about changes to this field by calling
    drv_change_chanctx with a new CHANGE_MIN_WIDTH notification.

    Signed-off-by: Eliad Peller
    Reviewed-by: Johannes Berg
    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Johannes Berg

    Eliad Peller
     
  • Introduce shift and mask defines for beamformee STS cap and number
    of sounding dimensions cap as these can take any 3 bit value.
    While at it also cleanup an unrequired parenthesis.

    Signed-off-by: Eyal Shapira
    Reviewed-by: Johannes Berg
    Signed-off-by: Emmanuel Grumbach
    Signed-off-by: Johannes Berg

    Eyal Shapira
     
  • Certain vendors may want to disable the processing of
    country IEs so that they can continue using the regulatory
    domain the driver or user has set. Currently there is no
    way to stop the core from processing country IEs, so add
    support to the core to ignore country IE hints.

    Cc: Mihir Shete
    Cc: Henri Bahini
    Cc: Tushnim Bhattacharyya
    Signed-off-by: Luis R. Rodriguez
    Signed-off-by: Johannes Berg

    Luis R. Rodriguez