16 Jun, 2012

1 commit

  • Pull NFS client bugfixes from Trond Myklebust:
    "Highlights include:

    - Fix a couple of mount regressions due to the recent cleanups.
    - Fix an Oops in the open recovery code
    - Fix an rpc_pipefs upcall hang that results from some of the net
    namespace work from 3.4.x (stable kernel candidate).
    - Fix a couple of write and o_direct regressions that were found at
    last weeks Bakeathon testing event in Ann Arbor."

    * tag 'nfs-for-3.5-2' of git://git.linux-nfs.org/projects/trondmy/linux-nfs:
    NFS: add an endian notation for sparse
    NFSv4.1: integer overflow in decode_cb_sequence_args()
    rpc_pipefs: allow rpc_purge_list to take a NULL waitq pointer
    NFSv4 do not send an empty SETATTR compound
    NFSv2: EOF incorrectly set on short read
    NFS: Use the NFS_DEFAULT_VERSION for v2 and v3 mounts
    NFS: fix directio refcount bug on commit
    NFSv4: Fix unnecessary delegation returns in nfs4_do_open
    NFSv4.1: Convert another trivial printk into a dprintk
    NFS4: Fix open bug when pnfs module blacklisted
    NFS: Remove incorrect BUG_ON in nfs_found_client
    NFS: Map minor mismatch error to protocol not support error.
    NFS: Fix a commit bug
    NFS4: Set parsed mount data version to 4
    NFSv4.1: Ensure we clear session state flags after a session creation
    NFSv4.1: Convert a trivial printk into a dprintk
    NFSv4: Fix up decode_attr_mdsthreshold
    NFSv4: Fix an Oops in the open recovery code
    NFSv4.1: Fix a request leak on the back channel

    Linus Torvalds
     

14 Jun, 2012

1 commit

  • Bogdan Hamciuc diagnosed and fixed following bug in netpoll_send_udp() :

    "skb->len += len;" instead of "skb_put(skb, len);"

    Meaning that _if_ a network driver needs to call skb_realloc_headroom(),
    only packet headers would be copied, leaving garbage in the payload.

    However the skb_realloc_headroom() must be avoided as much as possible
    since it requires memory and netpoll tries hard to work even if memory
    is exhausted (using a pool of preallocated skbs)

    It appears netpoll_send_udp() reserved 16 bytes for the ethernet header,
    which happens to work for typicall drivers but not all.

    Right thing is to use LL_RESERVED_SPACE(dev)
    (And also add dev->needed_tailroom of tailroom)

    This patch combines both fixes.

    Many thanks to Bogdan for raising this issue.

    Reported-by: Bogdan Hamciuc
    Signed-off-by: Eric Dumazet
    Tested-by: Bogdan Hamciuc
    Cc: Herbert Xu
    Cc: Neil Horman
    Reviewed-by: Neil Horman
    Reviewed-by: Cong Wang
    Signed-off-by: David S. Miller

    Eric Dumazet
     

13 Jun, 2012

1 commit


12 Jun, 2012

2 commits


09 Jun, 2012

4 commits

  • Fix kernel-doc warnings in net/core:

    Warning(net/core/skbuff.c:3368): No description found for parameter 'delta_truesize'
    Warning(net/core/filter.c:628): No description found for parameter 'pfp'
    Warning(net/core/filter.c:628): Excess function parameter 'sk' description in 'sk_unattached_filter_create'

    Signed-off-by: Randy Dunlap
    Signed-off-by: David S. Miller

    Randy Dunlap
     
  • Commit 081b1b1bb27f (l2tp: fix l2tp_ip_sendmsg() route handling) added
    a race, in case IP route cache is disabled.

    In this case, we should not do the dst_release(&rt->dst), since it'll
    free the dst immediately, instead of waiting a RCU grace period.

    Signed-off-by: Eric Dumazet
    Cc: James Chapman
    Cc: Denys Fedoryshchenko
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • commit 24398e39c8ee4a9d9123eed322b859ece4d16cac
    Author: Johannes Berg
    Date: Wed Mar 28 10:58:36 2012 +0200

    mac80211: set HT channel before association

    removed IEEE80211_CONF_CHANGE_CHANNEL argument from ieee80211_hw_config,
    which is required by iwl4965 driver, otherwise that driver does not
    configure channel properly and is not able to associate.

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: John W. Linville

    Stanislaw Gruszka
     
  • llcp_sock_getname() might get called before the LLCP socket was created.
    This condition isn't checked, and llcp_sock_getname will simply deref a
    NULL ptr in that case.

    This exists starting with d646960 ("NFC: Initial LLCP support").

    Signed-off-by: Sasha Levin
    Signed-off-by: John W. Linville

    Sasha Levin
     

