08 Feb, 2012

1 commit

  • The qdisc supports two operations - plug and unplug. When the
    qdisc receives a plug command via netlink request, packets arriving
    henceforth are buffered until a corresponding unplug command is received.
    Depending on the type of unplug command, the queue can be unplugged
    indefinitely or selectively.

    This qdisc can be used to implement output buffering, an essential
    functionality required for consistent recovery in checkpoint based
    fault-tolerance systems. Output buffering enables speculative execution
    by allowing generated network traffic to be rolled back. It is used to
    provide network protection for Xen Guests in the Remus high availability
    project, available as part of Xen.

    This module is generic enough to be used by any other system that wishes
    to add speculative execution and output buffering to its applications.

    This module was originally available in the linux 2.6.32 PV-OPS tree,
    used as dom0 for Xen.

    For more information, please refer to http://nss.cs.ubc.ca/remus/
    and http://wiki.xensource.com/xenwiki/Remus

    Changes in V3:
    * Removed debug output (printk) on queue overflow
    * Added TCQ_PLUG_RELEASE_INDEFINITE - that allows the user to
    use this qdisc, for simple plug/unplug operations.
    * Use of packet counts instead of pointers to keep track of
    the buffers in the queue.

    Signed-off-by: Shriram Rajagopalan
    Signed-off-by: Brendan Cully
    [author of the code in the linux 2.6.32 pvops tree]
    Signed-off-by: David S. Miller

    Shriram Rajagopalan
     

07 Feb, 2012

3 commits


05 Feb, 2012

3 commits


03 Feb, 2012

2 commits


02 Feb, 2012

2 commits

  • It went from unused, to commented out, and never changing after
    that.

    Just get rid of it, if someone wants it they can unearth it from
    the history.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Some of our machines were reporting:

    TCP: too many of orphaned sockets

    even when the number of orphaned sockets was well below the
    limit.

    We print a different message depending on whether we're out
    of TCP memory or there are too many orphaned sockets.

    Also move the check out of line and cleanup the messages
    that were printed.

    Signed-off-by: Arun Sharma
    Suggested-by: Mohan Srinivasan
    Cc: netdev@vger.kernel.org
    Cc: linux-kernel@vger.kernel.org
    Cc: David Miller
    Cc: Glauber Costa
    Cc: Ingo Molnar
    Cc: Joe Perches
    Signed-off-by: David S. Miller

    Arun Sharma
     

01 Feb, 2012

4 commits

  • This patch makes sure we use appropriate memory barriers before
    publishing tp->md5sig_info, allowing tcp_md5_do_lookup() being used from
    tcp_v4_send_reset() without holding socket lock (upcoming patch from
    Shawn Lu)

    Note we also need to respect rcu grace period before its freeing, since
    we can free socket without this grace period thanks to
    SLAB_DESTROY_BY_RCU

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

    Eric Dumazet
     
  • There are few important bug fixes for LogFS

    * tag 'for-linus' of git://github.com/prasad-joshi/logfs_upstream:
    Logfs: Allow NULL block_isbad() methods
    logfs: Grow inode in delete path
    logfs: Free areas before calling generic_shutdown_super()
    logfs: remove useless BUG_ON
    MAINTAINERS: Add Prasad Joshi in LogFS maintiners
    logfs: Propagate page parameter to __logfs_write_inode
    logfs: set superblock shutdown flag after generic sb shutdown
    logfs: take write mutex lock during fsync and sync
    logfs: Prevent memory corruption
    logfs: update page reference count for pined pages

    Fix up conflict in fs/logfs/dev_mtd.c due to semantic change in what
    "mtd->block_isbad" means in commit f2933e86ad93: "Logfs: Allow NULL
    block_isbad() methods" clashing with the abstraction changes in the
    commits 7086c19d0742: "mtd: introduce mtd_block_isbad interface" and
    d58b27ed58a3: "logfs: do not use 'mtd->block_isbad' directly".

    This resolution takes the semantics from commit f2933e86ad93, and just
    makes mtd_block_isbad() return zero (false) if the 'block_isbad'
    function is NULL. But that also means that now "mtd_can_have_bb()"
    always returns 0.

    Now, "mtd_block_markbad()" will obviously return an error if the
    low-level driver doesn't support bad blocks, so this is somewhat
    non-symmetric, but it actually makes sense if a NULL "block_isbad"
    function is considered to mean "I assume that all my blocks are always
    good".

    Linus Torvalds
     
  • In order to be able to support proper RST messages for TCP MD5 flows, we
    need to allow access to MD5 keys without locking listener socket.

    This conversion is a nice cleanup, and shrinks size of timewait sockets
    by 80 bytes.

    IPv6 code reuses generic code found in IPv4 instead of duplicating it.

    Control path uses GFP_KERNEL allocations instead of GFP_ATOMIC.

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

    Eric Dumazet
     
  • We no longer use md5_add() method from struct tcp_sock_af_ops

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

    Eric Dumazet
     

