1. 01 Apr, 2012 9 commits
  2. 29 Mar, 2012 2 commits
    • zhuangfeiran@ict.ac.cn's avatar
      x86 bpf_jit: fix a bug in emitting the 16-bit immediate operand of AND · 1d24fb36
      zhuangfeiran@ict.ac.cn authored
      
      
      When K >= 0xFFFF0000, AND needs the two least significant bytes of K as
      its operand, but EMIT2() gives it the least significant byte of K and
      0x2. EMIT() should be used here to replace EMIT2().
      Signed-off-by: default avatarFeiran Zhuang  <zhuangfeiran@ict.ac.cn>
      Acked-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      1d24fb36
    • Weiping Pan's avatar
      bonding: emit event when bonding changes MAC · 7d26bb10
      Weiping Pan authored
      
      
      When a bonding device is configured with fail_over_mac=active,
      we expect to see the MAC address of the new active slave as the source MAC
      address after failover. But we see that the source MAC address is the MAC
      address of previous active slave.
      
      Emit NETDEV_CHANGEADDR event when bonding changes its MAC address, in order
      to let arp_netdev_event flush neighbour cache and route cache.
      
      How to reproduce this bug ?
      
                             -----------hostB----------------
      hostA ----- switch ---|-- eth0--bond0(192.168.100.2/24)|
      (192.168.100.1/24  \--|-- eth1-/                       |
                             --------------------------------
      
      1 on hostB,
      modprobe bonding mode=1 miimon=500 fail_over_mac=active downdelay=1000
      num_grat_arp=1
      ifconfig bond0 192.168.100.2/24 up
      ifenslave bond0 eth0
      ifenslave bond0 eth1
      
      then eth0 is the active slave, and MAC of bond0 is MAC of eth0.
      
      2 on hostA, ping 192.168.100.2
      
      3 on hostB,
      tcpdump -i bond0 -p icmp -XXX
      you will see bond0 uses MAC of eth0 as source MAC in icmp reply.
      
      4 on hostB,
      ifconfig eth0 down
      tcpdump -i bond0 -p icmp -XXX (just keep it running in step 3)
      you will see first bond0 uses MAC of eth1 as source MAC in icmp
      reply, then it will use MAC of eth0 as source MAC.
      Signed-off-by: default avatarWeiping Pan <wpan@redhat.com>
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7d26bb10
  3. 28 Mar, 2012 25 commits
  4. 27 Mar, 2012 4 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · de8856d2
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       1) Name string overrun fix in gianfar driver from Joe Perches.
      
       2) VHOST bug fixes from Michael S. Tsirkin and Nadav Har'El
      
       3) Fix dependencies on xt_LOG netfilter module, from Pablo Neira Ayuso.
      
       4) Fix RCU locking in xt_CT, also from Pablo Neira Ayuso.
      
       5) Add a parameter to skb_add_rx_frag() so we can fix the truesize
          adjustments in the drivers that use it.  The individual drivers
          aren't fixed by this commit, but will be dealt with using follow-on
          commits.  From Eric Dumazet.
      
       6) Add some device IDs to qmi_wwan driver, from Andrew Bird.
      
       7) Fix a potential rcu_read_lock() imbalancein rt6_fill_node().  From
          Eric Dumazet.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        net: fix a potential rcu_read_lock() imbalance in rt6_fill_node()
        net: add a truesize parameter to skb_add_rx_frag()
        gianfar: Fix possible overrun and simplify interrupt name field creation
        USB: qmi_wwan: Add ZTE (Vodafone) K3570-Z and K3571-Z net interfaces
        USB: option: Ignore ZTE (Vodafone) K3570/71 net interfaces
        USB: qmi_wwan: Add ZTE (Vodafone) K3565-Z and K4505-Z net interfaces
        qlcnic: Bug fix for LRO
        netfilter: nf_conntrack: permanently attach timeout policy to conntrack
        netfilter: xt_CT: fix assignation of the generic protocol tracker
        netfilter: xt_CT: missing rcu_read_lock section in timeout assignment
        netfilter: cttimeout: fix dependency with l4protocol conntrack module
        netfilter: xt_LOG: use CONFIG_IP6_NF_IPTABLES instead of CONFIG_IPV6
        vhost: fix release path lockdep checks
        vhost: don't forget to schedule()
        tools/virtio: stub out strong barriers
        tools/virtio: add linux/hrtimer.h stub
        tools/virtio: add linux/module.h stub
      de8856d2
    • Linus Torvalds's avatar
      Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 66f03c61
      Linus Torvalds authored
      Pull "ARM: device tree work" from Arnd Bergmann:
       "Most of these patches convert code from using static platform data to
        describing the hardware in the device tree.  This is only the first
        half of the changes for v3.4 because a lot of patches for this topic
        came in the last week before the merge window.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      Fix up trivial conflicts in arch/arm/mach-vexpress/{Kconfig,core.h}
      
      * tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (86 commits)
        Document: devicetree: add OF documents for arch-mmp
        ARM: dts: append DTS file of pxa168
        ARM: mmp: append OF support on pxa168
        ARM: mmp: enable rtc clk in pxa168
        i2c: pxa: add OF support
        serial: pxa: add OF support
        arm/dts: mt_ventoux: very basic support for TeeJet Mt.Ventoux board
        ARM: OMAP2+: Remove extra ifdefs for board-generic
        ARM: OMAP2+: Fix build error when only ARCH_OMAP2/3 or 4 is selected
        ASoC: DT: Add digital microphone binding to PAZ00 board.
        ARM: dt: Add ARM PMU to tegra*.dtsi
        ARM: at91: at91sam9x5cm/dt: add leds support
        ARM: at91: usb_a9g20/dt: add gpio-keys support
        ARM: at91: at91sam9m10g45ek/dt: add gpio-keys support
        ARM: at91: at91sam9m10g45ek/dt: add leds support
        ARM: at91: usb_a9g20/dt: add leds support
        ARM: at91/pio: add new PIO3 features
        ARM: at91: add sam9_smc.o to at91sam9x5 build
        ARM: at91/tc/clocksource: Add 32 bit variant to Timer Counter
        ARM: at91/tc: add device tree support to atmel_tclib
        ...
      66f03c61
    • Linus Torvalds's avatar
      Merge tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 34800598
      Linus Torvalds authored
      Pull "ARM: driver specific updates" from Arnd Bergmann:
       "These are all specific to some driver.  They are typically the
        platform side of a change in the drivers directory, such as adding a
        new driver or extending the interface to the platform.  In cases where
        there is no maintainer for the driver, or the maintainer prefers to
        have the platform changes in the same branch as the driver changes,
        the patches to the drivers are included as well.
      
        A much smaller set of driver updates that depend on other branches
        getting merged first will be sent later.
      
        The new export of tegra_chip_uid conflicts with other changes in
        fuse.c.  In rtc-sa1100.c, the global removal of IRQF_DISABLED
        conflicts with the cleanup of the interrupt handling of that driver.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      Fixed up aforementioned trivial conflicts.
      
      * tag 'drivers' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (94 commits)
        ARM: SAMSUNG: change the name from s3c-sdhci to exynos4-sdhci
        mmc: sdhci-s3c: add platform data for the second capability
        ARM: SAMSUNG: support the second capability for samsung-soc
        ARM: EXYNOS: add support DMA for EXYNOS4X12 SoC
        ARM: EXYNOS: Add apb_pclk clkdev entry for mdma1
        ARM: EXYNOS: Enable MDMA driver
        regulator: Remove bq24022 regulator driver
        rtc: sa1100: add OF support
        pxa: magician/hx4700: Convert to gpio-regulator from bq24022
        ARM: OMAP3+: SmartReflex: fix error handling
        ARM: OMAP3+: SmartReflex: fix the use of debugfs_create_* API
        ARM: OMAP3+: SmartReflex: micro-optimization for sanity check
        ARM: OMAP3+: SmartReflex: misc cleanups
        ARM: OMAP3+: SmartReflex: move late_initcall() closer to its argument
        ARM: OMAP3+: SmartReflex: add missing platform_set_drvdata()
        ARM: OMAP3+: hwmod: add SmartReflex IRQs
        ARM: OMAP3+: SmartReflex: clear ERRCONFIG_VPBOUNDINTST only on a need
        ARM: OMAP3+: SmartReflex: Fix status masking in ERRCONFIG register
        ARM: OMAP3+: SmartReflex: Add a shutdown hook
        ARM: OMAP3+: SmartReflex Class3: disable errorgen before disable VP
        ...
      
      Conflicts:
      	arch/arm/mach-tegra/Makefile
      	arch/arm/mach-tegra/fuse.c
      	drivers/rtc/rtc-sa1100.c
      34800598
    • Linus Torvalds's avatar
      Merge tag 'rpmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 46b407ca
      Linus Torvalds authored
      Pull "remoteproc/rpmsg: new subsystem" from Arnd Bergmann:
       "This new subsystem provides a common way to talk to secondary
        processors on an SoC, e.g.  a DSP, GPU or service processor, using
        virtio as the transport.  In the long run, it should replace a few
        dozen vendor specific ways to do the same thing, which all never made
        it into the upstream kernel.  There is a broad agreement that rpmsg is
        the way to go here and several vendors have started working on
        replacing their own subsystems.
      
        Two branches each add one virtio protocol number.  Fortunately the
        numbers were agreed upon in advance, so there are only context
        changes.
      
        Signed-off-by: Arnd Bergmann <arnd@arndb.de>"
      
      Fixed up trivial protocol number conflict due to the mentioned additions
      next to each other.
      
      * tag 'rpmsg' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (32 commits)
        remoteproc: cleanup resource table parsing paths
        remoteproc: remove the hardcoded vring alignment
        remoteproc/omap: remove the mbox_callback limitation
        remoteproc: remove the single rpmsg vdev limitation
        remoteproc: safer boot/shutdown order
        remoteproc: remoteproc_rpmsg -> remoteproc_virtio
        remoteproc: resource table overhaul
        rpmsg: fix build warning when dma_addr_t is 64-bit
        rpmsg: fix published buffer length in rpmsg_recv_done
        rpmsg: validate incoming message length before propagating
        rpmsg: fix name service endpoint leak
        remoteproc/omap: two Kconfig fixes
        remoteproc: make sure we're parsing a 32bit firmware
        remoteproc: s/big switch/lookup table/
        remoteproc: bail out if firmware has different endianess
        remoteproc: don't use virtio's weak barriers
        rpmsg: rename virtqueue_add_buf_gfp to virtqueue_add_buf
        rpmsg: depend on EXPERIMENTAL
        remoteproc: depend on EXPERIMENTAL
        rpmsg: add Kconfig menu
        ...
      
      Conflicts:
      	include/linux/virtio_ids.h
      46b407ca