08 Jun, 2012

5 commits

  • RFC 4293 defines ipIfStatsOutOctets (similar definition for
    ipSystemStatsOutOctets):

    The total number of octets in IP datagrams delivered to the lower
    layers for transmission. Octets from datagrams counted in
    ipIfStatsOutTransmits MUST be counted here.

    And ipIfStatsOutTransmits:

    The total number of IP datagrams that this entity supplied to the
    lower layers for transmission. This includes datagrams generated
    locally and those forwarded by this entity.

    Therefore, IPSTATS_MIB_OUTOCTETS must be incremented when incrementing
    IPSTATS_MIB_OUTFORWDATAGRAMS.

    IP_UPD_PO_STATS is not used since ipIfStatsOutRequests must not
    include forwarded datagrams:

    The total number of IP datagrams that local IP user-protocols
    (including ICMP) supplied to IP in requests for transmission. Note
    that this counter does not include any datagrams counted in
    ipIfStatsOutForwDatagrams.

    Signed-off-by: Vincent Bernat
    Signed-off-by: David S. Miller

    Vincent Bernat
     
  • I accidentally triggered this printk, which amused me for a few moments.
    Given we're post 2.2, we could just -EACCES, but does anyone even care about Appletalk now ?
    I figure it's better to leave sleeping dogs lie, and just update the message.

    Signed-off-by: Dave Jones
    Signed-off-by: David S. Miller

    Dave Jones
     
  • Commit 5339ab8b1dd82 (ipv6: fib: Convert fib6_age() to
    dst_neigh_lookup().) seems to have mistakenly inverted the
    exception for cached NTF_ROUTER routes.

    Signed-off-by: Thomas Graf
    Signed-off-by: David S. Miller

    Thomas Graf
     
  • Denys found out "ip neigh" output was truncated to
    about 54 neighbours.

    Signed-off-by: Eric Dumazet
    Reported-by: Denys Fedoryshchenko
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • We must prevent module unloading if some devices are still attached to
    l2tp_eth driver.

    Signed-off-by: Eric Dumazet
    Reported-by: Denys Fedoryshchenko
    Tested-by: Denys Fedoryshchenko
    Cc: James Chapman
    Signed-off-by: David S. Miller

    Eric Dumazet
     

07 Jun, 2012

