23 Feb, 2013

4 commits


21 Jan, 2013

2 commits

  • Pull misc syscall fixes from Al Viro:

    - compat syscall fixes (discussed back in December)

    - a couple of "make life easier for sigaltstack stuff by reducing
    inter-tree dependencies"

    - fix up compiler/asmlinkage calling convention disagreement of
    sys_clone()

    - misc

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/signal:
    sys_clone() needs asmlinkage_protect
    make sure that /linuxrc has std{in,out,err}
    x32: fix sigtimedwait
    x32: fix waitid()
    switch compat_sys_wait4() and compat_sys_waitid() to COMPAT_SYSCALL_DEFINE
    switch compat_sys_sigaltstack() to COMPAT_SYSCALL_DEFINE
    CONFIG_GENERIC_SIGALTSTACK build breakage with asm-generic/syscalls.h
    Ensure that kernel_init_freeable() is not inlined into non __init code

    Linus Torvalds
     
  • The ia64 function "thread_matches()" has no users since commit
    e868a55c2a8c ("[IA64] remove find_thread_for_addr()"). Remove it.

    This allows us to make ptrace_check_attach() static to kernel/ptrace.c,
    which is good since we'll need to change the semantics of it and fix up
    all the callers.

    Signed-off-by: Oleg Nesterov
    Signed-off-by: Linus Torvalds

    Oleg Nesterov
     

20 Jan, 2013

2 commits


19 Jan, 2013

