1. 05 6月, 2013 13 次提交
  2. 03 6月, 2013 5 次提交
  3. 01 6月, 2013 11 次提交
  4. 31 5月, 2013 4 次提交
    • D
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless · fb68e2f4
      David S. Miller 提交于
      John W. Linville says:
      
      ====================
      Please pull this batch of fixes intended for the 3.10 stream...
      
      Regarding the NFC bits, Samuel says:
      
      "This is the first batch of NFC fixes for 3.10, and it contains:
      
      - 3 fixes for the NFC MEI support:
              * We now depend on the correct Kconfig symbol.
              * We register an MEI event callback whenever we enable an NFC device,
                otherwise we fail to read anything after an enable/disable cycle.
              * We only disable an MEI device from its disable mey_phy_ops,
                preventing useless consecutive disable calls.
      
      - An NFC Makefile cleanup, as I forgot to remove a commented out line when
        moving the LLCP code to the NFC top level directory."
      
      As for the mac80211 bits, Johannes says:
      
      "This time I have a fix from Stanislaw for a stupid mistake I made in the
      auth/assoc timeout changes, a fix from Felix for 64-bit traffic counters
      and one from Helmut for address mask handling in mac80211. I also have a
      few fixes myself for four different crashes reported by a few people."
      
      And Johannes says this about the iwlwifi bit:
      
      "This fixes a brown paper-bag bug that we really should've caught in
      review. More details in the changelog for the fix."
      
      On top of that...
      
      Arend van Spriel and Hante Meuleman cooperate to send a series of AP
      and P2P mode fixes for brcmfmac.
      
      Gabor Juhos corrects a register offset for AR9550, avoiding a bus
      error.
      
      Dan Carpenter provides a fixup to some dmesg output in the atmel
      driver.
      
      And, finally...
      
      Felix Fietkau not only gives us a trio of small AR934x fixes, but
      also refactors the ath9k aggregation session start/stop handling
      (using the generic mac80211 support) in order to avoid a deadlock.
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fb68e2f4
    • S
      be2net: Fix crash on 2nd invocation of PCI AER/EEH error_detected hook · 01e5b2c4
      Somnath Kotur 提交于
      During a PCI EEH/AER error recovery flow, if the device did not successfully
      restart, the error_detected() hook may be called a second time with a
      "perm_failure" state. This patch skips over driver cleanup for the second
      invocation of the callback.
      
      Also, Lancer error recovery code is fixed-up to handle these changes.
      Signed-off-by: NKalesh AP <kalesh.purayil@emulex.com>
      Signed-off-by: NSomnath kotur <somnath.kotur@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      01e5b2c4
    • S
      be2net: Mark checksum fail for IP fragmented packets · e38b1706
      Somnath Kotur 提交于
      HW does not compute L4 checksum for IP Fragmented packets.
      Signed-off-by: NKalesh AP <kalesh.purayil@emulex.com>
      Signed-off-by: NSomnath Kotur <somnath.kotur@emulex.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e38b1706
    • D
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/pablo/nf · 73ce00d4
      David S. Miller 提交于
      Pablo Neira Ayuso says:
      
      ====================
      The following patchset contains Netfilter/IPVS fixes for 3.10-rc3,
      they are:
      
      * fix xt_addrtype with IPv6, from Florian Westphal. This required
        a new hook for IPv6 functions in the netfilter core to avoid
        hard dependencies with the ipv6 subsystem when this match is
        only used for IPv4.
      
      * fix connection reuse case in IPVS. Currently, if an reused
        connection are directed to the same server. If that server is
        down, those connection would fail. Therefore, clear the
        connection and choose a new server among the available ones.
      
      * fix possible non-nul terminated string sent to user-space if
        ipt_ULOG is used as the default netfilter logging stub, from
        Chen Gang.
      
      * fix mark logging of IPv6 packets in xt_LOG, from Michal Kubecek.
        This bug has been there since 2.6.26.
      
      * Fix breakage ip_vs_sh due to incorrect structure layout for
        RCU, from Jan Beulich.
      ====================
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      73ce00d4
  5. 29 5月, 2013 7 次提交
    • J
      ipvs: ip_vs_sh: fix build · a70b9641
      Jan Beulich 提交于
      kfree_rcu() requires offsetof(..., rcu_head) < 4096, which can
      get violated with a sufficiently high CONFIG_IP_VS_SH_TAB_BITS.
      Signed-off-by: NJan Beulich <jbeulich@suse.com>
      Signed-off-by: NSimon Horman <horms@verge.net.au>
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      a70b9641
    • J
      Merge branch 'master' of... · 50cc1cab
      John W. Linville 提交于
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless into for-davem
      50cc1cab
    • M
      netfilter: xt_LOG: fix mark logging for IPv6 packets · d660164d
      Michal Kubeček 提交于
      In dump_ipv6_packet(), the "recurse" parameter is zero only if
      dumping contents of a packet embedded into an ICMPv6 error
      message. Therefore we want to log packet mark if recurse is
      non-zero, not when it is zero.
      Signed-off-by: NMichal Kubecek <mkubecek@suse.cz>
      Signed-off-by: NPablo Neira Ayuso <pablo@netfilter.org>
      d660164d
    • J
      tuntap: forbid changing mq flag for persistent device · 8e6d91ae
      Jason Wang 提交于
      We currently allow changing the mq flag (IFF_MULTI_QUEUE) for a persistent
      device. This will result a mismatch between the number the queues in netdev and
      tuntap. This is because we only allocate a 1q netdevice when IFF_MULTI_QUEUE was
      not specified, so when we set the IFF_MULTI_QUEUE and try to attach more queues
      later, netif_set_real_num_tx_queues() may fail which result a single queue
      netdevice with multiple sockets attached.
      
      Solve this by disallowing changing the mq flag for persistent device.
      
      Bug was introduced by commit edfb6a14
      (tuntap: reduce memory using of queues).
      Reported-by: NSriram Narasimhan <sriram.narasimhan@hp.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Signed-off-by: NJason Wang <jasowang@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8e6d91ae
    • F
      net/core/sock.c: add missing VSOCK string in af_family_*_key_strings · 456db6a4
      Federico Vaga 提交于
      The three arrays of strings: af_family_key_strings,
      af_family_slock_key_strings and af_family_clock_key_strings have not
      VSOCK's string
      Signed-off-by: NFederico Vaga <federico.vaga@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      456db6a4
    • A
      net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg · 1be374a0
      Andy Lutomirski 提交于
      To: linux-kernel@vger.kernel.org
      Cc: x86@kernel.org, trinity@vger.kernel.org, Andy Lutomirski <luto@amacapital.net>, netdev@vger.kernel.org, "David S.
      	Miller" <davem@davemloft.net>
      Subject: [PATCH 5/5] net: Block MSG_CMSG_COMPAT in send(m)msg and recv(m)msg
      
      MSG_CMSG_COMPAT is (AFAIK) not intended to be part of the API --
      it's a hack that steals a bit to indicate to other networking code
      that a compat entry was used.  So don't allow it from a non-compat
      syscall.
      
      This prevents an oops when running this code:
      
      int main()
      {
      	int s;
      	struct sockaddr_in addr;
      	struct msghdr *hdr;
      
      	char *highpage = mmap((void*)(TASK_SIZE_MAX - 4096), 4096,
      	                      PROT_READ | PROT_WRITE,
      	                      MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0);
      	if (highpage == MAP_FAILED)
      		err(1, "mmap");
      
      	s = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
      	if (s == -1)
      		err(1, "socket");
      
              addr.sin_family = AF_INET;
              addr.sin_port = htons(1);
              addr.sin_addr.s_addr = htonl(INADDR_LOOPBACK);
      	if (connect(s, (struct sockaddr*)&addr, sizeof(addr)) != 0)
      		err(1, "connect");
      
      	void *evil = highpage + 4096 - COMPAT_MSGHDR_SIZE;
      	printf("Evil address is %p\n", evil);
      
      	if (syscall(__NR_sendmmsg, s, evil, 1, MSG_CMSG_COMPAT) < 0)
      		err(1, "sendmmsg");
      
      	return 0;
      }
      
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: NAndy Lutomirski <luto@amacapital.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1be374a0
    • G
      ath9k: use correct OTP register offsets for AR9550 · add295a4
      Gabor Juhos 提交于
      Accessing the OTP memory on AR9950 causes a data bus
      like this:
      
        Data bus error, epc == 801f7774, ra == 801f7774
        Oops[#1]:
        CPU: 0 PID: 1 Comm: swapper Not tainted 3.10.0-rc3 #592
        task: 87c28000 ti: 87c22000 task.ti: 87c22000
        $ 0   : 00000000 00000061 deadc0de 00000000
        $ 4   : b8115f18 00015f18 00000007 00000004
        $ 8   : 00000001 7c7c3c7c 7c7c7c7c 7c7c7c7c
        $12   : 7c7c3c7c 80320a68 00000000 7c7c7c3c
        $16   : 87cd8010 00015f18 00000007 00000000
        $20   : 00000064 00000004 87c23c7c 8035210c
        $24   : 00000000 801f3674
        $28   : 87c22000 87c23b48 00000001 801f7774
        Hi    : 00000000
        Lo    : 00000064
        epc   : 801f7774 ath9k_hw_wait+0x58/0xb0
            Not tainted
        ra    : 801f7774 ath9k_hw_wait+0x58/0xb0
        Status: 1000cc03 KERNEL EXL IE
        Cause : 4080801c
        PrId  : 00019750 (MIPS 74Kc)
        Modules linked in:
        Process swapper (pid: 1, threadinfo=87c22000, task=87c28000, ts=00000000)
        Stack : 0000000f 00000061 00002710 8006240c 00000001 87cd8010 87c23bb0 87cd8010
                00000000 00000004 00000003 80210c7c 000000b3 67fa8000 0000032a 000006fe
                000003e8 00000002 00000028 87c23bf0 000003ff 80210d24 803e5630 80210e28
                00000000 00000007 87cd8010 00007044 00000004 00000061 000003ff 000001ff
                87c26000 87cd8010 00000220 87cd8bb8 80210000 8020fcf4 87c22000 87c23c08
                ...
        Call Trace:
        [<801f7774>] ath9k_hw_wait+0x58/0xb0
        [<80210c7c>] ar9300_otp_read_word+0x80/0xd4
        [<80210d24>] ar9300_read_otp+0x54/0xb0
        [<8020fcf4>] ar9300_check_eeprom_header+0x1c/0x40
        [<80210fe4>] ath9k_hw_ar9300_fill_eeprom+0x118/0x39c
        [<80206650>] ath9k_hw_eeprom_init+0x74/0xb4
        [<801f96d0>] ath9k_hw_init+0x7ec/0x96c
        [<801e65ec>] ath9k_init_device+0x340/0x758
        [<801f35d0>] ath_ahb_probe+0x21c/0x2c0
        [<801c041c>] driver_probe_device+0xc0/0x1e4
        [<801c05ac>] __driver_attach+0x6c/0xa4
        [<801bea08>] bus_for_each_dev+0x64/0xa8
        [<801bfa40>] bus_add_driver+0xcc/0x24c
        [<801c0954>] driver_register+0xbc/0x17c
        [<803f8fc0>] ath9k_init+0x5c/0x88
        [<800608fc>] do_one_initcall+0xec/0x1a0
        [<803e6a68>] kernel_init_freeable+0x13c/0x200
        [<80309cdc>] kernel_init+0x1c/0xe4
        [<80062450>] ret_from_kernel_thread+0x10/0x18
      
      On the AR9550, the OTP registers are located at
      the same address as on the AR9340. Use the correct
      values to avoid the error.
      
      Cc: stable@vger.kernel.org  # 3.6+
      Signed-off-by: NGabor Juhos <juhosg@openwrt.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      add295a4