6 commits

  • The nat_rtp_rtcp hook takes two separate parameters port and rtp_port.

    port is expected to be the real h245 address (found inside the packet).
    rtp_port is the even number closest to port (RTP ports are even and
    RTCP ports are odd).

    However currently, both port and rtp_port are having same value (both are
    rounded to nearest even numbers).

    This works well in case of openlogicalchannel with media (RTP/even) port.

    But in case of openlogicalchannel for media control (RTCP/odd) port,
    h245 address in the packet is wrongly modified to have an even port.

    I am attaching a pcap demonstrating the problem, for any further analysis.

    This behavior was introduced around v2.6.19 while rewriting the helper.

    Signed-off-by: Jagdish Motwani
    Signed-off-by: Sanket Shah
    Signed-off-by: Pablo Neira Ayuso

    Pablo Neira Ayuso
     
  • This patch addresses two issues:

    a) Fix usage of u32 and __be32 that causes endianess warnings via sparse.
    b) Ensure consistent hashing in a cluster that is composed of big and
    little endian systems. Thus, we obtain the same hash mark in an
    heterogeneous cluster.

    Reported-by: Dan Carpenter
    Signed-off-by: Hans Schillstrom
    Signed-off-by: Pablo Neira Ayuso

    Hans Schillstrom
     
  • John Linville says:
    ====================
    Amitkumar Karwar gives us a cfg80211 fix that changes some state
    tracking in order to avoid a WARNING.

    Arik Nemtsov provide a mac80211 fix for an RCU-related race.

    Avinash Patil shares a pair of mwifiex fixes, one which invalidates
    some stale configuration data before a channel change and another to
    restrict hidden SSID support to zero-length SSIDs only.

    Chun-Yeow Yeoh brings a mac80211 fix for a mesh problem triggered
    when combining multiple mesh networks into one.

    Felix Fietkau provides a mac80211 lockdep fix.

    Joe Perches fixes a couple of thinkos related to bitwise operations.

    Johannes Berg comes through with a flurry of fixes. The iwlwifi ones
    address a problem Linus recently reported, and some of the fallout
    discovered while fixing it. The mac80211 fix properly cleans-up
    remain-on-channel work on an interface that is stopped. The others
    are clean-ups for regressions caused by stricter checking of possible
    virtual interfaces supported by wireless drivers.

    Meenakshi Venkataraman provides a mac80211 fix for an off-by-one error.

    Seth Forshee provides a fix to make the wireless adapters used in
    some Mac boxes work after being in S3 power saving state.

    Stanislaw Gruszka offers a copule of fixes, a fix for a mac80211
    scanning regression and an rt2x00 fix to avoid some lockdep spew.

    Last but not least, Vinicius Costa Gomes provides a bluetooth fix
    for a typo that "was preventing important features of Bluetooth
    from working".
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • …wireless into for-davem

    John W. Linville
     
  • John W. Linville
     
  • commit 5faa5df1fa2024 (inetpeer: Invalidate the inetpeer tree along with
    the routing cache) added a race :

    Before freeing an inetpeer, we must respect a RCU grace period, and make
    sure no user will attempt to increase refcnt.

    inetpeer_invalidate_tree() waits for a RCU grace period before inserting
    inetpeer tree into gc_list and waking the worker. At that time, no
    concurrent lookup can find a inetpeer in this tree.

    Signed-off-by: Eric Dumazet
    Cc: Steffen Klassert
    Acked-by: Steffen Klassert
    Signed-off-by: David S. Miller

    Eric Dumazet
     

06 Jun, 2012

1 commit

  • If a given interface combination doesn't contain
    a required interface type then we missed checking
    that and erroneously allowed it even though iface
    type wasn't there at all. Add a check that makes
    sure that all interface types are accounted for.

    Cc: stable@kernel.org
    Reported-by: Mohammed Shafi Shajakhan
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

05 Jun, 2012