7 commits

  • Pull USB fixes from Greg Kroah-Hartman:
    "Here are 3 USB patches for 3.8-rc4. Two of them are new device id
    patches, and the third fixes a reported oops in the io_ti USB serial
    driver"

    * tag 'usb-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    USB: io_ti: Fix NULL dereference in chase_port()
    USB: option: add TP-LINK HSUPA Modem MA180
    USB: option: blacklist network interface on ONDA MT8205 4G LTE

    Linus Torvalds
     
  • Pull tty/serial fixes from Greg Kroah-Hartman:
    "Here are a few tty/serial driver fixes for 3.8-rc4 that resolve a
    number of problems that people have been having, including the ptys
    ioctl issue that is a regression fix"

    * tag 'tty-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty:
    8250/16?50: Add support for Broadcom TruManage redirected serial port
    pty: return EINVAL for TIOCGPTN for BSD ptys
    serial:ifx6x60:Keep word size accordance with SPI controller
    tty: 8250_dw: Fix inverted arguments to serial_out in IRQ handler
    serial: samsung: remove redundant setting of line config during port reset
    serial:ifx6x60:Delete SPI timer when shut down port
    tty/8250: The correct device id for this card is 0x0022
    tty/8250: pbn_b0_8_1152000_200 is supposed to be an 8 port definition
    tty: serial: vt8500: fix return value check in vt8500_serial_probe()
    serial: mxs-auart: Index is unsigned
    mxs: uart: fix setting RTS from software

    Linus Torvalds
     
  • Pull staging driver bugfixes from Greg Kroah-Hartman:
    "Here are some bugfixes for the drivers/staging tree for 3.8-rc4.

    Nothing major, just a number of small fixes for problems that people
    have reported, including finally tracking down the root of the 64/32
    bit problem with the vt6656 that has been driving people crazy for a
    while"

    * tag 'staging-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
    staging/sb105x: PARPORT config is not good enough must use PARPORT_PC
    staging: wlan-ng: Fix clamping of returned SSID length
    staging: vt6656: Fix inconsistent structure packing
    staging:iio:adis16080: Perform sign extension
    iio: mxs-lradc: indexes are unsigned

    Linus Torvalds
     
  • Pull char/misc driver fixes from Greg Kroah-Hartman:
    "Here are two hyperv patches for 3.8-rc4 that fix some reported
    problems hv_balloon driver"

    * tag 'char-misc-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    Drivers: hv: balloon: Fix a memory leak
    Drivers: hv: balloon: Fix a bug in the definition of struct dm_info_msg

    Linus Torvalds
     
  • Pull Xen fixes from Konrad Rzeszutek Wilk:
    - CVE-2013-0190/XSA-40 (or stack corruption for 32-bit PV kernels)
    - Fix racy vma access spotted by Al Viro
    - Fix mmap batch ioctl potentially resulting in large O(n) page allcations.
    - Fix vcpu online/offline BUG:scheduling while atomic..
    - Fix unbound buffer scanning for more than 32 vCPUs.
    - Fix grant table being incorrectly initialized
    - Fix incorrect check in pciback
    - Allow privcmd in backend domains.

    Fix up whitespace conflict due to ugly merge resolution in Xen tree in
    arch/arm/xen/enlighten.c

    * tag 'stable/for-linus-3.8-rc3-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
    xen: Fix stack corruption in xen_failsafe_callback for 32bit PVOPS guests.
    Revert "xen/smp: Fix CPU online/offline bug triggering a BUG: scheduling while atomic."
    xen/gntdev: remove erronous use of copy_to_user
    xen/gntdev: correctly unmap unlinked maps in mmu notifier
    xen/gntdev: fix unsafe vma access
    xen/privcmd: Fix mmap batch ioctl.
    Xen: properly bound buffer access when parsing cpu/*/availability
    xen/grant-table: correctly initialize grant table version 1
    x86/xen : Fix the wrong check in pciback
    xen/privcmd: Relax access control in privcmd_ioctl_mmap

    Linus Torvalds
     
  • Pull m68knommu arch fixes from Greg Ungerer:
    "This contains a couple of fixes, both affecting compilation of non-mmu
    m68k targets."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68k: fix conditional use of init_pointer_table
    m68knommu: add KMAP definitions for non-MMU definitions

    Linus Torvalds
     
  • Commit 816422ad7647 ("asm-generic, mm: pgtable: consolidate zero page
    helpers") broke the compile on MIPS if SPARSEMEM is enabled. We get
    this:

    In file included from arch/mips/include/asm/pgtable.h:552,
    from include/linux/mm.h:44,
    from arch/mips/kernel/asm-offsets.c:14:
    include/asm-generic/pgtable.h: In function 'my_zero_pfn':
    include/asm-generic/pgtable.h:466: error: implicit declaration of function 'page_to_section'
    In file included from arch/mips/kernel/asm-offsets.c:14:
    include/linux/mm.h: At top level:
    include/linux/mm.h:738: error: conflicting types for 'page_to_section'
    include/asm-generic/pgtable.h:466: note: previous implicit declaration of 'page_to_section' was here

    Due header files inter-dependencies, the only way I see to fix it is
    convert my_zero_pfn() for __HAVE_COLOR_ZERO_PAGE to macros.

    Signed-off-by: Kirill A. Shutemov
    Tested-by: Aaro Koskinen
    Acked-by: David Daney
    Cc: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     

18 Jan, 2013

13 commits

  • Linus Torvalds
     
  • The tty is NULL when the port is hanging up.
    chase_port() needs to check for this.

    This patch is intended for stable series.
    The behavior was observed and tested in Linux 3.2 and 3.7.1.

    Johan Hovold submitted a more elaborate patch for the mainline kernel.

    [ 56.277883] usb 1-1: edge_bulk_in_callback - nonzero read bulk status received: -84
    [ 56.278811] usb 1-1: USB disconnect, device number 3
    [ 56.278856] usb 1-1: edge_bulk_in_callback - stopping read!
    [ 56.279562] BUG: unable to handle kernel NULL pointer dereference at 00000000000001c8
    [ 56.280536] IP: [] _raw_spin_lock_irqsave+0x19/0x35
    [ 56.281212] PGD 1dc1b067 PUD 1e0f7067 PMD 0
    [ 56.282085] Oops: 0002 [#1] SMP
    [ 56.282744] Modules linked in:
    [ 56.283512] CPU 1
    [ 56.283512] Pid: 25, comm: khubd Not tainted 3.7.1 #1 innotek GmbH VirtualBox/VirtualBox
    [ 56.283512] RIP: 0010:[] [] _raw_spin_lock_irqsave+0x19/0x35
    [ 56.283512] RSP: 0018:ffff88001fa99ab0 EFLAGS: 00010046
    [ 56.283512] RAX: 0000000000000046 RBX: 00000000000001c8 RCX: 0000000000640064
    [ 56.283512] RDX: 0000000000010000 RSI: ffff88001fa99b20 RDI: 00000000000001c8
    [ 56.283512] RBP: ffff88001fa99b20 R08: 0000000000000000 R09: 0000000000000000
    [ 56.283512] R10: 0000000000000000 R11: ffffffff812fcb4c R12: ffff88001ddf53c0
    [ 56.283512] R13: 0000000000000000 R14: 00000000000001c8 R15: ffff88001e19b9f4
    [ 56.283512] FS: 0000000000000000(0000) GS:ffff88001fd00000(0000) knlGS:0000000000000000
    [ 56.283512] CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    [ 56.283512] CR2: 00000000000001c8 CR3: 000000001dc51000 CR4: 00000000000006e0
    [ 56.283512] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    [ 56.283512] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    [ 56.283512] Process khubd (pid: 25, threadinfo ffff88001fa98000, task ffff88001fa94f80)
    [ 56.283512] Stack:
    [ 56.283512] 0000000000000046 00000000000001c8 ffffffff810578ec ffffffff812fcb4c
    [ 56.283512] ffff88001e19b980 0000000000002710 ffffffff812ffe81 0000000000000001
    [ 56.283512] ffff88001fa94f80 0000000000000202 ffffffff00000001 0000000000000296
    [ 56.283512] Call Trace:
    [ 56.283512] [] ? add_wait_queue+0x12/0x3c
    [ 56.283512] [] ? usb_serial_port_work+0x28/0x28
    [ 56.283512] [] ? chase_port+0x84/0x2d6
    [ 56.283512] [] ? try_to_wake_up+0x199/0x199
    [ 56.283512] [] ? tty_ldisc_hangup+0x222/0x298
    [ 56.283512] [] ? edge_close+0x64/0x129
    [ 56.283512] [] ? __wake_up+0x35/0x46
    [ 56.283512] [] ? should_resched+0x5/0x23
    [ 56.283512] [] ? tty_port_shutdown+0x39/0x44
    [ 56.283512] [] ? usb_serial_port_work+0x28/0x28
    [ 56.283512] [] ? __tty_hangup+0x307/0x351
    [ 56.283512] [] ? usb_hcd_flush_endpoint+0xde/0xed
    [ 56.283512] [] ? _raw_spin_lock_irqsave+0x14/0x35
    [ 56.283512] [] ? usb_serial_disconnect+0x57/0xc2
    [ 56.283512] [] ? usb_unbind_interface+0x5c/0x131
    [ 56.283512] [] ? __device_release_driver+0x7f/0xd5
    [ 56.283512] [] ? device_release_driver+0x1a/0x25
    [ 56.283512] [] ? bus_remove_device+0xd2/0xe7
    [ 56.283512] [] ? device_del+0x119/0x167
    [ 56.283512] [] ? usb_disable_device+0x6a/0x180
    [ 56.283512] [] ? usb_disconnect+0x81/0xe6
    [ 56.283512] [] ? hub_thread+0x577/0xe82
    [ 56.283512] [] ? __schedule+0x490/0x4be
    [ 56.283512] [] ? abort_exclusive_wait+0x79/0x79
    [ 56.283512] [] ? usb_remote_wakeup+0x2f/0x2f
    [ 56.283512] [] ? usb_remote_wakeup+0x2f/0x2f
    [ 56.283512] [] ? kthread+0x81/0x89
    [ 56.283512] [] ? __kthread_parkme+0x5c/0x5c
    [ 56.283512] [] ? ret_from_fork+0x7c/0xb0
    [ 56.283512] [] ? __kthread_parkme+0x5c/0x5c
    [ 56.283512] Code: 8b 7c 24 08 e8 17 0b c3 ff 48 8b 04 24 48 83 c4 10 c3 53 48 89 fb 41 50 e8 e0 0a c3 ff 48 89 04 24 e8 e7 0a c3 ff ba 00 00 01 00
    0f c1 13 48 8b 04 24 89 d1 c1 ea 10 66 39 d1 74 07 f3 90 66
    [ 56.283512] RIP [] _raw_spin_lock_irqsave+0x19/0x35
    [ 56.283512] RSP
    [ 56.283512] CR2: 00000000000001c8
    [ 56.283512] ---[ end trace 49714df27e1679ce ]---

    Signed-off-by: Wolfgang Frisch
    Cc: Johan Hovold
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Wolfgang Frisch
     
  • The driver description files gives these names to the vendor specific
    functions on this modem:

    Diagnostics VID_2357&PID_0201&MI_00
    NMEA VID_2357&PID_0201&MI_01
    Modem VID_2357&PID_0201&MI_03
    Networkcard VID_2357&PID_0201&MI_04

    Reported-by: Thomas Schäfer
    Signed-off-by: Bjørn Mork
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Bjørn Mork
     
  • The driver description files gives these names to the vendor specific
    functions on this modem:

    Diag VID_19D2&PID_0265&MI_00
    NMEA VID_19D2&PID_0265&MI_01
    AT cmd VID_19D2&PID_0265&MI_02
    Modem VID_19D2&PID_0265&MI_03
    Net VID_19D2&PID_0265&MI_04

    Signed-off-by: Bjørn Mork
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Bjørn Mork
     
  • The sb105x driver calls parport_pc_probe_port() which isn't defined if
    PARPORT_PC isn't enabled. Protecting it with CONFIG_PARPORT is not good
    enough, must protect it with CONFIG_PARPORT_PC.

    Reported-by: Randy Dunlap
    Acked-by: Randy Dunlap
    Signed-off-by: Steven Rostedt
    Signed-off-by: Greg Kroah-Hartman

    Steven Rostedt
     
  • Commit 2e254212 broke listing of available network names, since it
    clamped the length of the returned SSID to WLAN_BSSID_LEN (6) instead of
    WLAN_SSID_MAXLEN (32).

    https://bugzilla.kernel.org/show_bug.cgi?id=52501

    Signed-off-by: Tormod Volden
    Cc: stable # 3.4+
    Signed-off-by: Greg Kroah-Hartman

    Tormod Volden
     
  • …jic23/iio into staging-linus

    Jonathan writes:

    Second round of fixes for IIO post 3.8-rc1

    Two tiny fixes
    * A build warning fix due to signed / unsigned comparison
    * Missing sign extension in adis16080

    Greg Kroah-Hartman
     
  • Add support for the UART device present in Broadcom TruManage capable
    NetXtreme chips (ie: 5761m 5762, and 5725).

    This implementation has a hidden transmit FIFO, so running in single-byte
    interrupt mode results in too many interrupts. The UART_CAP_HFIFO
    capability was added to track this. It continues to reload the THR as long
    as the THRE and TSRE bits are set in the LSR up to a specified limit (1024
    is used here).

    Signed-off-by: Stephen Hurd
    Signed-off-by: Michael Chan
    Cc: stable
    Signed-off-by: Greg Kroah-Hartman

    Stephen Hurd
     
  • Commit bbb63c514a3464342967237a51a21ea8f61ab951 (drivers:tty:fix up
    ENOIOCTLCMD error handling) changed the default return value from tty
    ioctl to be ENOTTY and not EINVAL. This is appropriate.

    But in case of TIOCGPTN for the old BSD ptys glibc started failing
    because it expects EINVAL to be returned. Only then it continues to
    obtain the pts name the other way around.

    So fix this case by explicit return of EINVAL in this case.

    Signed-off-by: Jiri Slaby
    Reported-by: Florian Westphal
    Cc: Alan Cox
    Cc: stable # 3.7+
    Signed-off-by: Greg Kroah-Hartman

    Jiri Slaby
     
  • vt6656 has several headers that use the #pragma pack(1) directive to
    enable structure packing, but never disable it. The layout of
    structures defined in other headers can then depend on which order the
    various headers are included in, breaking the One Definition Rule.

    In practice this resulted in crashes on x86_64 until the order of header
    inclusion was changed for some files in commit 11d404cb56ecd ('staging:
    vt6656: fix headers and add cfg80211.'). But we need a proper fix that
    won't be affected by future changes to the order of inclusion.

    This removes the #pragma pack(1) directives and adds __packed to the
    structure definitions for which packing appears to have been intended.

    Reported-and-tested-by: Malcolm Priestley
    Signed-off-by: Ben Hutchings
    Cc: stable@vger.kernel.org
    Signed-off-by: Greg Kroah-Hartman

    Ben Hutchings
     
  • The send buffer was being leaked; fix it.

    Signed-off-by: K. Y. Srinivasan
    Reviewed-by: Haiyang Zhang
    Reported-by: Jason Wang
    Acked-by: Jason Wang
    Signed-off-by: Greg Kroah-Hartman

    K. Y. Srinivasan
     
  • There is bug in the definition of struct dm_info_msg. This patch fixes
    the definition of this structure and makes the corresponding adjustments.

    Signed-off-by: K. Y. Srinivasan
    Reviewed-by: Haiyang Zhang
    Signed-off-by: Greg Kroah-Hartman

    K. Y. Srinivasan
     
  • Pull more s390 patches from Martin Schwidefsky:
    "A couple of bug fixes: one of the transparent huge page primitives is
    broken, the sched_clock function overflows after 417 days, the XFS
    module has grown too large for -fpic and the new pci code has broken
    normal channel subsystem notifications."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
    s390/chsc: fix SEI usage
    s390/time: fix sched_clock() overflow
    s390: use -fPIC for module compile
    s390/mm: fix pmd_pfn() for thp

    Linus Torvalds
     

17 Jan, 2013

12 commits

  • Pull xfs bugfixes from Ben Myers:

    - fix(es) for compound buffers

    - fix for dquot soft timer asserts due to overflow of d_blk_softlimit

    - fix for regression in dir v2 code introduced in commit 20f7e9f3726a
    ("xfs: factor dir2 block read operations")

    * tag 'for-linus-v3.8-rc4' of git://oss.sgi.com/xfs/xfs:
    xfs: recalculate leaf entry pointer after compacting a dir2 block
    xfs: remove int casts from debug dquot soft limit timer asserts
    xfs: fix the multi-segment log buffer format
    xfs: fix segment in xfs_buf_item_format_segment
    xfs: rename bli_format to avoid confusion with bli_formats
    xfs: use b_maps[] for discontiguous buffers

    Linus Torvalds
     
  • Pull ACPI and power management fixes from Rafael Wysocki:

    - cpuidle regression fix related to the initialization of state
    kobjects from Krzysztof Mazur.

    - cpuidle fix removing some not very useful code and making some
    user-visible problems go away at the same time. From Daniel Lezcano.

    - ACPI build fix from Yinghai Lu.

    * tag 'pm+acpi-for-3.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    cpuidle: remove the power_specified field in the driver
    ACPI / glue: Fix build with ACPI_GLUE_DEBUG set
    cpuidle: fix number of initialized/destroyed states

    Linus Torvalds
     
  • Dave Jones hit this assert when doing a compile on recent git, with
    CONFIG_XFS_DEBUG enabled:

    XFS: Assertion failed: (char *)dup - (char *)hdr == be16_to_cpu(*xfs_dir2_data_unused_tag_p(dup)), file: fs/xfs/xfs_dir2_data.c, line: 828

    Upon further digging, the tag found by xfs_dir2_data_unused_tag_p(dup)
    contained "2" and not the proper offset, and I found that this value was
    changed after the memmoves under "Use a stale leaf for our new entry."
    in xfs_dir2_block_addname(), i.e.

    memmove(&blp[mid + 1], &blp[mid],
    (highstale - mid) * sizeof(*blp));

    overwrote it.

    What has happened is that the previous call to xfs_dir2_block_compact()
    has rearranged things; it changes btp->count as well as the
    blp array. So after we make that call, we must recalculate the
    proper pointer to the leaf entries by making another call to
    xfs_dir2_block_leaf_p().

    Dave provided a metadump image which led to a simple reproducer
    (create a particular filename in the affected directory) and this
    resolves the testcase as well as the bug on his live system.

    Thanks also to dchinner for looking at this one with me.

    Signed-off-by: Eric Sandeen
    Tested-by: Dave Jones
    Reviewed-by: Dave Chinner
    Reviewed-by: Mark Tinguely
    Signed-off-by: Ben Myers

    Eric Sandeen
     
  • The int casts here make it easy to trigger an assert with a large
    soft limit. For example, set a >4TB soft limit on an empty volume
    to reproduce a (0 > -x) comparison due to an overflow of
    d_blk_softlimit.

    Signed-off-by: Brian Foster
    Reviewed-by: Ben Myers
    Signed-off-by: Ben Myers

    Brian Foster
     
  • Per Dave Chinner suggestion, this patch:
    1) Corrects the detection of whether a multi-segment buffer is
    still tracking data.
    2) Clears all the buffer log formats for a multi-segment buffer.

    Signed-off-by: Mark Tinguely
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Dave Chinner
    Signed-off-by: Ben Myers

    Mark Tinguely
     
  • Not every segment in a multi-segment buffer is dirty in a
    transaction and they will not be outputted. The assert in
    xfs_buf_item_format_segment() that checks for the at least
    one chunk of data in the segment to be used is not necessary
    true for multi-segmented buffers.

    Signed-off-by: Mark Tinguely
    Reviewed-by: Dave Chinner
    Signed-off-by: Ben Myers

    Mark Tinguely
     
  • Rename the bli_format structure to __bli_format to avoid
    accidently confusing them with the bli_formats pointer.

    Signed-off-by: Mark Tinguely
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Dave Chinner
    Signed-off-by: Ben Myers

    Mark Tinguely
     
  • Commits starting at 77c1a08 introduced a multiple segment support
    to xfs_buf. xfs_trans_buf_item_match() could not find a multi-segment
    buffer in the transaction because it was looking at the single segment
    block number rather than the multi-segment b_maps[0].bm.bn. This
    results on a recursive buffer lock that can never be satisfied.

    This patch:
    1) Changed the remaining b_map accesses to be b_maps[0] accesses.
    2) Renames the single segment b_map structure to __b_map to avoid
    future confusion.

    Signed-off-by: Mark Tinguely
    Reviewed-by: Dave Chinner
    Reviewed-by: Christoph Hellwig
    Signed-off-by: Ben Myers

    Mark Tinguely
     
  • This fixes CVE-2013-0190 / XSA-40

    There has been an error on the xen_failsafe_callback path for failed
    iret, which causes the stack pointer to be wrong when entering the
    iret_exc error path. This can result in the kernel crashing.

    In the classic kernel case, the relevant code looked a little like:

    popl %eax # Error code from hypervisor
    jz 5f
    addl $16,%esp
    jmp iret_exc # Hypervisor said iret fault
    5: addl $16,%esp
    # Hypervisor said segment selector fault

    Here, there are two identical addls on either option of a branch which
    appears to have been optimised by hoisting it above the jz, and
    converting it to an lea, which leaves the flags register unaffected.

    In the PVOPS case, the code looks like:

    popl_cfi %eax # Error from the hypervisor
    lea 16(%esp),%esp # Add $16 before choosing fault path
    CFI_ADJUST_CFA_OFFSET -16
    jz 5f
    addl $16,%esp # Incorrectly adjust %esp again
    jmp iret_exc

    It is possible unprivileged userspace applications to cause this
    behaviour, for example by loading an LDT code selector, then changing
    the code selector to be not-present. At this point, there is a race
    condition where it is possible for the hypervisor to return back to
    userspace from an interrupt, fault on its own iret, and inject a
    failsafe_callback into the kernel.

    This bug has been present since the introduction of Xen PVOPS support
    in commit 5ead97c84 (xen: Core Xen implementation), in 2.6.23.

    Signed-off-by: Frediano Ziglio
    Signed-off-by: Andrew Cooper
    Cc: stable@vger.kernel.org
    Signed-off-by: Konrad Rzeszutek Wilk

    Andrew Cooper
     
  • In commit 281dc5c5ec0f ("Give up on pushing CC_OPTIMIZE_FOR_SIZE") we
    already changed the actual default value, but the help-text still
    suggested 'y'. Fix the help text too, for all the same reasons.

    Sadly, -Os keeps on generating some very suboptimal code for certain
    cases, to the point where any I$ miss upside is swamped by the downside.
    The main ones are:

    - using "rep movsb" for memcpy, even on CPU's where that is
    horrendously bad for performance.

    - not honoring branch prediction information, so any I$ footprint you
    win from smaller code, you lose from less code density in the I$.

    - using divide instructions when that is very expensive.

    Signed-off-by: Kirill Smelkov
    Signed-off-by: Linus Torvalds

    Kirill Smelkov
     
  • Fix the build error:

    drivers/built-in.o: In function `twl_probe':
    drivers/mfd/twl-core.c:1256: undefined reference to `devm_regmap_init_i2c'
    make: *** [vmlinux] Error 1

    Signed-off-by: liu chuansheng
    Acked-by: Peter Ujfalusi
    [ Samuel is busy, taking it directly - Linus ]
    Signed-off-by: Linus Torvalds

    Chuansheng Liu
     
  • [ We should make fun of people who can't speel too, but then we'd have
    no time for any real work at all - Linus ]

    Signed-off-by: Linus Torvalds

    Ralf Baechle