1. 06 2月, 2008 6 次提交
    • M
      mac80211: Is not EXPERIMENTAL anymore · 03ac7a81
      Michael Buesch 提交于
      Remove the EXPERIMENTAL dependency, as the existing mac80211
      features are stable.
      Signed-off-by: NMichael Buesch <mb@bu3sch.de>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      03ac7a81
    • A
      iwl3945-base.c: fix off-by-one errors · 221c80cf
      Adrian Bunk 提交于
      This patch fixes two off-by-one errors resulting in array overflows
      spotted by the Coverity checker.
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      221c80cf
    • S
      b43legacy: fix DMA slot resource leakage · 8dd0100c
      Stefano Brivio 提交于
      This fixes four resource leakages.
      In any error path we must deallocate the DMA frame slots we
      previously allocated by request_slot().
      This is done by storing the ring pointers before doing any ring
      allocation and restoring the old pointers in case of an error.
      
      This patch by Michael Buesch has been ported to b43legacy.
      
      Cc: Michael Buesch <mb@bu3sch.de>
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      8dd0100c
    • S
      b43legacy: drop packets we are not able to encrypt · 9eca9a8e
      Stefano Brivio 提交于
      We must drop any packets we are not able to encrypt.
      We must not send them unencrypted or with an all-zero-key (which
      basically is the same as unencrypted, from a security point of view).
      
      This might only trigger shortly after resume before mac80211 reassociated
      and reconfigured the keys.
      
      It is safe to drop these packets, as the association they belong to
      is not guaranteed anymore anyway.
      This is a security fix in the sense that it prevents information leakage.
      
      This patch by Michael Buesch has been ported to b43legacy.
      
      Cc: Michael Buesch <mb@bu3sch.de>
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      9eca9a8e
    • S
      b43legacy: fix suspend/resume · ada50731
      Stefano Brivio 提交于
      This patch makes suspend/resume work with the b43legacy driver.
      We must not overwrite the MAC addresses in the init function, as this
      would also overwrite the MAC on resume. With an all-zero MAC the device
      firmware is not able to ACK any received packets anymore.
      Fix this by moving the initializion stuff that must be done on init but
      not on resume to the start function.
      Also zero out filter_flags to make sure we don't have some flags
      from a previous instance for a tiny timeframe until mac80211 reconfigures
      them.
      
      This patch by Michael Buesch has been ported to b43legacy.
      
      Cc: Michael Buesch <mb@bu3sch.de>
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      ada50731
    • S
      b43legacy: fix PIO crash · 0cd67d48
      Stefano Brivio 提交于
      Fix the crash reported below, which seems to happen on bcm4306 rev. 2 devices
      only while using PIO:
      
      Oops: 0000 [#1] PREEMPT
      Modules linked in: b43(F) rfkill(F) led_class(F) input_polldev(F) arc4 b43legacy mac80211 cfg80211 i915 drm snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device ohci1394 ieee1394 ssb pcmcia snd_intel8x0m ehci_hcd uhci_hcd evdev
      
      Pid: 0, comm: swapper Tainted: GF	(2.6.24st3 #2)
      EIP: 0060:[<f90f667b>] EFLAGS: 00010002 CPU: 0
      EIP is at b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy]
      EAX: 0000049b EBX: f11f8044 ECX: 00000001 EDX: 00000000
      ESI: f1ff8000 EDI: 00000000 EBP: f11f8040 ESP: c04f4ef4
       DS: 007b ES: 007b FS: 0000 GS: 0000 SS: 0068
      Process swapper (pid: 0, ti=c04f4000 task=c0488300 task.ti=c04b8000)
      Stack: f90f2788 c05009f0 c0500900 000010f7 f1053823 c04f4f24 dfb8e800 00000003
             f1368000 00000007 00000296 f90f1975 00001000 010c0800 01000000 00000007
             f90f6391 f11f8000 00000082 c04f4f4a 00000000 00004fd0 10f70000 8c061000
      Call Trace:
       [<f90f2788>] b43legacy_debugfs_log_txstat+0x48/0xb0 [b43legacy]
       [<f90f1975>] b43legacy_handle_hwtxstatus+0x75/0x80 [b43legacy]
       [<f90f6391>] b43legacy_pio_rx+0x201/0x280 [b43legacy]
       [<f90e4fa3>] b43legacy_interrupt_tasklet+0x2e3/0x870 [b43legacy]
       [<c0123567>] tasklet_action+0x27/0x60
       [<c01237b4>] __do_softirq+0x54/0xb0
       [<c010686b>] do_softirq+0x7b/0xe0
       [<c01457c0>] handle_level_irq+0x0/0x110
       [<c01457c0>] handle_level_irq+0x0/0x110
       [<c0123758>] irq_exit+0x38/0x40
       [<c0106953>] do_IRQ+0x83/0xd0
       [<c011812f>] __update_rq_clock+0x4f/0x180
       [<c0104b4f>] common_interrupt+0x23/0x28
       [<c011007b>] wakeup_code+0x7b/0xde
       [<c02b1039>] acpi_processor_idle+0x24a/0x3c9
       [<c01025c7>] cpu_idle+0x47/0x80
       [<c04b9ad5>] start_kernel+0x205/0x290
       [<c04b9360>] unknown_bootoption+0x0/0x1f0
       =======================
      Code: 0f 00 00 81 fb ff 00 00 00 0f 87 36 01 00 00 8d 04 db 85 ff 8d 6c c6 40 8d 5d 04 0f 85 ef 00 00 00 fe 4e 0e 0f b7 46 0c 8b 53 04 <8b> 4a 50 29 c8 83 e8 52 66 89 46 0c 8b 54 24 14 80 7a 0b 00 74
      EIP: [<f90f667b>] b43legacy_pio_handle_txstatus+0xbb/0x210 [b43legacy] SS:ESP 0068:c04f4ef4
      Kernel panic - not syncing: Fatal exception in interrupt
      Signed-off-by: NStefano Brivio <stefano.brivio@polimi.it>
      Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
      0cd67d48
  2. 05 2月, 2008 25 次提交
  3. 04 2月, 2008 9 次提交
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial · f5bb3a5e
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)
        Jesper Juhl is the new trivial patches maintainer
        Documentation: mention email-clients.txt in SubmittingPatches
        fs/binfmt_elf.c: spello fix
        do_invalidatepage() comment typo fix
        Documentation/filesystems/porting fixes
        typo fixes in net/core/net_namespace.c
        typo fix in net/rfkill/rfkill.c
        typo fixes in net/sctp/sm_statefuns.c
        lib/: Spelling fixes
        kernel/: Spelling fixes
        include/scsi/: Spelling fixes
        include/linux/: Spelling fixes
        include/asm-m68knommu/: Spelling fixes
        include/asm-frv/: Spelling fixes
        fs/: Spelling fixes
        drivers/watchdog/: Spelling fixes
        drivers/video/: Spelling fixes
        drivers/ssb/: Spelling fixes
        drivers/serial/: Spelling fixes
        drivers/scsi/: Spelling fixes
        ...
      f5bb3a5e
    • L
      Merge branch 'locks' of git://linux-nfs.org/~bfields/linux · 9853832c
      Linus Torvalds 提交于
      * 'locks' of git://linux-nfs.org/~bfields/linux:
        pid-namespaces-vs-locks-interaction
        file locks: Use wait_event_interruptible_timeout()
        locks: clarify posix_locks_deadlock
      9853832c
    • H
      kbuild: Fix instrumentation removal breakage on avr32 · b21761ff
      Haavard Skinnemoen 提交于
      AVR32 still includes Kconfig.instrumentation, so it won't build after
      this...
      Signed-off-by: NHaavard Skinnemoen <hskinnemoen@atmel.com>
      Acked-by: NMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      b21761ff
    • L
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild · 519cb688
      Linus Torvalds 提交于
      * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
        scsi: fix dependency bug in aic7 Makefile
        kbuild: add svn revision information to setlocalversion
        kbuild: do not warn about __*init/__*exit symbols being exported
        Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
        Add HAVE_KPROBES
        Add HAVE_OPROFILE
        Create arch/Kconfig
        Fix ARM to play nicely with generic Instrumentation menu
        kconfig: ignore select of unknown symbol
        kconfig: mark config as changed when loading an alternate config
        kbuild: Spelling/grammar fixes for config DEBUG_SECTION_MISMATCH
        Remove __INIT_REFOK and __INITDATA_REFOK
        kbuild: print only total number of section mismatces found
      519cb688
    • N
      vm audit: add VM_DONTEXPAND to mmap for drivers that need it · 2f98735c
      Nick Piggin 提交于
      Drivers that register a ->fault handler, but do not range-check the
      offset argument, must set VM_DONTEXPAND in the vm_flags in order to
      prevent an expanding mremap from overflowing the resource.
      
      I've audited the tree and attempted to fix these problems (usually by
      adding VM_DONTEXPAND where it is not obvious).
      Signed-off-by: NNick Piggin <npiggin@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2f98735c
    • G
      ADB: Add missing #include <linux/platform_device.h> · fe2528b9
      Geert Uytterhoeven 提交于
      Commit c9f6d3d5 ("[POWERPC] adb: Replace
      sleep notifier with platform driver suspend/resume hooks") introduced
      compile errors on m68k because <linux/platform_device.h> is not
      explicitly included.  On powerpc, it's pulled in through <asm/prom.h>.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      fe2528b9
    • A
      x86: fix RTC lockdep warning: potential hardirq recursion · 795d45b2
      Andrew Morton 提交于
      After disabling both CONFIG_DEBUG_LOCKING_API_SELFTESTS and netconsole
      (using current mainline) I get a login prompt, and also...
      
      [    5.181668] SELinux: policy loaded with handle_unknown=deny
      [    5.183315] type=1403 audit(1202100038.157:3): policy loaded auid=4294967295 ses=4294967295
      [    5.822073] SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
      [    7.819146] ------------[ cut here ]------------
      [    7.819146] WARNING: at kernel/lockdep.c:2033 trace_hardirqs_on+0x9b/0x10d()
      [    7.819146] Modules linked in: generic ext3 jbd ide_disk ide_core
      [    7.819146] Pid: 399, comm: hwclock Not tainted 2.6.24 #4
      [    7.819146]  [<c011d140>] warn_on_slowpath+0x41/0x51
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c013770c>] ? check_usage_forwards+0x19/0x3b
      [    7.819146]  [<c01390c4>] ? __lock_acquire+0xac3/0xb0b
      [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c030ca6c>] ? _spin_unlock_irq+0x22/0x42
      [    7.819146]  [<c013848b>] trace_hardirqs_on+0x9b/0x10d
      [    7.819146]  [<c030ca6c>] _spin_unlock_irq+0x22/0x42
      [    7.819146]  [<c011481e>] hpet_rtc_interrupt+0xdf/0x290
      [    7.819146]  [<c014ea90>] handle_IRQ_event+0x1a/0x46
      [    7.819146]  [<c014f8ea>] handle_edge_irq+0xbe/0xff
      [    7.819146]  [<c0106e08>] do_IRQ+0x6d/0x84
      [    7.819146]  [<c0105596>] common_interrupt+0x2e/0x34
      [    7.819146]  [<c013007b>] ? ktime_get_ts+0x8/0x3f
      [    7.819146]  [<c0139420>] ? lock_release+0x167/0x16f
      [    7.819146]  [<c017974a>] ? core_sys_select+0x2c/0x327
      [    7.819146]  [<c0179792>] core_sys_select+0x74/0x327
      [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c030ca6c>] ? _spin_unlock_irq+0x22/0x42
      [    7.819146]  [<c01384d6>] ? trace_hardirqs_on+0xe6/0x10d
      [    7.819146]  [<c030ca77>] ? _spin_unlock_irq+0x2d/0x42
      [    7.819146]  [<c023b437>] ? rtc_do_ioctl+0x11b/0x677
      [    7.819146]  [<c01c487e>] ? inode_has_perm+0x5e/0x68
      [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
      [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
      [    7.819146]  [<c01c490b>] ? file_has_perm+0x83/0x8c
      [    7.819146]  [<c023ba08>] ? rtc_ioctl+0xf/0x11
      [    7.819146]  [<c017898d>] ? do_ioctl+0x55/0x67
      [    7.819146]  [<c0179d15>] sys_select+0x93/0x163
      [    7.819146]  [<c0104b39>] ? sysenter_past_esp+0x9a/0xa5
      [    7.819146]  [<c0104afe>] sysenter_past_esp+0x5f/0xa5
      [    7.819146]  =======================
      [    7.819146] ---[ end trace 96540ca301ffb84c ]---
      [    7.819210] rtc: lost 6 interrupts
      [    7.870668] type=1400 audit(1202128840.794:4): avc:  denied  { audit_write } for  pid=399 comm="hwclock" capability=29 scontext=system_u:system_r:hwclock_t:s0 tcontext=system_u:system_r:hwclock_t:s0 tclass=capability
      [    9.538866] input: PC Speaker as /class/input/input5
      
      Because hpet_rtc_interrupt()'s call to get_rtc_time() ends up
      resolving to include/asm-generic/rtc.h's (hilariously inlined)
      get_rtc_time(), which does spin_unlock_irq() from hard IRQ context.
      
      The obvious patch fixes it.
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      795d45b2
    • T
      x86: cpa, micro-optimization · 7b610eec
      Thomas Gleixner 提交于
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      7b610eec
    • I
      x86: cpa, clean up code flow · 87f7f8fe
      Ingo Molnar 提交于
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      87f7f8fe