9 commits

  • Most probably a typo, the check should have been for BT_SK_DEFER_SETUP
    instead of BT_DEFER_SETUP (which right now only represents a socket
    option).

    Signed-off-by: Vinicius Costa Gomes
    Acked-by: Andrei Emeltchenko
    Signed-off-by: Gustavo Padovan

    Vinicius Costa Gomes
     
  • sta_info_cleanup locks the sta_list using rcu_read_lock however
    the delete operation isn't rcu safe. A race between sta_info_cleanup
    timer being called and a STA being removed can occur which leads
    to a panic while traversing sta_list. Fix this by switching to the
    RCU-safe versions.

    Cc: stable@vger.kernel.org
    Reported-by: Eyal Shapira
    Signed-off-by: Arik Nemtsov
    Signed-off-by: John W. Linville

    Arik Nemtsov
     
  • Using | with a constant is always true.
    Likely this should have be &.

    cc: Ben Greear
    Signed-off-by: Joe Perches
    Signed-off-by: John W. Linville

    Joe Perches
     
  • Fixes a lockdep warning:

    ===================================================
    [ INFO: suspicious rcu_dereference_check() usage. ]
    ---------------------------------------------------
    net/mac80211/agg-rx.c:148 invoked rcu_dereference_check() without protection!

    other info that might help us debug this:

    rcu_scheduler_active = 1, debug_locks = 1
    1 lock held by arecord/11226:
    #0: (&tid_agg_rx->session_timer){+.-...}, at: [] call_timer_fn+0x0/0x360

    stack backtrace:
    Pid: 11226, comm: arecord Not tainted 3.1.0-kml #16
    Call Trace:
    [] lockdep_rcu_dereference+0xa4/0xc0
    [] sta_rx_agg_session_timer_expired+0xc9/0x110 [mac80211]
    [] ? ieee80211_process_addba_resp+0x220/0x220 [mac80211]
    [] call_timer_fn+0x8a/0x360
    [] ? init_timer_deferrable_key+0x30/0x30
    [] ? _raw_spin_unlock_irq+0x30/0x70
    [] run_timer_softirq+0x139/0x310
    [] ? put_lock_stats.isra.25+0xe/0x40
    [] ? lock_release_holdtime.part.26+0xdc/0x160
    [] ? ieee80211_process_addba_resp+0x220/0x220 [mac80211]
    [] __do_softirq+0xc8/0x3c0
    [] ? tick_dev_program_event+0x48/0x110
    [] ? tick_program_event+0x1f/0x30
    [] ? putname+0x35/0x50
    [] call_softirq+0x1c/0x30
    [] do_softirq+0xa5/0xe0
    [] irq_exit+0xae/0xe0
    [] smp_apic_timer_interrupt+0x6b/0x98
    [] apic_timer_interrupt+0x73/0x80
    [] ? free_debug_processing+0x1a1/0x1d5
    [] ? putname+0x35/0x50
    [] __slab_free+0x31/0x2ca
    [] ? _raw_spin_unlock_irqrestore+0x4a/0x90
    [] ? __debug_check_no_obj_freed+0x15f/0x210
    [] ? lock_release_nested+0x84/0xc0
    [] ? kmem_cache_free+0x105/0x250
    [] ? putname+0x35/0x50
    [] ? putname+0x35/0x50
    [] kmem_cache_free+0x23f/0x250
    [] putname+0x35/0x50
    [] do_sys_open+0x16d/0x1d0
    [] sys_open+0x20/0x30
    [] system_call_fastpath+0x16/0x1b

    Reported-by: Johannes Berg
    Signed-off-by: Felix Fietkau
    Signed-off-by: John W. Linville

    Felix Fietkau
     
  • When any interface goes down, it could be the one that we
    were doing a remain-on-channel with. We therefore need to
    cancel the remain-on-channel and flush the related work
    structs so they don't run after the interface has been
    removed or even destroyed.

    It's also possible in this case that an off-channel SKB
    was never transmitted, so free it if this is the case.
    Note that this can also happen if the driver finishes
    the off-channel period without ever starting it.

    Cc: stable@kernel.org
    Reported-by: Nirav Shah
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     
  • As part of hardware reconfig mac80211 tries
    to restore the station state to its values
    before the hardware reconfig, but it only
    goes to the last-state - 1. Fix this
    off-by-one error.

    Cc: stable@kernel.org [3.4]
    Signed-off-by: Meenakshi Venkataraman
    Reviewed-by: Emmanuel Grumbach
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Meenakshi Venkataraman
     
  • Mesh station that joins an MBSS is reachable using mesh portal with 6
    address frame by mesh stations from another MBSS if these two different
    MBSSes are bridged. However, if the mesh station later moves into the
    same MBSS of those mesh stations, it is unreachable by mesh stations
    in the MBSS due to the mpp_paths table is not deleted. A quick fix
    is to perform mesh_path_lookup, if it is available for the target
    destination, mpp_path_lookup is not performed. When the mesh station
    moves back to its original MBSS, the mesh_paths will be deleted once
    expired. So, it will be reachable using mpp_path_lookup again.

    Signed-off-by: Chun-Yeow Yeoh
    Signed-off-by: John W. Linville

    Chun-Yeow Yeoh
     
  • CFG80211_DEV_WARN_ON() at "net/wireless/ibss.c line 63"
    is unnecessarily triggered even after successful connection,
    when cfg80211_ibss_joined() is called by driver inside
    .join_ibss handler.

    This patch fixes the problem by changing 'sme_state' in ibss path
    and having WARN_ON() check for 'sme_state' similar to infra
    association.

    Signed-off-by: Amitkumar Karwar
    Signed-off-by: Bing Zhao
    Signed-off-by: John W. Linville

    Amitkumar Karwar
     
  • commit 133d40f9a22bdfd2617a446f1e3209537c5415ec
    Author: Stanislaw Gruszka
    Date: Wed Mar 28 16:01:19 2012 +0200

    mac80211: do not scan and monitor connection in parallel

    add bug, which make possible to start a scan and never finish it, so
    make every new scanning request finish with -EBUSY error. This can
    happen on code paths where we finish connection monitoring and clear
    IEEE80211_STA_*_POLL flags, but do not check if scan was deferred.
    This patch fixes those code paths.

    Signed-off-by: Stanislaw Gruszka
    Signed-off-by: John W. Linville

    Stanislaw Gruszka
     

