1. 27 2月, 2009 1 次提交
  2. 25 2月, 2009 4 次提交
  3. 24 2月, 2009 15 次提交
    • J
      netfilter: xt_recent: fix proc-file addition/removal of IPv4 addresses · 325fb5b4
      Josef Drexler 提交于
      Fix regression introduded by commit 079aa88f (netfilter: xt_recent: IPv6 support):
      
      From http://bugzilla.kernel.org/show_bug.cgi?id=12753:
      
      Problem Description:
      An uninitialized buffer causes IPv4 addresses added manually (via the +IP
      command to the proc interface) to never match any packets. Similarly, the -IP
      command fails to remove IPv4 addresses.
      
      Details:
      In the function recent_entry_lookup, the xt_recent module does comparisons of
      the entire nf_inet_addr union value, both for IPv4 and IPv6 addresses. For
      addresses initialized from actual packets the remaining 12 bytes not occupied
      by the IPv4 are zeroed so this works correctly. However when setting the
      nf_inet_addr addr variable in the recent_mt_proc_write function, only the IPv4
      bytes are initialized and the remaining 12 bytes contain garbage.
      
      Hence addresses added in this way never match any packets, unless these
      uninitialized 12 bytes happened to be zero by coincidence. Similarly, addresses
      cannot consistently be removed using the proc interface due to mismatch of the
      garbage bytes (although it will sometimes work to remove an address that was
      added manually).
      
      Reading the /proc/net/xt_recent/ entries hides this problem because this only
      uses the first 4 bytes when displaying IPv4 addresses.
      
      Steps to reproduce:
      $ iptables -I INPUT -m recent --rcheck -j LOG
      $ echo +169.254.156.239 > /proc/net/xt_recent/DEFAULT
      $ cat /proc/net/xt_recent/DEFAULT
      src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910
      
      [At this point no packets from 169.254.156.239 are being logged.]
      
      $ iptables -I INPUT -s 169.254.156.239 -m recent --set
      $ cat /proc/net/xt_recent/DEFAULT
      src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910
      src=169.254.156.239 ttl: 255 last_seen: 126184 oldest_pkt: 4 125434, 125684, 125934, 126184
      
      [At this point, adding the address via an iptables rule, packets are being
      logged correctly.]
      
      $ echo -169.254.156.239 > /proc/net/xt_recent/DEFAULT
      $ cat /proc/net/xt_recent/DEFAULT
      src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910
      src=169.254.156.239 ttl: 255 last_seen: 126992 oldest_pkt: 10 125434, 125684, 125934, 126184, 126434, 126684, 126934, 126991, 126991, 126992
      $ echo -169.254.156.239 > /proc/net/xt_recent/DEFAULT
      $ cat /proc/net/xt_recent/DEFAULT
      src=169.254.156.239 ttl: 0 last_seen: 119910 oldest_pkt: 1 119910
      src=169.254.156.239 ttl: 255 last_seen: 126992 oldest_pkt: 10 125434, 125684, 125934, 126184, 126434, 126684, 126934, 126991, 126991, 126992
      
      [Removing the address via /proc interface failed evidently.]
      
      Possible solutions:
      - initialize the addr variable in recent_mt_proc_write
      - compare only 4 bytes for IPv4 addresses in recent_entry_lookup
      Signed-off-by: NPatrick McHardy <kaber@trash.net>
      325fb5b4
    • D
      467388f2
    • D
      netxen: handle pci bar 0 mapping failure · 028e1415
      Dhananjay Phadke 提交于
      PCI bar 0 is used for memory mapped register access.
      If ioremap fails (returns NULL), register access results
      in crash.
      
      Use pci_ioremap_bar() instead of ioremap(), the latter
      fails on on 32 bit powerpc where pci resource address is
      > 32 bits.
      Signed-off-by: NDhananjay Phadke <dhananjay@netxen.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      028e1415
    • D
      netxen: fix physical port mapping · 044fad0d
      Dhananjay Phadke 提交于
      The PCI function to physical port mapping is valid only for
      old firmware. New firmware (4.0.0+) abstracts this.
      So driver should never try to access phy using invalid
      mapping. The behavior is unpredictable when PCI functions
      4-7 are enabled on the same NIC.
      Signed-off-by: NDhananjay Phadke <dhananjay@netxen.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      044fad0d
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · f7e603ad
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        net: amend the fix for SO_BSDCOMPAT gsopt infoleak
        netns: build fix for net_alloc_generic
      f7e603ad
    • K
      proc: proc_get_inode should de_put when inode already initialized · cac71121
      Krzysztof Sachanowicz 提交于
      de_get is called before every proc_get_inode, but corresponding de_put is
      called only when dropping last reference to an inode. This might cause
      something like
      remove_proc_entry: /proc/stats busy, count=14496
      to be printed to the syslog.
      
      The fix is to call de_put in case of an already initialized inode in
      proc_get_inode.
      Signed-off-by: NKrzysztof Sachanowicz <analyzer1@gmail.com>
      Tested-by: NMarcin Pilipczuk <marcin.pilipczuk@gmail.com>
      Acked-by: NAl Viro <viro@ZenIV.linux.org.uk>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      cac71121
    • J
      i915: suspend/resume interrupt state · 226485e9
      Jesse Barnes 提交于
      In the KMS case, enter/leavevt won't fix up the interrupt handler for
      us, so we need to do it at suspend/resume time.  Make sure we don't fail
      the resume if the chip is hung either.
      Signed-off-by: NJesse Barnes <jbarnes@virtuousgeek.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      226485e9
    • K
      Fix an oops in i915_gem_retire_requests() · 6c0594a3
      Karsten Wiese 提交于
      dev_priv->hw_status_page can be NULL, if i915_gem_retire_requests()
      is called from i915_gem_busy_ioctl().
      
      Signed-off-by Karsten Wiese <fzu@wemgehoertderstaat.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      6c0594a3
    • E
      net: amend the fix for SO_BSDCOMPAT gsopt infoleak · 50fee1de
      Eugene Teo 提交于
      The fix for CVE-2009-0676 (upstream commit df0bca04) is incomplete. Note
      that the same problem of leaking kernel memory will reappear if someone
      on some architecture uses struct timeval with some internal padding (for
      example tv_sec 64-bit and tv_usec 32-bit) --- then, you are going to
      leak the padded bytes to userspace.
      Signed-off-by: NEugene Teo <eugeneteo@kernel.sg>
      Reported-by: NMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      50fee1de
    • C
      netns: build fix for net_alloc_generic · ebe47d47
      Clemens Noss 提交于
      net_alloc_generic was defined in #ifdef CONFIG_NET_NS, but used
      unconditionally. Move net_alloc_generic out of #ifdef.
      Signed-off-by: NClemens Noss <cnoss@gmx.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ebe47d47
    • L
      ea5a42c2
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · d38e84ee
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
        netns: fix double free at netns creation
        veth : add the set_mac_address capability
        sunlance: Beyond ARRAY_SIZE of ib->btx_ring
        sungem: another error printed one too early
        ISDN: fix sc/shmem printk format warning
        SMSC: timeout reaches -1
        smsc9420: handle magic field of ethtool_eeprom
        sundance: missing parentheses?
        smsc9420: fix another postfixed timeout
        wimax/i2400m: driver loads firmware v1.4 instead of v1.3
        vlan: Update skb->mac_header in __vlan_put_tag().
        cxgb3: Add support for PCI ID 0x35.
        tcp: remove obsoleted comment about different passes
        TG3: &&/|| confusion
        ATM: misplaced parentheses?
        net/mv643xx: don't disable the mib timer too early and lock properly
        net/mv643xx: use GFP_ATOMIC while atomic
        atl1c: Atheros L1C Gigabit Ethernet driver
        net: Kill skb_truesize_check(), it only catches false-positives.
        net: forcedeth: Fix wake-on-lan regression
      d38e84ee
    • L
      rtl8187: New USB ID's for RTL8187L · 046ee5d2
      Larry Finger 提交于
      Add new USB ID codes. These come from two postings on forums and
      mailing lists, and four are derived from the .inf that accompanies
      the latest Realtek Windows driver for the RTL8187L.
      
      Thanks to Viktor Ilijašić <viktor.ilijasic@gmail.com> and Xose Vazquez
      Perez <xose.vazquez@gmail.com> for reporting these new ID's.
      Signed-off-by: NLarry Finger <Larry.Finger@lwfinger.net>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      046ee5d2
    • V
      ath9k: Fix panic upon attach failure · 40b130a9
      Vasanthakumar Thiagarajan 提交于
      [246916.338046]
      [246916.338048] Pid: 29265, comm: insmod Not tainted (2.6.29-rc4-wl #64) 9461DUU
      [246916.338051] EIP: 0060:[<c02ca274>] EFLAGS: 00010202 CPU: 0
      [246916.338055] EIP is at rollback_registered+0x24/0x220
      [246916.338057] EAX: 00000001 EBX: 00000000 ECX: 00000000 EDX: f122e8fc
      [246916.338059] ESI: 00000000 EDI: 00000000 EBP: f6595d30 ESP: f6595d1c
      [246916.338062]  DS: 007b ES: 007b FS: 00d8 GS: 0033 SS: 0068
      [246916.338064] Process insmod (pid: 29265, ti=f6594000 task=f7343fe0 task.ti=f6594000)
      [246916.338067] Stack:
      [246916.338068]  c04a2920 22222222 f6595d48 00000000 f122f080 f6595d48 c02ca489 f122e8fc
      [246916.338076]  f122e220 f122f080 f122e220 f6595d5c f8a03156 f122e220 f122f080 f122e220
      [246916.338085]  f6595d80 f87359af f122f080 00002000 f874e129 f122f150 f122f080 f6290000
      [246916.338094] Call Trace:
      [246916.338096]  [<c02ca489>] ? unregister_netdevice+0x19/0x70
      [246916.338100]  [<f8a03156>] ? ieee80211_unregister_hw+0x36/0xd0 [mac80211]
      [246916.338112]  [<f87359af>] ? ath_detach+0xcf/0x250 [ath9k]
      [246916.338127]  [<f8735d9c>] ? ath_attach+0x26c/0x740 [ath9k]
      [246916.338139]  [<f873c33a>] ? ath_pci_probe+0x13a/0x310 [ath9k]
      [246916.338151]  [<c0233e28>] ? _raw_spin_unlock+0x68/0x80
      [246916.338158]  [<c023ab8e>] ? local_pci_probe+0xe/0x10
      [246916.338162]  [<c023b8e0>] ? pci_device_probe+0x60/0x80
      [246916.338169]  [<c029e042>] ? driver_probe_device+0x82/0x1b0
      [246916.338174]  [<c029e1f9>] ? __driver_attach+0x89/0x90
      [246916.338180]  [<c029d97b>] ? bus_for_each_dev+0x4b/0x70
      [246916.338184]  [<c023b820>] ? pci_device_remove+0x0/0x40
      [246916.338190]  [<c029ded9>] ? driver_attach+0x19/0x20
      [246916.338193]  [<c029e170>] ? __driver_attach+0x0/0x90
      [246916.338197]  [<c029d317>] ? bus_add_driver+0x1b7/0x230
      [246916.338203]  [<c023b820>] ? pci_device_remove+0x0/0x40
      [246916.338206]  [<c029e399>] ? driver_register+0x69/0x140
      [246916.338212]  [<f859d000>] ? ath9k_init+0x0/0x54 [ath9k]
      [246916.338221]  [<c023bb4e>] ? __pci_register_driver+0x4e/0x90
      [246916.338225]  [<f859d000>] ? ath9k_init+0x0/0x54 [ath9k]
      [246916.338232]  [<f859d06b>] ? ath_pci_init+0x17/0x19 [ath9k]
      [246916.338238]  [<f859d017>] ? ath9k_init+0x17/0x54 [ath9k]
      [246916.338245]  [<c017148e>] ? tracepoint_update_probe_range+0x7e/0xb0
      [246916.338249]  [<c010111a>] ? do_one_initcall+0x2a/0x170
      [246916.338252]  [<c0149f26>] ? up_read+0x16/0x30
      [246916.338256]  [<c014aa9d>] ? __blocking_notifier_call_chain+0x4d/0x60
      [246916.338265]  [<c0162b1a>] ? sys_init_module+0x8a/0x1c0
      [246916.338269]  [<c022f888>] ? trace_hardirqs_on_thunk+0xc/0x10
      [246916.338272]  [<c0103ebf>] ? sysenter_do_call+0x12/0x43
      [246916.338276] Code: 8d bc 27 00 00 00 00 55 89 e5 56 89 c6 53 83 ec 0c a1 74 27 4a c0 85 c0 0f 85 4b 01 00 00 e8 04 7d 00 00 85 c0 0f 84 c9 01 00 00 <8b> 86 18 03 00 00 85 c0 0f 84 86 01 00 00 83 e8 01 0f 85 71 01
      [246916.338328] EIP: [<c02ca274>] rollback_registered+0x24/0x220 SS:ESP 0068:f6595d1c
      [246916.338335] ---[ end trace 76357c56a75ea34e ]---
      Signed-off-by: NVasanthakumar Thiagarajan <vasanth@atheros.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      40b130a9
    • A
      orinoco: do not resgister NULL pm_notifier function · 5c138dce
      Andrey Borzenkov 提交于
      With DEBUG_NOTIFIERS it results in
      
      [11330.890966] WARNING: at /home/bor/src/linux-git/kernel/notifier.c:88
      notifier_call_chain+0x91/0xa0()
      [11330.890977] Hardware name: PORTEGE 4000
      [11330.890983] Invalid notifier called! ...
      
      Without DEBUG_NOTIFIERS it most likely crashes on NULL pointer.
      Signed-off-by: NAndrey Borzenkov <arvidjaar@mail.ru>
      Acked-by: NDavid Kilroy <kilroyd@googlemail.com>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      5c138dce
  4. 23 2月, 2009 20 次提交