01 Mar, 2013

4 commits

  • In sctp_ulpq_tail_data(), use return values 0,1 to indicate whether
    a complete event (with MSG_EOR set) was delivered. A return value
    of -ENOMEM continues to indicate an out-of-memory condition was
    encountered.

    In sctp_ulpq_retrieve_partial() and sctp_ulpq_retrieve_first(),
    correct message reassembly logic for SCTP partial delivery.
    Change logic to ensure that as much data as possible is sent
    with the initial partial delivery and that following partial
    deliveries contain all available data.

    In sctp_ulpq_partial_delivery(), attempt partial delivery only
    if the data on the head of the reassembly queue is at or before
    the cumulative TSN ACK point.

    In sctp_ulpq_renege(), use the modified return values from
    sctp_ulpq_tail_data() to choose whether to attempt partial
    delivery or to attempt to drain the reassembly queue as a
    means to reduce memory pressure. Remove call to
    sctp_tsnmap_mark(), as this is handled correctly in call to
    sctp_ulpq_tail_data().

    Signed-off-by: Lee A. Roberts
    Acked-by: Vlad Yasevich
    Acked-by: Neil Horman

    Lee A. Roberts
     
  • In sctp_ulpq_renege_list(), events being reneged from the
    ordering queue may correspond to multiple TSNs. Identify
    all affected packets; sum freed space and renege from the
    tsnmap.

    Signed-off-by: Lee A. Roberts
    Acked-by: Vlad Yasevich
    Acked-by: Neil Horman

    Lee A. Roberts
     
  • In sctp_ulpq_renege_list(), do not renege packets below the
    cumulative TSN ACK point.

    Signed-off-by: Lee A. Roberts
    Acked-by: Vlad Yasevich
    Acked-by: Neil Horman

    Lee A. Roberts
     
  • In sctp_tsnmap_mark(), correct off-by-one error when calculating
    size value for sctp_tsnmap_grow().

    In sctp_tsnmap_grow(), correct off-by-one error when copying
    and resizing the tsnmap. If max_tsn_seen is in the LSB of the
    word, this bit can be lost, causing the corresponding packet
    to be transmitted again and to be entered as a duplicate into
    the SCTP reassembly/ordering queues. Change parameter name
    from "gap" (zero-based index) to "size" (one-based) to enhance
    code readability.

    Signed-off-by: Lee A. Roberts
    Acked-by: Vlad Yasevich
    Acked-by: Neil Horman

    Lee A. Roberts
     

28 Feb, 2013

6 commits

  • Building sctp may fail with:

    In function ‘copy_from_user’,
    inlined from ‘sctp_getsockopt_assoc_stats’ at
    net/sctp/socket.c:5656:20:
    arch/x86/include/asm/uaccess_32.h:211:26: error: call to
    ‘copy_from_user_overflow’ declared with attribute error: copy_from_user()
    buffer size is not provably correct

    if built with W=1 due to a missing parameter size validation
    before the call to copy_from_user.

    Signed-off-by: Guenter Roeck
    Acked-by: Vlad Yasevich
    Signed-off-by: David S. Miller

    Guenter Roeck
     
  • This USB ethernet adapter was purchased in anodyne packaging
    from the computer store adjacent to linux.conf.au 2013 in
    Canberra (Australia). A web search shows other recent
    purchasers in Lancaster (UK) and Seattle (USA). Just like an
    emergent virus, our age of e-commerce and airmail allows
    underdocumented hardware to spread around the world instantly
    using the vector of ridiculously low prices.

    Paige Thompson, infected via eBay, discovered that the HG20F9
    is a copy of the Asix 88772B; many viruses copy the RNA of
    other viruses. See Paige's work at
    .
    This patch uses her discovery to update the restructured Asix
    driver in the current kernel.

    Just as some viruses inhabit seemingly-healthy cells, the
    HG20F9 uses the Vendor ID 0x066b assigned to Linksys Inc.
    For the present there is no clash of Product ID 0x20f9.

    Signed-off-by: Glen Turner
    Signed-off-by: David S. Miller

    Glen Turner
     
  • Tag all Huawei NCM devices as WWAN modems, as we don't know of any which
    are not. This is necessary for userspace clients to know that the device
    requires further setup on e.g. an AT-capable serial ports before
    connectivity is available.

    Signed-off-by: Bjørn Mork
    Signed-off-by: David S. Miller

    Bjørn Mork
     
  • Since commit 86564c3f "bnx2x: Remove many sparse warnings" UDP
    csum offload is broken for 57710/57711. Fix return value.

    Signed-off-by: Dmitry Kravkov
    CC: Ariel Elior
    CC: Yuval Mintz
    Signed-off-by: David S. Miller

    Dmitry Kravkov
     
  • charset comes from skb->data. It's a number in the 0-255 range.
    If we have debugging turned on then this could cause a read beyond
    the end of the array.

    Signed-off-by: Dan Carpenter
    Signed-off-by: David S. Miller

    Dan Carpenter
     
  • While PROC_CN_MCAST_LISTEN/IGNORE is entirely advisory, it was possible
    for an unprivileged user to turn off notifications for all listeners by
    sending PROC_CN_MCAST_IGNORE. Instead, require the same privileges as
    required for a multicast bind.

    Signed-off-by: Kees Cook
    Cc: Evgeniy Polyakov
    Cc: Matt Helsley
    Cc: stable@vger.kernel.org
    Acked-by: Evgeniy Polyakov
    Acked-by: Matt Helsley
    Signed-off-by: David S. Miller

    Kees Cook
     

