19 Aug, 2010

1 commit

  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    NFS: Fix an Oops in the NFSv4 atomic open code
    NFS: Fix the selection of security flavours in Kconfig
    NFS: fix the return value of nfs_file_fsync()
    rpcrdma: Fix SQ size calculation when memreg is FRMR
    xprtrdma: Do not truncate iova_start values in frmr registrations.
    nfs: Remove redundant NULL check upon kfree()
    nfs: Add "lookupcache" to displayed mount options
    NFS: allow close-to-open cache semantics to apply to root of NFS filesystem
    SUNRPC: fix NFS client over TCP hangs due to packet loss (Bug 16494)

    Linus Torvalds
     

18 Aug, 2010

5 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    net: Fix a memmove bug in dev_gro_receive()
    net sched: fix some kernel memory leaks
    netfilter: {ip,ip6,arp}_tables: avoid lockdep false positive
    Revert "netlink: netlink_recvmsg() fix"
    ipv6: remove sysctl jiffies conversion on gc_elasticity and min_adv_mss
    xfrm: Use GFP_ATOMIC in xfrm_compile_policy
    ath5k: disable ASPM L0s for all cards
    ath9k_htc: load proper firmware for device ID 7015
    wl1251: fix trigger scan timeout usage
    ath9k_htc: Fix disconnect issue in HT40 mode.
    ath9k_htc: fix panic on packet injection using airbase-ng tool.
    ipw2100: register pm_qos request before registering pci driver

    Linus Torvalds
     
  • >Xin Xiaohui wrote:
    > I looked into the code dev_gro_receive(), found the code here:
    > if the frags[0] is pulled to 0, then the page will be released,
    > and memmove() frags left.
    > Is that right? I'm not sure if memmove do right or not, but
    > frags[0].size is never set after memove at least. what I think
    > a simple way is not to do anything if we found frags[0].size == 0.
    > The patch is as followed.
    ...

    This version of the patch fixes the bug directly in memmove.

    Reported-by: "Xin, Xiaohui"
    Signed-off-by: Jarek Poplawski
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • We leak at least 32bits of kernel memory to user land in tc dump,
    because we dont init all fields (capab ?) of the dumped structure.

    Use C99 initializers so that holes and non explicit fields are zeroed.

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

    Eric Dumazet
     
  • After commit 24b36f019 (netfilter: {ip,ip6,arp}_tables: dont block
    bottom half more than necessary), lockdep can raise a warning
    because we attempt to lock a spinlock with BH enabled, while
    the same lock is usually locked by another cpu in a softirq context.

    Disable again BH to avoid these lockdep warnings.

    Reported-by: Linus Torvalds
    Diagnosed-by: David S. Miller
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Randy Dunlap reports:

    ERROR: "svc_gss_principal" [fs/nfs/nfs.ko] undefined!

    because in fs/nfs/Kconfig, NFS_V4 selects RPCSEC_GSS_KRB5
    and/or in fs/nfsd/Kconfig, NFSD_V4 selects RPCSEC_GSS_KRB5.

    RPCSEC_GSS_KRB5 does 5 selects, but none of these is enforced/followed
    by the fs/nfs[d]/Kconfig configs:

    select SUNRPC_GSS
    select CRYPTO
    select CRYPTO_MD5
    select CRYPTO_DES
    select CRYPTO_CBC

    Reported-by: Randy Dunlap
    Cc: J. Bruce Fields
    Acked-by: Randy Dunlap
    Signed-off-by: Trond Myklebust

    Trond Myklebust
     

16 Aug, 2010

1 commit


15 Aug, 2010

