06 May, 2013

3 commits

  • Pull kvm updates from Gleb Natapov:
    "Highlights of the updates are:

    general:
    - new emulated device API
    - legacy device assignment is now optional
    - irqfd interface is more generic and can be shared between arches

    x86:
    - VMCS shadow support and other nested VMX improvements
    - APIC virtualization and Posted Interrupt hardware support
    - Optimize mmio spte zapping

    ppc:
    - BookE: in-kernel MPIC emulation with irqfd support
    - Book3S: in-kernel XICS emulation (incomplete)
    - Book3S: HV: migration fixes
    - BookE: more debug support preparation
    - BookE: e6500 support

    ARM:
    - reworking of Hyp idmaps

    s390:
    - ioeventfd for virtio-ccw

    And many other bug fixes, cleanups and improvements"

    * tag 'kvm-3.10-1' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (204 commits)
    kvm: Add compat_ioctl for device control API
    KVM: x86: Account for failing enable_irq_window for NMI window request
    KVM: PPC: Book3S: Add API for in-kernel XICS emulation
    kvm/ppc/mpic: fix missing unlock in set_base_addr()
    kvm/ppc: Hold srcu lock when calling kvm_io_bus_read/write
    kvm/ppc/mpic: remove users
    kvm/ppc/mpic: fix mmio region lists when multiple guests used
    kvm/ppc/mpic: remove default routes from documentation
    kvm: KVM_CAP_IOMMU only available with device assignment
    ARM: KVM: iterate over all CPUs for CPU compatibility check
    KVM: ARM: Fix spelling in error message
    ARM: KVM: define KVM_ARM_MAX_VCPUS unconditionally
    KVM: ARM: Fix API documentation for ONE_REG encoding
    ARM: KVM: promote vfp_host pointer to generic host cpu context
    ARM: KVM: add architecture specific hook for capabilities
    ARM: KVM: perform HYP initilization for hotplugged CPUs
    ARM: KVM: switch to a dual-step HYP init code
    ARM: KVM: rework HYP page table freeing
    ARM: KVM: enforce maximum size for identity mapped code
    ARM: KVM: move to a KVM provided HYP idmap
    ...

    Linus Torvalds
     
  • Pull mudule updates from Rusty Russell:
    "We get rid of the general module prefix confusion with a binary config
    option, fix a remove/insert race which Never Happens, and (my
    favorite) handle the case when we have too many modules for a single
    commandline. Seriously, the kernel is full, please go away!"

    * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
    modpost: fix unwanted VMLINUX_SYMBOL_STR expansion
    X.509: Support parse long form of length octets in Authority Key Identifier
    module: don't unlink the module until we've removed all exposure.
    kernel: kallsyms: memory override issue, need check destination buffer length
    MODSIGN: do not send garbage to stderr when enabling modules signature
    modpost: handle huge numbers of modules.
    modpost: add -T option to read module names from file/stdin.
    modpost: minor cleanup.
    genksyms: pass symbol-prefix instead of arch
    module: fix symbol versioning with symbol prefixes
    CONFIG_SYMBOL_PREFIX: cleanup.

    Linus Torvalds
     
  • Pull single_open() leak fixes from Al Viro:
    "A bunch of fixes for a moderately common class of bugs: file with
    single_open() done by its ->open() and seq_release as its ->release().

    That leaks; fortunately, it's not _too_ common (either people manage
    to RTFM that says "When using single_open(), the programmer should use
    single_release() instead of seq_release() in the file_operations
    structure to avoid a memory leak", or they just copy a correct
    instance), but grepping through the tree has caught quite a pile.

    All of that is, AFAICS, -stable fodder, for as far as the patches
    apply. I tried to carve it up into reasonably-sized pieces (more or
    less "comes from the same tree")"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    rcutrace: single_open() leaks
    gadget: single_open() leaks
    staging: single_open() leaks
    megaraid: single_open() leak
    wireless: single_open() leaks
    input: single_open() leak
    rtc: single_open() leaks
    ds1620: single_open() leak
    sh: single_open() leaks
    parisc: single_open() leaks
    mips: single_open() leaks
    ia64: single_open() leaks
    h8300: single_open() leaks
    cris: single_open() leaks
    arm: single_open() leaks

    Linus Torvalds
     

05 May, 2013