04 Jun, 2012

1 commit

  • drop_monitor calls several sleeping functions while in atomic context.

    BUG: sleeping function called from invalid context at mm/slub.c:943
    in_atomic(): 1, irqs_disabled(): 0, pid: 2103, name: kworker/0:2
    Pid: 2103, comm: kworker/0:2 Not tainted 3.5.0-rc1+ #55
    Call Trace:
    [] __might_sleep+0xca/0xf0
    [] kmem_cache_alloc_node+0x1b3/0x1c0
    [] ? queue_delayed_work_on+0x11c/0x130
    [] __alloc_skb+0x4b/0x230
    [] ? reset_per_cpu_data+0x160/0x160 [drop_monitor]
    [] reset_per_cpu_data+0x2f/0x160 [drop_monitor]
    [] send_dm_alert+0x4b/0xb0 [drop_monitor]
    [] process_one_work+0x130/0x4c0
    [] worker_thread+0x159/0x360
    [] ? manage_workers.isra.27+0x240/0x240
    [] kthread+0x93/0xa0
    [] kernel_thread_helper+0x4/0x10
    [] ? kthread_freezable_should_stop+0x80/0x80
    [] ? gs_change+0xb/0xb

    Rework the logic to call the sleeping functions in right context.

    Use standard timer/workqueue api to let system chose any cpu to perform
    the allocation and netlink send.

    Also avoid a loop if reset_per_cpu_data() cannot allocate memory :
    use mod_timer() to wait 1/10 second before next try.

    Signed-off-by: Eric Dumazet
    Cc: Neil Horman
    Reviewed-by: Neil Horman
    Signed-off-by: David S. Miller

    Eric Dumazet
     

03 Jun, 2012