2 commits

  • sysctl output ipv6 gc_elasticity and min_adv_mss as values divided by
    HZ. However, they are not in unit of jiffies, since ip6_rt_min_advmss
    refers to packet size and ip6_rt_fc_elasticity is used as scaler as in
    expire>>ip6_rt_gc_elasticity, so replace the jiffies conversion
    handler will regular handler for them.

    This has impact on scripts that are currently working assuming the
    divide by HZ, will yield different results with this patch in place.

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

    Min Zhang
     
  • As xfrm_compile_policy runs within a read_lock, we cannot use
    GFP_KERNEL for memory allocations.

    Reported-by: Luca Tettamanti
    Signed-off-by: Herbert Xu
    Signed-off-by: David S. Miller

    Herbert Xu
     

14 Aug, 2010

2 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
    ctcm: rename READ/WRITE defines to avoid redefinitions
    claw: rename READ/WRITE defines to avoid redefinitions
    phylib: available for any speed ethernet
    can: add limit for nframes and clean up signed/unsigned variables
    pkt_sched: Check .walk and .leaf class handlers
    pkt_sched: Fix sch_sfq vs tc_modify_qdisc oops
    caif-spi: Bugfix SPI_DATA_POS settings were inverted.
    caif: Bugfix - Increase default headroom size for control channel.
    net: make netpoll_rx return bool for !CONFIG_NETPOLL
    Bluetooth: Use 3-DH5 payload size for default ERTM max PDU size
    Bluetooth: Fix incorrect setting of remote_tx_win for L2CAP ERTM
    Bluetooth: Change default L2CAP ERTM retransmit timeout
    Bluetooth: Fix endianness issue with L2CAP MPS configuration
    net: Use NET_XMIT_SUCCESS where possible.
    isdn: mISDN: call pci_disable_device() if pci_probe() failed
    isdn: avm: call pci_disable_device() if pci_probe() failed
    isdn: avm: call pci_disable_device() if pci_probe() failed
    usbnet: rx_submit() should return an error code.
    pkt_sched: Add some basic qdisc class ops verification. Was: [PATCH] sfq: add dummy bind/unbind handles
    pkt_sched: sch_sfq: Add dummy unbind_tcf and put handles. Was: [PATCH] sfq: add dummy bind/unbind handles
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/sfrench/cifs-2.6:
    [NFS] Set CONFIG_KEYS when CONFIG_NFS_USE_KERNEL_DNS is set
    AFS: Implement an autocell mount capability [ver #2]
    DNS: If the DNS server returns an error, allow that to be cached [ver #2]
    NFS: Use kernel DNS resolver [ver #2]
    cifs: update README to include details about 'fsc' option

    Linus Torvalds
     

13 Aug, 2010

2 commits

  • * 'params' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (22 commits)
    param: don't deref arg in __same_type() checks
    param: update drivers/acpi/debug.c to new scheme
    param: use module_param in drivers/message/fusion/mptbase.c
    ide: use module_param_named rather than module_param_call
    param: update drivers/char/ipmi/ipmi_watchdog.c to new scheme
    param: lock if_sdio's lbs_helper_name and lbs_fw_name against sysfs changes.
    param: lock myri10ge_fw_name against sysfs changes.
    param: simple locking for sysfs-writable charp parameters
    param: remove unnecessary writable charp
    param: add kerneldoc to moduleparam.h
    param: locking for kernel parameters
    param: make param sections const.
    param: use free hook for charp (fix leak of charp parameters)
    param: add a free hook to kernel_param_ops.
    param: silence .init.text references from param ops
    Add param ops struct for hvc_iucv driver.
    nfs: update for module_param_named API change
    AppArmor: update for module_param_named API change
    param: use ops in struct kernel_param, rather than get and set fns directly
    param: move the EXPORT_SYMBOL to after the definitions.
    ...

    Linus Torvalds
     
  • Add a dummy printk function for the maintenance of unused printks through gcc
    format checking, and also so that side-effect checking is maintained too.

    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    David Howells
     

12 Aug, 2010

5 commits

  • Several gigabit network drivers (SB1250_MAC, TIGON3, FSL, GIANFAR,
    UCC_GETH, MV643XX_ETH, XILINX_LL_TEMAC, S6GMAC, STMMAC_ETH, PASEMI_MAC,
    and OCTEON_ETHERNET) select PHYLIB. These drivers are not under
    NET_ETHERNET (10/100 mbit), so this warning is generated (long, irrelevant
    parts are omitted):

    warning: (NET_DSA && NET && EXPERIMENTAL && NET_ETHERNET && !S390 || ... || SB1250_MAC && NETDEVICES && NETDEV_1000 && SIBYTE_SB1xxx_SOC || TIGON3 && NETDEVICES && NETDEV_1000 && PCI || FSL_PQ_MDIO && NETDEVICES && NETDEV_1000 && FSL_SOC || GIANFAR && NETDEVICES && NETDEV_1000 && FSL_SOC || UCC_GETH && NETDEVICES && NETDEV_1000 && QUICC_ENGINE || MV643XX_ETH && NETDEVICES && NETDEV_1000 && (MV64X60 || PPC32 || PLAT_ORION) || XILINX_LL_TEMAC && NETDEVICES && NETDEV_1000 && (PPC || MICROBLAZE) || S6GMAC && NETDEVICES && NETDEV_1000 && XTENSA_VARIANT_S6000 || STMMAC_ETH && NETDEV_1000 && NETDEVICES && CPU_SUBTYPE_ST40 || PASEMI_MAC && NETDEVICES && NETDEV_10000 && PPC_PASEMI && PCI || OCTEON_ETHERNET && STAGING && !STAGING_EXCLUDE_BUILD && CPU_CAVIUM_OCTEON) selects PHYLIB which has unmet direct dependencies (!S390 && NET_ETHERNET)

    PHYLIB is used by non-10/100 mbit ethernet drivers, so change the dependencies
    to be NETDEVICES instead of NET_ETHERNET.

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

    Randy Dunlap
     
  • This patch adds a limit for nframes as the number of frames in TX_SETUP and
    RX_SETUP are derived from a single byte multiplex value by default.
    Use-cases that would require to send/filter more than 256 CAN frames should
    be implemented in userspace for complexity reasons anyway.

    Additionally the assignments of unsigned values from userspace to signed
    values in kernelspace and vice versa are fixed by using unsigned values in
    kernelspace consistently.

    Signed-off-by: Oliver Hartkopp
    Reported-by: Ben Hawkes
    Acked-by: Urs Thuermann
    Signed-off-by: David S. Miller

    Oliver Hartkopp
     
  • If the DNS server returns an error, allow that to be cached in the DNS resolver
    key in lieu of a value. Userspace passes the desired error number as an option
    in the payload:

    "#dnserror="

    Userspace must map h_errno from the name resolution routines to an appropriate
    Linux error before passing it up. Something like the following mapping is
    recommended:

    [HOST_NOT_FOUND] = ENODATA,
    [TRY_AGAIN] = EAGAIN,
    [NO_RECOVERY] = ECONNREFUSED,
    [NO_DATA] = ENODATA,

    in lieu of Linux errors specifically for representing name service errors. The
    filesystem must map these errors appropropriately before passing them to
    userspace. AFS is made to map ENODATA and EAGAIN to EDESTADDRREQ for the
    return to userspace; ECONNREFUSED is allowed to stand as is.

    The error can be seen in /proc/keys as a negative number after the description
    of the key. Compare, for example, the following key entries:

    2f97238c I--Q-- 1 53s 3f010000 0 0 dns_resol afsdb:grand.centrall.org: -61
    338bfbbe I--Q-- 1 59m 3f010000 0 0 dns_resol afsdb:grand.central.org: 37

    If the error option is supplied in the payload, the main part of the payload is
    discarded. The key should have an expiry time set by userspace.

    Signed-off-by: Wang Lei
    Signed-off-by: David Howells
    Acked-by: Jeff Layton
    Signed-off-by: Steve French

    Wang Lei
     
  • This patch updates the computation to include the worst case situation
    where three FRMR are required to map a single RPC REQ.

    Signed-off-by: Tom Tucker
    Signed-off-by: Trond Myklebust

    Tom Tucker
     
  • A bad cast causes the iova_start, which in this case is a 64b DMA
    bus address, to be truncated on 32b systems. This breaks frmrs on
    32b systems. No cast is needed.

    Signed-off-by: Steve Wise
    Signed-off-by: Trond Myklebust

    Steve Wise
     

11 Aug, 2010

8 commits


10 Aug, 2010

8 commits

  • When reusing a TCP connection, ensure that it's aborted if a previous
    shutdown attempt has been made on that connection so that the RPC over
    TCP recovery mechanism succeeds.

    Signed-off-by: Andy Chittenden
    Signed-off-by: Trond Myklebust

    Andy Chittenden
     
  • remote_tx_win is intended to be set on receipt of an L2CAP
    configuration request. The value is used to determine the size of the
    transmit window on the remote side of an ERTM connection, so L2CAP
    can stop sending frames when that remote window is full.

    An incorrect remote_tx_win value will cause the stack to not fully
    utilize the tx window (performance impact), or to overfill the remote
    tx window (causing dropped frames or a disconnect).

    This patch removes an extra setting of remote_tx_win when a
    configuration response is received. The transmit window has a
    different meaning in a response - it is an informational value
    less than or equal to the local tx_win.

    Signed-off-by: Mat Martineau
    Signed-off-by: Marcel Holtmann

    Mat Martineau
     
  • Incoming configuration values must be converted to native CPU order
    before use. This fixes a bug where a little-endian MPS value is
    compared to a native CPU value. On big-endian processors, this
    can cause ERTM and streaming mode segmentation to produce PDUs
    that are larger than the remote stack is expecting, or that would
    produce fragmented skbs that the current FCS code cannot handle.

    Signed-off-by: Mat Martineau
    Signed-off-by: Marcel Holtmann

    Mat Martineau
     
  • This is based on work originally done by Patric McHardy.

    Signed-off-by: Ben Greear
    Signed-off-by: David S. Miller

    Ben Greear
     
  • …mmy bind/unbind handles

    Verify in register_qdisc() some basic qdisc class handlers are present.

    Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

    Jarek Poplawski
     
  • …dummy bind/unbind handles

    Add dummy .unbind_tcf and .put qdisc class ops for easier verification.
    (All other schedulers have it like this.)

    Signed-off-by: Jarek Poplawski <jarkao2@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

    Jarek Poplawski
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (59 commits)
    igbvf.txt: Add igbvf Documentation
    igb.txt: Add igb documentation
    e100/e1000*/igb*/ixgb*: Add missing read memory barrier
    ixgbe: fix build error with FCOE_CONFIG without DCB_CONFIG
    netxen: protect tx timeout recovery by rtnl lock
    isdn: gigaset: use after free
    isdn: gigaset: add missing unlock
    solos-pci: Fix race condition in tasklet RX handling
    pkt_sched: Fix sch_sfq vs tcf_bind_filter oops
    net: disable preemption before call smp_processor_id()
    tcp: no md5sig option size check bug
    iwlwifi: fix locking assertions
    iwlwifi: fix TX tracer
    isdn: fix information leak
    net: Fix napi_gro_frags vs netpoll path
    usbnet: remove noisy and hardly useful printk
    rtl8180: avoid potential NULL deref in rtl8180_beacon_work
    ath9k: Remove myself from the MAINTAINERS list
    libertas: scan before assocation if no BSSID was given
    libertas: fix association with some APs by using extended rates
    ...

    Linus Torvalds
     
  • Accesses to "wdev->current_bss" must be
    locked with the wdev lock, which action
    frame transmission is missing.

    Cc: stable@kernel.org [2.6.33+]
    Signed-off-by: Johannes Berg
    Signed-off-by: John W. Linville

    Johannes Berg
     

08 Aug, 2010

5 commits

  • Since there was added ->tcf_chain() method without ->bind_tcf() to
    sch_sfq class options, there is oops when a filter is added with
    the classid parameter.

    Fixes commit 7d2681a6ff4f9ab5e48d02550b4c6338f1638998
    netdev thread: null pointer at cls_api.c

    Signed-off-by: Jarek Poplawski
    Reported-by: Franchoze Eric
    Signed-off-by: David S. Miller

    Jarek Poplawski
     
  • Although netif_rx() isn't expected to be called in process context with
    preemption enabled, it'd better handle this case. And this is why get_cpu()
    is used in the non-RPS #ifdef branch. If tree RCU is selected,
    rcu_read_lock() won't disable preemption, so preempt_disable() should be
    called explictly.

    Signed-off-by: Changli Gao
    Signed-off-by: David S. Miller

    Changli Gao
     
  • tcp_parse_md5sig_option doesn't check md5sig option (TCPOPT_MD5SIG)
    length, but tcp_v[46]_inbound_md5_hash assume that it's at least 16
    bytes long.

    Signed-off-by: Dmitry Popov
    Signed-off-by: David S. Miller

    Dmitry Popov
     
  • * 'for-2.6.36' of git://linux-nfs.org/~bfields/linux: (34 commits)
    nfsd4: fix file open accounting for RDWR opens
    nfsd: don't allow setting maxblksize after svc created
    nfsd: initialize nfsd versions before creating svc
    net: sunrpc: removed duplicated #include
    nfsd41: Fix a crash when a callback is retried
    nfsd: fix startup/shutdown order bug
    nfsd: minor nfsd read api cleanup
    gcc-4.6: nfsd: fix initialized but not read warnings
    nfsd4: share file descriptors between stateid's
    nfsd4: fix openmode checking on IO using lock stateid
    nfsd4: miscellaneous process_open2 cleanup
    nfsd4: don't pretend to support write delegations
    nfsd: bypass readahead cache when have struct file
    nfsd: minor nfsd_svc() cleanup
    nfsd: move more into nfsd_startup()
    nfsd: just keep single lockd reference for nfsd
    nfsd: clean up nfsd_create_serv error handling
    nfsd: fix error handling in __write_ports_addxprt
    nfsd: fix error handling when starting nfsd with rpcbind down
    nfsd4: fix v4 state shutdown error paths
    ...

    Linus Torvalds
     
  • * 'nfs-for-2.6.36' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6: (42 commits)
    NFS: NFSv4.1 is no longer a "developer only" feature
    NFS: NFS_V4 is no longer an EXPERIMENTAL feature
    NFS: Fix /proc/mount for legacy binary interface
    NFS: Fix the locking in nfs4_callback_getattr
    SUNRPC: Defer deleting the security context until gss_do_free_ctx()
    SUNRPC: prevent task_cleanup running on freed xprt
    SUNRPC: Reduce asynchronous RPC task stack usage
    SUNRPC: Move the bound cred to struct rpc_rqst
    SUNRPC: Clean up of rpc_bindcred()
    SUNRPC: Move remaining RPC client related task initialisation into clnt.c
    SUNRPC: Ensure that rpc_exit() always wakes up a sleeping task
    SUNRPC: Make the credential cache hashtable size configurable
    SUNRPC: Store the hashtable size in struct rpc_cred_cache
    NFS: Ensure the AUTH_UNIX credcache is allocated dynamically
    NFS: Fix the NFS users of rpc_restart_call()
    SUNRPC: The function rpc_restart_call() should return success/failure
    NFSv4: Get rid of the bogus RPC_ASSASSINATED(task) checks
    NFSv4: Clean up the process of renewing the NFSv4 lease
    NFSv4.1: Handle NFS4ERR_DELAY on SEQUENCE correctly
    NFS: nfs_rename() should not have to flush out writebacks
    ...

    Linus Torvalds
     

07 Aug, 2010

1 commit