19 commits

  • Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Cc: stable@vger.kernel.org
    Signed-off-by: Al Viro

    Al Viro
     
  • Pull networking fixes from David Miller:

    1) Several routines do not use netdev_features_t to hold such bitmasks,
    fixes from Patrick McHardy and Bjørn Mork.

    2) Update cpsw IRQ software state and the actual HW irq enabling in the
    correct order. From Mugunthan V N.

    3) When sending tipc packets to multiple bearers, we have to make
    copies of the SKB rather than just giving the original SKB directly.
    Fix from Gerlando Falauto.

    4) Fix race with bridging topology change timer, from Stephen
    Hemminger.

    5) Fix TCPv6 segmentation handling in GRE and VXLAN, from Pravin B
    Shelar.

    6) Endian bug in USB pegasus driver, from Dan Carpenter.

    7) Fix crashes on MTU reduction in USB asix driver, from Holger
    Eitzenberger.

    8) Don't allow the kernel to BUG() just because the user puts some crap
    in an AF_PACKET mmap() ring descriptor. Fix from Daniel Borkmann.

    9) Don't use variable sized arrays on the stack in xen-netback, from
    Wei Liu.

    10) Fix stats reporting and an unbalanced napi_disable() in be2net
    driver. From Somnath Kotur and Ajit Khaparde.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (25 commits)
    cxgb4: fix error recovery when t4_fw_hello returns a positive value
    sky2: Fix crash on receiving VLAN frames
    packet: tpacket_v3: do not trigger bug() on wrong header status
    asix: fix BUG in receive path when lowering MTU
    net: qmi_wwan: Add Telewell TW-LTE 4G
    usbnet: pegasus: endian bug in write_mii_word()
    vxlan: Fix TCPv6 segmentation.
    gre: Fix GREv4 TCPv6 segmentation.
    bridge: fix race with topology change timer
    tipc: pskb_copy() buffers when sending on more than one bearer
    tipc: tipc_bcbearer_send(): simplify bearer selection
    tipc: cosmetic: clean up comments and break a long line
    drivers: net: cpsw: irq not disabled in cpsw isr in particular sequence
    xen-netback: better names for thresholds
    xen-netback: avoid allocating variable size array on stack
    xen-netback: remove redundent parameter in netbk_count_requests
    be2net: Fix to fail probe if MSI-X enable fails for a VF
    be2net: avoid napi_disable() when it has not been enabled
    be2net: Fix firmware download for Lancer
    be2net: Fix to receive Multicast Packets when Promiscuous mode is enabled on certain devices
    ...

    Linus Torvalds
     
  • Pull sparc updates from David Miller:

    1) Hibernation support, as well as removal of excess interrupt
    twiddling in MMU context allocation on sparc64 from Kirill Tkhai.

    2) Kill references to __ARCH_WANT_UNLOCKED_CTXSW.

    3) Sparc32 LEON bug fixes from Daniel Hellstrom and Andreas Larsson.

    4) Provide cmpxchg64(), from Geert Uytterhoeven.

    5) Device refcount and registry bug fixes from Federico Vaga and Wei
    Yongjun.

    * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next:
    serial: sunsu: add missing platform_driver_unregister() when module exit
    sparc32, leon: Do not overwrite previously set irq flow handlers
    sparc/kernel/vio.c: add put_device() after device_find_child()
    sparc64: Do not save/restore interrupts in get_new_mmu_context()
    sparc: Consistently use 'wr' and 'rd' instructions for ASRs.
    sparc64: Kill __ARCH_WANT_UNLOCKED_CTXSW
    sparc64: Provide cmpxchg64()
    sparc64: Do not change num_physpages during initmem freeing
    sparc64: Hibernation support
    sparc,leon: updated GRPCI2 config name
    sparc,leon: support for GRPCI1 PCI host bridge controller
    sparc32,leon: add support for PCI busn resource for GRPCI2

    Linus Torvalds
     
  • We have registered platform driver when module init, and
    need unregister it when module exit.

    Signed-off-by: Wei Yongjun
    Signed-off-by: David S. Miller

    Wei Yongjun
     
  • Pull MMC update from Chris Ball:
    "MMC highlights for 3.10:

    Core:
    - Introduce MMC_CAP2_NO_PRESCAN_POWERUP to allow skipping
    mmc_power_up() at boot/initialization time if it's already
    happened, for performance (faster boot time) reasons.
    - Fix a bit width test failure that resulted in old eMMC cards being
    put into 1-bit mode when 4-bit mode was available.
    - Expose fwrev/hwrev for MMCv4 parts.
    - Improve card removal logic in the case where the card's removed
    slowly; we were missing card removal events if the card retained
    contact with the slot pads for long enough to reply to a CMD13
    while being removed.

    Drivers:
    - davinci_mmc: Support using PIO instead of DMA.
    - dw_mmc: Add support for Exynos4412.
    - mxcmmc: DT support, use slot-gpio API.
    - mxs-mmc: Add broken-cd/cd-inverted/non-removable DT property
    support.
    - sdhci-sirf: New sdhci-pltfm driver for CSR SiRF SoCs:
    SiRFprimaII: unicore ARM Cortex-A9
    SiRFatlas6: unicore ARM Cortex-A9
    SiRFmarco: dual core ARM Cortex-A9 SMP
    - sdhci-tegra: Add support for Tegra114 platforms, use
    mmc_of_parse()"

    * tag 'mmc-updates-for-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (66 commits)
    mmc: sdhci-tegra: fix MODULE_DEVICE_TABLE
    mmc: core: fix init controller performance regression, updated patch
    mmc: mxcmmc: enable DMA support on mpc512x
    mmc: mxcmmc: constify mxcmci_devtype
    mmc: mxcmmc: use slot-gpio API for write-protect detection
    mmc: mxcmmc: add mpc512x SDHC support
    mmc: mxcmmc: fix race conditions for host->req and host->data access
    mmc: mxcmmc: DT support
    mmc: dw_mmc: let device core setup the default pin configuration
    mmc: mxs-mmc: add broken-cd property
    mmc: mxs-mmc: add non-removable property
    mmc: mxs-mmc: add cd-inverted property
    mmc: core: call pm_runtime_put_noidle in pm_runtime_get_sync failed case
    mmc: mxcmmc: Fix bug when card is present during boot
    mmc: core: fix performance regression initializing MMC host controllers
    Revert "mmc: core: wait while adding MMC host to ensure root mounts successfully"
    mmc: atmel-mci: pio hang on block errors
    mmc: core: Fix bit width test failing on old eMMC cards
    mmc: dw_mmc: Use pr_info instead of printk
    mmc: dw_mmc: Check return value of regulator_enable
    ...

    Linus Torvalds
     
  • Pull hwmon update from Jean Delvare:
    "Only lm75 driver updates this time"

    * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
    hwmon: (lm75) Add support for the Dallas/Maxim DS7505
    hwmon: (lm75) Tune resolution and sample time per chip
    hwmon: (lm75) Prepare to support per-chip resolution and sample time
    hwmon: (lm75) Per-chip configuration register initialization

    Linus Torvalds
     
  • Pull second round of VFS updates from Al Viro:
    "Assorted fixes"

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    xtensa simdisk: fix braino in "xtensa simdisk: switch to proc_create_data()"
    hostfs: use kmalloc instead of kzalloc
    hostfs: move HOSTFS_SUPER_MAGIC to
    hostfs: remove "will unlock" comment
    vfs: use list_move instead of list_del/list_add
    proc_devtree: Replace include linux/module.h with linux/export.h
    create_mnt_ns: unidiomatic use of list_add()
    fs: remove dentry_lru_prune()
    Removed unused typedef to avoid "unused local typedef" warnings.
    kill fs/read_write.h
    fs: Fix hang with BSD accounting on frozen filesystem
    sun3_scsi: add ->show_info()
    nubus: Kill nubus_proc_detach_device()
    more mode_t whack-a-mole...
    do_coredump(): don't wait for thaw if coredump has already been interrupted
    do_mount(): fix a leak introduced in 3.9 ("mount: consolidate permission checks")

    Linus Torvalds
     
  • Pull ARM SoC board specific changes (part 1) from Olof Johansson:
    "These changes are all for board specific files. These used to make up
    a large portion of the ARM changes in the past, but as we are
    generalizing the support and moving to device tree probing, this has
    gotten significantly smaller.

    The only platform actually adding new code here at the moment is
    Renesas shmobile, as they are still busy converting their code to
    device tree and have not come far enough to not need it."

    * tag 'boards-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (43 commits)
    ARM: msm: USB_MSM_OTG needs USB_PHY
    ARM: davinci: da850 evm: fix const qualifier placement
    ARM: davinci: da850 board: add remoteproc support
    ARM: pxa: move debug uart code
    ARM: pxa: select PXA935 on saar & tavorevb
    ARM: mmp: add more compatible names in gpio driver
    ARM: pxa: move PXA_GPIO_TO_IRQ macro
    ARM: pxa: remove cpu_is_xxx in gpio driver
    ARM: Kirkwood: update Network Space Mini v2 description
    ARM: Kirkwood: DT board setup for CloudBox
    ARM: Kirkwood: sort board entries by ASCII-code order
    ARM: OMAP: board-4430sdp: Provide regulator to pwm-backlight
    ARM: OMAP: zoom: Use pwm stack for lcd and keyboard backlight
    ARM: OMAP2+: omap2plus_defconfig: Add support for BMP085 pressure sensor
    omap2+: Remove useless Makefile line
    omap2+: Remove useless Makefile line
    ARM: OMAP: RX-51: add missing regulator supply definitions for lis3lv02d
    ARM: OMAP1: fix omap_udc registration
    ARM: davinci: use is IS_ENABLED macro
    ARM: kirkwood: add MACH_GURUPLUG_DT to defconfig
    ...

    Linus Torvalds
     
  • Pull ARM SoC pinctrl changes for Renesas from Olof Johansson:
    "This is yet another driver change, which is split out just because of
    its size. As already in 3.9, a lot of changes are going on here, as
    the shmobile platform gets converted from its own pin control API to
    the generic drivers/pinctrl subsystem.

    Based on agreements with Paul Mundt, we are merging the sh-arch-side
    changes here as well"

    * tag 'renesas-pinctrl-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (142 commits)
    ARM: shmobile: r8a7779: Remove INTC function GPIOs
    ARM: shmobile: r8a7779: Remove LBSC function GPIOs
    ARM: shmobile: r8a7779: Remove USB function GPIOs
    ARM: shmobile: r8a7779: Remove HSPI function GPIOs
    ARM: shmobile: r8a7779: Remove SCIF function GPIOs
    ARM: shmobile: r8a7779: Remove SDHI and MMCIF function GPIOs
    ARM: shmobile: r8a7779: Remove DU function GPIOs
    ARM: shmobile: r8a7779: Remove DU1_DOTCLKOUT1 GPIO
    ARM: shmobile: r8a7740: Remove SDHI and MMCIF function GPIOs
    ARM: shmobile: r8a7740: Remove LCD0 and LCD1 function GPIOs
    ARM: shmobile: sh73a0: Remove IrDA function GPIOs
    ARM: shmobile: sh73a0: Remove USB function GPIOs
    ARM: shmobile: sh73a0: Remove BSC function GPIOs
    ARM: shmobile: sh73a0: Remove KEYSC function GPIOs
    ARM: shmobile: sh73a0: Remove pull-up function GPIOS
    ARM: shmobile: sh73a0: Remove FSI function GPIOs
    ARM: shmobile: sh73a0: Remove I2C function GPIOs
    ARM: shmobile: sh73a0: Remove SCIFA and SCIFB function GPIOs
    ARM: shmobile: sh73a0: Remove LCDC and LCDC2 function GPIOs
    ARM: shmobile: sh7372: Remove SDHI and MMCIF function GPIOs
    ...

    Linus Torvalds
     
  • Pull ARM SoC driver changes from Olof Johansson:
    "This is a rather large set of patches for device drivers that for one
    reason or another the subsystem maintainer preferred to get merged
    through the arm-soc tree. There are both new drivers as well as
    existing drivers that are getting converted from platform-specific
    code into standalone drivers using the appropriate subsystem specific
    interfaces.

    In particular, we can now have pinctrl, clk, clksource and irqchip
    drivers in one file per driver, without the need to call into platform
    specific interface, or to get called from platform specific code, as
    long as all information about the hardware is provided through a
    device tree.

    Most of the drivers we touch this time are for clocksource. Since now
    most of them are part of drivers/clocksource, I expect that we won't
    have to touch these again from arm-soc and can let the clocksource
    maintainers take care of these in the future.

    Another larger part of this series is specific to the exynos platform,
    which is seeing some significant effort in upstreaming and
    modernization of its device drivers this time around, which
    unfortunately is also the cause for the churn and a lot of the merge
    conflicts.

    There is one new subsystem that gets merged as part of this series:
    the reset controller interface, which is a very simple interface for
    taking devices on the SoC out of reset or back into reset. Patches to
    use this interface on i.MX follow later in this merge window, and we
    are going to have other platforms (at least tegra and sirf) get
    converted in 3.11. This will let us get rid of platform specific
    callbacks in a number of platform independent device drivers."

    * tag 'drivers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (256 commits)
    irqchip: s3c24xx: add missing __init annotations
    ARM: dts: Disable the RTC by default on exynos5
    clk: exynos5250: Fix parent clock for sclk_mmc{0,1,2,3}
    ARM: exynos: restore mach/regs-clock.h for exynos5
    clocksource: exynos_mct: fix build error on non-DT
    pinctrl: vt8500: wmt: Fix checking return value of pinctrl_register()
    irqchip: vt8500: Convert arch-vt8500 to new irqchip infrastructure
    reset: NULL deref on allocation failure
    reset: Add reset controller API
    dt: describe base reset signal binding
    ARM: EXYNOS: Add arm-pmu DT binding for exynos421x
    ARM: EXYNOS: Add arm-pmu DT binding for exynos5250
    ARM: EXYNOS: Enable PMUs for exynos4
    irqchip: exynos-combiner: Correct combined IRQs for exynos4
    irqchip: exynos-combiner: Add set_irq_affinity function for combiner_irq
    ARM: EXYNOS: fix compilation error introduced due to common clock migration
    clk: exynos5250: Fix divider values for sclk_mmc{0,1,2,3}
    clk: exynos4: export clocks required for fimc-is
    clk: samsung: Fix compilation error
    clk: tegra: fix enum tegra114_clk to match binding
    ...

    Linus Torvalds
     
  • Based on Al's changes to atari_scsi.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Al Viro

    Geert Uytterhoeven
     
  • Commit 59d8053f1e16904d54ed7469d4b36801ea6b8f2c ("proc: Move non-public
    stuff from linux/proc_fs.h to fs/proc/internal.h") broke Apple NuBus
    support:

    drivers/nubus/proc.c: In function ‘nubus_proc_detach_device’:
    drivers/nubus/proc.c:156: error: dereferencing pointer to incomplete type
    drivers/nubus/proc.c:158: error: dereferencing pointer to incomplete type

    Fortunately nubus_proc_detach_device() is unused, and appears to have never
    been used, so just remove it.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Al Viro

    Geert Uytterhoeven
     
  • Signed-off-by: Al Viro

    Al Viro
     

04 May, 2013

10 commits

  • Basically it's the same as the original DS75 but much faster.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Most LM75-compatible chips can either sample much faster or with a
    much better resolution than the original LM75 chip. So far the lm75
    driver did not let the user take benefit of these improvements. Do it
    now.

    I decided to almost always configure the chip to use the best
    resolution possible, which also means the longest sample time. The
    only chips for which I didn't are the DS75, DS1775 and STDS75, because
    they are really too slow in 12-bit mode (1.2 to 1.5 second worst case)
    so I went for 11-bit mode as a more reasonable tradeoff. This choice is
    dictated by the fact that the hwmon subsystem is meant for system
    monitoring, it has never been supposed to be ultra-fast, and as a
    matter of fact we do cache the sampled values in almost all drivers.

    If anyone isn't pleased with these default settings, they can always
    introduce a platform data structure or DT support for the lm75. That
    being said, it seems nobody ever complained that the driver wouldn't
    refresh the value faster than every 1.5 second, and the change made
    it faster for all chips even in 12-bit mode, so I don't expect any
    complaint.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Prepare the lm75 driver to support per-chip resolution and sample
    time. For now we only make the code generic enough to support it, but
    we still use the same, unchanged resolution (9-bit) and sample time
    (1.5 s) for all chips.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • There is no standard for the configuration register bits of LM75-like
    chips. We shouldn't blindly clear bits setting the resolution as they
    are either unused or used for something else on some of the supported
    chips.

    So, switch to per-chip configuration initialization. This will allow
    for better tuning later, for example using more resolution bits when
    available.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Since commit 636f9d371f70f22961fd598fe18380057518ca31 ("cxgb4: Add
    support for T4 configuration file"), t4_fw_hello may return a positive
    value instead of 0 for success. The recovery code tests only for zero
    and fails recovery for any other value.

    This fix tests for negative error values and fails only on those cases.
    Error recovery after an error injection works after this change.

    Signed-off-by: Thadeu Lima de Souza Cascardo
    Signed-off-by: David S. Miller

    Thadeu Lima de Souza Cascardo
     
  • After recent 86a9bad3 (net: vlan: add protocol argument to packet
    tagging functions) my sky2 started to crash on receive of tagged
    frames, with backtrace similar to

    #CRASH!!!
    vlan_do_receive
    __netif_receive_skb_core
    __netif_receive_skb
    netif_receive_skb
    sky2_poll
    ...
    __net_rx_action
    __do_softirq

    The problem turned out to be:

    1) sky2 copies small packets from ring on RX, and in its
    receive_copy() skb header is copied manually field, by field, and
    only for some fields;

    2) 86a9bad3 added skb->vlan_proto, which vlan_untag() or
    __vlan_hwaccel_put_tag() set, and which is later used in
    vlan_do_receive().

    That patch updated copy_skb_header() for newly introduced
    skb->vlan_proto, but overlooked the need to also copy it in sky2's
    receive_copy().

    Because of 2, we have the following scenario:

    - frame is received and tagged in a ring, by sky2_rx_tag(). Both
    skb->vlan_proto and skb->vlan_tci are set;

    - later skb is decided to be copied, but skb->vlan_proto is
    forgotten and becomes 0.

    - in the beginning of vlan_do_receive() we call

    __be16 vlan_proto = skb->vlan_proto;
    vlan_dev = vlan_find_dev(skb->dev, vlan_proto, vlan_id);

    which eventually invokes

    vlan_proto_idx(vlan_proto)

    and that routine BUGs for everything except ETH_P_8021Q and
    ETH_P_8021AD.

    Oops.

    Fix it.

    P.S.

    Stephen, I wonder, why copy_skb_header() is not used in
    sky2.c::receive_copy() ? Problems, where receive_copy was updated field
    by field showed several times already, e.g.

    3f42941b (sky2: propogate rx hash when packet is copied)
    e072b3fa (sky2: fix receive length error in mixed non-VLAN/VLAN traffic)

    Cc: Patrick McHardy
    Cc: Stephen Hemminger
    Cc: Mirko Lindner
    Signed-off-by: Kirill Smelkov
    Acked-by: Stephen Hemminger
    Signed-off-by: David S. Miller

    Kirill Smelkov
     
  • There is bug in the receive path of the asix driver at the time a
    packet is received larger than MTU size and DF bit set:

    BUG: unable to handle kernel paging request at 0000004000000001
    IP: [] skb_release_head_state+0x2d/0xd2
    ...
    Call Trace:

    [] ? skb_release_all+0x9/0x1e
    [] ? __kfree_skb+0x9/0x6f
    [] ? asix_rx_fixup_internal+0xff/0x1ae [asix]
    [] ? usbnet_bh+0x4f/0x226 [usbnet]
    ...

    It is easily reproducable by setting an MTU of 512 e. g. and sending
    something like

    ping -s 1472 -c 1 -M do $SELF

    from another box.

    And this is because the rx->ax_skb is freed on error, but rx->ax_skb
    is not reset, and the size is not reset to zero in this case.

    And since the skb is added again to the usbnet->done skb queue it is
    accessing already freed memory, resulting in the BUG when freeing a
    2nd time. I therefore think the value 0x0000004000000001 show in the
    trace is more or less random data.

    Signed-off-by: Holger Eitzenberger
    Signed-off-by: David S. Miller

    holger@eitzenberger.org
     
  • Information from driver description files:

    diag: VID_19D2&PID_0412&MI_00
    nmea: VID_19D2&PID_0412&MI_01
    at: VID_19D2&PID_0412&MI_02
    modem: VID_19D2&PID_0412&MI_03
    net: VID_19D2&PID_0412&MI_04

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

    Teppo Kotilainen
     
  • We're only passing the two high bytes of an integer. It works for
    little endian but not for big endian.

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

    Dan Carpenter
     
  • Pull sound updates from Takashi Iwai:
    "Mostly many small changes spread as seen in diffstat in sound/*
    directory by this update. A significant change in the subsystem level
    is the introduction of snd_soc_component, which will help more generic
    handling of SoC and off-SoC components.

    Also, snd_BUG_ON() macro is enabled unconditionally now due to its
    misuses, so people might hit kernel warnings (it's a good thing for
    us).

    - compress-offload: support for capture by Charles Keepax
    - HD-audio: codec delay support by Dylan Reid
    - HD-audio: improvements/fixes in generic parser: better headphone
    mic and headset mic support, jack_modes hint consolidation, proper
    beep attach/detachment, generalized power filter controls by David
    Henningsson, et al
    - HD-audio: Improved management of HDMI codec pins/converters
    - HD-audio: Better pin/DAC assignment for VIA codecs
    - HD-audio: Haswell HDMI workarounds
    - HD-audio: ALC268 codec support, a few new quirks for Chromebooks
    - USB: regression fixes: USB-MIDI autopm fix, the recent ISO latency
    fix by Clemens Ladisch
    - USB: support for DSD formats by Daniel Mack
    - USB: A few UAC2 device endian/cock fixes by Eldad Zack
    - USB: quirks for Emu 192kHz support, Novation Twitch DJ controller,
    Yamaha THRxx devices
    - HDSPM: updates for TCO controls by Adrian Knoth
    - ASoC: Add a snd_soc_component object type for generic handling of
    SoC and off-SoC components by Kuninori Morimoto,
    - dmaengine: a large set of cleanups and conversions by Lars-Peter
    Clausen
    - ASoC DAPM: performance optimizations from Ryo Tsutsui
    - ASoC DAPM: support for mixer control sharing by Stephen Warren
    - ASoC: multiplatform ARM cleanups from Arnd Bergmann
    - ASoC: new codec drivers for AK5385 and TAS5086 from Daniel Mack"

    * tag 'sound-3.10' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (315 commits)
    ALSA: usb-audio: caiaq: fix endianness bug in snd_usb_caiaq_maschine_dispatch
    ALSA: asihpi: add format support check in snd_card_asihpi_capture_formats
    ALSA: pcm_format_to_bits strong-typed conversion
    ALSA: compress: fix the states to check for allowing read
    ALSA: hda - Move Thinkpad X220 to use auto parser
    ALSA: USB: adjust for changed 3.8 USB API
    ALSA: usb - Avoid unnecessary sample rate changes on USB 2.0 clock sources
    sound: oss/dmabuf: use dma_map_single
    ALSA: ali5451: use mdelay instead of large udelay constants
    ALSA: hda - Add the support for ALC286 codec
    ALSA: usb-audio: USB quirk for Yamaha THR10C
    ALSA: usb-audio: USB quirk for Yamaha THR5A
    ALSA: usb-audio: USB quirk for Yamaha THR10
    ALSA: usb-audio: Fix autopm error during probing
    ALSA: snd-usb: try harder to find USB_DT_CS_ENDPOINT
    ALSA: sound kconfig typo
    ALSA: emu10k1: Fix dock firmware loading
    ASoC: ux500: forward declare msp_i2s_platform_data
    ASoC: davinci-mcasp: Add Support BCLK-to-LRCLK ratio for TDM modes
    ASoC: davinci-pcm, davinci-mcasp: Clean up active_serializers
    ...

    Linus Torvalds
     

