13 Aug, 2013

1 commit


10 Aug, 2013

10 commits

  • Adding paged frags skbs to af_unix sockets introduced a performance
    regression on large sends because of additional page allocations, even
    if each skb could carry at least 100% more payload than before.

    We can instruct sock_alloc_send_pskb() to attempt high order
    allocations.

    Most of the time, it does a single page allocation instead of 8.

    I added an additional parameter to sock_alloc_send_pskb() to
    let other users to opt-in for this new feature on followup patches.

    Tested:

    Before patch :

    $ netperf -t STREAM_STREAM
    STREAM STREAM TEST
    Recv Send Send
    Socket Socket Message Elapsed
    Size Size Size Time Throughput
    bytes bytes bytes secs. 10^6bits/sec

    2304 212992 212992 10.00 46861.15

    After patch :

    $ netperf -t STREAM_STREAM
    STREAM STREAM TEST
    Recv Send Send
    Socket Socket Message Elapsed
    Size Size Size Time Throughput
    bytes bytes bytes secs. 10^6bits/sec

    2304 212992 212992 10.00 57981.11

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

    Eric Dumazet
     
  • unix_stream_sendmsg() currently uses order-2 allocations,
    and we had numerous reports this can fail.

    The __GFP_REPEAT flag present in sock_alloc_send_pskb() is
    not helping.

    This patch extends the work done in commit eb6a24816b247c
    ("af_unix: reduce high order page allocations) for
    datagram sockets.

    This opens the possibility of zero copy IO (splice() and
    friends)

    The trick is to not use skb_pull() anymore in recvmsg() path,
    and instead add a @consumed field in UNIXCB() to track amount
    of already read payload in the skb.

    There is a performance regression for large sends
    because of extra page allocations that will be addressed
    in a follow-up patch, allowing sock_alloc_send_pskb()
    to attempt high order page allocations.

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

    Eric Dumazet
     
  • Encrypt the cookie with both server and client IPv4 addresses,
    such that multi-homed server will grant different cookies
    based on both the source and destination IPs. No client change
    is needed since cookie is opaque to the client.

    Signed-off-by: Yuchung Cheng
    Reviewed-by: Eric Dumazet
    Acked-by: Neal Cardwell
    Signed-off-by: David S. Miller

    Yuchung Cheng
     
  • This reverts commit cda5f98e36576596b9230483ec52bff3cc97eb21.

    As per Vlad's request.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • John W. Linville
     
  • John W. Linville
     
  • With the restructuring of the lksctp.org site, we only allow bug
    reports through the SCTP mailing list linux-sctp@vger.kernel.org,
    not via SF, as SF is only used for web hosting and nothing more.
    While at it, also remove the obvious statement that bugs will be
    fixed and incooperated into the kernel.

    Signed-off-by: Daniel Borkmann
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Daniel Borkmann
     
  • Get rid of the last module parameter for SCTP and make this
    configurable via sysctl for SCTP like all the rest of SCTP's
    configuration knobs.

    Signed-off-by: Daniel Borkmann
    Signed-off-by: David S. Miller

    Daniel Borkmann
     
  • Adds the new procfs knobs:

    /proc/sys/net/ipv4/conf/*/igmpv2_unsolicited_report_interval
    /proc/sys/net/ipv4/conf/*/igmpv3_unsolicited_report_interval

    Which will allow userspace configuration of the IGMP unsolicited report
    interval (see below) in milliseconds. The defaults are 10000ms for IGMPv2
    and 1000ms for IGMPv3 in accordance with RFC2236 and RFC3376.

    Background:

    If an IGMP join packet is lost you will not receive data sent to the
    multicast group so if no data arrives from that multicast group in a
    period of time after the IGMP join a second IGMP join will be sent. The
    delay between joins is the "IGMP Unsolicited Report Interval".

    Prior to this patch this value was hard coded in the kernel to 10s for
    IGMPv2 and 1s for IGMPv3. 10s is unsuitable for some use-cases, such as
    IPTV as it can cause channel change to be slow in the presence of packet
    loss.

    This patch allows the value to be overridden from userspace for both
    IGMPv2 and IGMPv3 such that it can be tuned accoding to the network.

    Tested with Wireshark and a simple program to join a (non-existent)
    multicast group. The distribution of timings for the second join differ
    based upon setting the procfs knobs.

    igmpvX_unsolicited_report_interval is intended to follow the pattern
    established by force_igmp_version, and while a procfs entry has been added
    a corresponding sysctl knob has not as it is my understanding that sysctl
    is deprecated[1].

    [1]: http://lwn.net/Articles/247243/

    Signed-off-by: William Manley
    Acked-by: Hannes Frederic Sowa
    Acked-by: Benjamin LaHaise
    Signed-off-by: David S. Miller

    William Manley
     
  • The procfs knob /proc/sys/net/ipv4/conf/*/force_igmp_version allows the
    IGMP protocol version to use to be explicitly set. As a side effect this
    caused the routing cache to be flushed as it was declared as a
    DEVINET_SYSCTL_FLUSHING_ENTRY. Flushing is unnecessary and this patch
    makes it so flushing does not occur.

    Requested by Hannes Frederic Sowa as he was reviewing other patches
    adding procfs entries.

    Suggested-by: Hannes Frederic Sowa
    Signed-off-by: William Manley
    Acked-by: Hannes Frederic Sowa
    Acked-by: Benjamin LaHaise
    Signed-off-by: David S. Miller

    William Manley
     

09 Aug, 2013

1 commit

  • With GRO/LRO processing, there is a problem because Ip[6]InReceives SNMP
    counters do not count the number of frames, but number of aggregated
    segments.

    Its probably too late to change this now.

    This patch adds four new counters, tracking number of frames, regardless
    of LRO/GRO, and on a per ECN status basis, for IPv4 and IPv6.

    Ip[6]NoECTPkts : Number of packets received with NOECT
    Ip[6]ECT1Pkts : Number of packets received with ECT(1)
    Ip[6]ECT0Pkts : Number of packets received with ECT(0)
    Ip[6]CEPkts : Number of packets received with Congestion Experienced

    lph37:~# nstat | egrep "Pkts|InReceive"
    IpInReceives 1634137 0.0
    Ip6InReceives 3714107 0.0
    Ip6InNoECTPkts 19205 0.0
    Ip6InECT0Pkts 52651828 0.0
    IpExtInNoECTPkts 33630 0.0
    IpExtInECT0Pkts 15581379 0.0
    IpExtInCEPkts 6 0.0

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

    Eric Dumazet
     

08 Aug, 2013

3 commits


06 Aug, 2013

1 commit

  • As dst_cookie is used in fast path sctp_transport_dst_check.

    Before:
    struct sctp_transport {
    struct list_head transports; /* 0 16 */
    atomic_t refcnt; /* 16 4 */
    __u32 dead:1; /* 20:31 4 */
    __u32 rto_pending:1; /* 20:30 4 */
    __u32 hb_sent:1; /* 20:29 4 */
    __u32 pmtu_pending:1; /* 20:28 4 */

    /* XXX 28 bits hole, try to pack */

    __u32 sack_generation; /* 24 4 */

    /* XXX 4 bytes hole, try to pack */

    struct flowi fl; /* 32 64 */
    /* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
    union sctp_addr ipaddr; /* 96 28 */

    After:
    struct sctp_transport {
    struct list_head transports; /* 0 16 */
    atomic_t refcnt; /* 16 4 */
    __u32 dead:1; /* 20:31 4 */
    __u32 rto_pending:1; /* 20:30 4 */
    __u32 hb_sent:1; /* 20:29 4 */
    __u32 pmtu_pending:1; /* 20:28 4 */

    /* XXX 28 bits hole, try to pack */

    __u32 sack_generation; /* 24 4 */
    u32 dst_cookie; /* 28 4 */
    struct flowi fl; /* 32 64 */
    /* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
    union sctp_addr ipaddr; /* 96 28 */

    Signed-off-by: Fan Du
    Acked-by: Neil Horman
    Signed-off-by: David S. Miller

    fan.du
     

04 Aug, 2013

4 commits

  • Merge net into net-next to setup some infrastructure Eric
    Dumazet needs for usbnet changes.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull networking fixes from David Miller:

    1) Don't ignore user initiated wireless regulatory settings on cards
    with custom regulatory domains, from Arik Nemtsov.

    2) Fix length check of bluetooth information responses, from Jaganath
    Kanakkassery.

    3) Fix misuse of PTR_ERR in btusb, from Adam Lee.

    4) Handle rfkill properly while iwlwifi devices are offline, from
    Emmanuel Grumbach.

    5) Fix r815x devices DMA'ing to stack buffers, from Hayes Wang.

    6) Kernel info leak in ATM packet scheduler, from Dan Carpenter.

    7) 8139cp doesn't check for DMA mapping errors, from Neil Horman.

    8) Fix bridge multicast code to not snoop when no querier exists,
    otherwise mutlicast traffic is lost. From Linus Lüssing.

    9) Avoid soft lockups in fib6_run_gc(), from Michal Kubecek.

    10) Fix races in automatic address asignment on ipv6, which can result
    in incorrect lifetime assignments. From Jiri Benc.

    11) Cure build bustage when CONFIG_NET_LL_RX_POLL is not set and rename
    it CONFIG_NET_RX_BUSY_POLL to eliminate the last reference to the
    original naming of this feature. From Cong Wang.

    12) Fix crash in TIPC when server socket creation fails, from Ying Xue.

    13) macvlan_changelink() silently succeeds when it shouldn't, from
    Michael S Tsirkin.

    14) HTB packet scheduler can crash due to sign extension, fix from
    Stephen Hemminger.

    15) With the cable unplugged, r8169 prints out a message every 10
    seconds, make it netif_dbg() instead of netif_warn(). From Peter
    Wu.

    16) Fix memory leak in rtm_to_ifaddr(), from Daniel Borkmann.

    17) sis900 gets spurious TX queue timeouts due to mismanagement of link
    carrier state, from Denis Kirjanov.

    18) Validate somaxconn sysctl to make sure it fits inside of a u16.
    From Roman Gushchin.

    19) Fix MAC address filtering on qlcnic, from Shahed Shaikh.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (68 commits)
    qlcnic: Fix for flash update failure on 83xx adapter
    qlcnic: Fix link speed and duplex display for 83xx adapter
    qlcnic: Fix link speed display for 82xx adapter
    qlcnic: Fix external loopback test.
    qlcnic: Removed adapter series name from warning messages.
    qlcnic: Free up memory in error path.
    qlcnic: Fix ingress MAC learning
    qlcnic: Fix MAC address filter issue on 82xx adapter
    net: ethernet: davinci_emac: drop IRQF_DISABLED
    netlabel: use domain based selectors when address based selectors are not available
    net: check net.core.somaxconn sysctl values
    sis900: Fix the tx queue timeout issue
    net: rtm_to_ifaddr: free ifa if ifa_cacheinfo processing fails
    r8169: remove "PHY reset until link up" log spam
    net: ethernet: cpsw: drop IRQF_DISABLED
    htb: fix sign extension bug
    macvlan: handle set_promiscuity failures
    macvlan: better mode validation
    tipc: fix oops when creating server socket fails
    net: rename CONFIG_NET_LL_RX_POLL to CONFIG_NET_RX_BUSY_POLL
    ...

    Linus Torvalds
     
  • Move refcnt, pref, suppress_ifgroup, suppress_prefixlen out of first
    cache line, as they are not used in fast path.

    Make sure ctarget & fr_net are in first cache line.

    (Assuming 64 bit arches and 64 bytes cache lines)

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

    Eric Dumazet
     
  • This change brings the suppressor attribute names into line; it also changes
    the data types to provide a more consistent interface.

    While -1 indicates that the suppressor is not enabled, values >= 0 for
    suppress_prefixlen or suppress_ifgroup reject routing decisions violating the
    constraint.

    This changes the previously presented behaviour of suppress_prefixlen, where a
    prefix length _less_ than the attribute value was rejected. After this change,
    a prefix length less than *or* equal to the value is considered a violation of
    the rule constraint.

    It also changes the default values for default and newly added rules (disabling
    any suppression for those).

    Signed-off-by: Stefan Tomanek
    Signed-off-by: David S. Miller

    Stefan Tomanek
     

