1. 11 12月, 2009 17 次提交
    • J
      kgdb,x86: do not set kgdb_single_step on x86 · 8097551d
      Jason Wessel 提交于
      On an SMP system the kgdb_single_step flag has the possibility to
      indefinitely hang the system in the case.  Consider the case where,
      CPU 1 has the schedule lock and CPU 0 is set to single step, there is
      no way for CPU 0 to run another task.
      
      The easy way to observe the problem is to make 2 cpus busy, and run
      the kgdb test suite.  You will see that it hangs the system very
      quickly.
      
      while [ 1 ] ; do find /proc > /dev/null 2>&1 ; done &
      while [ 1 ] ; do find /proc > /dev/null 2>&1 ; done &
      echo V1 > /sys/module/kgdbts/parameters/kgdbts
      
      The side effect of this patch is that there is the possibility
      to miss a breakpoint in the case that a single step operation
      was executed to step over a breakpoint in common code.
      
      The trade off of the missed breakpoint is preferred to
      hanging the kernel.  This can be fixed in the future by
      using kprobes or another strategy to step over planted
      breakpoints with out of line execution.
      
      CC: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      8097551d
    • J
      kgdb: allow for cpu switch when single stepping · 028e7b17
      Jason Wessel 提交于
      The kgdb core should not assume that a single step operation of a
      kernel thread will complete on the same CPU.  The single step flag is
      set at the "thread" level and it is possible in a multi cpu system
      that a kernel thread can get scheduled on another cpu the next time it
      is run.
      
      As a further safety net in case a slave cpu is hung, the debug master
      cpu will try 100 times before giving up and assuming control of the
      slave cpus is no longer possible.  It is more useful to be able to get
      some information out of kgdb instead of spinning forever.
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      028e7b17
    • J
      kgdb,i386: Fix corner case access to ss with NMI watch dog exception · cf6f196d
      Jason Wessel 提交于
      It is possible for the user_mode_vm(regs) check to return true on the
      i368 arch for a non master kgdb cpu or when the master kgdb cpu
      handles the NMI watch dog exception.
      
      The solution is simply to select the correct gdb_ss location
      based on the check to user_mode_vm(regs).
      
      CC: Ingo Molnar <mingo@elte.hu>
      Acked-by: NH. Peter Anvin <hpa@zytor.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      cf6f196d
    • G
      kgdb: Replace strstr() by strchr() for single-character needles · 59d309f9
      Geert Uytterhoeven 提交于
      Some versions of gcc replace calls to strstr() with single-character
      "needle" string parameters by calls to strchr() behind our back.
      This causes linking errors if strchr() is defined as an inline function
      in <asm/string.h> (e.g. on m68k, which BTW doesn't have kgdb support).
      
      Prevent this by explicitly calling strchr() instead.
      Signed-off-by: NGeert Uytterhoeven <geert@linux-m68k.org>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      59d309f9
    • R
      kgdbts: Read buffer overflow · b4f1b67b
      Roel Kluin 提交于
      Prevent write to put_buf[BUFMAX] in kgdb test suite.
      
      If put_buf_cnt was BUFMAX - 1 at the earlier test,
      `\0' is written to put_buf[BUFMAX].
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      b4f1b67b
    • J
      kgdb: Read buffer overflow · 84667d48
      Jason Wessel 提交于
      Roel Kluin reported an error found with Parfait.  Where we want to
      ensure that that kgdb_info[-1] never gets accessed.
      
      Also check to ensure any negative tid does not exceed the size of the
      shadow CPU array, else report critical debug context because it is an
      internal kgdb failure.
      Reported-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      84667d48
    • R
      kgdb,x86: remove redundant test · a5d09d68
      Roel Kluin 提交于
      The for loop starts with a breakno of 0, and ends when it's 4. so
      this test is always true.
      Signed-off-by: NRoel Kluin <roel.kluin@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      a5d09d68
    • L
      Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6 · 3ef884b4
      Linus Torvalds 提交于
      * 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (189 commits)
        drm/radeon/kms: fix warning about cur_placement being uninitialised.
        drm/ttm: Print debug information on memory manager when eviction fails
        drm: Add memory manager debug function
        drm/radeon/kms: restore surface registers on resume.
        drm/radeon/kms/r600/r700: fallback gracefully on ucode failure
        drm/ttm: Initialize eviction placement in case the driver callback doesn't
        drm/radeon/kms: cleanup structure and module if initialization fails
        drm/radeon/kms: actualy set the eviction placements we choose
        drm/radeon/kms: Fix NULL ptr dereference
        drm/radeon/kms/avivo: add support for new pll selection algo
        drm/radeon/kms/avivo: fix some bugs in the display bandwidth setup
        drm/radeon/kms: fix return value from fence function.
        drm/radeon: Remove tests for -ERESTART from the TTM code.
        drm/ttm: Have the TTM code return -ERESTARTSYS instead of -ERESTART.
        drm/radeon/kms: Convert radeon to new TTM validation API (V2)
        drm/ttm: Rework validation & memory space allocation (V3)
        drm: Add search/get functions to get a block in a specific range
        drm/radeon/kms: fix avivo tiling regression since radeon object rework
        drm/i915: Remove a debugging printk from hangcheck
        drm/radeon/kms: make sure i2c id matches
        ...
      3ef884b4
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 4e5df806
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp: (21 commits)
        amd64_edac: bump driver version
        amd64_edac: fix use-uninitialised bug
        amd64_edac: correct sys address to chip select mapping
        amd64_edac: add a leaner syndrome decoding algorithm
        amd64_edac: remove early hw support check
        amd64_edac: detect DDR3 memory type
        edac: add memory types strings for debugging
        edac, mce: update AMD F10h revD check
        amd64_edac: remove unneeded extract_error_address wrapper
        amd64_edac: rename StinkyIdentifier
        amd64_edac: remove superfluous dbg printk
        amd64_edac: enhance address to DRAM bank mapping
        amd64_edac: cleanup f10_early_channel_count
        amd64_edac: dump DIMM sizes on K8 too
        amd64_edac: cleanup rest of amd64_dump_misc_regs
        amd64_edac: cleanup DRAM cfg low debug output
        amd64_edac: wrap-up pci config read error handling
        amd64_edac: unify MCGCTL ECC switching
        cpumask: use modern cpumask style in drivers/edac/amd64_edac.c
        amd64_edac: make DRAM regions output more human-readable
        ...
      4e5df806
    • L
      Merge branch 'for-linus' of git://gitorious.org/linux-omap-dss2/linux · aa2cf420
      Linus Torvalds 提交于
      * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux:
        MAINTAINERS: Add OMAP2/3 DSS and OMAPFB maintainer
        OMAP: SDP: Enable DSS2 for OMAP3 SDP board
        OMAP: DSS2: Taal DSI command mode panel driver
        OMAP: DSS2: Add generic and Sharp panel drivers
        OMAP: DSS2: omapfb driver
        OMAP: DSS2: DSI driver
        OMAP: DSS2: SDI driver
        OMAP: DSS2: RFBI driver
        OMAP: DSS2: Video encoder driver
        OMAP: DSS2: DPI driver
        OMAP: DSS2: DISPC
        OMAP: DSS2: Add more core files
        OMAP: DSS2: Display Subsystem Driver core
        OMAP: DSS2: Documentation for DSS2
        OMAP: Add support for VRFB rotation engine
        OMAP: Add VRAM manager
        OMAP: OMAPFB: add omapdss device
        OMAP: OMAPFB: split omapfb.h
        OMAP2: Add funcs for writing SMS_ROT_* registers
      aa2cf420
    • L
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · d71cb81a
      Linus Torvalds 提交于
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Add debugobjects support
      d71cb81a
    • L
      Merge branch 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen · ab1831b0
      Linus Torvalds 提交于
      * 'bugfix' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
        xen: try harder to balloon up under memory pressure.
        Xen balloon: fix totalram_pages counting.
        xen: explicitly create/destroy stop_machine workqueues outside suspend/resume region.
        xen: improve error handling in do_suspend.
        xen: don't leak IRQs over suspend/resume.
        xen: call clock resume notifier on all CPUs
        xen: use iret for return from 64b kernel to 32b usermode
        xen: don't call dpm_resume_noirq() with interrupts disabled.
        xen: register runstate info for boot CPU early
        xen: register runstate on secondary CPUs
        xen: register timer interrupt with IRQF_TIMER
        xen: correctly restore pfn_to_mfn_list_list after resume
        xen: restore runstate_info even if !have_vcpu_info_placement
        xen: re-register runstate area earlier on resume.
        xen: wait up to 5 minutes for device connetion
        xen: improvement to wait_for_devices()
        xen: fix is_disconnected_device/exists_disconnected_device
        xen/xenbus: make DEVICE_ATTR()s static
      ab1831b0
    • L
      Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen · eae6fa9b
      Linus Torvalds 提交于
      * 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen:
        xen pvfb: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers.
        fb-defio: Inhibit VM_IO flag to be set on vmalloc-ed framebuffers.
        fb-defio: If FBINFO_VIRTFB is defined, do not set VM_IO flag.
        Fix toogle whether xenbus driver should be built as module or part of kernel.
      eae6fa9b
    • L
    • L
      Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 4515c306
      Linus Torvalds 提交于
      * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (47 commits)
        ext4: Fix potential fiemap deadlock (mmap_sem vs. i_data_sem)
        ext4: Do not override ext2 or ext3 if built they are built as modules
        jbd2: Export jbd2_log_start_commit to fix ext4 build
        ext4: Fix insufficient checks in EXT4_IOC_MOVE_EXT
        ext4: Wait for proper transaction commit on fsync
        ext4: fix incorrect block reservation on quota transfer.
        ext4: quota macros cleanup
        ext4: ext4_get_reserved_space() must return bytes instead of blocks
        ext4: remove blocks from inode prealloc list on failure
        ext4: wait for log to commit when umounting
        ext4: Avoid data / filesystem corruption when write fails to copy data
        ext4: Use ext4 file system driver for ext2/ext3 file system mounts
        ext4: Return the PTR_ERR of the correct pointer in setup_new_group_blocks()
        jbd2: Add ENOMEM checking in and for jbd2_journal_write_metadata_buffer()
        ext4: remove unused parameter wbc from __ext4_journalled_writepage()
        ext4: remove encountered_congestion trace
        ext4: move_extent_per_page() cleanup
        ext4: initialize moved_len before calling ext4_move_extents()
        ext4: Fix double-free of blocks with EXT4_IOC_MOVE_EXT
        ext4: use ext4_data_block_valid() in ext4_free_blocks()
        ...
      4515c306
    • L
      Merge branch 'for-linus' of git://git.open-osd.org/linux-open-osd · a5eba3f6
      Linus Torvalds 提交于
      * 'for-linus' of git://git.open-osd.org/linux-open-osd:
        exofs: Multi-device mirror support
        exofs: Move all operations to an io_engine
        exofs: move osd.c to ios.c
        exofs: statfs blocks is sectors not FS blocks
        exofs: Prints on mount and unmout
        exofs: refactor exofs_i_info initialization into common helper
        exofs: dbg-print less
        exofs: More sane debug print
        trivial: some small fixes in exofs documentation
      a5eba3f6
    • L
      Merge git://git.infradead.org/ubifs-2.6 · fc1495bf
      Linus Torvalds 提交于
      * git://git.infradead.org/ubifs-2.6:
        UBIFS: fix return code in check_leaf
        UBI: flush wl before clearing update marker
        MAINTAINERS: change e-mail of Artem Bityutskiy
        UBIFS: remove manual O_SYNC handling
        UBIFS: support mounting of UBI volume character devices
        UBI: Add ubi_open_volume_path
      fc1495bf
  2. 10 12月, 2009 23 次提交