27 Feb, 2013

17 commits

  • Add missing usb_free_urb() on failure path in st5481_setup_usb().

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Marina Makienko
    Signed-off-by: David S. Miller

    Marina Makienko
     
  • in bond_enslave(), check slave_cnt before actually using slave address.

    introduced by:
    commit 409cc1f8a41 (bond: have random dev address by default instead of zeroes)

    Reported-by: Greg Rose
    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • Make cpsw_add_default_vlan() look at the actual number of slaves for its
    iteration, so boards with less than 2 slaves don't ooops at boot.

    Signed-off-by: Daniel Mack
    Cc: Mugunthan V N
    Cc: David S. Miller
    Acked-by: Mugunthan V N
    Signed-off-by: David S. Miller

    Daniel Mack
     
  • Pablo Neira Ayuso says:

    ====================
    The following patchset contains two bugfixes for netfilter/ipset via
    Jozsef Kadlecsik, they are:

    * Fix timeout corruption if sets are resized, by Josh Hunt.

    * Fix bogus error report if the flag nomatch is set, from Jozsef.
    ====================

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Ben Hutchings says:

    ====================
    Some fixes that should go into 3.9:

    1. Fix packet corruption when using non-coherent RX DMA buffers.
    2. Fix occasional watchdog misfiring when changing MTU or ring size.

    These are longstanding bugs and should be fixed in stable as well, but
    I'd like to review other recent fixes first and send a separate request
    for stable inclusion.
    ====================

    Signed-off-by: David S. Miller

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

    1) ping_err() ICMP error handler looks at wrong ICMP header, from Li
    Wei.

    2) TCP socket hash function on ipv6 is too weak, from Eric Dumazet.

    3) netif_set_xps_queue() forgets to drop mutex on errors, fix from
    Alexander Duyck.

    4) sum_frag_mem_limit() can deadlock due to lack of BH disabling, fix
    from Eric Dumazet.

    5) TCP SYN data is miscalculated in tcp_send_syn_data(), because the
    amount of TCP option space was not taken into account properly in
    this code path. Fix from yuchung Cheng.

    6) MLX4 driver allocates device queues with the wrong size, from Kleber
    Sacilotto.

    7) sock_diag can access past the end of the sock_diag_handlers[] array,
    from Mathias Krause.

    8) vlan_set_encap_proto() makes incorrect assumptions about where
    skb->data points, rework the logic so that it works regardless of
    where skb->data happens to be. From Jesse Gross.

    9) Fix gianfar build failure with NET_POLL enabled, from Paul
    Gortmaker.

    10) Fix Ipv4 ID setting and checksum calculations in GRE driver, from
    Pravin B Shelar.

    11) bgmac driver does:

    int i;

    for (i = 0; ...; ...) {
    ...
    for (i = 0; ...; ...) {

    effectively corrupting the outer loop index, use a seperate
    variable for the inner loops. From Rafał Miłecki.

    12) Fix suspend bugs in smsc95xx driver, from Ming Lei.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (35 commits)
    usbnet: smsc95xx: rename FEATURE_AUTOSUSPEND
    usbnet: smsc95xx: fix broken runtime suspend
    usbnet: smsc95xx: fix suspend failure
    bgmac: fix indexing of 2nd level loops
    b43: Fix lockdep splat on module unload
    Revert "ip_gre: propogate target device GSO capability to the tunnel device"
    IP_GRE: Fix GRE_CSUM case.
    VXLAN: Use tunnel_ip_select_ident() for tunnel IP-Identification.
    IP_GRE: Fix IP-Identification.
    net/pasemi: Fix missing coding style
    vmxnet3: fix ethtool ring buffer size setting
    vmxnet3: make local function static
    bnx2x: remove dead code and make local funcs static
    gianfar: fix compile fail for NET_POLL=y due to struct packing
    vlan: adjust vlan_set_encap_proto() for its callers
    sock_diag: Simplify sock_diag_handlers[] handling in __sock_diag_rcv_msg
    sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
    vxlan: remove depends on CONFIG_EXPERIMENTAL
    mlx4_en: fix allocation of CPU affinity reverse-map
    mlx4_en: fix allocation of device tx_cq
    ...

    Linus Torvalds
     
  • Pull scsi target updates from Nicholas Bellinger:
    "The highlights in this series include:

    - Improve sg_table lookup scalability in RAMDISK_MCP (martin)

    - Add device attribute to expose config name for INQUIRY model (tregaron)

    - Convert tcm_vhost to use lock-less list for cmd completion (asias)

    - Add tcm_vhost support for multiple target's per endpoint (asias)

    - Add tcm_vhost support for multiple queues per vhost (asias)

    - Add missing mapped_lun bounds checking during make_mappedlun setup
    in generic fabric configfs code (jan engelhardt + nab)

    - Enforce individual iscsi-target network portal export once per
    TargetName endpoint (grover + nab)

    - Add WRITE_SAME w/ UNMAP=0 emulation to FILEIO backend (nab)

    Things have been mostly quiet this round, with majority of the work
    being done on the iser-target WIP driver + associated iscsi-target
    refactoring patches currently in flight for v3.10 code.

    At this point there is one patch series left outstanding from Asias to
    add support for UNMAP + WRITE_SAME w/ UNMAP=1 to FILEIO awaiting
    feedback from hch & Co, that will likely be included in a post
    v3.9-rc1 PULL request if there are no objections.

    Also, there is a regression bug recently reported off-list that seems
    to be effecting v3.5 and v3.6 kernels with MSFT iSCSI initiators that
    is still being tracked down. No word if this effects >= v3.7 just
    yet, but if so there will likely another PULL request coming your
    way.."

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending: (26 commits)
    target: Rename spc_get_write_same_sectors -> sbc_get_write_same_sectors
    target/file: Add WRITE_SAME w/ UNMAP=0 emulation support
    iscsi-target: Enforce individual network portal export once per TargetName
    iscsi-target: Refactor iscsit_get_np sockaddr matching into iscsit_check_np_match
    target: Add missing mapped_lun bounds checking during make_mappedlun setup
    target: Fix lookup of dynamic NodeACLs during cached demo-mode operation
    target: Fix parameter list length checking in MODE SELECT
    target: Fix error checking for UNMAP commands
    target: Fix sense data for out-of-bounds IO operations
    target_core_rd: break out unterminated loop during copy
    tcm_vhost: Multi-queue support
    tcm_vhost: Multi-target support
    target: Add device attribute to expose config_item_name for INQUIRY model
    target: don't truncate the fail intr address
    target: don't always say "ipv6" as address type
    target/iblock: Use backend REQ_FLUSH hint for WriteCacheEnabled status
    iscsi-target: make some temporary buffers larger
    tcm_vhost: Optimize gup in vhost_scsi_map_to_sgl
    tcm_vhost: Use iov_num_pages to calculate sgl_count
    tcm_vhost: Introduce iov_num_pages
    ...

    Linus Torvalds
     
  • Pull infiniband update from Roland Dreier:
    "Main batch of InfiniBand/RDMA changes for 3.9:

    - SRP error handling fixes from Bart Van Assche

    - Implementation of memory windows for mlx4 from Shani Michaeli

    - Lots of cxgb4 HW driver fixes from Vipul Pandya

    - Make iSER work for virtual functions, other fixes from Or Gerlitz

    - Fix for bug in qib HW driver from Mike Marciniszyn

    - IPoIB fixes from me, Itai Garbi, Shlomo Pongratz, Yan Burman

    - Various cleanups and warning fixes from Julia Lawall, Paul Bolle,
    Wei Yongjun"

    * tag 'rdma-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband: (41 commits)
    IB/mlx4: Advertise MW support
    IB/mlx4: Support memory window binding
    mlx4: Implement memory windows allocation and deallocation
    mlx4_core: Enable memory windows in {INIT, QUERY}_HCA
    mlx4_core: Disable memory windows for virtual functions
    IPoIB: Free ipoib neigh on path record failure so path rec queries are retried
    IB/srp: Fail I/O requests if the transport is offline
    IB/srp: Avoid endless SCSI error handling loop
    IB/srp: Avoid sending a task management function needlessly
    IB/srp: Track connection state properly
    IB/mlx4: Remove redundant NULL check before kfree
    IB/mlx4: Fix compiler warning about uninitialized 'vlan' variable
    IB/mlx4: Convert is_xxx variables in build_mlx_header() to bool
    IB/iser: Enable iser when FMRs are not supported
    IB/iser: Avoid error prints on EAGAIN registration failures
    IB/iser: Use proper define for the commands per LUN value advertised to SCSI ML
    IB/uverbs: Implement memory windows support in uverbs
    IB/core: Add "type 2" memory windows support
    mlx4_core: Propagate MR deregistration failures to caller
    mlx4_core: Rename MPT-related functions to have mpt_ prefix
    ...

    Linus Torvalds
     
  • Pull IOMMU Updates from Joerg Roedel:
    "Besides some fixes and cleanups in the code there are three more
    important changes to point out this time:

    * New IOMMU driver for the ARM SHMOBILE platform
    * An IOMMU-API extension for non-paging IOMMUs (required for
    upcoming PAMU driver)
    * Rework of the way the Tegra IOMMU driver accesses its
    registetrs - register windows are easier to extend now.

    There are also a few changes to non-iommu code, but that is acked by
    the respective maintainers."

    * tag 'iommu-updates-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu: (23 commits)
    iommu/tegra: assume CONFIG_OF in SMMU driver
    iommu/tegra: assume CONFIG_OF in gart driver
    iommu/amd: Remove redundant NULL check before dma_ops_domain_free().
    iommu/amd: Initialize device table after dma_ops
    iommu/vt-d: Zero out allocated memory in dmar_enable_qi
    iommu/tegra: smmu: Fix incorrect mask for regbase
    iommu/exynos: Make exynos_sysmmu_disable static
    ARM: mach-shmobile: r8a7740: Add IPMMU device
    ARM: mach-shmobile: sh73a0: Add IPMMU device
    ARM: mach-shmobile: sh7372: Add IPMMU device
    iommu/shmobile: Add iommu driver for Renesas IPMMU modules
    iommu: Add DOMAIN_ATTR_WINDOWS domain attribute
    iommu: Add domain window handling functions
    iommu: Implement DOMAIN_ATTR_PAGING attribute
    iommu: Check for valid pgsize_bitmap in iommu_map/unmap
    iommu: Make sure DOMAIN_ATTR_MAX is really the maximum
    iommu/tegra: smmu: Change SMMU's dependency on ARCH_TEGRA
    iommu/tegra: smmu: Use helper function to check for valid register offset
    iommu/tegra: smmu: Support variable MMIO ranges/blocks
    iommu/tegra: Add missing spinlock initialization
    ...

    Linus Torvalds
     
  • Pull DMA-mapping updates from Marek Szyprowski:
    "This time all patches are related only to ARM DMA-mapping subsystem.
    The main extension provided by this pull request is highmem support.
    Besides that it contains a bunch of small bugfixes and cleanups."

    * 'for-v3.9' of git://git.linaro.org/people/mszyprowski/linux-dma-mapping:
    ARM: DMA-mapping: fix memory leak in IOMMU dma-mapping implementation
    ARM: dma-mapping: Add maximum alignment order for dma iommu buffers
    ARM: dma-mapping: use himem for DMA buffers for IOMMU-mapped devices
    ARM: dma-mapping: add support for CMA regions placed in highmem zone
    arm: dma mapping: export arm iommu functions
    ARM: dma-mapping: Add arm_iommu_detach_device()
    ARM: dma-mapping: Add macro to_dma_iommu_mapping()
    ARM: dma-mapping: Set arm_dma_set_mask() for iommu->set_dma_mask()
    ARM: iommu: Include linux/kref.h in asm/dma-iommu.h

    Linus Torvalds
     
  • Pull i2c updates from Wolfram Sang:
    "Highlights:

    - new drivers for Intel ismt & Broadcom bcm2835
    - a number of drivers got support for more variants and mostly got
    cleaned up on the way (sis630, i801, at91, tegra, designware)
    - i2c got rid of all *_set_drvdata(..., NULL) on remove/probe failure
    - removed the i2c_smbus_process_call from the core since there are no
    users
    - mxs can now switch between PIO and DMA depending on the message
    size and the bus speed can now be arbitrary

    In addition, there is the usual bunch of fixes, cleanups, devm_*
    conversions, etc"

    Fixed conflict (and buggy devm_* conversion) in i2c-s3c2410.c

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (39 commits)
    i2c: Remove unneeded xxx_set_drvdata(..., NULL) calls
    i2c: pxa: remove incorrect __exit annotations
    i2c: ocores: Fix pointer to integer cast warning
    i2c: tegra: remove warning dump if timeout happen in transfer
    i2c: fix i2c-ismt.c printk format warning
    i2c: i801: Add Device IDs for Intel Wellsburg PCH
    i2c: add bcm2835 driver
    i2c: ismt: Add Seth and Myself as maintainers
    i2c: sis630: checkpatch cleanup
    i2c: sis630: display unsigned hex
    i2c: sis630: use hex to constants for SMBus commands
    i2c: sis630: fix behavior after collision
    i2c: sis630: clear sticky bits
    i2c: sis630: Add SIS964 support
    i2c: isch: Add module parameter for backbone clock rate if divider is unset
    i2c: at91: fix unsed variable warning when building with !CONFIG_OF
    i2c: Adding support for Intel iSMT SMBus 2.0 host controller
    i2c: sh_mobile: don't send a stop condition by default inside transfers
    i2c: sh_mobile: eliminate an open-coded "goto" loop
    i2c: sh_mobile: fix timeout error handling
    ...

    Linus Torvalds
     
  • Pull GPIO changes from Grant Likely:
    "This branch contains the usual set of individual driver improvements
    and bug fixes, as well as updates to the core code. The more notable
    changes include:

    - Internally add new API for referencing GPIOs by gpio_desc instead
    of number. Eventually this will become a public API

    - ACPI GPIO binding support"

    * tag 'gpio-for-linus' of git://git.secretlab.ca/git/linux: (33 commits)
    arm64: select ARCH_WANT_OPTIONAL_GPIOLIB
    gpio: em: Use irq_domain_add_simple() to fix runtime error
    gpio: using common order: let 'static const' instead of 'const static'
    gpio/vt8500: memory cleanup missing
    gpiolib: Fix locking on gpio debugfs files
    gpiolib: let gpio_chip reference its descriptors
    gpiolib: use descriptors internally
    gpiolib: use gpio_chips list in gpiochip_find_base
    gpiolib: use gpio_chips list in sysfs ops
    gpiolib: use gpio_chips list in gpiochip_find
    gpiolib: use gpio_chips list in gpiolib_sysfs_init
    gpiolib: link all gpio_chips using a list
    gpio/langwell: cleanup driver
    gpio/langwell: Add Cloverview ids to pci device table
    gpio/lynxpoint: add chipset gpio driver.
    gpiolib: add missing braces in gpio_direction_show
    gpiolib-acpi: Fix error checks in interrupt requesting
    gpio: mpc8xxx: don't set IRQ_TYPE_NONE when creating irq mapping
    gpiolib: remove gpiochip_reserve()
    arm: pxa: tosa: do not use gpiochip_reserve()
    ...

    Linus Torvalds
     
  • Pull PWM changes from Thierry Reding:
    "A new driver has been added to support the PWM mode of the timer
    counter blocks found on Atmel AT91 SoCs. The VT8500 driver now
    supports changing the PWM signal polarity and the TI drivers (EHRPWM
    and ECAP) gained suspend and resume functionality.

    User drivers can now query the core for whether access to a PWM device
    will sleep (if the PWM chip is on a slow bus such as I2C or SPI).

    The pwm-backlight driver now handles the backlight BL_CORE_FBBLANK
    state in addition to the FB layer's blanking states.

    To round things off, a few fixes and cleanups are also included"

    * tag 'for-3.9-rc1' of git://gitorious.org/linux-pwm/linux-pwm:
    pwm: twl: Use to_twl() instead of container_of()
    pwm: tegra: assume CONFIG_OF
    pwm_backlight: Validate dft_brightness in main probe function
    pwm: Export pwm_{set,get}_chip_data()
    pwm: Make Kconfig entries more consistent
    pwm: Add can_sleep property to drivers
    pwm: Add pwm_can_sleep() as exported API to users
    pwm-backlight: handle BL_CORE_FBBLANK state
    pwm: pwm-tiecap: Low power sleep support
    pwm: pwm-tiehrpwm: Low power sleep support
    pwm: pwm-tiehrpwm: Update the clock handling of pwm-tiehrpwm driver
    pwm: vt8500: Add polarity support
    pwm: vt8500: Register write busy test performed incorrectly
    pwm: atmel: add Timer Counter Block PWM driver

    Linus Torvalds
     
  • Pull MMC update from Chris Ball:
    "MMC highlights for 3.9:

    Core:
    - Support for packed commands in eMMC 4.5. (This requires a host
    capability to be turned on. It increases write throughput by 20%+,
    but may also increase average write latency; more testing needed.)
    - Add DT bindings for capability flags.
    - Add mmc_of_parse() for shared DT parsing between drivers.

    Drivers:
    - android-goldfish: New MMC driver for the Android Goldfish emulator.
    - mvsdio: Add DT bindings, pinctrl, use slot-gpio for card detection.
    - omap_hsmmc: Fix boot hangs with RPMB partitions.
    - sdhci-bcm2835: New driver for controller used by Raspberry Pi.
    - sdhci-esdhc-imx: Add 8-bit data, auto CMD23 support, use slot-gpio.
    - sh_mmcif: Add support for eMMC DDR, bundled MMCIF IRQs.
    - tmio_mmc: Add DT bindings, support for vccq regulator"

    * tag 'mmc-updates-for-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (92 commits)
    mmc: tegra: assume CONFIG_OF, remove platform data
    mmc: add DT bindings for more MMC capability flags
    mmc: tmio: add support for the VccQ regulator
    mmc: tmio: remove unused and deprecated symbols
    mmc: sh_mobile_sdhi: use managed resource allocations
    mmc: sh_mobile_sdhi: remove unused .pdata field
    mmc: tmio-mmc: parse device-tree bindings
    mmc: tmio-mmc: define device-tree bindings
    mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings
    mmc: (cosmetic) remove "extern" from function declarations
    mmc: provide a standard MMC device-tree binding parser centrally
    mmc: detailed definition of CD and WP MMC line polarities in DT
    mmc: sdhi, tmio: only check flags in tmio-mmc driver proper
    mmc: sdhci: Fix parameter of sdhci_do_start_signal_voltage_switch()
    mmc: sdhci: check voltage range only on regulators aware of voltage value
    mmc: bcm2835: set SDHCI_QUIRK_DATA_TIMEOUT_USES_SDCLK
    mmc: support packed write command for eMMC4.5 devices
    mmc: add packed command feature of eMMC4.5
    mmc: rtsx: remove driving adjustment
    mmc: use regulator_can_change_voltage() instead of regulator_count_voltages
    ...

    Linus Torvalds
     
  • Pull LED subsystem update from Bryan Wu.

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds: (61 commits)
    leds: leds-sunfire: use dev_err()/pr_err() instead of printk()
    leds: 88pm860x: Add missing of_node_put()
    leds: tca6507: Use of_get_child_count()
    leds: leds-pwm: make it depend on PWM and not HAVE_PWM
    Documentation: leds: update LP55xx family devices
    leds-lp55xx: fix problem on removing LED attributes
    leds-lp5521/5523: add author and copyright description
    leds-lp5521/5523: use new lp55xx common header
    leds-lp55xx: clean up headers
    leds-lp55xx: clean up definitions
    leds-lp55xx: clean up unused data and functions
    leds-lp55xx: clean up _remove()
    leds-lp55xx: add new function for removing device attribtues
    leds-lp55xx: code refactoring on selftest function
    leds-lp55xx: use common device attribute driver function
    leds-lp55xx: support device specific attributes
    leds-lp5523: use generic firmware interface
    leds-lp5521: use generic firmware interface
    leds-lp55xx: support firmware interface
    leds-lp55xx: add new lp55xx_register_sysfs() for the firmware interface
    ...

    Linus Torvalds
     
  • Pull slave-dmaengine updates from Vinod Koul:
    "This is fairly big pull by my standards as I had missed last merge
    window. So we have the support for device tree for slave-dmaengine,
    large updates to dw_dmac driver from Andy for reusing on different
    architectures. Along with this we have fixes on bunch of the drivers"

    Fix up trivial conflicts, usually due to #include line movement next to
    each other.

    * 'next' of git://git.infradead.org/users/vkoul/slave-dma: (111 commits)
    Revert "ARM: SPEAr13xx: Pass DW DMAC platform data from DT"
    ARM: dts: pl330: Add #dma-cells for generic dma binding support
    DMA: PL330: Register the DMA controller with the generic DMA helpers
    DMA: PL330: Add xlate function
    DMA: PL330: Add new pl330 filter for DT case.
    dma: tegra20-apb-dma: remove unnecessary assignment
    edma: do not waste memory for dma_mask
    dma: coh901318: set residue only if dma is in progress
    dma: coh901318: avoid unbalanced locking
    dmaengine.h: remove redundant else keyword
    dma: of-dma: protect list write operation by spin_lock
    dmaengine: ste_dma40: do not remove descriptors for cyclic transfers
    dma: of-dma.c: fix memory leakage
    dw_dmac: apply default dma_mask if needed
    dmaengine: ioat - fix spare sparse complain
    dmaengine: move drivers/of/dma.c -> drivers/dma/of-dma.c
    ioatdma: fix race between updating ioat->head and IOAT_COMPLETION_PENDING
    dw_dmac: add support for Lynxpoint DMA controllers
    dw_dmac: return proper residue value
    dw_dmac: fill individual length of descriptor
    ...

    Linus Torvalds
     
  • Roland Dreier
     

26 Feb, 2013

13 commits

  • We must only ever stop TX queues when they are full or the net device
    is not 'ready' so far as the net core, and specifically the watchdog,
    is concerned. Otherwise, the watchdog may fire *immediately* if no
    packets have been added to the queue in the last 5 seconds.

    The device is ready if all the following are true:

    (a) It has a qdisc
    (b) It is marked present
    (c) It is running
    (d) The link is reported up

    (a) and (c) are normally true, and must not be changed by a driver.
    (d) is under our control, but fake link changes may disturb userland.
    This leaves (b). We already mark the device absent during reset
    and self-test, but we need to do the same during MTU changes and ring
    reallocation. We don't need to do this when the device is brought
    down because then (c) is already false.

    Signed-off-by: Ben Hutchings

    Ben Hutchings
     
  • We assume that the mapping between DMA and virtual addresses is done
    on whole pages, so we can find the page offset of an RX buffer using
    the lower bits of the DMA address. However, swiotlb maps in units of
    2K, breaking this assumption.

    Add an explicit page_offset field to struct efx_rx_buffer.

    Signed-off-by: Ben Hutchings

    Ben Hutchings
     
  • We may currently allocate two RX DMA buffers to a page, and only unmap
    the page when the second is completed. We do not sync the first RX
    buffer to be completed; this can result in packet loss or corruption
    if the last RX buffer completed in a NAPI poll is the first in a page
    and is not DMA-coherent. (In the middle of a NAPI poll, we will
    handle the following RX completion and unmap the page *before* looking
    at the content of the first buffer.)

    Signed-off-by: Ben Hutchings

    Ben Hutchings
     
  • Pull ACPI and power management fixes from Rafael Wysocki:

    - Fixes for blackfin and microblaze build problems introduced by the
    removal of global pm_idle. From Lars-Peter Clausen.

    - OPP core build fix from Shawn Guo.

    - Error condition check fix for the new imx6q-cpufreq driver from Wei
    Yongjun.

    - Fix for an AER driver crash related to the lack of APEI
    initialization for acpi=off. From Rafael J Wysocki.

    - Fix for a USB breakage on Thinkpad T430 related to ACPI power
    resources and PCI wakeup from Rafael J. Wysocki.

    * tag 'pm+acpi-fixes-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    ACPI / PM: Take unusual configurations of power resources into account
    imx6q-cpufreq: fix return value check in imx6q_cpufreq_probe()
    PM / OPP: fix condition for empty of_init_opp_table()
    ACPI / APEI: Fix crash in apei_hest_parse() for acpi=off
    microblaze idle: Fix compile error
    blackfin idle: Fix compile error

    Linus Torvalds
     
  • Pull PCI changes from Bjorn Helgaas:
    "Host bridge hotplug
    - Major overhaul of ACPI host bridge add/start (Rafael Wysocki, Yinghai Lu)
    - Major overhaul of PCI/ACPI binding (Rafael Wysocki, Yinghai Lu)
    - Split out ACPI host bridge and ACPI PCI device hotplug (Yinghai Lu)
    - Stop caching _PRT and make independent of bus numbers (Yinghai Lu)

    PCI device hotplug
    - Clean up cpqphp dead code (Sasha Levin)
    - Disable ARI unless device and upstream bridge support it (Yijing Wang)
    - Initialize all hot-added devices (not functions 0-7) (Yijing Wang)

    Power management
    - Don't touch ASPM if disabled (Joe Lawrence)
    - Fix ASPM link state management (Myron Stowe)

    Miscellaneous
    - Fix PCI_EXP_FLAGS accessor (Alex Williamson)
    - Disable Bus Master in pci_device_shutdown (Konstantin Khlebnikov)
    - Document hotplug resource and MPS parameters (Yijing Wang)
    - Add accessor for PCIe capabilities (Myron Stowe)
    - Drop pciehp suspend/resume messages (Paul Bolle)
    - Make pci_slot built-in only (not a module) (Jiang Liu)
    - Remove unused PCI/ACPI bind ops (Jiang Liu)
    - Removed used pci_root_bus (Bjorn Helgaas)"

    * tag 'pci-v3.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (51 commits)
    PCI/ACPI: Don't cache _PRT, and don't associate them with bus numbers
    PCI: Fix PCI Express Capability accessors for PCI_EXP_FLAGS
    ACPI / PCI: Make pci_slot built-in only, not a module
    PCI/PM: Clear state_saved during suspend
    PCI: Use atomic_inc_return() rather than atomic_add_return()
    PCI: Catch attempts to disable already-disabled devices
    PCI: Disable Bus Master unconditionally in pci_device_shutdown()
    PCI: acpiphp: Remove dead code for PCI host bridge hotplug
    PCI: acpiphp: Create companion ACPI devices before creating PCI devices
    PCI: Remove unused "rc" in virtfn_add_bus()
    PCI: pciehp: Drop suspend/resume ENTRY messages
    PCI/ASPM: Don't touch ASPM if forcibly disabled
    PCI/ASPM: Deallocate upstream link state even if device is not PCIe
    PCI: Document MPS parameters pci=pcie_bus_safe, pci=pcie_bus_perf, etc
    PCI: Document hpiosize= and hpmemsize= resource reservation parameters
    PCI: Use PCI Express Capability accessor
    PCI: Introduce accessor to retrieve PCIe Capabilities Register
    PCI: Put pci_dev in device tree as early as possible
    PCI: Skip attaching driver in device_add()
    PCI: acpiphp: Keep driver loaded even if no slots found
    ...

    Linus Torvalds
     
  • Pull drm merge from Dave Airlie:
    "Highlights:

    - TI LCD controller KMS driver

    - TI OMAP KMS driver merged from staging

    - drop gma500 stub driver

    - the fbcon locking fixes

    - the vgacon dirty like zebra fix.

    - open firmware videomode and hdmi common code helpers

    - major locking rework for kms object handling - pageflip/cursor
    won't block on polling anymore!

    - fbcon helper and prime helper cleanups

    - i915: all over the map, haswell power well enhancements, valleyview
    macro horrors cleaned up, killing lots of legacy GTT code,

    - radeon: CS ioctl unification, deprecated UMS support, gpu reset
    rework, VM fixes

    - nouveau: reworked thermal code, external dp/tmds encoder support
    (anx9805), fences sleep instead of polling,

    - exynos: all over the driver fixes."

    Lovely conflict in radeon/evergreen_cs.c between commit de0babd60d8d
    ("drm/radeon: enforce use of radeon_get_ib_value when reading user cmd")
    and the new changes that modified that evergreen_dma_cs_parse()
    function.

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (508 commits)
    drm/tilcdc: only build on arm
    drm/i915: Revert hdmi HDP pin checks
    drm/tegra: Add list of framebuffers to debugfs
    drm/tegra: Fix color expansion
    drm/tegra: Split DC_CMD_STATE_CONTROL register write
    drm/tegra: Implement page-flipping support
    drm/tegra: Implement VBLANK support
    drm/tegra: Implement .mode_set_base()
    drm/tegra: Add plane support
    drm/tegra: Remove bogus tegra_framebuffer structure
    drm: Add consistency check for page-flipping
    drm/radeon: Use generic HDMI infoframe helpers
    drm/tegra: Use generic HDMI infoframe helpers
    drm: Add EDID helper documentation
    drm: Add HDMI infoframe helpers
    video: Add generic HDMI infoframe helpers
    drm: Add some missing forward declarations
    drm: Move mode tables to drm_edid.c
    drm: Remove duplicate drm_mode_cea_vic()
    gma500: Fix n, m1 and m2 clock limits for sdvo and lvds
    ...

    Linus Torvalds
     
  • Pull vfs fix from Al Viro:
    "Fix for 3.8 breakage introduced by "vfs: Allow unprivileged
    manipulation of the mount namespace" - accessing mnt->mnt_ns is done
    there without needed locking *and* without any real need.

    Definite -stable fodder, fortunately not going too far back.

    This is *not* all - there will be much bigger vfs pull request
    tomorrow."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    get rid of unprotected dereferencing of mnt->mnt_ns

    Linus Torvalds
     
  • Pull user namespace and namespace infrastructure changes from Eric W Biederman:
    "This set of changes starts with a few small enhnacements to the user
    namespace. reboot support, allowing more arbitrary mappings, and
    support for mounting devpts, ramfs, tmpfs, and mqueuefs as just the
    user namespace root.

    I do my best to document that if you care about limiting your
    unprivileged users that when you have the user namespace support
    enabled you will need to enable memory control groups.

    There is a minor bug fix to prevent overflowing the stack if someone
    creates way too many user namespaces.

    The bulk of the changes are a continuation of the kuid/kgid push down
    work through the filesystems. These changes make using uids and gids
    typesafe which ensures that these filesystems are safe to use when
    multiple user namespaces are in use. The filesystems converted for
    3.9 are ceph, 9p, afs, ocfs2, gfs2, ncpfs, nfs, nfsd, and cifs. The
    changes for these filesystems were a little more involved so I split
    the changes into smaller hopefully obviously correct changes.

    XFS is the only filesystem that remains. I was hoping I could get
    that in this release so that user namespace support would be enabled
    with an allyesconfig or an allmodconfig but it looks like the xfs
    changes need another couple of days before it they are ready."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace: (93 commits)
    cifs: Enable building with user namespaces enabled.
    cifs: Convert struct cifs_ses to use a kuid_t and a kgid_t
    cifs: Convert struct cifs_sb_info to use kuids and kgids
    cifs: Modify struct smb_vol to use kuids and kgids
    cifs: Convert struct cifsFileInfo to use a kuid
    cifs: Convert struct cifs_fattr to use kuid and kgids
    cifs: Convert struct tcon_link to use a kuid.
    cifs: Modify struct cifs_unix_set_info_args to hold a kuid_t and a kgid_t
    cifs: Convert from a kuid before printing current_fsuid
    cifs: Use kuids and kgids SID to uid/gid mapping
    cifs: Pass GLOBAL_ROOT_UID and GLOBAL_ROOT_GID to keyring_alloc
    cifs: Use BUILD_BUG_ON to validate uids and gids are the same size
    cifs: Override unmappable incoming uids and gids
    nfsd: Enable building with user namespaces enabled.
    nfsd: Properly compare and initialize kuids and kgids
    nfsd: Store ex_anon_uid and ex_anon_gid as kuids and kgids
    nfsd: Modify nfsd4_cb_sec to use kuids and kgids
    nfsd: Handle kuids and kgids in the nfs4acl to posix_acl conversion
    nfsd: Convert nfsxdr to use kuids and kgids
    nfsd: Convert nfs3xdr to use kuids and kgids
    ...

    Linus Torvalds
     
  • Pull KVM ARM compile fixes from Gleb Natapov:
    "Fix ARM KVM compilation breakage due to changes from kvm.git"

    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
    ARM: KVM: fix compilation after removal of user_alloc from struct kvm_memory_slot
    ARM: KVM: Rename KVM_MEMORY_SLOTS -> KVM_USER_MEM_SLOTS
    ARM: KVM: fix kvm_arch_{prepare,commit}_memory_region

    Linus Torvalds
     
  • Pull crypto update from Herbert Xu:
    "Here is the crypto update for 3.9:

    - Added accelerated implementation of crc32 using pclmulqdq.

    - Added test vector for fcrypt.

    - Added support for OMAP4/AM33XX cipher and hash.

    - Fixed loose crypto_user input checks.

    - Misc fixes"

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (43 commits)
    crypto: user - ensure user supplied strings are nul-terminated
    crypto: user - fix empty string test in report API
    crypto: user - fix info leaks in report API
    crypto: caam - Added property fsl,sec-era in SEC4.0 device tree binding.
    crypto: use ERR_CAST
    crypto: atmel-aes - adjust duplicate test
    crypto: crc32-pclmul - Kill warning on x86-32
    crypto: x86/twofish - assembler clean-ups: use ENTRY/ENDPROC, localize jump labels
    crypto: x86/sha1 - assembler clean-ups: use ENTRY/ENDPROC
    crypto: x86/serpent - use ENTRY/ENDPROC for assember functions and localize jump targets
    crypto: x86/salsa20 - assembler cleanup, use ENTRY/ENDPROC for assember functions and rename ECRYPT_* to salsa20_*
    crypto: x86/ghash - assembler clean-up: use ENDPROC at end of assember functions
    crypto: x86/crc32c - assembler clean-up: use ENTRY/ENDPROC
    crypto: cast6-avx: use ENTRY()/ENDPROC() for assembler functions
    crypto: cast5-avx: use ENTRY()/ENDPROC() for assembler functions and localize jump targets
    crypto: camellia-x86_64/aes-ni: use ENTRY()/ENDPROC() for assembler functions and localize jump targets
    crypto: blowfish-x86_64: use ENTRY()/ENDPROC() for assembler functions and localize jump targets
    crypto: aesni-intel - add ENDPROC statements for assembler functions
    crypto: x86/aes - assembler clean-ups: use ENTRY/ENDPROC, localize jump targets
    crypto: testmgr - add test vector for fcrypt
    ...

    Linus Torvalds
     
  • [airlied: hack for now until we fix cma helpers on other OF platforms]
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Dave Airlie

    Stephen Rothwell
     
  • Pull ia64 update from Tony Luck:
    "ia64 vm patch series that was cooking in -mm tree"

    * tag 'please-pull-vm_unwrapped' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
    mm: use vm_unmapped_area() in hugetlbfs on ia64 architecture
    mm: use vm_unmapped_area() on ia64 architecture

    Linus Torvalds
     
  • Pull security subsystem fixes from James Morris:
    "From Mimi:

    Both of these patches are bug fixes for patches, which were
    upstreamed in this open window. The first patch addresses a merge
    issue. The second patch addresses a CONFIG_BLOCK dependency."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security:
    block: fix part_pack_uuid() build error
    ima: "remove enforce checking duplication" merge fix

    Linus Torvalds