03 Aug, 2013

6 commits

  • This change adds the ability to suppress a routing decision based upon the
    interface group the selected interface belongs to. This allows it to
    exclude specific devices from a routing decision.

    Signed-off-by: Stefan Tomanek
    Signed-off-by: David S. Miller

    Stefan Tomanek
     
  • Pull infiniband/rdma fixes from Roland Dreier:
    - Fixes for the newly merged mlx5 hardware driver
    - Stack info leak fixes from Dan Carpenter
    - Fixes for pkey table handling with SR-IOV
    - A few other small things

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
    IPoIB: Fix pkey change flow for virtualization environments
    IPoIB: Make sure child devices use valid/proper pkeys
    IB/core: Create QP1 using the pkey index which contains the default pkey
    mlx5_core: Variable may be used uninitialized
    mlx5_core: Implement new initialization sequence
    mlx5_core: Fix use after free in mlx5_cmd_comp_handler()
    IB/mlx5: Fix stack info leak in mlx5_ib_alloc_ucontext()
    IB/mlx5: Fix error return code in init_one()
    IB/mlx4: Use default pkey when creating tunnel QPs
    RDMA/cma: Only call cma_save_ib_info() for CM REQs
    RDMA/cma: Fix accessing invalid private data for UD
    RDMA/cma: Fix gcc warning
    Revert "RDMA/nes: Fix compilation error when nes_debug is enabled"
    IB/qib: Add err_decode() call for ring dump
    RDMA/cxgb3: Fix stack info leak in iwch_create_cq()
    RDMA/nes: Fix info leaks in nes_create_qp() and nes_create_cq()
    RDMA/ocrdma: Fix several stack info leaks
    RDMA/cxgb4: Fix stack info leak in c4iw_create_qp()
    RDMA/ocrdma: Remove unused include

    Linus Torvalds
     
  • When sctp sits on IPv6, sctp_transport_dst_check pass cookie as ZERO,
    as a result ip6_dst_check always fail out. This behaviour makes
    transport->dst useless, because every sctp_packet_transmit must look
    for valid dst.

    Add a dst_cookie into sctp_transport, and set the cookie whenever we
    get new dst for sctp_transport. So dst validness could be checked
    against it.

    Since I have split genid for IPv4 and IPv6, also delete/add IPv6 address
    will also bump IPv6 genid. So issues we discussed in:
    http://marc.info/?l=linux-netdev&m=137404469219410&w=4
    have all been sloved for this patch.

    Signed-off-by: Fan Du
    Acked-by: Vlad Yasevich
    Acked-by: Neil Horman
    Signed-off-by: David S. Miller

    fan.du
     
  • It's convenient to have ethernet mac addresses use
    ETH_ALEN to be able to grep for them a bit easier and
    also to ensure that the addresses are __aligned(2).

    Add #include as necessary.

    Signed-off-by: Joe Perches
    Acked-by: Mauro Carvalho Chehab
    Signed-off-by: David S. Miller

    Joe Perches
     
  • Use the #define where appropriate.

    Add #include
    where appropriate too.

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

    Joe Perches
     
  • Pull ACPI and power management fixes from Rafael Wysocki:

    - Revert two cpuidle commits added during the 3.8 development cycle
    that turn out to have introduced a significant performance regression
    as requested by Jeremy Eder.

    - The recent patches that made the freezer less heavy-weight introduced
    a regression causing user-space-driven hibernation using the ioctl()
    interface to block indefinitely when the hibernate process executes
    try_to_freeze(). Fix from Colin Cross addresses this by adding a
    process flag to mark the hibernate/suspend process to inform the
    freezer that that process should be ignored.

    - One of the recent cpufreq reverts uncovered a problem in the core
    causing the cpufreq driver module refcount to become negative after a
    system suspend-resume cycle. Fix from Rafael J Wysocki.

    - The evaluation of the ACPI battery _BIX method has never worked
    correctly, because the commit that added support for it forgot to
    take the "Revision" field in the return package into account. As a
    result, the reading of battery info doesn't work at all on some
    systems, which is addressed by a fix from Lan Tianyu.

    * tag 'pm+acpi-3.11-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    freezer: set PF_SUSPEND_TASK flag on tasks that call freeze_processes
    ACPI / battery: Fix parsing _BIX return value
    cpufreq: Fix cpufreq driver module refcount balance after suspend/resume
    Revert "cpuidle: Quickly notice prediction failure for repeat mode"
    Revert "cpuidle: Quickly notice prediction failure in general case"

    Linus Torvalds
     