2 commits

  • Pull networking updates from David Miller:

    1) Make syn floods consume significantly less resources by

    a) Not pre-COW'ing routing metrics for SYN/ACKs
    b) Mirroring the device queue mapping of the SYN for the SYN/ACK
    reply.

    Both from Eric Dumazet.

    2) Fix calculation errors in Byte Queue Limiting, from Hiroaki SHIMODA.

    3) Validate the length requested when building a paged SKB for a
    socket, so we don't overrun the page vector accidently. From Jason
    Wang.

    4) When netlabel is disabled, we abort all IP option processing when we
    see a CIPSO option. This isn't the right thing to do, we should
    simply skip over it and continue processing the remaining options
    (if any). Fix from Paul Moore.

    5) SRIOV fixes for the mellanox driver from Jack orgenstein and Marcel
    Apfelbaum.

    6) 8139cp enables the receiver before the ring address is properly
    programmed, which potentially lets the device crap over random
    memory. Fix from Jason Wang.

    7) e1000/e1000e fixes for i217 RST handling, and an improper buffer
    address reference in jumbo RX frame processing from Bruce Allan and
    Sebastian Andrzej Siewior, respectively.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    fec_mpc52xx: fix timestamp filtering
    mcs7830: Implement link state detection
    e1000e: fix Rapid Start Technology support for i217
    e1000: look into the page instead of skb->data for e1000_tbi_adjust_stats()
    r8169: call netif_napi_del at errpaths and at driver unload
    tcp: reflect SYN queue_mapping into SYNACK packets
    tcp: do not create inetpeer on SYNACK message
    8139cp/8139too: terminate the eeprom access with the right opmode
    8139cp: set ring address before enabling receiver
    cipso: handle CIPSO options correctly when NetLabel is disabled
    net: sock: validate data_len before allocating skb in sock_alloc_send_pskb()
    bql: Avoid possible inconsistent calculation.
    bql: Avoid unneeded limit decrement.
    bql: Fix POSDIFF() to integer overflow aware.
    net/mlx4_core: Fix obscure mlx4_cmd_box parameter in QUERY_DEV_CAP
    net/mlx4_core: Check port out-of-range before using in mlx4_slave_cap
    net/mlx4_core: Fixes for VF / Guest startup flow
    net/mlx4_en: Fix improper use of "port" parameter in mlx4_en_event
    net/mlx4_core: Fix number of EQs used in ICM initialisation
    net/mlx4_core: Fix the slave_id out-of-range test in mlx4_eq_int

    Linus Torvalds
     
  • This reverts the tty layer change to use per-tty locking, because it's
    not correct yet, and fixing it will require some more deep surgery.

    The main revert is d29f3ef39be4 ("tty_lock: Localise the lock"), but
    there are several smaller commits that built upon it, they also get
    reverted here. The list of reverted commits is:

    fde86d310886 - tty: add lockdep annotations
    8f6576ad476b - tty: fix ldisc lock inversion trace
    d3ca8b64b97e - pty: Fix lock inversion
    b1d679afd766 - tty: drop the pty lock during hangup
    abcefe5fc357 - tty/amiserial: Add missing argument for tty_unlock()
    fd11b42e3598 - cris: fix missing tty arg in wait_event_interruptible_tty call
    d29f3ef39be4 - tty_lock: Localise the lock

    The revert had a trivial conflict in the 68360serial.c staging driver
    that got removed in the meantime.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

02 Jun, 2012

