Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Oct 22, 2008
  1. @gregkh

    Linux 2.6.27.3

    gregkh authored
  2. @fenrus75 @gregkh

    security: avoid calling a NULL function pointer in drivers/video/tvau…

    fenrus75 authored gregkh committed
    …dio.c
    
    commit 5ba2f67 upstream
    
    NULL function pointers are very bad security wise. This one got caught by
    kerneloops.org quite a few times, so it's happening in the field....
    
    Fix is simple, check the function pointer for NULL, like 6 other places
    in the same function are already doing.
    
    Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  3. @mkrufky @gregkh

    DVB: sms1xxx: support two new revisions of the Hauppauge WinTV MiniStick

    mkrufky authored gregkh committed
    (cherry picked from commit 3dfbe31)
    
    DVB: sms1xxx: support two new revisions of the Hauppauge WinTV MiniStick
    
    Autodetect 2040:5520 and 2040:5530 as Hauppauge WinTV MiniStick
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  4. @mkrufky @gregkh

    DVB: au0828: add support for another USB id for Hauppauge HVR950Q

    mkrufky authored gregkh committed
    (cherry picked from commit a636da6)
    
    DVB: au0828: add support for another USB id for Hauppauge HVR950Q
    
    Add autodetection support for a new revision of the Hauppauge HVR950Q (2040:721e)
    
    Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
    Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  5. @gregkh

    drm/i915: fix ioremap of a user address for non-root (CVE-2008-3831)

    Matthias Hopf authored gregkh committed
    commit 4b40893 upstream
    
    Olaf Kirch noticed that the i915_set_status_page() function of the i915
    kernel driver calls ioremap with an address offset that is supplied by
    userspace via ioctl. The function zeroes the mapped memory via memset
    and tells the hardware about the address. Turns out that access to that
    ioctl is not restricted to root so users could probably exploit that to
    do nasty things. We haven't tried to write actual exploit code though.
    
    It only affects the Intel G33 series and newer.
    
    Signed-off-by: Dave Airlie <airlied@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  6. @gregkh

    usb: musb_hdrc build fixes

    David Brownell authored gregkh committed
    commit c767c1c upstream
    
    Minor musb_hdrc updates:
    
      - so it'll build on DaVinci, given relevant platform updates;
          * remove support for an un-shipped OTG prototype
          * rely on gpiolib framework conversion for the I2C GPIOs
          * the <asm/arch/hdrc_cnf.h> mechanism has been removed
    
      - catch comments up to the recent removal of the per-SOC header
        with the silicon configuration data;
    
      - and remove two inappropriate "inline" declarations which
        just bloat host side code.
    
    There are still some more <asm/arch/XYZ.h> ==> <mach/XYZ.h>
    changes needed in this driver, catching up to the relocation
    of most of the include/asm-arm/arch-* contents.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Felipe Balbi <felipe.balbi@nokia.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  7. @gregkh

    usb gadget: cdc ethernet notification bugfix

    David Brownell authored gregkh committed
    commit 29bac7b upstream
    
    Bugfix for the new CDC Ethernet code:  as part of activating the
    network interface's USB link, make sure its link management code
    knows whether the interface is open or not.
    
    Without this fix, the link won't work right when it's brought up
    before the link is active ... because the initial notification it
    sends will have the wrong link state (down, not up).  Makes it
    hard to bridge these links (on the host side), among other things.
    
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  8. @gregkh

    USB: EHCI: log a warning if ehci-hcd is not loaded first

    Alan Stern authored gregkh committed
    commit 9beeee6 upstream
    
    This patch (as1139) adds a warning to the system log whenever ehci-hcd
    is loaded after ohci-hcd or uhci-hcd.  Nowadays most distributions are
    pretty good about not doing this; maybe the warning will help convince
    anyone still doing it wrong.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  9. @jekhor @gregkh

    USB: Fix s3c2410_udc usb speed handling

    jekhor authored gregkh committed
    commit f9e9cff upstream
    
    The new composite framework revealed a weakness in the
    s3c2410_udc driver gadget register function. Instead of
    checking if speed asked for was USB_LOW_SPEED upon
    usb_gadget_register() to deny service, it checked only
    for USB_FULL_SPEED, thus denying service to usb high
    speed capable gadgets (like g_ether).
    
    Signed-off-by: Yauhen Kharuzhy <jekhor@gmail.com>
    Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  10. @gregkh

    USB: OHCI: fix endless polling behavior

    Alan Stern authored gregkh committed
    commit 71b7497 upstream
    
    This patch (as1149) fixes an obscure problem in OHCI polling.  In the
    current code, if the RHSC interrupt status flag turns on at a time
    when RHSC interrupts are disabled, it will remain on forever:
    
    	The interrupt handler is the only place where RHSC status
    	gets turned back off;
    
    	The interrupt handler won't turn RHSC status off because it
    	doesn't turn off status flags if the corresponding interrupt
    	isn't enabled;
    
    	RHSC interrupts will never get enabled because
    	ohci_root_hub_state_changes() doesn't reenable RHSC if RHSC
    	status is on!
    
    As a result we will continue polling indefinitely instead of reverting
    to interrupt-driven operation, and the root hub will not autosuspend.
    This particular sequence of events is not at all unusual; in fact
    plugging a USB device into an OHCI controller will usually cause it to
    occur.
    
    Of course, this is a bug.  The proper thing to do is to turn off RHSC
    status just before reading the actual port status values.  That way
    either a port status change will be detected (if it occurs before the
    status read) or it will turn RHSC back on.  Possibly both, but that
    won't hurt anything.
    
    We can still check for systems in which RHSC is totally broken, by
    re-reading RHSC after clearing it and before reading the port
    statuses.  (This re-read has to be done anyway, to post the earlier
    write.)  If RHSC is on but no port-change statuses are set, then we
    know that RHSC is broken and we can avoid re-enabling it.
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  11. @gregkh

    OHCI: Allow broken controllers to auto-stop

    Alan Stern authored gregkh committed
    commit 4a511bc upstream
    
    This patch (as1134) attempts to improve the way we handle OHCI
    controllers with broken Root Hub Status Change interrupt support.  In
    these controllers the RHSC interrupt bit essentially never turns off,
    making RHSC interrupts useless -- they have to remain permanently
    disabled.
    
    Such controllers should still be allowed to turn off their root hubs
    when no devices are attached.  Polling for new connections can
    continue while the root hub is suspended.  The patch implements this
    feature.  (It won't have much effect unless CONFIG_PM is enabled and
    CONFIG_USB_SUSPEND is disabled, but since the overhead is very small
    we may as well do it.)
    
    Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  12. @gregkh

    ath9k: fix oops on trying to hold the wrong spinlock

    Luis R. Rodriguez authored gregkh committed
    commit a477e4e upstream
    
    We were trying to hold the wrong spinlock due to a typo
    on IEEE80211_BAR_CTL_TID_S's definition. We use this to
    compute the tid number and then hold this this tid number's
    spinlock.
    
    Tested-by: Steven Noonan <steven@uplinklabs.net>
    Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com>
    Signed-off-by: Sujith <Sujith.Manoharan@atheros.com>
    Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  13. @gregkh

    xfs: fix remount rw with unrecognized options

    Christoph Hellwig authored gregkh committed
    commit 6c5e51d upstream
    
    When we skip unrecognized options in xfs_fs_remount we should just break
    out of the switch and not return because otherwise we may skip clearing
    the xfs-internal read-only flag.  This will only show up on some
    operations like touch because most read-only checks are done by the VFS
    which thinks this filesystem is r/w.  Eventually we should replace the
    XFS read-only flag with a helper that always checks the VFS flag to make
    sure they can never get out of sync.
    
    Bug reported and fix verified by Marcel Beister on #xfs.
    Bug fix verified by updated xfstests/189.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Acked-by: Eric Sandeen <sandeen@sandeen.net>
    Signed-off-by: Timothy Shimmin <tes@sgi.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  14. @arachsys @gregkh

    md: Fix rdev_size_store with size == 0

    arachsys authored gregkh committed
    commit 7d3c6f8 upstream
    
    Fix rdev_size_store with size == 0.
    size == 0 means to use the largest size allowed by the
    underlying device and is used when modifying an active array.
    
    This fixes a regression introduced by
     commit d702745
    
    Signed-off-by: Chris Webb <chris@arachsys.com>
    Signed-off-by: NeilBrown <neilb@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  15. @jmberg @gregkh

    ath9k/mac80211: disallow fragmentation in ath9k, report to userspace

    jmberg authored gregkh committed
    commit 4233df6 upstream
    
    As I've reported, ath9k currently fails utterly when fragmentation
    is enabled. This makes ath9k "support" hardware fragmentation by
    not supporting fragmentation at all to avoid the double-free issue.
    The patch also changes mac80211 to report errors from the driver
    operation to userspace.
    
    That hack in ath9k should be removed once the rate control algorithm
    it has is fixed, and we can at that time consider removing the hw
    fragmentation support entirely since it's not used by any driver.
    
    Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
    Acked-by: Luis R. Rodriguez <lrodriguez@atheros.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  16. @cohuck @gregkh

    Driver core: Clarify device cleanup.

    cohuck authored gregkh committed
    commit 5739411 upstream
    
    Make the comments on how to use device_initialize(), device_add()
    and device_register() a bit clearer - in particular, explicitly
    note that put_device() must be used once we tried to add the device
    to the hierarchy.
    
    Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  17. @cohuck @gregkh

    Driver core: Fix cleanup in device_create_vargs().

    cohuck authored gregkh committed
    commit 286661b upstream
    
    If device_register() in device_create_vargs() fails, the device
    must be cleaned up with put_device() (which is also fine on NULL)
    instead of kfree().
    
    Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  18. @gregkh

    modules: fix module "notes" kobject leak

    Alexey Dobriyan authored gregkh committed
    commit e943209 upstream
    
    Fix "notes" kobject leak
    
    It happens every rmmod if KALLSYMS=y and SYSFS=y.
    
    	# modprobe foo
    
    kobject: 'foo' (ffffffffa00743d0): kobject_add_internal: parent: 'module', set: 'module'
    kobject: 'holders' (ffff88017e7c5770): kobject_add_internal: parent: 'foo', set: '<NULL>'
    kobject: 'foo' (ffffffffa00743d0): kobject_uevent_env
    kobject: 'foo' (ffffffffa00743d0): fill_kobj_path: path = '/module/foo'
    kobject: 'notes' (ffff88017fa9b668): kobject_add_internal: parent: 'foo', set: '<NULL>'
    	  ^^^^^
    
    	# rmmod foo
    
    kobject: 'holders' (ffff88017e7c5770): kobject_cleanup
    kobject: 'holders' (ffff88017e7c5770): auto cleanup kobject_del
    kobject: 'holders' (ffff88017e7c5770): calling ktype release
    kobject: (ffff88017e7c5770): dynamic_kobj_release
    kobject: 'holders': free name
    kobject: 'foo' (ffffffffa00743d0): kobject_cleanup
    kobject: 'foo' (ffffffffa00743d0): does not have a release() function, it is broken and must be fixed.
    kobject: 'foo' (ffffffffa00743d0): auto cleanup 'remove' event
    kobject: 'foo' (ffffffffa00743d0): kobject_uevent_env
    kobject: 'foo' (ffffffffa00743d0): fill_kobj_path: path = '/module/foo'
    kobject: 'foo' (ffffffffa00743d0): auto cleanup kobject_del
    kobject: 'foo': free name
    
    	[whooops]
    
    Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  19. @gregkh

    fbcon_set_all_vcs: fix kernel crash when switching the rotated consoles

    Oleg Nesterov authored gregkh committed
    commit 232fb69 upstream
    
    echo 3 >> /sys/class/graphics/fbcon/rotate_all, then switch to another
    console. Result:
    
    	BUG: unable to handle kernel paging request at ffffc20005d00000
    	IP: [bitfill_aligned+149/265] bitfill_aligned+0x95/0x109
    	PGD 7e228067 PUD 7e229067 PMD 7bc1f067 PTE 0
    	Oops: 0002 [1] SMP
    	CPU 1
    	Modules linked in: [...a lot...]
    	Pid: 10, comm: events/1 Not tainted 2.6.26.5-45.fc9.x86_64 #1
    	RIP: 0010:[bitfill_aligned+149/265]  [bitfill_aligned+149/265] bitfill_aligned+0x95/0x109
    	RSP: 0018:ffff81007d811bc8  EFLAGS: 00010216
    	RAX: ffffc20005d00000 RBX: 0000000000000000 RCX: 0000000000000400
    	RDX: 0000000000000000 RSI: ffffc20005d00000 RDI: ffffffffffffffff
    	RBP: ffff81007d811be0 R08: 0000000000000400 R09: 0000000000000040
    	R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000010000
    	R13: ffffffff811632f0 R14: 0000000000000006 R15: ffff81007cb85400
    	FS:  0000000000000000(0000) GS:ffff81007e004780(0000) knlGS:0000000000000000
    	CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b
    	CR2: ffffc20005d00000 CR3: 0000000000201000 CR4: 00000000000006e0
    	DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    	DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    	Process events/1 (pid: 10, threadinfo ffff81007d810000, task ffff81007d808000)
    	Stack:  ffff81007c9d75a0 0000000000000000 0000000000000000 ffff81007d811c80
    	 ffffffff81163a61 ffff810000000000 ffffffff8115f9c8 0000001000000000
    	 0000000100aaaaaa 000000007cd0d4a0 fffffd8a00000800 0001000000000000
    	Call Trace:
    	 [cfb_fillrect+523/798] cfb_fillrect+0x20b/0x31e
    	 [soft_cursor+416/436] ? soft_cursor+0x1a0/0x1b4
    	 [ccw_clear_margins+205/263] ccw_clear_margins+0xcd/0x107
    	 [fbcon_clear_margins+59/61] fbcon_clear_margins+0x3b/0x3d
    	 [fbcon_switch+1291/1466] fbcon_switch+0x50b/0x5ba
    	 [redraw_screen+261/481] redraw_screen+0x105/0x1e1
    	 [ccw_cursor+0/1869] ? ccw_cursor+0x0/0x74d
    	 [complete_change_console+48/190] complete_change_console+0x30/0xbe
    	 [change_console+115/120] change_console+0x73/0x78
    	 [console_callback+0/292] ? console_callback+0x0/0x124
    	 [console_callback+97/292] console_callback+0x61/0x124
    	 [schedule_delayed_work+25/30] ? schedule_delayed_work+0x19/0x1e
    	 [run_workqueue+139/282] run_workqueue+0x8b/0x11a
    	 [worker_thread+221/238] worker_thread+0xdd/0xee
    	 [autoremove_wake_function+0/56] ? autoremove_wake_function+0x0/0x38
    	 [worker_thread+0/238] ? worker_thread+0x0/0xee
    	 [kthread+73/118] kthread+0x49/0x76
    	 [child_rip+10/18] child_rip+0xa/0x12
    	 [kthread+0/118] ? kthread+0x0/0x76
    	 [child_rip+0/18] ? child_rip+0x0/0x12
    
    Because fbcon_set_all_vcs()->FBCON_SWAP() uses display->rotate == 0 instead
    of fbcon_ops->rotate, and vc_resize() has no effect because it is called with
    new_cols/rows == ->vc_cols/rows.
    
    Tested on 2.6.26.5-45.fc9.x86_64, but
    http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git seems to
    have the same problem.
    
    Signed-off-by: Oleg Nesterov <oleg@tv-sign.ru>
    Cc: Krzysztof Helt <krzysztof.h1@poczta.fm>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Commits on Oct 18, 2008
  1. @gregkh

    Linux 2.6.27.2

    gregkh authored
  2. @gregkh

    netdrvr: atl1e: Don't take the mdio_lock in atl1e_probe

    Matthew Wilcox authored gregkh committed
    commit f382a0a upstream
    
    Lockdep warns about the mdio_lock taken with interrupts enabled then later
    taken from interrupt context.  Initially, I considered changing these
    to spin_lock_irq/spin_unlock_irq, but then I looked at atl1e_phy_init()
    and saw that it calls msleep().  Sleeping while holding a spinlock is
    not allowed either.
    
    In the probe path, we haven't registered the interrupt handler, so
    it can't poke at this card yet.  It's before we call register_netdev(),
    so I don't think any other threads can reach this card either.  If I'm
    right, we don't need a spinlock at all.
    
    Signed-off-by: Matthew Wilcox <willy@linux.intel.com>
    Cc: Jay Cliburn <jacliburn@bellsouth.net>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  3. @rjwysocki @gregkh

    sky2: Fix WOL regression

    rjwysocki authored gregkh committed
    commit 9d731d7 upstream
    
    Since dev->power.should_wakeup bit is used by the PCI core to
    decide whether the device should wake up the system from sleep
    states, set/unset this bit whenever WOL is enabled/disabled using
    sky2_set_wol().
    
    Remove an open-coded reference to the standard PCI PM registers that
    is not used any more.
    
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Cc: Tino Keitel <tino.keitel@gmx.de>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  4. @gregkh

    x86: improve UP kernel when CPU-hotplug and SMP is enabled

    Thomas Gleixner authored gregkh committed
    commit 649c665 upstream
    
    num_possible_cpus() can be > 1 when disabled CPUs have been accounted.
    
    Disabled CPUs are not in the cpu_present_map, so we can use
    num_present_cpus() as a safe indicator to switch to UP alternatives.
    
    Reported-by: Chuck Ebbert <cebbert@redhat.com>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  5. @gregkh

    x86: SB450: skip IRQ0 override if it is not routed to INT2 of IOAPIC

    Andreas Herrmann authored gregkh committed
    commit 33fb0e4 upstream
    
    On some HP nx6... laptops (e.g. nx6325) BIOS reports an IRQ0 override
    but the SB450 chipset is configured such that timer interrupts goe to
    INT0 of IOAPIC.
    
    Check IRQ0 routing and if it is routed to INT0 of IOAPIC skip the
    timer override.
    
    [ This more generic PCI ID based quirk should alleviate the need for
      dmi_ignore_irq0_timer_override DMI quirks. ]
    
    Signed-off-by: Andreas Herrmann <andreas.herrmann3@amd.com>
    Acked-by: "Maciej W. Rozycki" <macro@linux-mips.org>
    Tested-by: Dmitry Torokhov <dtor@mail.ru>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  6. @gregkh

    x86, early_ioremap: fix fencepost error

    Alan Cox authored gregkh committed
    commit c613ec1 upstream
    
    The x86 implementation of early_ioremap has an off by one error. If we get
    an object which ends on the first byte of a page we undermap by one page and
    this causes a crash on boot with the ASUS P5QL whose DMI table happens to fit
    this alignment.
    
    The size computation is currently
    
    	last_addr = phys_addr + size - 1;
    	npages = (PAGE_ALIGN(last_addr) - phys_addr)
    
    (Consider a request for 1 byte at alignment 0...)
    
    Closes #11693
    
    Debugging work by Ian Campbell/Felix Geyer
    
    Signed-off-by: Alan Cox <alan@rehat.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  7. @lwfinger @gregkh

    b43legacy: Fix failure in rate-adjustment mechanism

    lwfinger authored gregkh committed
    commit c6a2afd upstream
    Date: Sat, 6 Sep 2008 16:51:22 -0500
    Subject: b43legacy: Fix failure in rate-adjustment mechanism
    
    A coding error present since b43legacy was incorporated into the
    kernel has prevented the driver from using the rate-setting mechanism
    of mac80211. The driver has been forced to remain at a 1 Mb/s rate.
    
    Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  8. @dcbw @gregkh

    libertas: clear current command on card removal

    dcbw authored gregkh committed
    commit 71b35f3 upstream
    
    If certain commands were in-flight when the card was pulled or the
    driver rmmod-ed, cleanup would block on the work queue stopping, but the
    work queue was in turn blocked on the current command being canceled,
    which didn't happen.  Fix that.
    
    Signed-off-by: Dan Williams <dcbw@redhat.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  9. @hmh @gregkh

    rfkill: update LEDs for all state changes

    hmh authored gregkh committed
    commit 417bd25 upstream
    
    The LED state was not being updated by rfkill_force_state(), which
    will cause regressions in wireless drivers that had old-style rfkill
    support and are updated to use rfkill_force_state().
    
    The LED state was not being updated when a change was detected through
    the rfkill->get_state() hook, either.
    
    Move the LED trigger update calls into notify_rfkill_state_change(),
    where it should have been in the first place.  This takes care of both
    issues above.
    
    Signed-off-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
    Acked-by: Ivo van Doorn <IvDoorn@gmail.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  10. @gregkh

    CIFS: make sure we have the right resume info before calling CIFSFind…

    Steve French authored gregkh committed
    …Next
    
    commit 0752f15 upstream
    
    When we do a seekdir() or equivalent, we usually end up doing a
    FindFirst call and then call FindNext until we get to the offset that we
    want. The problem is that when we call FindNext, the code usually
    doesn't have the proper info (mostly, the filename of the entry from the
    last search) to resume the search.
    
    Add a "last_entry" field to the cifs_search_info that points to the last
    entry in the search. We calculate this pointer by using the
    LastNameOffset field from the search parms that are returned. We then
    use that info to do a cifs_save_resume_key before we call CIFSFindNext.
    
    This patch allows CIFS to reliably pass the "telldir" connectathon test.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  11. @gregkh

    tty: Termios locking - sort out real_tty confusions and lock reads

    Alan Cox authored gregkh committed
    commit 8f52002 upstream
    
    (only the tty_io.c portion of this commit)
    
    This moves us towards sanity and should mean our termios locking is now
    complete and comprehensive.
    
    Signed-off-by: Alan Cox <alan@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  12. @gregkh

    Fix barrier fail detection in XFS

    Christoph Hellwig authored gregkh committed
    commit 73f6aa4 upstream.
    
    Currently we disable barriers as soon as we get a buffer in xlog_iodone
    that has the XBF_ORDERED flag cleared.  But this can be the case not only
    for buffers where the barrier failed, but also the first buffer of a
    split log write in case of a log wraparound.  Due to the disabled
    barriers we can easily get directory corruption on unclean shutdowns.
    So instead of using this check add a new buffer flag for failed barrier
    writes.
    
    This is a regression vs 2.6.26 caused by patch to use the right macro
    to check for the ORDERED flag, as we previously got true returned for
    every buffer.
    
    Thanks to Toei Rei for reporting the bug.
    
    Signed-off-by: Christoph Hellwig <hch@lst.de>
    Reviewed-by: Eric Sandeen <sandeen@sandeen.net>
    Reviewed-by: David Chinner <david@fromorbit.com>
    Signed-off-by: Tim Shimmin <tes@sgi.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  13. @jmberg @gregkh

    mac80211: fix two issues in debugfs

    jmberg authored gregkh committed
    Not in trees above 2.6.27 as it is fixed differently in .28.
    
    This fixes RHBZ 466264, whenever the master interface is
    renamed this code would BUG_ON. Also fixes a separately
    reported bug with the debugfs dir being NULL.
    
    This patch is not applicable to the next kernel version
    because both these issues have been fixed, the first one
    by not having the master interface have a ieee80211_ptr
    at all, and the second one by also leaving the function
    early.
    
    Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
    Cc: John Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  14. @gregkh

    x86: Reserve FIRST_DEVICE_VECTOR in used_vectors bitmap.

    Stefan Bader authored gregkh committed
    Not in upstream above 2.6.27 due to change in the way this code works
    (has been fixed differently there.)
    
    Someone from the community found out, that after repeatedly unloading
    and loading a device driver that uses MSI IRQs, the system eventually
    assigned the vector initially reserved for IRQ0 to the device driver.
    
    The reason for this is, that although IRQ0 is tied to the
    FIRST_DEVICE_VECTOR when declaring the irq_vector table, the
    corresponding bit in the used_vectors map is not set. So, if vectors are
    released and assigned often enough, the vector will get assigned to
    another interrupt. This happens more often with MSI interrupts as those
    are exclusively using a vector.
    
    Fix this by setting the bit for the FIRST_DEVICE_VECTOR in the bitmap.
    
    Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
    Acked-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  15. @fdario @gregkh

    sched_rt.c: resch needed in rt_rq_enqueue() for the root rt_rq

    fdario authored gregkh committed
    commit f6121f4 upstream
    
    While working on the new version of the code for SCHED_SPORADIC I
    noticed something strange in the present throttling mechanism. More
    specifically in the throttling timer handler in sched_rt.c
    (do_sched_rt_period_timer()) and in rt_rq_enqueue().
    
    The problem is that, when unthrottling a runqueue, rt_rq_enqueue() only
    asks for rescheduling if the runqueue has a sched_entity associated to
    it (i.e., rt_rq->rt_se != NULL).
    Now, if the runqueue is the root rq (which has a rt_se = NULL)
    rescheduling does not take place, and it is delayed to some undefined
    instant in the future.
    
    This imply some random bandwidth usage by the RT tasks under throttling.
    For instance, setting rt_runtime_us/rt_period_us = 950ms/1000ms an RT
    task will get less than 95%. In our tests we got something varying
    between 70% to 95%.
    Using smaller time values, e.g., 95ms/100ms, things are even worse, and
    I can see values also going down to 20-25%!!
    
    The tests we performed are simply running 'yes' as a SCHED_FIFO task,
    and checking the CPU usage with top, but we can investigate thoroughly
    if you think it is needed.
    
    Things go much better, for us, with the attached patch... Don't know if
    it is the best approach, but it solved the issue for us.
    
    Signed-off-by: Dario Faggioli <raistlin@linux.it>
    Signed-off-by: Michael Trimarchi <trimarchimichael@yahoo.it>
    Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Commits on Oct 15, 2008
  1. @gregkh

    Linux 2.6.27.1

    gregkh authored
Something went wrong with that request. Please try again.