02 Aug, 2013

8 commits

  • Eliezer renames several *ll_poll to *busy_poll, but forgets
    CONFIG_NET_LL_RX_POLL, so in case of confusion, rename it too.

    Cc: Eliezer Tamir
    Cc: David S. Miller
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Cong Wang
     
  • When CONFIG_NET_LL_RX_POLL is not set, I got:

    net/socket.c: In function ‘sock_poll’:
    net/socket.c:1165:4: error: implicit declaration of function ‘sk_busy_loop’ [-Werror=implicit-function-declaration]

    Fix this by adding a nop when !CONFIG_NET_LL_RX_POLL.

    Cc: Eliezer Tamir
    Cc: David S. Miller
    Signed-off-by: Cong Wang
    Signed-off-by: David S. Miller

    Cong Wang
     
  • On a high-traffic router with many processors and many IPv6 dst
    entries, soft lockup in fib6_run_gc() can occur when number of
    entries reaches gc_thresh.

    This happens because fib6_run_gc() uses fib6_gc_lock to allow
    only one thread to run the garbage collector but ip6_dst_gc()
    doesn't update net->ipv6.ip6_rt_last_gc until fib6_run_gc()
    returns. On a system with many entries, this can take some time
    so that in the meantime, other threads pass the tests in
    ip6_dst_gc() (ip6_rt_last_gc is still not updated) and wait for
    the lock. They then have to run the garbage collector one after
    another which blocks them for quite long.

    Resolve this by replacing special value ~0UL of expire parameter
    to fib6_run_gc() by explicit "force" parameter to choose between
    spin_lock_bh() and spin_trylock_bh() and call fib6_run_gc() with
    force=false if gc_thresh is reached but not max_size.

    Signed-off-by: Michal Kubecek
    Signed-off-by: David S. Miller

    Michal Kubeček
     
  • David suggested to add a BUG_ON() to catch if some layer
    sets skb->sk pointer without a corresponding destructor.

    As skb can sit in a queue, it's mandatory to make sure the
    socket cannot disappear, and it's usually done by taking a
    reference on the socket, then releasing it from the skb
    destructor.

    This patch is a follow-up to commit c34a761231b5
    ("net: skb_orphan() changes") and will be reverted after
    catching all possible offenders if any.

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

    Eric Dumazet
     
  • John W. Linville
     
  • …wireless into for-davem

    John W. Linville
     
  • The count field in CSA must be decremented with each beacon
    transmitted. This patch implements the functionality for drivers
    using ieee80211_beacon_get(). Other drivers must call back manually
    after reaching count == 0.

    This patch also contains the handling and finish worker for the channel
    switch command, and mac80211/chanctx code to allow to change a channel
    definition of an active channel context.

    Signed-off-by: Simon Wunderlich
    Signed-off-by: Mathias Kretschmer
    [small cleanups, catch identical chandef]
    Signed-off-by: Johannes Berg

    Simon Wunderlich
     
  • To allow channel switch announcements within beacons, add
    the channel switch command to nl80211/cfg80211. This is
    implementation is intended for AP and (later) IBSS mode.

    Signed-off-by: Simon Wunderlich
    Signed-off-by: Mathias Kretschmer
    Signed-off-by: Johannes Berg

    Simon Wunderlich
     