31 Jan, 2012

6 commits

  • * Handle MCS masks set by the user.
    * Match rates provided by the rate control algorithm to the mask set,
    also in HT mode, and switch back to legacy mode if necessary.
    * add debugfs files to observate the rate selection

    Signed-off-by: Simon Wunderlich
    Signed-off-by: Mathias Kretschmer
    Signed-off-by: John W. Linville

    Simon Wunderlich
     
  • Allow to set mcs masks through nl80211. We also allow to set MCS
    rates but no legacy rates (and vice versa).

    Signed-off-by: Simon Wunderlich
    Signed-off-by: Mathias Kretschmer
    Signed-off-by: John W. Linville

    Simon Wunderlich
     
  • text data bss dec hex filename
    8455963 532732 1810804 10799499 a4c98b vmlinux.o.before
    8448899 532732 1810804 10792435 a4adf3 vmlinux.o

    This change also removes commented-out copy of __nlmsg_put
    which was last touched in 2005 with "Enable once all users
    have been converted" comment on top.

    Changes in v2: rediffed against net-next.

    Signed-off-by: Denys Vlasenko
    Signed-off-by: David S. Miller

    Denys Vlasenko
     
  • Here are a bunch of USB patches for 3.3-rc1.

    Nothing major, largest thing here is the removal of some drivers that
    did not work at all. Other than that, the normal collection of bugfixes
    and new device ids.

    Signed-off-by: Greg Kroah-Hartman

    * tag 'usb-3.3-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (52 commits)
    uwb & wusb: fix kconfig error
    USB: Realtek cr: fix autopm scheduling while atomic
    USB: ftdi_sio: Add more identifiers
    xHCI: Cleanup isoc transfer ring when TD length mismatch found
    usb: musb: omap2430: minor cleanups.
    qcaux: add more Pantech UML190 and UML290 ports
    Revert "drivers: usb: Fix dependency for USB_HWA_HCD"
    usb: mv-otg - Fix build if CONFIG_USB is not set
    USB: cdc-wdm: Avoid hanging on interface with no USB_CDC_DMM_TYPE
    usb: add support for STA2X11 host driver
    drivers: usb: Fix dependency for USB_HWA_HCD
    kernel-doc: fix new warning in usb.h
    USB: OHCI: fix new compiler warnings
    usb: serial: kobil_sct: fix compile warning:
    drivers/usb/host/ehci-fsl.c: add missing iounmap
    USB: cdc-wdm: better allocate a buffer that is at least as big as we tell the USB core
    USB: cdc-wdm: call wake_up_all to allow driver to shutdown on device removal
    USB: cdc-wdm: use two mutexes to allow simultaneous read and write
    USB: cdc-wdm: updating desc->length must be protected by spin_lock
    USB: usbsevseg: fix max length
    ...

    Linus Torvalds
     
  • 1) Setting link attributes can modify the size of the attributes that
    would be reported on a subsequent getlink netlink operation,
    therefore min_ifinfo_dump_size needs to be adjusted. From Stefan
    Gula.

    2) Resegmentation of TSO frames while trimming can violate invariants
    expected by callers, namely that the number of segments can only stay
    the same or decrease, never increase. If MSS changes, however, we
    can trim data but then end up with more segments. Fix this by only
    segmenting to the MSS already recorded in the SKB. That's the
    simplest fix for now and if we want to get more fancy in the future
    that's a more involved change.

    This probably explains some retransmit counter inaccuracies.

    From Neal Cardwell.

    3) Fix too-many-wakeups in POLL with AF_UNIX sockets, from Eric Dumazet.

    4) Fix CAIF crashes wrt. namespace handling. From Eric Dumazet and
    Eric W. Biederman.

    5) TCP port selection fixes from Flavio Leitner.

    6) More socket memory cgroup build fixes in certain randonfig
    situations. From Glauber Costa.

    7) Fix TCP memory sysctl regression reported by Ingo Molnar, also from
    Glauber Costa.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
    af_unix: fix EPOLLET regression for stream sockets
    tcp: fix tcp_trim_head() to adjust segment count with skb MSS
    net/tcp: Fix tcp memory limits initialization when !CONFIG_SYSCTL
    net caif: Register properly as a pernet subsystem.
    netns: Fail conspicously if someone uses net_generic at an inappropriate time.
    net: explicitly add jump_label.h header to sock.h
    net: RTNETLINK adjusting values of min_ifinfo_dump_size
    ipv6: Fix ip_gre lockless xmits.
    xen-netfront: correct MAX_TX_TARGET calculation.
    netns: fix net_alloc_generic()
    tcp: bind() optimize port allocation
    tcp: bind() fix autoselection to share ports
    l2tp: l2tp_ip - fix possible oops on packet receive
    iwlwifi: fix PCI-E transport "inta" race
    mac80211: set bss_conf.idle when vif is connected
    mac80211: update oper_channel on ibss join

    Linus Torvalds
     
  • sysctl_tcp_mem() initialization was moved to sysctl_tcp_ipv4.c
    in commit 3dc43e3e4d0b52197d3205214fe8f162f9e0c334, since it
    became a per-ns value.

    That code, however, will never run when CONFIG_SYSCTL is
    disabled, leading to bogus values on those fields - causing hung
    TCP sockets.

    This patch fixes it by keeping an initialization code in
    tcp_init(). It will be overwritten by the first net namespace
    init if CONFIG_SYSCTL is compiled in, and do the right thing if
    it is compiled out.

    It is also named properly as tcp_init_mem(), to properly signal
    its non-sysctl side effect on TCP limits.

    Reported-by: Ingo Molnar
    Signed-off-by: Glauber Costa
    Cc: David S. Miller
    Link: http://lkml.kernel.org/r/4F22D05A.8030604@parallels.com
    [ renamed the function, tidied up the changelog a bit ]
    Signed-off-by: Ingo Molnar
    Signed-off-by: David S. Miller

    Glauber Costa
     

