Permalink
Commits on Feb 6, 2009
  1. @gregkh

    Linux 2.6.28.4

    gregkh committed Feb 6, 2009
  2. @gregkh

    ACPICA: Allow multiple backslash prefix in namepaths

    commit d037c5f upstream.
    
    In a fully qualified namepath, allow multiple backslash prefixes.
    This can happen because of the use of a double-backslash in strings
    (since backslash is the escape character) causing confusion.
    ACPICA BZ 739 Lin Ming.
    
    http://www.acpica.org/bugzilla/show_bug.cgi?id=739
    
    Signed-off-by: Lin Ming <ming.m.lin@intel.com>
    Signed-off-by: Bob Moore <robert.moore@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Cc: Thomas Renninger <trenn@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Lin Ming committed with gregkh Nov 13, 2008
  3. @gregkh

    sata_mv: Fix chip type for Hightpoint RocketRaid 1740/1742

    commit 4462254 upstream.
    
    Fix chip type for the Highpoint RocketRAID 1740 and 1742 PCI cards.
    These really do have Marvell 6042 chips on them, rather than the 5081 chip.
    
    Confirmed by multiple (two) users (for the 1740), and by examining
    the product photographs from Highpoint's web site.
    
    Signed-off-by: Mark Lord <mlord@pobox.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Mark Lord committed with gregkh Jan 27, 2009
  4. @jtlayton @gregkh

    dlm: initialize file_lock struct in GETLK before copying conflicting …

    …lock
    
    commit 20d5a39 upstream.
    
    dlm_posix_get fills out the relevant fields in the file_lock before
    returning when there is a lock conflict, but doesn't clean out any of
    the other fields in the file_lock.
    
    When nfsd does a NFSv4 lockt call, it sets the fl_lmops to
    nfsd_posix_mng_ops before calling the lower fs. When the lock comes back
    after testing a lock on GFS2, it still has that field set. This confuses
    nfsd into thinking that the file_lock is a nfsd4 lock.
    
    Fix this by making DLM reinitialize the file_lock before copying the
    fields from the conflicting lock.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: David Teigland <teigland@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jtlayton committed with gregkh Jan 21, 2009
  5. @rjwysocki @gregkh

    ACPI: Do not modify SCI_EN directly

    commit 11e9313 upstream.
    
    According to the ACPI specification the SCI_EN flag is controlled by
    the hardware, which sets this flag to inform the kernel that ACPI is
    enabled.  For this reason, we shouldn't try to modify SCI_EN
    directly.  Also, we don't need to do it in irqrouter_resume(), since
    lower-level resume code takes care of enabling ACPI in case it hasn't
    been enabled by the BIOS before passing control to the kernel (which
    by the way is against the ACPI specification).
    
    Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Cc: Thomas Renninger <trenn@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    rjwysocki committed with gregkh Dec 29, 2008
  6. @gregkh

    Newly inserted battery might differ from one just removed, so update …

    …of battery info fields is required.
    
    commit 50b1785 upstream.
    
    Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
    Acked-by: Andy Neitzke <neitzke@ias.edu>
    
    Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Cc: Thomas Renninger <trenn@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Alexey Starikovskiy committed with gregkh Dec 22, 2008
  7. @zhang-rui @gregkh

    video: always update the brightness when poking "brightness"

    commit 9e6dada upstream.
    
    always update props.brightness no matter the backlight is changed
    via procfs, hotkeys or sysfs.
    
    Sighed-off-by: Zhang Rui <rui.zhang@intel.com>
    Acked-by: Matthew Garrett <mjg59@srcf.ucam.org>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Cc: Thomas Renninger <trenn@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    zhang-rui committed with gregkh Dec 31, 2008
  8. @yakuizhao @gregkh

    ACPI: Avoid array address overflow when _CST MWAIT hint bits are set

    commit 13b40a1 upstream.
    
    The Cx Register address obtained from the _CST object is used as the MWAIT
    hints if the register type is FFixedHW. And it is used to check whether
    the Cx type is supported or not.
    
    On some boxes the following Cx state package is obtained from _CST object:
        >{
                    ResourceTemplate ()
                    {
                        Register (FFixedHW,
                            0x01,               // Bit Width
                            0x02,               // Bit Offset
                            0x0000000000889759, // Address
                            0x03,               // Access Size
                            )
                    },
    
                    0x03,
                    0xF5,
                    0x015E }
    
       In such case we should use the bit[7:4] of Cx address to check whether
    the Cx type is supported or not.
    
    mask the MWAIT hint to avoid array address overflow
    
    Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
    Acked-by:Venki Pallipadi <venkatesh.pallipadi@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Cc: Thomas Renninger <trenn@suse.de>
    yakuizhao committed with gregkh Jan 4, 2009
  9. @gregkh

    cpuidle: Add decaying history logic to menu idle predictor

    commit 816bb61 upstream
    
    Add decaying history of predicted idle time, instead of using the last early
    wakeup. This logic helps menu governor do better job of predicting idle time.
    
    With this change, we also measured noticable (~8%) power savings on
    a DP server system with CPUs supporting deep C states, when system
    was lightly loaded. There was no change to power or perf on other load
    conditions.
    
    Signed-off-by: Venkatesh Pallipadi <venkatesh.pallipadi@intel.com>
    Signed-off-by: Len Brown <len.brown@intel.com>
    Cc: Thomas Renninger <trenn@suse.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Venkatesh Pallipadi committed with gregkh Jan 27, 2009
  10. @gregkh

    PCI: irq and pci_ids patch for Intel Tigerpoint DeviceIDs

    commit 57064d2 upstream.
    
    This patch adds the Intel Tigerpoint LPC Controller DeviceIDs.
    
    Signed-off-by: Seth Heasley <seth.heasley@intel.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Seth Heasley committed with gregkh Jan 23, 2009
  11. @gregkh

    minstrel: fix warning if lowest supported rate index is not 0

    commit d57854b upstream
    
    This patch fixes the following WARNING (caused by rix_to_ndx): "
    >WARNING: at net/mac80211/rc80211_minstrel.c:69 minstrel_rate_init+0xd2/0x33a [mac80211]()
    >[...]
    >Call Trace:
    > warn_on_slowpath+0x51/0x75
    > _format_mac_addr+0x4c/0x88
    > minstrel_rate_init+0xd2/0x33a [mac80211]
    > print_mac+0x16/0x1b
    > schedule_hrtimeout_range+0xdc/0x107
    > ieee80211_add_station+0x158/0x1bd [mac80211]
    > nl80211_new_station+0x1b3/0x20b [cfg80211]
    
    The reason is that I'm experimenting with "g" only mode on a 802.11 b/g card.
    
    Therefore rate_lowest_index returns 4 (= 6Mbit, instead of usual 0 = 1Mbit).
    Since mi->r array is initialized with zeros in minstrel_alloc_sta,
    rix_to_ndx has a hard time to find the 6Mbit entry and will trigged the WARNING.
    
    Signed-off-by: Christian Lamparter <chunkeey@web.de>
    Acked-by: Felix Fietkau <nbd@openwrt.org>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Christian Lamparter committed with gregkh Jan 24, 2009
  12. @gregkh

    p54usb: rewriting rx/tx routines to make use of usb_anchor's facilities

    commit dd397dc upstream
    
    Alan Stern found several flaws in p54usb's implementation and annotated:
    "usb_kill_urb() and similar routines do not expect an URB's completion
    routine to deallocate it.  This is almost obvious -- if the URB is deallocated
    before the completion routine returns then there's no way for usb_kill_urb
    to detect when the URB actually is complete."
    
    This patch addresses all known limitations in the old implementation and fixes
    khub's "use-after-freed" hang, when SLUB debug's poisoning option is enabled.
    
    Signed-off-by: Christian Lamparter <chunkeey@web.de>
    Tested-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>
    Christian Lamparter committed with gregkh Jan 24, 2009
  13. @gregkh

    p54: fix p54_read_eeprom to cope with tx_hdr_len

    commit b92f30d upstream
    
    This patch fixes a regression in "p54: move eeprom code into common library"
    7cb7707
    
    Some of p54usb's devices need a little headroom for the transportation and
    this was forgotten in the eeprom change.
    
    Signed-off-by: Christian Lamparter <chunkeey@web.de>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Christian Lamparter committed with gregkh Jan 24, 2009
  14. @jmberg @gregkh

    p54: fix lm87 checksum endianness

    commit c912765 upstream
    
    This fixes the checksum calculation for lm87 firmwares
    on big endian platforms, the device treats the data as
    an array of 32-bit little endian values so the driver
    needs to do that as well.
    
    Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
    Acked-by: Christian Lamparter <chunkeey@web.de>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    jmberg committed with gregkh Jan 24, 2009
  15. @gregkh

    iwlwifi: fix rs_get_rate WARN_ON()

    commit c338ba3 upstream.
    
    In ieee80211_sta structure there is u64 supp_rates[IEEE80211_NUM_BANDS]
    this is filled with all support rate from assoc_resp.  If we associate
    with G-band AP only supp_rates of G-band will be set the other band
    supp_rates will be set to 0. If the user type this command
    this will cause mac80211 to set to new channel, mac80211
    does not disassociate in setting new channel, so the active
    band is now A-band. then in handling the new essid mac80211 will
    kick in the assoc steps which involve sending disassociation frame.
    in this mac80211 will WARN_ON sta->supp_rates[A_BAND] == 0.
    
    This fixes:
    http://www.intellinuxwireless.org/bugzilla/show_bug.cgi?id=1822
    http://www.kerneloops.org/searchweek.php?search=rs_get_rate
    
    Signed-off-by: mohamed abbas <mohamed.abbas@intel.com>
    Signed-off-by: Reinette Chatre <reinette.chatre@intel.com>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Abbas, Mohamed committed with gregkh Jan 21, 2009
  16. @gregkh

    nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT

    commit 55ef127 upstream.
    
    Since nfsv4 allows LOCKT without an open, but the ->lock() method is a
    file method, we fake up a struct file in the nfsv4 code with just the
    fields we need initialized.  But we forgot to initialize the file
    operations, with the result that LOCKT never results in a call to the
    filesystem's ->lock() method (if it exists).
    
    We could just add that one more initialization.  But this hack of faking
    up a struct file with only some fields initialized seems the kind of
    thing that might cause more problems in the future.  We should either do
    an open and get a real struct file, or make lock-testing an inode (not a
    file) method.
    
    This patch does the former.
    
    Reported-by: Marc Eshel <eshel@almaden.ibm.com>
    Tested-by: Marc Eshel <eshel@almaden.ibm.com>
    Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    J. Bruce Fields committed with gregkh Dec 20, 2008
  17. @jtlayton @gregkh

    nfsd: only set file_lock.fl_lmops in nfsd4_lockt if a stateowner is f…

    …ound
    
    commit fa82a49 upstream.
    
    nfsd4_lockt does a search for a lockstateowner when building the lock
    struct to test. If one is found, it'll set fl_owner to it. Regardless of
    whether that happens, it'll also set fl_lmops. Given that this lock is
    basically a "lightweight" lock that's just used for checking conflicts,
    setting fl_lmops is probably not appropriate for it.
    
    This behavior exposed a bug in DLM's GETLK implementation where it
    wasn't clearing out the fields in the file_lock before filling in
    conflicting lock info. While we were able to fix this in DLM, it
    still seems pointless and dangerous to set the fl_lmops this way
    when we may have a NULL lockstateowner.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Signed-off-by: J. Bruce Fields <bfields@pig.fieldses.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jtlayton committed with gregkh Jan 22, 2009
  18. @gregkh

    Input: atkbd - Samsung NC10 key repeat fix

    commit 4200844 upstream.
    
    This patch fixes the key repeat issue with the Fn+F? keys on the new
    Samsung NC10 Netbook, so that the keys can be defined and used within
    ACPID correctly, otherwise the keys repeat indefinately.
    
    This solves part of http://bugzilla.kernel.org/show_bug.cgi?id=12021
    
    Signed-off-by: Stuart Hopkins <stuart@dodgy-geeza.com>
    Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
    Cc: Chuck Ebbert <cebbert@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Stuart Hopkins committed with gregkh Dec 20, 2008
  19. @gregkh

    Add enable_ms to jsm driver

    commit 0461ec5 upstream.
    
    This fixes a crash observed when non-existant enable_ms function is
    called for jsm driver.
    
    Signed-off-by: Scott Kilau <Scott.Kilau@digi.com>
    Signed-off-by: Paul Larson <pl@linux.vnet.ibm.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Paul Larson committed with gregkh Jan 30, 2009
  20. @gregkh

    Fix memory corruption in console selection

    commit 878b861 upstream.
    
    Fix an off-by-two memory error in console selection.
    
    The loop below goes from sel_start to sel_end (inclusive), so it writes
    one more character.  This one more character was added to the allocated
    size (+1), but it was not multiplied by an UTF-8 multiplier.
    
    This patch fixes a memory corruption when UTF-8 console is used and the
    user selects a few characters, all of them 3-byte in UTF-8 (for example
    a frame line).
    
    When memory redzones are enabled, a redzone corruption is reported.
    When they are not enabled, trashing of random memory occurs.
    
    Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Mikulas Patocka committed with gregkh Jan 30, 2009
  21. @htejun @gregkh

    sata_nv: ck804 has borked hardreset too

    commit 8d993ea upstream.
    
    While playing with nvraid, I found out that rmmoding and insmoding
    often trigger hardreset failure on the first port (the second one was
    always okay).  Seriously, how diverse can you get with hardreset
    behaviors?  Anyways, make ck804 use noclassify variant too.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    htejun committed with gregkh Feb 1, 2009
  22. @htejun @gregkh

    sata_nv: fix MCP5x reset

    commit 2d77570 upstream.
    
    MCP5x family of controllers seem to share much more with nf2's as far
    as reset protocol is concerned.  It requires heardreset to get the PHY
    going and classfication code report after hardreset is unreliable.
    Create a new board type MCP5x and use noclassify hardreset.  SWNCQ is
    modified to inherit from this new type.
    
    This fixes hotplug regression reported in kernel bz#12351.
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    htejun committed with gregkh Jan 25, 2009
  23. @htejun @gregkh

    sata_nv: rename nv_nf2_hardreset()

    commit e8caa3c upstream.
    
    nv_nf2_hardreset() will be used by other flavors too.  Rename it to
    nv_noclassify_hardreset().
    
    Signed-off-by: Tejun Heo <tj@kernel.org>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    htejun committed with gregkh Jan 25, 2009
  24. @jeffmahoney @gregkh

    kmalloc: return NULL instead of link failure

    commit 1cf3eb2 upstream.
    
    The SLAB kmalloc with a constant value isn't consistent with the other
    implementations because it bails out with __you_cannot_kmalloc_that_much
    rather than returning NULL and properly allowing the caller to fall back
    to vmalloc or take other action.  This doesn't happen with a non-constant
    value or with SLOB or SLUB.
    
    Starting with 2.6.28, I've been seeing build failures on s390x.  This is
    due to init_section_page_cgroup trying to allocate 2.5MB when the max size
    for a kmalloc on s390x is 2MB.
    
    It's failing because the value is constant.  The workarounds at the call
    size are ugly and the caller shouldn't have to change behavior depending
    on what the backend of the API is.
    
    So, this patch eliminates the link failure and returns NULL like the other
    implementations.
    
    Signed-off-by: Jeff Mahoney <jeffm@suse.com>
    Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
    Cc: Heiko Carstens <heiko.carstens@de.ibm.com>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Cc: Matt Mackall <mpm@selenic.com>
    Cc: Nick Piggin <nickpiggin@yahoo.com.au>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jeffmahoney committed with gregkh Jan 27, 2009
  25. @gregkh

    fbdev/atyfb: Fix DSP config on some PowerMacs & PowerBooks

    commit 7fbb7ca upstream.
    
    Since the complete re-write in 2.6.10, some PowerMacs (At least PowerMac 5500
    and PowerMac G3 Beige rev A) with ATI Mach64 chip have suffered from unstable
    columns in their framebuffer image. This seems to depend on a value (4) read
    from PLL_EXT_CNTL register, which leads to incorrect DSP config parameters to
    be written to the chip. This patch uses a value calculated by aty_init_pll_ct
    instead, as a starting point.
    
    There are questions as to whether this should be extended to other platforms
    or maybe made dependent on specific chip types, but in the meantime, this has
    been tested on various powermacs and works for them so let's commit it.
    
    Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com>
    Tested-by: Michael Pettersson <mike@it.uu.se>
    Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Risto Suominen committed with gregkh Jan 13, 2009
  26. @arvidjaar @gregkh

    orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_io…

    …ctl_set_genie
    
    commit 7fe99c4 upstream
    
    orinoco: move kmalloc(..., GFP_KERNEL) outside spinlock in orinoco_ioctl_set_genie
    
    [   56.923623] BUG: sleeping function called from invalid context at /home/bor/src/linux-git/mm/slub.c:1599
    [   56.923644] in_atomic(): 0, irqs_disabled(): 1, pid: 3031, name: wpa_supplicant
    [   56.923656] 2 locks held by wpa_supplicant/3031:
    [   56.923662]  #0:  (rtnl_mutex){--..}, at: [<c02abd1f>] rtnl_lock+0xf/0x20
    [   56.923703]  #1:  (&priv->lock){++..}, at: [<dfc840c2>] orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
    [   56.923782] irq event stamp: 910
    [   56.923788] hardirqs last  enabled at (909): [<c01957db>] __kmalloc+0x7b/0x140
    [   56.923820] hardirqs last disabled at (910): [<c0309419>] _spin_lock_irqsave+0x19/0x80
    [   56.923847] softirqs last  enabled at (880): [<c0124f54>] __do_softirq+0xc4/0x110
    [   56.923865] softirqs last disabled at (871): [<c01049ae>] do_softirq+0x8e/0xe0
    [   56.923895] Pid: 3031, comm: wpa_supplicant Not tainted 2.6.29-rc2-1avb #1
    [   56.923905] Call Trace:
    [   56.923919]  [<c01049ae>] ? do_softirq+0x8e/0xe0
    [   56.923941]  [<c011ad12>] __might_sleep+0xd2/0x100
    [   56.923952]  [<c0195837>] __kmalloc+0xd7/0x140
    [   56.923963]  [<c030946a>] ? _spin_lock_irqsave+0x6a/0x80
    [   56.923981]  [<dfc840e9>] ? orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
    [   56.923999]  [<dfc840c2>] ? orinoco_ioctl_set_genie+0x52/0x130 [orinoco]
    [   56.924017]  [<dfc840e9>] orinoco_ioctl_set_genie+0x79/0x130 [orinoco]
    [   56.924036]  [<c0209325>] ? copy_from_user+0x35/0x130
    [   56.924061]  [<c02ffd96>] ioctl_standard_call+0x196/0x380
    [   56.924085]  [<c029f945>] ? __dev_get_by_name+0x85/0xb0
    [   56.924096]  [<c02ff88f>] wext_handle_ioctl+0x14f/0x230
    [   56.924113]  [<dfc84070>] ? orinoco_ioctl_set_genie+0x0/0x130 [orinoco]
    [   56.924132]  [<c02a3da5>] dev_ioctl+0x495/0x570
    [   56.924155]  [<c0293e05>] ? sys_sendto+0xa5/0xd0
    [   56.924171]  [<c0142fe8>] ? mark_held_locks+0x48/0x90
    [   56.924183]  [<c0292880>] ? sock_ioctl+0x0/0x280
    [   56.924193]  [<c029297d>] sock_ioctl+0xfd/0x280
    [   56.924203]  [<c0292880>] ? sock_ioctl+0x0/0x280
    [   56.924235]  [<c01a51d0>] vfs_ioctl+0x20/0x80
    [   56.924246]  [<c01a53e2>] do_vfs_ioctl+0x72/0x570
    [   56.924257]  [<c0293e62>] ? sys_send+0x32/0x40
    [   56.924268]  [<c02947c0>] ? sys_socketcall+0x1d0/0x2a0
    [   56.924280]  [<c010339f>] ? sysenter_exit+0xf/0x16
    [   56.924292]  [<c01a5919>] sys_ioctl+0x39/0x70
    [   56.924302]  [<c0103371>] sysenter_do_call+0x12/0x31
    
    Signed-off-by: Andrey Borzenkov <arvidjaar@mail.ru>
    Signed-off-by: John W. Linville <linville@tuxdriver.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    arvidjaar committed with gregkh Jan 29, 2009
  27. @kaber @gregkh

    netfilter: ctnetlink: fix scheduling while atomic

    commit 748085f upstream.
    
    Caused by call to request_module() while holding nf_conntrack_lock.
    
    Reported-and-tested-by: Kövesdi György <kgy@teledigit.hu>
    Signed-off-by: Patrick McHardy <kaber@trash.net>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    kaber committed with gregkh Jan 21, 2009
  28. @jtlayton @gregkh

    cifs: make sure we allocate enough storage for socket address

    commit a9ac49d upstream.
    
    cifs_mount declares a struct sockaddr on the stack and then casts it
    to the proper address type. The storage allocated is fine for ipv4,
    but is too small for ipv6 addresses. Declare it as
    "struct sockaddr_storage" instead of struct sockaddr".
    
    This bug was manifesting itself as oopses and address corruption when
    mounting IPv6 addresses.
    
    Signed-off-by: Jeff Layton <jlayton@redhat.com>
    Tested-by: Stefan Bader <stefan.bader@canonical.com>
    Signed-off-by: Steve French <sfrench@us.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jtlayton committed with gregkh Jan 22, 2009
  29. @gregkh

    x86: use early clobbers in usercopy*.c

    commit e0a9612 upstream.
    
    Impact: fix rare (but currently harmless) miscompile with certain configs and gcc versions
    
    Hugh Dickins noticed that strncpy_from_user() was miscompiled
    in some circumstances with gcc 4.3.
    
    Thanks to Hugh's excellent analysis it was easy to track down.
    
    Hugh writes:
    
    > Try building an x86_64 defconfig 2.6.29-rc1 kernel tree,
    > except not quite defconfig, switch CONFIG_PREEMPT_NONE=y
    > and CONFIG_PREEMPT_VOLUNTARY off (because it expands a
    > might_fault() there, which hides the issue): using a
    > gcc 4.3.2 (I've checked both openSUSE 11.1 and Fedora 10).
    >
    > It generates the following:
    >
    > 0000000000000000 <__strncpy_from_user>:
    >    0:   48 89 d1                mov    %rdx,%rcx
    >    3:   48 85 c9                test   %rcx,%rcx
    >    6:   74 0e                   je     16 <__strncpy_from_user+0x16>
    >    8:   ac                      lods   %ds:(%rsi),%al
    >    9:   aa                      stos   %al,%es:(%rdi)
    >    a:   84 c0                   test   %al,%al
    >    c:   74 05                   je     13 <__strncpy_from_user+0x13>
    >    e:   48 ff c9                dec    %rcx
    >   11:   75 f5                   jne    8 <__strncpy_from_user+0x8>
    >   13:   48 29 c9                sub    %rcx,%rcx
    >   16:   48 89 c8                mov    %rcx,%rax
    >   19:   c3                      retq
    >
    > Observe that "sub %rcx,%rcx; mov %rcx,%rax", whereas gcc 4.2.1
    > (and many other configs) say "sub %rcx,%rdx; mov %rdx,%rax".
    > Isn't it returning 0 when it ought to be returning strlen?
    
    The asm constraints for the strncpy_from_user() result were missing an
    early clobber, which tells gcc that the last output arguments
    are written before all input arguments are read.
    
    Also add more early clobbers in the rest of the file and fix 32-bit
    usercopy.c in the same way.
    
    Signed-off-by: Andi Kleen <ak@linux.intel.com>
    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    [ since this API is rarely used and no in-kernel user relies on a 'len'
      return value (they only rely on negative return values) this miscompile
      was never noticed in the field. But it's worth fixing it nevertheless. ]
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Andi Kleen committed with gregkh Jan 16, 2009
  30. @gregkh

    PCI/MSI: bugfix/utilize for msi_capability_init()

    commit 0db29af upstream.
    
    This patch fix a following bug and does a cleanup.
    
    bug:
    	commit 5993760
    	had a wrong change (since is_64 is boolean[0|1]):
    
    -               pci_write_config_dword(dev,
    -                       msi_mask_bits_reg(pos, is_64bit_address(control)),
    -                       maskbits);
    +               pci_write_config_dword(dev, entry->msi_attrib.is_64, maskbits);
    
    utilize:
    	Unify separated if (entry->msi_attrib.maskbit) statements.
    
    Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com>
    Acked-by: "Jike Song" <albcamus@gmail.com>
    Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Hidetoshi Seto committed with gregkh Dec 24, 2008
  31. @gregkh

    m68knommu: set NO_DMA

    commit e0212e7 upstream.
    
    m68knommu does not set the Kconfig NO_DMA variable, but also does
    not provide the required functions, resulting in the following
    build error triggered by commit a40c24a
    (net: Add SKB DMA mapping helper functions.):
    
    <--  snip  -->
    
    ..
      LD      vmlinux
    net/built-in.o: In function `skb_dma_unmap':
    (.text+0xac5e): undefined reference to `dma_unmap_single'
    net/built-in.o: In function `skb_dma_unmap':
    (.text+0xac7a): undefined reference to `dma_unmap_page'
    net/built-in.o: In function `skb_dma_map':
    (.text+0xacdc): undefined reference to `dma_map_single'
    net/built-in.o: In function `skb_dma_map':
    (.text+0xace8): undefined reference to `dma_mapping_error'
    net/built-in.o: In function `skb_dma_map':
    (.text+0xad10): undefined reference to `dma_map_page'
    net/built-in.o: In function `skb_dma_map':
    (.text+0xad82): undefined reference to `dma_unmap_page'
    net/built-in.o: In function `skb_dma_map':
    (.text+0xadc6): undefined reference to `dma_unmap_single'
    make[1]: *** [vmlinux] Error 1
    
    <--  snip  -->
    
    Signed-off-by: Adrian Bunk <bunk@kernel.org>
    Signed-off-by: Greg Ungerer <gerg@uclinux.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Adrian Bunk committed with gregkh Oct 29, 2008
  32. @gregkh

    sata_mv: fix 8-port timeouts on 508x/6081 chips

    commit b0bccb1 upstream.
    
    Fix a longstanding bug for the 8-port Marvell Sata controllers (508x/6081),
    where accesses to the upper 4 ports would cause lost-interrupts / timeouts
    for the lower 4-ports.  With this patch, the 6081 boards should finally be
    reliable enough for mainstream use with Linux.
    
    Signed-off-by: Mark Lord <mlord@pobox.com>
    Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    Mark Lord committed with gregkh Jan 19, 2009
  33. @jsgf @gregkh

    xen: make sysfs files behave as their names suggest

    commit 618b2c8 upstream.
    
    1: make "target_kb" only accept and produce a memory size in kilobytes.
    2: add a second "target" file which produces output in bytes, and will accept
       memparse input (scaled bytes)
    
    This fixes the rather irritating problem that writing the same value
    read back into target_kb would end up shrinking the domain by a factor
    of 1024, with generally bad results.
    
    Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
    Cc: "dan.magenheimer@oracle.com" <dan.magenheimer@oracle.com>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    jsgf committed with gregkh Jan 29, 2009
  34. @torvalds @gregkh

    Manually revert "mlock: downgrade mmap sem while populating mlocked r…

    …egions"
    
    commit 27421e2 upstream.
    
    This essentially reverts commit 8edb08c.
    
    It downgraded our mmap semaphore to a read-lock while mlocking pages, in
    order to allow other threads (and external accesses like "ps" et al) to
    walk the vma lists and take page faults etc.  Which is a nice idea, but
    the implementation does not work.
    
    Because we cannot upgrade the lock back to a write lock without
    releasing the mmap semaphore, the code had to release the lock entirely
    and then re-take it as a writelock.  However, that meant that the caller
    possibly lost the vma chain that it was following, since now another
    thread could come in and mmap/munmap the range.
    
    The code tried to work around that by just looking up the vma again and
    erroring out if that happened, but quite frankly, that was just a buggy
    hack that doesn't actually protect against anything (the other thread
    could just have replaced the vma with another one instead of totally
    unmapping it).
    
    The only way to downgrade to a read map _reliably_ is to do it at the
    end, which is likely the right thing to do: do all the 'vma' operations
    with the write-lock held, then downgrade to a read after completing them
    all, and then do the "populate the newly mlocked regions" while holding
    just the read lock.  And then just drop the read-lock and return to user
    space.
    
    The (perhaps somewhat simpler) alternative is to just make all the
    callers of mlock_vma_pages_range() know that the mmap lock got dropped,
    and just re-grab the mmap semaphore if it needs to mlock more than one
    vma region.
    
    So we can do this "downgrade mmap sem while populating mlocked regions"
    thing right, but the way it was done here was absolutely not correct.
    Thus the revert, in the expectation that we will do it all correctly
    some day.
    
    Cc: Lee Schermerhorn <lee.schermerhorn@hp.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
    torvalds committed with gregkh Feb 1, 2009
Commits on Feb 2, 2009
  1. @gregkh

    Linux 2.6.28.3

    gregkh committed Feb 2, 2009