03 May, 2013

8 commits

  • Pull drm updates from Dave Airlie:
    "This is the main drm pull request for 3.10.

    Wierd bits:
    - OMAP drm changes required OMAP dss changes, in drivers/video, so I
    took them in here.
    - one more fbcon fix for font handover
    - VT switch avoidance in pm code
    - scatterlist helpers for gpu drivers - have acks from akpm

    Highlights:
    - qxl kms driver - driver for the spice qxl virtual GPU

    Nouveau:
    - fermi/kepler VRAM compression
    - GK110/nvf0 modesetting support.

    Tegra:
    - host1x core merged with 2D engine support

    i915:
    - vt switchless resume
    - more valleyview support
    - vblank fixes
    - modesetting pipe config rework

    radeon:
    - UVD engine support
    - SI chip tiling support
    - GPU registers initialisation from golden values.

    exynos:
    - device tree changes
    - fimc block support

    Otherwise:
    - bunches of fixes all over the place."

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (513 commits)
    qxl: update to new idr interfaces.
    drm/nouveau: fix build with nv50->nvc0
    drm/radeon: fix handling of v6 power tables
    drm/radeon: clarify family checks in pm table parsing
    drm/radeon: consolidate UVD clock programming
    drm/radeon: fix UPLL_REF_DIV_MASK definition
    radeon: add bo tracking debugfs
    drm/radeon: add new richland pci ids
    drm/radeon: add some new SI PCI ids
    drm/radeon: fix scratch reg handling for UVD fence
    drm/radeon: allocate SA bo in the requested domain
    drm/radeon: fix possible segfault when parsing pm tables
    drm/radeon: fix endian bugs in atom_allocate_fb_scratch()
    OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
    OMAPDSS: VENC: Add error handling for venc_probe_pdata
    OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
    OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
    OMAPDSS: DSI: Add error handling for dsi_probe_pdata
    OMAPDSS: SDI: Add error handling for sdi_probe_pdata
    OMAPDSS: DPI: Add error handling for dpi_probe_pdata
    ...

    Linus Torvalds
     
  • Signed-off-by: Dave Airlie

    Dave Airlie
     
  • Merge the fixes for the server driver dirty update paths
    * server-fixes:
    drm/cirrus: deal with bo reserve fail in dirty update path
    drm/ast: deal with bo reserve fail in dirty update path
    drm/mgag200: deal with bo reserve fail in dirty update path

    Dave Airlie
     
  • OMAPDSS fixes for 3.10:

    * Compilation fix when DSI is disabled in Kconfig
    * Basic deferred probe support to fix DT boot

    * tag 'omapdss-for-3.10-fixes' of git://gitorious.org/linux-omap-dss2/linux:
    OMAPDSS: TFP410: return EPROBE_DEFER if the i2c adapter not found
    OMAPDSS: VENC: Add error handling for venc_probe_pdata
    OMAPDSS: HDMI: Add error handling for hdmi_probe_pdata
    OMAPDSS: RFBI: Add error handling for rfbi_probe_pdata
    OMAPDSS: DSI: Add error handling for dsi_probe_pdata
    OMAPDSS: SDI: Add error handling for sdi_probe_pdata
    OMAPDSS: DPI: Add error handling for dpi_probe_pdata
    OMAPDSS: VENC: use platform_driver_register()
    OMAPDSS: HDMI: use platform_driver_register()
    OMAPDSS: RFBI: use platform_driver_register()
    OMAPDSS: DSI: use platform_driver_register()
    OMAPDSS: SDI: use platform_driver_register()
    OMAPDSS: DPI: use platform_driver_register()
    OMAPFB: defer probe if no displays
    OMAPFB: use module_platform_driver()
    OMAPDSS: Makefile: move omapfb after panels
    OMAPDSS: DPI: fix compilation if DSI not compiled in

    Dave Airlie
     
  • Just some fixes that have accumulated over the last couple of
    weeks and some new PCI ids.

    * 'drm-next-3.10-2' of git://people.freedesktop.org/~agd5f/linux:
    drm/radeon: fix handling of v6 power tables
    drm/radeon: clarify family checks in pm table parsing
    drm/radeon: consolidate UVD clock programming
    drm/radeon: fix UPLL_REF_DIV_MASK definition
    radeon: add bo tracking debugfs
    drm/radeon: add new richland pci ids
    drm/radeon: add some new SI PCI ids
    drm/radeon: fix scratch reg handling for UVD fence
    drm/radeon: allocate SA bo in the requested domain
    drm/radeon: fix possible segfault when parsing pm tables
    drm/radeon: fix endian bugs in atom_allocate_fb_scratch()

    Dave Airlie
     
  • Pull crypto update from Herbert Xu:

    - XTS mode optimisation for twofish/cast6/camellia/aes on x86

    - AVX2/x86_64 implementation for blowfish/twofish/serpent/camellia

    - SSSE3/AVX/AVX2 optimisations for sha256/sha512

    - Added driver for SAHARA2 crypto accelerator

    - Fix for GMAC when used in non-IPsec secnarios

    - Added generic CMAC implementation (including IPsec glue)

    - IP update for crypto/atmel

    - Support for more than one device in hwrng/timeriomem

    - Added Broadcom BCM2835 RNG driver

    - Misc fixes

    * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (59 commits)
    crypto: caam - fix job ring cleanup code
    crypto: camellia - add AVX2/AES-NI/x86_64 assembler implementation of camellia cipher
    crypto: serpent - add AVX2/x86_64 assembler implementation of serpent cipher
    crypto: twofish - add AVX2/x86_64 assembler implementation of twofish cipher
    crypto: blowfish - add AVX2/x86_64 implementation of blowfish cipher
    crypto: tcrypt - add async cipher speed tests for blowfish
    crypto: testmgr - extend camellia test-vectors for camellia-aesni/avx2
    crypto: aesni_intel - fix Kconfig problem with CRYPTO_GLUE_HELPER_X86
    crypto: aesni_intel - add more optimized XTS mode for x86-64
    crypto: x86/camellia-aesni-avx - add more optimized XTS code
    crypto: cast6-avx: use new optimized XTS code
    crypto: x86/twofish-avx - use optimized XTS code
    crypto: x86 - add more optimized XTS-mode for serpent-avx
    xfrm: add rfc4494 AES-CMAC-96 support
    crypto: add CMAC support to CryptoAPI
    crypto: testmgr - add empty test vectors for null ciphers
    crypto: testmgr - add AES GMAC test vectors
    crypto: gcm - fix rfc4543 to handle async crypto correctly
    crypto: gcm - make GMAC work when dst and src are different
    hwrng: timeriomem - added devicetree hooks
    ...

    Linus Torvalds
     
  • …it/linusw/linux-pinctrl

    Pull pinctrl fixes from Linus Walleij:
    "Two fixes to the pinctrl subsystem for v3.10:
    - A quite apparent mutex fix in an untested codepath
    - A compile warning fix in the plgpio driver"

    * tag 'pinctrl-fixes-v3.10-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl:
    pinctrl: fix mutex deadlock in get_pinctrl_dev_from_of_node()
    pinctrl: plgpio: add CONFIG_PM_SLEEP to suspend/resume functions

    Linus Torvalds
     
  • Pull i2c changes from Wolfram Sang:

    - an arbitration driver. While the driver is quite simple, it caused
    discussion if we need additional arbitration on top of the one
    specified in the I2C standard. Conclusion is that I accept a few
    generic mechanisms, but not very specific ones.

    - the core lost the detach_adapter() call. It has no users anymore and
    was in the way for other cleanups. attach_adapter() is sadly still
    there since there are users waiting to be converted.

    - the core gained a bus recovery infrastructure. I2C defines a way to
    recover if the data line is stalled. This mechanism is now in the
    core and drivers can now pass some data to make use of it.

    - bigger driver cleanups for designware, s3c2410

    - removing superfluous refcounting from drivers

    - removing Ben Dooks as second maintainer due to inactivity. Thanks
    for all your work so far, Ben!

    - bugfixes, feature additions, devicetree fixups, simplifications...

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (38 commits)
    i2c: xiic: must always write 16-bit words to TX_FIFO
    i2c: octeon: use HZ in timeout value
    i2c: octeon: Fix i2c fail problem when a process is terminated by a signal
    i2c: designware-pci: drop superfluous {get|put}_device
    i2c: designware-plat: drop superfluous {get|put}_device
    i2c: davinci: drop superfluous {get|put}_device
    MAINTAINERS: Ben Dooks is inactive regarding I2C
    i2c: mux: Add i2c-arb-gpio-challenge 'mux' driver
    i2c: at91: convert to dma_request_slave_channel_compat()
    i2c: mxs: do error checking and handling in PIO mode
    i2c: mxs: remove races in PIO code
    i2c-designware: switch to use runtime PM autosuspend
    i2c-designware: use usleep_range() in the busy-loop
    i2c-designware: enable/disable the controller properly
    i2c-designware: use dynamic adapter numbering on Lynxpoint
    i2c-designware-pci: use managed functions pcim_* and devm_*
    i2c-designware-pci: use dev_err() instead of printk()
    i2c-designware: move to managed functions (devm_*)
    i2c: remove CONFIG_HOTPLUG ifdefs
    i2c: s3c2410: Add SMBus emulation for block read
    ...

    Linus Torvalds