30 Jan, 2012

1 commit

  • Commit 2aede851ddf08666f68ffc17be446420e9d2a056

    PM / Hibernate: Freeze kernel threads after preallocating memory

    introduced a mechanism by which kernel threads were frozen after
    the preallocation of hibernate image memory to avoid problems with
    frozen kernel threads not responding to memory freeing requests.
    However, it overlooked the s2disk code path in which the
    SNAPSHOT_CREATE_IMAGE ioctl was run directly after SNAPSHOT_FREE,
    which caused freeze_workqueues_begin() to BUG(), because it saw
    that worqueues had been already frozen.

    Although in principle this issue might be addressed by removing
    the relevant BUG_ON() from freeze_workqueues_begin(), that would
    reintroduce the very problem that commit 2aede851ddf08666f68ffc17be4
    attempted to avoid into that particular code path. For this reason,
    to fix the issue at hand, introduce thaw_kernel_threads() and make
    the SNAPSHOT_FREE ioctl execute it.

    Special thanks to Srivatsa S. Bhat for detailed analysis of the
    problem.

    Reported-and-tested-by: Jiri Slaby
    Signed-off-by: Rafael J. Wysocki
    Acked-by: Srivatsa S. Bhat
    Cc: stable@kernel.org

    Rafael J. Wysocki
     

29 Jan, 2012