3 commits

  • While testing how linux behaves on SYNFLOOD attack on multiqueue device
    (ixgbe), I found that SYNACK messages were dropped at Qdisc level
    because we send them all on a single queue.

    Obvious choice is to reflect incoming SYN packet @queue_mapping to
    SYNACK packet.

    Under stress, my machine could only send 25.000 SYNACK per second (for
    200.000 incoming SYN per second). NIC : ixgbe with 16 rx/tx queues.

    After patch, not a single SYNACK is dropped.

    Signed-off-by: Eric Dumazet
    Cc: Hans Schillstrom
    Cc: Jesper Dangaard Brouer
    Cc: Neal Cardwell
    Cc: Tom Herbert
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Another problem on SYNFLOOD/DDOS attack is the inetpeer cache getting
    larger and larger, using lots of memory and cpu time.

    tcp_v4_send_synack()
    ->inet_csk_route_req()
    ->ip_route_output_flow()
    ->rt_set_nexthop()
    ->rt_init_metrics()
    ->inet_getpeer( create = true)

    This is a side effect of commit a4daad6b09230 (net: Pre-COW metrics for
    TCP) added in 2.6.39

    Possible solution :

    Instruct inet_csk_route_req() to remove FLOWI_FLAG_PRECOW_METRICS

    Before patch :

    # grep peer /proc/slabinfo
    inet_peer_cache 4175430 4175430 192 42 2 : tunables 0 0 0 : slabdata 99415 99415 0

    Samples: 41K of event 'cycles', Event count (approx.): 30716565122
    + 20,24% ksoftirqd/0 [kernel.kallsyms] [k] inet_getpeer
    + 8,19% ksoftirqd/0 [kernel.kallsyms] [k] peer_avl_rebalance.isra.1
    + 4,81% ksoftirqd/0 [kernel.kallsyms] [k] sha_transform
    + 3,64% ksoftirqd/0 [kernel.kallsyms] [k] fib_table_lookup
    + 2,36% ksoftirqd/0 [ixgbe] [k] ixgbe_poll
    + 2,16% ksoftirqd/0 [kernel.kallsyms] [k] __ip_route_output_key
    + 2,11% ksoftirqd/0 [kernel.kallsyms] [k] kernel_map_pages
    + 2,11% ksoftirqd/0 [kernel.kallsyms] [k] ip_route_input_common
    + 2,01% ksoftirqd/0 [kernel.kallsyms] [k] __inet_lookup_established
    + 1,83% ksoftirqd/0 [kernel.kallsyms] [k] md5_transform
    + 1,75% ksoftirqd/0 [kernel.kallsyms] [k] check_leaf.isra.9
    + 1,49% ksoftirqd/0 [kernel.kallsyms] [k] ipt_do_table
    + 1,46% ksoftirqd/0 [kernel.kallsyms] [k] hrtimer_interrupt
    + 1,45% ksoftirqd/0 [kernel.kallsyms] [k] kmem_cache_alloc
    + 1,29% ksoftirqd/0 [kernel.kallsyms] [k] inet_csk_search_req
    + 1,29% ksoftirqd/0 [kernel.kallsyms] [k] __netif_receive_skb
    + 1,16% ksoftirqd/0 [kernel.kallsyms] [k] copy_user_generic_string
    + 1,15% ksoftirqd/0 [kernel.kallsyms] [k] kmem_cache_free
    + 1,02% ksoftirqd/0 [kernel.kallsyms] [k] tcp_make_synack
    + 0,93% ksoftirqd/0 [kernel.kallsyms] [k] _raw_spin_lock_bh
    + 0,87% ksoftirqd/0 [kernel.kallsyms] [k] __call_rcu
    + 0,84% ksoftirqd/0 [kernel.kallsyms] [k] rt_garbage_collect
    + 0,84% ksoftirqd/0 [kernel.kallsyms] [k] fib_rules_lookup

    Signed-off-by: Eric Dumazet
    Cc: Hans Schillstrom
    Cc: Jesper Dangaard Brouer
    Cc: Neal Cardwell
    Cc: Tom Herbert
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Pull vfs changes from Al Viro.
    "A lot of misc stuff. The obvious groups:
    * Miklos' atomic_open series; kills the damn abuse of
    ->d_revalidate() by NFS, which was the major stumbling block for
    all work in that area.
    * ripping security_file_mmap() and dealing with deadlocks in the
    area; sanitizing the neighborhood of vm_mmap()/vm_munmap() in
    general.
    * ->encode_fh() switched to saner API; insane fake dentry in
    mm/cleancache.c gone.
    * assorted annotations in fs (endianness, __user)
    * parts of Artem's ->s_dirty work (jff2 and reiserfs parts)
    * ->update_time() work from Josef.
    * other bits and pieces all over the place.

    Normally it would've been in two or three pull requests, but
    signal.git stuff had eaten a lot of time during this cycle ;-/"

    Fix up trivial conflicts in Documentation/filesystems/vfs.txt (the
    'truncate_range' inode method was removed by the VM changes, the VFS
    update adds an 'update_time()' method), and in fs/btrfs/ulist.[ch] (due
    to sparse fix added twice, with other changes nearby).

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (95 commits)
    nfs: don't open in ->d_revalidate
    vfs: retry last component if opening stale dentry
    vfs: nameidata_to_filp(): don't throw away file on error
    vfs: nameidata_to_filp(): inline __dentry_open()
    vfs: do_dentry_open(): don't put filp
    vfs: split __dentry_open()
    vfs: do_last() common post lookup
    vfs: do_last(): add audit_inode before open
    vfs: do_last(): only return EISDIR for O_CREAT
    vfs: do_last(): check LOOKUP_DIRECTORY
    vfs: do_last(): make ENOENT exit RCU safe
    vfs: make follow_link check RCU safe
    vfs: do_last(): use inode variable
    vfs: do_last(): inline walk_component()
    vfs: do_last(): make exit RCU safe
    vfs: split do_lookup()
    Btrfs: move over to use ->update_time
    fs: introduce inode operation ->update_time
    reiserfs: get rid of resierfs_sync_super
    reiserfs: mark the superblock as dirty a bit later
    ...

    Linus Torvalds
     