01 Aug, 2013

6 commits

  • Add element IDs for Extended BSS Load, VHT TX
    Power Envelope, AID, and Quiet Channel.

    Signed-off-by: Fred Zhou
    Signed-off-by: Johannes Berg

    Fred Zhou
     
  • IEEE802.11u interworking support is advertised via extended
    capabilities IE bit 31. This is 7th bit of 4th byte of extended
    capabilities.

    Signed-off-by: Avinash Patil
    Signed-off-by: Bing Zhao
    Signed-off-by: Johannes Berg

    Avinash Patil
     
  • Pull drm fixes from Dave Airlie:
    "Radeon, nouveau, exynos, intel, mgag200..

    Not all strictly regressions but there was probably only one patch I'd
    have really left out and it didn't seem worth respinning exynos to
    avoid it, the line change count is quite low.

    radeon: regressions + more dynamic powermanagement fixes, since DPM
    is a new feature, and off by default I'd prefer to keep merging
    fixes since it has a large userbase already and I'd like to keep
    them on mainline

    nouveau: is mostly regression fixes

    i915: is a regression fix since Daniel is on holidays I've merged it.

    mgag200: I've picked a bunch of targetted fixes from a big bunch of
    distro patches,

    exynos: build fixes mostly, one regression fix

    I expect things will slow right down now, I may send on the intel
    early quirk from Jesse separatly, since I think the x86 maintainers
    acked it"

    * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux: (37 commits)
    drm/i915: fix missed hunk after GT access breakage
    drm/radeon/dpm: re-enable cac control on SI
    drm/radeon/dpm: fix calculations in si_calculate_leakage_for_v_and_t_formula
    drm: fix 64 bit drm fixed point helpers
    drm/radeon/atom: initialize more atom interpretor elements to 0
    drm/nouveau: fix semaphore dmabuf obj
    drm/nouveau/vm: make vm refcount into a kref
    drm/nv31/mpeg: don't recognize nv3x cards as having nv44 graph class
    drm/nv40/mpeg: write magic value to channel object to make it work
    drm/nouveau: fix size check for cards without vm
    drm/nv50-/disp: remove dcb_outp_match call, and related variables
    drm/nva3-/disp: fix hda eld writing, needs to be padded
    drm/nv31/mpeg: fix mpeg engine initialization
    drm/nv50/mc: include vp in the fb error reporting mask
    drm/nouveau: fix null pointer dereference in poll_changed
    drm/nv50/gpio: post-nv92 cards have 32 interrupt lines
    drm/nvc0/fb: take lock in nvc0_ram_put()
    drm/nouveau/core: xtensa firmware size needs to be 0x40000 no matter what
    drm/mgag200: Fix LUT programming for 16bpp
    drm/mgag200: Fix framebuffer pitch calculation
    ...

    Linus Torvalds
     
  • Merge more patches from Andrew Morton:
    "A bunch of fixes.

    Plus Joe's printk move and rework. It's not a -rc3 thing but now
    would be a nice time to offload it, while things are quiet. I've been
    sitting on it all for a couple of weeks, no issues"

    * emailed patches from Andrew Morton :
    vmpressure: make sure there are no events queued after memcg is offlined
    vmpressure: do not check for pending work to prevent from new work
    vmpressure: change vmpressure::sr_lock to spinlock
    printk: rename struct log to struct printk_log
    printk: use pointer for console_cmdline indexing
    printk: move braille console support into separate braille.[ch] files
    printk: add console_cmdline.h
    printk: move to separate directory for easier modification
    drivers/rtc/rtc-twl.c: fix: rtcX/wakealarm attribute isn't created
    mm: zbud: fix condition check on allocation size
    thp, mm: avoid PageUnevictable on active/inactive lru lists
    mm/swap.c: clear PageActive before adding pages onto unevictable list
    arch/x86/platform/ce4100/ce4100.c: include reboot.h
    mm: sched: numa: fix NUMA balancing when !SCHED_DEBUG
    rapidio: fix use after free in rio_unregister_scan()
    .gitignore: ignore *.lz4 files
    MAINTAINERS: dynamic debug: Jason's not there...
    dmi_scan: add comments on dmi_present() and the loop in dmi_scan_machine()
    ocfs2/refcounttree: add the missing NULL check of the return value of find_or_create_page()
    mm: mempolicy: fix mbind_range() && vma_adjust() interaction

    Linus Torvalds
     
  • There are a mix of function prototypes with and without extern
    in the kernel sources. Standardize on not using extern for
    function prototypes.

    Function prototypes don't need to be written with extern.
    extern is assumed by the compiler. Its use is as unnecessary as
    using auto to declare automatic/local variables in a block.

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

    Joe Perches
     
  • There are a mix of function prototypes with and without extern
    in the kernel sources. Standardize on not using extern for
    function prototypes.

    Function prototypes don't need to be written with extern.
    extern is assumed by the compiler. Its use is as unnecessary as
    using auto to declare automatic/local variables in a block.

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

    Joe Perches