1. 09 7月, 2011 5 次提交
    • T
      sctp: ABORT if receive, reassmbly, or reodering queue is not empty while closing socket · cd4fcc70
      Thomas Graf 提交于
      Trigger user ABORT if application closes a socket which has data
      queued on the socket receive queue or chunks waiting on the
      reassembly or ordering queue as this would imply data being lost
      which defeats the point of a graceful shutdown.
      
      This behavior is already practiced in TCP.
      
      We do not check the input queue because that would mean to parse
      all chunks on it to look for unacknowledged data which seems too
      much of an effort. Control chunks or duplicated chunks may also
      be in the input queue and should not be stopping a graceful
      shutdown.
      Signed-off-by: NThomas Graf <tgraf@infradead.org>
      Acked-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      cd4fcc70
    • D
    • D
      net: Fix default in docs for tcp_orphan_retries. · 06b8fc5d
      David S. Miller 提交于
      Default should be listed at 8 instead of 7.
      Reported-by: NDenys Fedoryshchenko <denys@visp.net.lb>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      06b8fc5d
    • G
      hso: fix a use after free condition · 5e2cd082
      Greg KH 提交于
      This needs to go to netdev:
      
      From: Octavian Purdila <octavian.purdila@intel.com>
      
      In hso_free_net_device hso_net pointer is freed and then used to
      cleanup urb pools. Catched with SLAB_DEBUG during S3 resume:
      
      [   95.824442] Pid: 389, comm: khubd Tainted: G         C  2.6.36greenridge-01400-g423cf13-dirty #154 Type2 - Board Product Name1/OakTrail
      [   95.824442] EIP: 0060:[<c1151551>] EFLAGS: 00010202 CPU: 0
      [   95.824442] EIP is at kref_put+0x29/0x42
      [   95.824442] EAX: 6b6b6b6b EBX: 6b6b6b6b ECX: c2806b40 EDX: 00000037
      [   95.824442] ESI: c1258d56 EDI: edd3d128 EBP: ee8cde0c ESP: ee8cde04
      [   95.824442]  DS: 007b ES: 007b FS: 00d8 GS: 0000 SS: 0068
      [   95.824442] Process khubd (pid: 389, ti=ee8cc000 task=ee95ed10 task.ti=ee8cc000)
      [   95.824442] Stack:
      [   95.824442]  edd07020 00000000 ee8cde14 c1258b77 ee8cde38 ef933a44 ef93572b ef935dec
      [   95.824442] <0> 0000099a 6b6b6b6b 00000000 ee2da748 edd3e0c0 ee8cde54 ef933b9f ee3b53f8
      [   95.824442] <0> 00000002 ee2da748 ee2da764 ef936658 ee8cde60 ef933d0c ee2da748 ee8cde84
      [   95.824442] Call Trace:
      [   95.824442]  [<c1258b77>] ? usb_free_urb+0x11/0x13
      [   95.824442]  [<ef933a44>] ? hso_free_net_device+0x81/0xd8 [hso]
      [   95.824442]  [<ef933b9f>] ? hso_free_interface+0x104/0x111 [hso]
      [   95.824442]  [<ef933d0c>] ? hso_disconnect+0xb/0x18 [hso]
      [   95.824442]  [<c125b7f1>] ? usb_unbind_interface+0x44/0x14a
      [   95.824442]  [<c11e56e8>] ? __device_release_driver+0x6f/0xb1
      [   95.824442]  [<c11e57c7>] ? device_release_driver+0x18/0x23
      [   95.824442]  [<c11e4e92>] ? bus_remove_device+0x8a/0xa1
      [   95.824442]  [<c11e3970>] ? device_del+0x129/0x163
      [   95.824442]  [<c11e2dc0>] ? put_device+0xf/0x11
      [   95.824442]  [<c11e39bc>] ? device_unregister+0x12/0x15
      [   95.824442]  [<c125915f>] ? usb_disable_device+0x90/0xf0
      [   95.824442]  [<c125544f>] ? usb_disconnect+0x6d/0xf8
      [   95.824442]  [<c1255f91>] ? hub_thread+0x3fc/0xc57
      [   95.824442]  [<c1048526>] ? autoremove_wake_function+0x0/0x2f
      [   95.824442]  [<c102529d>] ? complete+0x34/0x3e
      [   95.824442]  [<c1255b95>] ? hub_thread+0x0/0xc57
      [   95.824442]  [<c10481fc>] ? kthread+0x63/0x68
      [   95.824442]  [<c1048199>] ? kthread+0x0/0x68
      [   95.824442]  [<c1002d76>] ? kernel_thread_helper+0x6/0x10
      Signed-off-by: NOctavian Purdila <octavian.purdila@intel.com>
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5e2cd082
    • J
      net/natsemi: Fix module parameter permissions · b1f524e3
      Jean Delvare 提交于
      The third parameter of module_param is supposed to represent sysfs
      file permissions. A value of "1" leads to the following:
      
      $ ls -l /sys/module/natsemi/parameters/
      total 0
      ---------x 1 root root 4096 Jul  8 09:46 dspcfg_workaround
      
      I am changing it to "0" to align with the other module parameters in
      this driver.
      Signed-off-by: NJean Delvare <jdelvare@suse.de>
      Cc: Tim Hockin <thockin@hockin.org>
      Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b1f524e3
  2. 08 7月, 2011 14 次提交
    • T
      XFRM: Fix memory leak in xfrm_state_update · 8fcbc637
      Tushar Gohad 提交于
      Upon "ip xfrm state update ..", xfrm_add_sa() takes an extra reference on
      the user-supplied SA and forgets to drop the reference when
      xfrm_state_update() returns 0.  This leads to a memory leak as the
      parameter SA is never freed.  This change attempts to fix the leak by
      calling __xfrm_state_put() when xfrm_state_update() updates a valid SA
      (err = 0).  The parameter SA is added to the gc list when the final
      reference is dropped by xfrm_add_sa() upon completion.
      Signed-off-by: NTushar Gohad <tgohad@mvista.com>
      Acked-by: NHerbert Xu <herbert@gondor.apana.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      8fcbc637
    • J
      Merge branch 'master' of... · 8a98d935
      John W. Linville 提交于
      Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into for-davem
      8a98d935
    • T
      sctp: Enforce retransmission limit during shutdown · f8d96052
      Thomas Graf 提交于
      When initiating a graceful shutdown while having data chunks
      on the retransmission queue with a peer which is in zero
      window mode the shutdown is never completed because the
      retransmission error count is reset periodically by the
      following two rules:
      
       - Do not timeout association while doing zero window probe.
       - Reset overall error count when a heartbeat request has
         been acknowledged.
      
      The graceful shutdown will wait for all outstanding TSN to
      be acknowledged before sending the SHUTDOWN request. This
      never happens due to the peer's zero window not acknowledging
      the continuously retransmitted data chunks. Although the
      error counter is incremented for each failed retransmission,
      the receiving of the SACK announcing the zero window clears
      the error count again immediately. Also heartbeat requests
      continue to be sent periodically. The peer acknowledges these
      requests causing the error counter to be reset as well.
      
      This patch changes behaviour to only reset the overall error
      counter for the above rules while not in shutdown. After
      reaching the maximum number of retransmission attempts, the
      T5 shutdown guard timer is scheduled to give the receiver
      some additional time to recover. The timer is stopped as soon
      as the receiver acknowledges any data.
      
      The issue can be easily reproduced by establishing a sctp
      association over the loopback device, constantly queueing
      data at the sender while not reading any at the receiver.
      Wait for the window to reach zero, then initiate a shutdown
      by killing both processes simultaneously. The association
      will never be freed and the chunks on the retransmission
      queue will be retransmitted indefinitely.
      Signed-off-by: NThomas Graf <tgraf@infradead.org>
      Acked-by: NVlad Yasevich <vladislav.yasevich@hp.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f8d96052
    • L
      31cb8528
    • L
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 2a9d6df4
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.dk/linux-block:
        drbd: we should write meta data updates with FLUSH FUA
        drbd: fix limit define, we support 1 PiByte now
        drbd: when receive times out on meta socket, also check last receive time on data socket
        drbd: account bitmap IO during resync as resync-(related-)-io
        drbd: don't cond_resched_lock with IRQs disabled
        drbd: add missing spinlock to bitmap receive
        drbd: Use the correct max_bio_size when creating resync requests
        cfq-iosched: make code consistent
        cfq-iosched: fix a rcu warning
      2a9d6df4
    • D
      FS-Cache: Add a helper to bulk uncache pages on an inode · c902ce1b
      David Howells 提交于
      Add an FS-Cache helper to bulk uncache pages on an inode.  This will
      only work for the circumstance where the pages in the cache correspond
      1:1 with the pages attached to an inode's page cache.
      
      This is required for CIFS and NFS: When disabling inode cookie, we were
      returning the cookie and setting cifsi->fscache to NULL but failed to
      invalidate any previously mapped pages.  This resulted in "Bad page
      state" errors and manifested in other kind of errors when running
      fsstress.  Fix it by uncaching mapped pages when we disable the inode
      cookie.
      
      This patch should fix the following oops and "Bad page state" errors
      seen during fsstress testing.
      
        ------------[ cut here ]------------
        kernel BUG at fs/cachefiles/namei.c:201!
        invalid opcode: 0000 [#1] SMP
        Pid: 5, comm: kworker/u:0 Not tainted 2.6.38.7-30.fc15.x86_64 #1 Bochs Bochs
        RIP: 0010: cachefiles_walk_to_object+0x436/0x745 [cachefiles]
        RSP: 0018:ffff88002ce6dd00  EFLAGS: 00010282
        RAX: ffff88002ef165f0 RBX: ffff88001811f500 RCX: 0000000000000000
        RDX: 0000000000000000 RSI: 0000000000000100 RDI: 0000000000000282
        RBP: ffff88002ce6dda0 R08: 0000000000000100 R09: ffffffff81b3a300
        R10: 0000ffff00066c0a R11: 0000000000000003 R12: ffff88002ae54840
        R13: ffff88002ae54840 R14: ffff880029c29c00 R15: ffff88001811f4b0
        FS:  00007f394dd32720(0000) GS:ffff88002ef00000(0000) knlGS:0000000000000000
        CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
        CR2: 00007fffcb62ddf8 CR3: 000000001825f000 CR4: 00000000000006e0
        DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
        DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
        Process kworker/u:0 (pid: 5, threadinfo ffff88002ce6c000, task ffff88002ce55cc0)
        Stack:
         0000000000000246 ffff88002ce55cc0 ffff88002ce6dd58 ffff88001815dc00
         ffff8800185246c0 ffff88001811f618 ffff880029c29d18 ffff88001811f380
         ffff88002ce6dd50 ffffffff814757e4 ffff88002ce6dda0 ffffffff8106ac56
        Call Trace:
         cachefiles_lookup_object+0x78/0xd4 [cachefiles]
         fscache_lookup_object+0x131/0x16d [fscache]
         fscache_object_work_func+0x1bc/0x669 [fscache]
         process_one_work+0x186/0x298
         worker_thread+0xda/0x15d
         kthread+0x84/0x8c
         kernel_thread_helper+0x4/0x10
        RIP  cachefiles_walk_to_object+0x436/0x745 [cachefiles]
        ---[ end trace 1d481c9af1804caa ]---
      
      I tested the uncaching by the following means:
      
       (1) Create a big file on my NFS server (104857600 bytes).
      
       (2) Read the file into the cache with md5sum on the NFS client.  Look in
           /proc/fs/fscache/stats:
      
      	Pages  : mrk=25601 unc=0
      
       (3) Open the file for read/write ("bash 5<>/warthog/bigfile").  Look in proc
           again:
      
      	Pages  : mrk=25601 unc=25601
      Reported-by: NJeff Layton <jlayton@redhat.com>
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Reviewed-and-Tested-by: NSuresh Jayaraman <sjayaraman@suse.de>
      cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c902ce1b
    • L
      Merge branch 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen · 075d9db1
      Linus Torvalds 提交于
      * 'stable/bug.fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/pci: Move check for acpi_sci_override_gsi to xen_setup_acpi_sci.
      075d9db1
    • L
      Merge branch 'x86-urgent-for-linus' of... · e55f1b1c
      Linus Torvalds 提交于
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        x86: Don't use the EFI reboot method by default
        x86, suspend: Restore MISC_ENABLE MSR in realmode wakeup
        x86, reboot: Acer Aspire One A110 reboot quirk
        x86-32, NUMA: Fix boot regression caused by NUMA init unification on highmem machines
      e55f1b1c
    • L
      Merge branches 'core-urgent-for-linus', 'perf-urgent-for-linus' and... · 27a3b735
      Linus Torvalds 提交于
      Merge branches 'core-urgent-for-linus', 'perf-urgent-for-linus' and 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        debugobjects: Fix boot crash when kmemleak and debugobjects enabled
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        jump_label: Fix jump_label update for modules
        oprofile, x86: Fix race in nmi handler while starting counters
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
        sched: Disable (revert) SCHED_LOAD_SCALE increase
        sched, cgroups: Fix MIN_SHARES on 64-bit boxen
      27a3b735
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 85746e42
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (31 commits)
        sctp: fix missing send up SCTP_SENDER_DRY_EVENT when subscribe it
        net: refine {udp|tcp|sctp}_mem limits
        vmxnet3: round down # of queues to power of two
        net: sh_eth: fix the parameter for the ETHER of SH7757
        net: sh_eth: fix cannot work half-duplex mode
        net: vlan: enable soft features regardless of underlying device
        vmxnet3: fix starving rx ring whenoc_skb kb fails
        bridge: Always flood broadcast packets
        greth: greth_set_mac_add would corrupt the MAC address.
        net: bind() fix error return on wrong address family
        natsemi: silence dma-debug warnings
        net: 8139too: Initial necessary vlan_features to support vlan
        Fix call trace when interrupts are disabled while sleeping function kzalloc is called
        qlge:Version change to v1.00.00.29
        qlge: Fix printk priority so chip fatal errors are always reported.
        qlge:Fix crash caused by mailbox execution on wedged chip.
        xfrm4: Don't call icmp_send on local error
        ipv4: Don't use ufo handling on later transformed packets
        xfrm: Remove family arg from xfrm_bundle_ok
        ipv6: Don't put artificial limit on routing table size.
        ...
      85746e42
    • J
      mac80211: fix TKIP replay vulnerability · 34459512
      Johannes Berg 提交于
      Unlike CCMP, the presence or absence of the QoS
      field doesn't change the encryption, only the
      TID is used. When no QoS field is present, zero
      is used as the TID value. This means that it is
      possible for an attacker to take a QoS packet
      with TID 0 and replay it as a non-QoS packet.
      
      Unfortunately, mac80211 uses different IVs for
      checking the validity of the packet's TKIP IV
      when it checks TID 0 and when it checks non-QoS
      packets. This means it is vulnerable to this
      replay attack.
      
      To fix this, use the same replay counter for
      TID 0 and non-QoS packets by overriding the
      rx->queue value to 0 if it is 16 (non-QoS).
      
      This is a minimal fix for now. I caused this
      issue in
      
      commit 1411f9b5
      Author: Johannes Berg <johannes@sipsolutions.net>
      Date:   Thu Jul 10 10:11:02 2008 +0200
      
          mac80211: fix RX sequence number check
      
      while fixing a sequence number issue (there,
      a separate counter needs to be used).
      
      Cc: stable@kernel.org
      Signed-off-by: NJohannes Berg <johannes.berg@intel.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      34459512
    • L
      mac80211: fix ie memory allocation for scheduled scans · 1186980d
      Luciano Coelho 提交于
      We were not allocating memory for the IEs passed in the scheduled_scan
      request and this was causing memory corruption (buffer overflow).
      Signed-off-by: NLuciano Coelho <coelho@ti.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      1186980d
    • R
      ssb: fix init regression of hostmode PCI core · 6ae8ec27
      Rafał Miłecki 提交于
      Our workarounds seem to be clientmode PCI specific. Using SPROM
      workaround on SoC resulted in Oops:
      
      Data bus error, epc == 8017ed58, ra == 80225838
       Oops[#1]:
       Cpu 0
       $ 0   : 00000000 10008000 b8000000 00000001
       $ 4   : 80293b5c 00000caa ffffffff 00000000
       $ 8   : 0000000a 00000003 00000001 696d6d20
       $12   : ffffffff 00000000 00000000 ffffffff
       $16   : 802d0140 b8004800 802c0000 00000000
       $20   : 00000000 802c0000 00000000 802d04d4
       $24   : 00000018 80151a00
       $28   : 81816000 81817df8 8029bda0 80225838
       Hi    : 00000000
       Lo    : 00000000
       epc   : 8017ed58 ssb_ssb_read16+0x48/0x60
         Not tainted
       ra    : 80225838 ssb_pcicore_init+0x54/0x3b4
      Reported-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NRafał Miłecki <zajec5@gmail.com>
      Tested-by: NHauke Mehrtens <hauke@hauke-m.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      6ae8ec27
    • K
      xen/pci: Move check for acpi_sci_override_gsi to xen_setup_acpi_sci. · ee339fe6
      Konrad Rzeszutek Wilk 提交于
      Previously we would check for acpi_sci_override_gsi == gsi every time
      a PCI device was enabled. That works during early bootup, but later
      on it could lead to triggering unnecessarily the acpi_gsi_to_irq(..) lookup.
      The reason is that acpi_sci_override_gsi was declared in __initdata and
      after early bootup could contain bogus values.
      
      This patch moves the check for acpi_sci_override_gsi to the
      site where the ACPI SCI is preset.
      
      CC: stable@kernel.org
      Reported-by: NRaghavendra D Prabhu <rprabhu@wnohang.net>
      Tested-by: NRaghavendra D Prabhu <rprabhu@wnohang.net>
      [http://lists.xensource.com/archives/html/xen-devel/2011-07/msg00154.html]
      Suggested-by: NIan Campbell <ijc@hellion.org.uk>
      Signed-off-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      ee339fe6
  3. 07 7月, 2011 14 次提交
  4. 06 7月, 2011 7 次提交