01 Jun, 2012

4 commits

  • Pull the rest of the nfsd commits from Bruce Fields:
    "... and then I cherry-picked the remainder of the patches from the
    head of my previous branch"

    This is the rest of the original nfsd branch, rebased without the
    delegation stuff that I thought really needed to be redone.

    I don't like rebasing things like this in general, but in this situation
    this was the lesser of two evils.

    * 'for-3.5' of git://linux-nfs.org/~bfields/linux: (50 commits)
    nfsd4: fix, consolidate client_has_state
    nfsd4: don't remove rebooted client record until confirmation
    nfsd4: remove some dprintk's and a comment
    nfsd4: return "real" sequence id in confirmed case
    nfsd4: fix exchange_id to return confirm flag
    nfsd4: clarify that renewing expired client is a bug
    nfsd4: simpler ordering of setclientid_confirm checks
    nfsd4: setclientid: remove pointless assignment
    nfsd4: fix error return in non-matching-creds case
    nfsd4: fix setclientid_confirm same_cred check
    nfsd4: merge 3 setclientid cases to 2
    nfsd4: pull out common code from setclientid cases
    nfsd4: merge last two setclientid cases
    nfsd4: setclientid/confirm comment cleanup
    nfsd4: setclientid remove unnecessary terms from a logical expression
    nfsd4: move rq_flavor into svc_cred
    nfsd4: stricter cred comparison for setclientid/exchange_id
    nfsd4: move principal name into svc_cred
    nfsd4: allow removing clients not holding state
    nfsd4: rearrange exchange_id logic to simplify
    ...

    Linus Torvalds
     
  • sockfd_lookup() is declared in linux/net.h, which is pulled by
    linux/skbuff.h (and needed for a lot of other stuff in sch_atm.c
    anyway).

    Signed-off-by: Al Viro

    Al Viro
     
  • Pull nfsd update from Bruce Fields.

    * 'for-3.5-take-2' of git://linux-nfs.org/~bfields/linux: (23 commits)
    nfsd: trivial: use SEEK_SET instead of 0 in vfs_llseek
    SUNRPC: split upcall function to extract reusable parts
    nfsd: allocate id-to-name and name-to-id caches in per-net operations.
    nfsd: make name-to-id cache allocated per network namespace context
    nfsd: make id-to-name cache allocated per network namespace context
    nfsd: pass network context to idmap init/exit functions
    nfsd: allocate export and expkey caches in per-net operations.
    nfsd: make expkey cache allocated per network namespace context
    nfsd: make export cache allocated per network namespace context
    nfsd: pass pointer to export cache down to stack wherever possible.
    nfsd: pass network context to export caches init/shutdown routines
    Lockd: pass network namespace to creation and destruction routines
    NFSd: remove hard-coded dereferences to name-to-id and id-to-name caches
    nfsd: pass pointer to expkey cache down to stack wherever possible.
    nfsd: use hash table from cache detail in nfsd export seq ops
    nfsd: pass svc_export_cache pointer as private data to "exports" seq file ops
    nfsd: use exp_put() for svc_export_cache put
    nfsd: use cache detail pointer from svc_export structure on cache put
    nfsd: add link to owner cache detail to svc_export structure
    nfsd: use passed cache_detail pointer expkey_parse()
    ...

    Linus Torvalds
     
  • Move the rq_flavor into struct svc_cred, and use it in setclientid and
    exchange_id comparisons as well.

    Signed-off-by: J. Bruce Fields

    J. Bruce Fields