2 commits

  • …ernel/git/gregkh/driver-core

    Here are some patches for the 3.3-rc1 tree.

    It contains the removal of the sysdev code, now that all users of it are
    gone, as well as some sysfs bugfixes that have been reported by users.
    There are also some documentation updates here as well.

    * tag 'driver-core-3.3-rc1-bugfixes' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core:
    sysfs: Complain bitterly about attempts to remove files from nonexistent directories.
    stable: update documentation to ask for kernel version
    base/core.c:fix typo in comment in function device_add
    Documentation: devres: add allocation functions to list of supported calls
    Documentation update for the driver model core
    kernel-doc: fix new warnings in driver-core
    kernel-doc: fix new warnings in debugfs
    kernel-doc: fix new warnings in device.h
    driver core: remove drivers/base/sys.c and include/linux/sysdev.h

    Linus Torvalds
     
  • * 'fixes' of git://git.linaro.org/people/rmk/linux-arm: (31 commits)
    ARM: 7304/1: ioremap: fix boundary check when reusing static mapping
    ARM: 7301/1: Rename the T() macro to TUSER() to avoid namespace conflicts
    ARM: 7299/1: ftrace: clear zero bit in reported IPs for Thumb-2
    ARM: 7298/1: realview: fix mapping of MPCore private memory region
    PCMCIA: fix sa1111 oops on remove
    ARM: 7288/1: mach-sa1100: add missing module_init() call
    ARM: 7297/1: smp_twd: make sure timer is stopped before registering it
    ARM: 7296/1: proc-v7.S: remove HARVARD_CACHE preprocessor guards
    ARM: 7295/1: cortex-a7: move proc_info out of !CONFIG_ARM_LPAE block
    ARM: 7293/1: logical_cpu_map: decouple CPU mapping from SMP
    ARM: 7291/1: cache: assume 64-byte L1 cachelines for ARMv7 CPUs
    ARM: 7290/1: vmlinux.lds.S: align the exception fixup table to a 4-byte boundary
    ARM: 7289/1: vmlinux.lds.S: do not hardcode cacheline size as 32 bytes
    MFD: ucb1x00-ts: fix resume failure
    MFD: ucb1x00-core: fix gpiolib direction_output handling
    MFD: ucb1x00-core: fix missing restore of io output data on resume
    MFD: mcp-core: fix mcp_priv() to be more type safe
    MFD: mcp-core: fix complaints from the genirq layer
    Revert "ARM: sa11x0: Implement autoloading of codec and codec pdata for mcp bus."
    Revert "ARM: sa1100: Refactor mcp-sa11x0 to use platform resources."
    ...

    Fix up conflict due to arch/arm/mach-mx5/Kconfig having been merged into
    mach-imx5 (commit 784a90c0a7d8: "ARM i.MX: Merge i.MX5 support into
    mach-imx"), but the ARM_L1_CACHE_SHIFT_6 entry was moved to be driven by
    the CPU_V7 logic from it in the old location in rmk's branch (commit
    a092f2b15399: "ARM: 7291/1: cache: assume 64-byte L1 cachelines for
    ARMv7 CPUs").

    Linus Torvalds
     

28 Jan, 2012

6 commits


27 Jan, 2012

3 commits


26 Jan, 2012

1 commit

  • * 'drm-fixes' of git://people.freedesktop.org/~airlied/linux:
    drm/ttm: fix two regressions since move_notify changes
    drm/radeon: avoid deadlock if GPU lockup is detected in ib_pool_get
    drm/radeon: silence out possible lock dependency warning
    drm: Fix authentication kernel crash
    gma500: Fix shmem mapping
    drm/radeon/kms: refine TMDS dual link checks
    drm/radeon/kms: use drm_detect_hdmi_monitor for picking encoder mode
    drm/radeon/kms: rework modeset sequence for DCE41 and DCE5
    drm/radeon/kms: move panel mode setup into encoder mode set
    drm/radeon/kms: move disp eng pll setup to init path
    drm/radeon: finish getting bios earlier
    drm/radeon: fix invalid memory access in radeon_atrm_get_bios()
    drm/radeon/kms: add some missing semaphore init
    drm/radeon/kms: Add an MSI quirk for Dell RS690
    gpu, drm, sis: Don't return uninitialized variable from sis_driver_load()

    Linus Torvalds
     

25 Jan, 2012

6 commits

  • * 'for-greg' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb:
    usb: musb: omap2430: minor cleanups.
    usb: dwc3: unmap the proper number of sg entries
    usb: musb: fix shutdown while usb gadget is in use
    usb: gadget: f_mass_storage: Use "bool" instead of "int" in fsg_module_parameters
    usb: gadget: check for streams only for SS udcs
    usb: gadget: fsl_udc: fix the usage of udc->max_ep
    drivers: usb: otg: Fix dependencies for some OTG drivers
    usb: renesas: silence uninitialized variable report in usbhsg_recip_run_handle()
    usb: gadget: SS Isoc endpoints use comp_desc->bMaxBurst too
    usb: gadget: storage: endian fix
    usb: dwc3: ep0: fix compile warning
    usb: musb: davinci: fix build breakage
    usb: gadget: langwell: don't call gadget's disconnect()
    usb: gadget: langwell: drop langwell_otg support
    usb: otg: kill langwell_otg driver
    usb: dwc3: ep0: tidy up Pending Request handling

    Greg Kroah-Hartman
     
  • If the master tries to authenticate a client using drm_authmagic and
    that client has already closed its drm file descriptor,
    either wilfully or because it was terminated, the
    call to drm_authmagic will dereference a stale pointer into kmalloc'ed memory
    and corrupt it.

    Typically this results in a hard system hang.

    This patch fixes that problem by removing any authentication tokens
    (struct drm_magic_entry) open for a file descriptor when that file
    descriptor is closed.

    Signed-off-by: Thomas Hellstrom
    Reviewed-by: Daniel Vetter
    Cc: stable@vger.kernel.org
    Signed-off-by: Dave Airlie

    Thomas Hellstrom
     
  • Quoth Len:
    "This fixes a merge-window regression due to a conflict
    between error injection and preparation to remove atomicio.c
    Here we fix that regression and complete the removal
    of atomicio.c.

    This also re-orders some idle initialization code to
    complete the merge window series that allows cpuidle
    to cope with bringing processors on-line after boot."

    * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux:
    Use acpi_os_map_memory() instead of ioremap() in einj driver
    ACPI, APEI, EINJ, cleanup 0 vs NULL confusion
    ACPI, APEI, EINJ Allow empty Trigger Error Action Table
    thermal: Rename generate_netlink_event
    ACPI / PM: Add Sony Vaio VPCCW29FX to nonvs blacklist.
    ACPI: Remove ./drivers/acpi/atomicio.[ch]
    ACPI, APEI: Add RAM mapping support to ACPI
    ACPI, APEI: Add 64-bit read/write support for APEI on i386
    ACPI processor hotplug: Delay acpi_processor_start() call for hotplugged cores
    ACPI processor hotplug: Split up acpi_processor_add

    Linus Torvalds
     
  • Davem says:

    1) Fix JIT code generation on x86-64 for divide by zero, from Eric Dumazet.

    2) tg3 header length computation correction from Eric Dumazet.

    3) More build and reference counting fixes for socket memory cgroup
    code from Glauber Costa.

    4) module.h snuck back into a core header after all the hard work we
    did to remove that, from Paul Gortmaker and Jesper Dangaard Brouer.

    5) Fix PHY naming regression and add some new PCI IDs in stmmac, from
    Alessandro Rubini.

    6) Netlink message generation fix in new team driver, should only advertise
    the entries that changed during events, from Jiri Pirko.

    7) SRIOV VF registration and unregistration fixes, and also add a
    missing PCI ID, from Roopa Prabhu.

    8) Fix infinite loop in tx queue flush code of brcmsmac, from Stanislaw Gruszka.

    9) ftgmac100/ftmac100 build fix, missing interrupt.h include.

    10) Memory leak fix in net/hyperv do_set_mutlicast() handling, from Wei Yongjun.

    11) Off by one fix in netem packet scheduler, from Vijay Subramanian.

    12) TCP loss detection fix from Yuchung Cheng.

    13) TCP reset packet MD5 calculation uses wrong address, fix from Shawn Lu.

    14) skge carrier assertion and DMA mapping fixes from Stephen Hemminger.

    15) Congestion recovery undo performed at the wrong spot in BIC and CUBIC
    congestion control modules, fix from Neal Cardwell.

    16) Ethtool ETHTOOL_GSSET_INFO is unnecessarily restrictive, from Michał Mirosław.

    17) Fix triggerable race in ipv6 sysctl handling, from Francesco Ruggeri.

    18) Statistics bug fixes in mlx4 from Eugenia Emantayev.

    19) rds locking bug fix during info dumps, from your's truly.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (67 commits)
    rds: Make rds_sock_lock BH rather than IRQ safe.
    netprio_cgroup.h: dont include module.h from other includes
    net: flow_dissector.c missing include linux/export.h
    team: send only changed options/ports via netlink
    net/hyperv: fix possible memory leak in do_set_multicast()
    drivers/net: dsa/mv88e6xxx.c files need linux/module.h
    stmmac: added PCI identifiers
    llc: Fix race condition in llc_ui_recvmsg
    stmmac: fix phy naming inconsistency
    dsa: Add reporting of silicon revision for Marvell 88E6123/88E6161/88E6165 switches.
    tg3: fix ipv6 header length computation
    skge: add byte queue limit support
    mv643xx_eth: Add Rx Discard and Rx Overrun statistics
    bnx2x: fix compilation error with SOE in fw_dump
    bnx2x: handle CHIP_REVISION during init_one
    bnx2x: allow user to change ring size in ISCSI SD mode
    bnx2x: fix Big-Endianess in ethtool -t
    bnx2x: fixed ethtool statistics for MF modes
    bnx2x: credit-leakage fixup on vlan_mac_del_all
    macvlan: fix a possible use after free
    ...

    Linus Torvalds
     
  • A considerable effort was invested in wiping out module.h
    from being present in all the other standard includes. This
    one leaked back in, but once again isn't strictly necessary,
    so remove it.

    Signed-off-by: Paul Gortmaker
    Signed-off-by: David S. Miller

    Paul Gortmaker
     
  • This patch changes event message behaviour to send only updated records
    instead of whole list. This fixes bug on which userspace receives non-actual
    data in case multiple events occur in row.

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

    Jiri Pirko