14 Jul, 2010

1 commit

  • via following scripts

    FILES=$(find * -type f | grep -vE 'oprofile|[^K]config')

    sed -i \
    -e 's/lmb/memblock/g' \
    -e 's/LMB/MEMBLOCK/g' \
    $FILES

    for N in $(find . -name lmb.[ch]); do
    M=$(echo $N | sed 's/lmb/memblock/g')
    mv $N $M
    done

    and remove some wrong change like lmbench and dlmb etc.

    also move memblock.c from lib/ to mm/

    Suggested-by: Ingo Molnar
    Acked-by: "H. Peter Anvin"
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Linus Torvalds
    Signed-off-by: Yinghai Lu
    Signed-off-by: Benjamin Herrenschmidt

    Yinghai Lu
     

07 Jul, 2010

1 commit


05 Jul, 2010

2 commits

  • Reimplement augmented RB-trees without sprinkling extra branches
    all over the RB-tree code (which lives in the scheduler hot path).

    This approach is 'borrowed' from Fabio's BFQ implementation and
    relies on traversing the rebalance path after the RB-tree-op to
    correct the heap property for insertion/removal and make up for
    the damage done by the tree rotations.

    For insertion the rebalance path is trivially that from the new
    node upwards to the root, for removal it is that from the deepest
    node in the path from the to be removed node that will still
    be around after the removal.

    [ This patch also fixes a video driver regression reported by
    Ali Gholami Rudi - the memtype->subtree_max_end was updated
    incorrectly. ]

    Acked-by: Suresh Siddha
    Acked-by: Venkatesh Pallipadi
    Signed-off-by: Peter Zijlstra
    Tested-by: Ali Gholami Rudi
    Cc: Fabio Checconi
    Cc: "H. Peter Anvin"
    Cc: Andrew Morton
    Cc: Linus Torvalds
    LKML-Reference:
    Signed-off-by: Ingo Molnar

    Peter Zijlstra
     
  • We should initialize the module dynamic debug datastructures
    only after determining that the module is not loaded yet. This
    fixes a bug that introduced in 2.6.35-rc2, where when a trying
    to load a module twice, we also load it's dynamic printing data
    twice which causes all sorts of nasty issues. Also handle
    the dynamic debug cleanup later on failure.

    Signed-off-by: Yehuda Sadeh
    Signed-off-by: Rusty Russell (removed a #ifdef)
    Signed-off-by: Linus Torvalds

    Yehuda Sadeh
     

30 Jun, 2010

1 commit

  • bitmap_find_next_zero_area requires the size of the bitmap, we instead
    passed the last suitable position. This made it impossible to allocate
    from the end of the pool.

    Fixes a regression introduced by 243797f59b748f679ab88d456fcc4f92236d724b
    ("genalloc: use bitmap_find_next_zero_area").

    Signed-off-by: Imre Deak
    Cc: Zygo Blaxell
    Cc: Tejun Heo
    Acked-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Imre Deak
     

23 Jun, 2010

1 commit


05 Jun, 2010

4 commits


31 May, 2010

2 commits

  • …git/tip/linux-2.6-tip

    * 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86, cpufeature: Unbreak compile with gcc 3.x
    x86, pat: Fix memory leak in free_memtype
    x86, k8: Fix section mismatch for powernowk8_exit()
    lib/atomic64_test: fix missing include of linux/kernel.h
    x86: remove last traces of quicklist usage
    x86, setup: Phoenix BIOS fixup is needed on Dell Inspiron Mini 1012
    x86: "nosmp" command line option should force the system into UP mode
    arch/x86/pci: use kasprintf
    x86, apic: ack all pending irqs when crashed/on kexec

    Linus Torvalds
     
  • This reverts commit 0ac0c0d0f837c499afd02a802f9cf52d3027fa3b, which
    caused cross-architecture build problems for all the wrong reasons.
    IA64 already added its own version of __node_random(), but the fact is,
    there is nothing architectural about the function, and the original
    commit was just badly done. Revert it, since no fix is forthcoming.

    Requested-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

29 May, 2010

1 commit

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (27 commits)
    ACPI: Don't let acpi_pad needlessly mark TSC unstable
    drivers/acpi/sleep.h: Checkpatch cleanup
    ACPI: Minor cleanup eliminating redundant PMTIMER_TICKS to NS conversion
    ACPI: delete unused c-state promotion/demotion data strucutures
    ACPI: video: fix acpi_backlight=video
    ACPI: EC: Use kmemdup
    drivers/acpi: use kasprintf
    ACPI, APEI, EINJ injection parameters support
    Add x64 support to debugfs
    ACPI, APEI, Use ERST for persistent storage of MCE
    ACPI, APEI, Error Record Serialization Table (ERST) support
    ACPI, APEI, Generic Hardware Error Source memory error support
    ACPI, APEI, UEFI Common Platform Error Record (CPER) header
    Unified UUID/GUID definition
    ACPI Hardware Error Device (PNP0C33) support
    ACPI, APEI, PCIE AER, use general HEST table parsing in AER firmware_first setup
    ACPI, APEI, Document for APEI
    ACPI, APEI, EINJ support
    ACPI, APEI, HEST table parsing
    ACPI, APEI, APEI supporting infrastructure
    ...

    Linus Torvalds
     

28 May, 2010

6 commits

  • radix_tree_prev_hole() used LONG_MAX to detect underflow; however,
    ULONG_MAX is clearly what was intended, both here and by its only user
    (count_history_pages at mm/readahead.c).

    Reviewed-by: Wu Fengguang
    Signed-off-by: Cesar Eduardo Barros
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cesar Eduardo Barros
     
  • swiotlb_sync_single_range_for_cpu and swiotlb_sync_single_range_for_device
    are unnecessary because swiotlb_sync_single_for_cpu and
    swiotlb_sync_single_for_device can be used instead.

    Signed-off-by: FUJITA Tomonori
    Reviewed-by: Konrad Rzeszutek Wilk
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • This patch moves the definition of struct rnd_state and the inline
    __seed() function to linux/random.h. It renames the static __random32()
    function to prandom32() and exports it for use in modules.

    prandom32() is useful as a privately-seeded pseudo random number generator
    that can give the same result every time it is initialized.

    For FCoE FC-BB-6 VN2VN mode self-selected unique FC address generation, we
    need an pseudo-random number generator seeded with the 64-bit world-wide
    port name. A truly random generator or one seeded with randomness won't
    do because the same sequence of numbers should be generated each time we
    boot or the link comes up.

    A prandom32_seed() inline function is added to the header file. It is
    inlined not for speed, but so the function won't be expanded in the base
    kernel, but only in the module that uses it.

    Signed-off-by: Joe Eykholt
    Acked-by: Matt Mackall
    Cc: Theodore Ts'o
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Eykholt
     
  • Currently idr_remove_all will fail with a use after free error if
    idr::layers is bigger than 2, which on 32 bit systems corresponds to items
    more than 1024. This is due to stepping back too many levels during
    backtracking. For simplicity let's assume that IDR_BITS=1 -> we have 2
    nodes at each level below the root node and each leaf node stores two IDs.
    (In reality for 32 bit systems IDR_BITS=5, with 32 nodes at each sub-root
    level and 32 IDs in each leaf node). The sequence of freeing the nodes at
    the moment is as follows:

    layer
    1 -> a(7)
    2 -> b(3) c(5)
    3 -> d(1) e(2) f(4) g(6)

    Until step 4 things go fine, but then node c is freed, whereas node g
    should be freed first. Since node c contains the pointer to node g we'll
    have a use after free error at step 6.

    How many levels we step back after visiting the leaf nodes is currently
    determined by the msb of the id we are currently visiting:

    Step
    1. node d with IDs 0,1 is freed, current ID is advanced to 2.
    msb of the current ID bit 1. This means we need to step back
    1 level to node b and take the next sibling, node e.
    2-3. node e with IDs 2,3 is freed, current ID is 4, msb is bit 2.
    This means we need to step back 2 levels to node a, freeing
    node b on the way.
    4-5. node f with IDs 4,5 is freed, current ID is 6, msb is still
    bit 2. This means we again need to step back 2 levels to node
    a and free c on the way.
    6. We should visit node g, but its pointer is not available as
    node c was freed.

    The fix changes how we determine the number of levels to step back.
    Instead of deducting this merely from the msb of the current ID, we should
    really check if advancing the ID causes an overflow to a bit position
    corresponding to a given layer. In the above example overflow from bit 0
    to bit 1 should mean stepping back 1 level. Overflow from bit 1 to bit 2
    should mean stepping back 2 levels and so on.

    The fix was tested with IDs up to 1 << 20, which corresponds to 4 layers
    on 32 bit systems.

    Signed-off-by: Imre Deak
    Reviewed-by: Tejun Heo
    Cc: Eric Paris
    Cc: "Paul E. McKenney"
    Cc: [2.6.34.1]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Imre Deak
     
  • I used this module to test the series of modification to the cpu notifiers
    code.

    Example1: inject CPU offline error (-1 == -EPERM)

    # modprobe cpu-notifier-error-inject cpu_down_prepare_error=-1
    # echo 0 > /sys/devices/system/cpu/cpu1/online
    bash: echo: write error: Operation not permitted

    Example2: inject CPU online error (-2 == -ENOENT)

    # modprobe cpu-notifier-error-inject cpu_up_prepare_error=-2
    # echo 1 > /sys/devices/system/cpu/cpu1/online
    bash: echo: write error: No such file or directory

    [akpm@linux-foundation.org: fix Kconfig help text]
    Signed-off-by: Akinobu Mita
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Akinobu Mita
     
  • Some workloads that create a large number of small files tend to assign
    too many pages to node 0 (multi-node systems). Part of the reason is that
    the rotor (in cpuset_mem_spread_node()) used to assign nodes starts at
    node 0 for newly created tasks.

    This patch changes the rotor to be initialized to a random node number of
    the cpuset.

    [akpm@linux-foundation.org: fix layout]
    [Lee.Schermerhorn@hp.com: Define stub numa_random() for !NUMA configuration]
    Signed-off-by: Jack Steiner
    Signed-off-by: Lee Schermerhorn
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Paul Menage
    Cc: Jack Steiner
    Cc: Robin Holt
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jack Steiner
     

26 May, 2010

1 commit


25 May, 2010

9 commits

  • Since crc32.c contains a nifty test program that can be executed in user
    space, make sure endian detection works reliably in user space too.

    Signed-off-by: Joakim Tjernlund
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joakim Tjernlund
     
  • Precompute more crc32 values(0xcc00, 0xcc0000 and 0xcc000000) into tables.
    This increases the table size from 1KB to 4KB but the performance benfit
    makes it worth it:

    28% faster on MPC8321, 266 MHz
    2x faster on Core 2 Duo, 3.1GHz

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Joakim Tjernlund
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joakim Tjernlund
     
  • hex_to_bin() is a little method which converts hex digit to its actual
    value. There are plenty of places where such functionality is needed.

    [akpm@linux-foundation.org: use tolower(), saving 3 bytes, test the more common case first - it's quicker]
    [akpm@linux-foundation.org: relocate tolower to make it even faster! (Joe)]
    Signed-off-by: Andy Shevchenko
    Cc: Tilman Schmidt
    Cc: Duncan Sands
    Cc: Eric W. Biederman
    Cc: Greg Kroah-Hartman
    Cc: "Richard Russon (FlatCap)"
    Cc: John W. Linville
    Cc: Len Brown
    Cc: Joe Perches
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Shevchenko
     
  • Reduce char linebuf[200] to the actual size required., which is 32 * 3 + 2
    + 32 + 1, ie: linebuf[131].

    Change examples to use bool true not int 1.

    Align multiline argument indentation to open parenthesis.

    Use temporary for ptr[j] so trigraph fits on single line.

    Convert printk ptr from %*p, (int)(2 * sizeof(void *)) to %p as %p uses
    the same calculation for size.

    Signed-off-by: Joe Perches
    Cc: Randy Dunlap
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Florian Ragwitz
    Cc: Jason Baron
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Florian Ragwitz
     
  • This doesn't change behavior at all. In the original code, if nwords was
    zero then ddebug_parse_query() would return -EINVAL, now we just do it
    earlier.

    Signed-off-by: Dan Carpenter
    Acked-by: Jason Baron
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Dan Carpenter
     
  • Mark static functions with noinline_for_stack

    Before:

    akpm:/usr/src/25> objdump -d lib/vsprintf.o | perl scripts/checkstack.pl
    0x00000e82 pointer [vsprintf.o]: 344
    0x0000198c pointer [vsprintf.o]: 344
    0x000025d6 scnprintf [vsprintf.o]: 216
    0x00002648 scnprintf [vsprintf.o]: 216
    0x00002565 snprintf [vsprintf.o]: 208
    0x0000267c sprintf [vsprintf.o]: 208
    0x000030a3 bprintf [vsprintf.o]: 208
    0x00003b1e sscanf [vsprintf.o]: 208
    0x00000608 number [vsprintf.o]: 136
    0x00000937 number [vsprintf.o]: 136

    After:

    akpm:/usr/src/25> objdump -d lib/vsprintf.o | perl scripts/checkstack.pl
    0x00000a7c symbol_string [vsprintf.o]: 248
    0x00000ae8 symbol_string [vsprintf.o]: 248
    0x00002310 scnprintf [vsprintf.o]: 216
    0x00002382 scnprintf [vsprintf.o]: 216
    0x0000229f snprintf [vsprintf.o]: 208
    0x000023b6 sprintf [vsprintf.o]: 208
    0x00002ddd bprintf [vsprintf.o]: 208
    0x00003858 sscanf [vsprintf.o]: 208
    0x00000625 number [vsprintf.o]: 136
    0x00000954 number [vsprintf.o]: 136

    Signed-off-by: Joe Perches
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     
  • - C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not
    USHORT_MAX/SHORT_MAX/SHORT_MIN.

    - Make SHRT_MIN of type s16, not int, for consistency.

    [akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]
    [akpm@linux-foundation.org: fix security/keys/keyring.c]
    Signed-off-by: Alexey Dobriyan
    Acked-by: WANG Cong
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • Fix a build-failure
    (http://kisskb.ellerman.id.au/kisskb/buildresult/2601239/) by adding the
    missing include file (linux/kernel.h) for printk and KERN_INFO.

    Signed-off-by: Peter Huewe
    LKML-Reference:
    Cc: Luca Barbieri
    Cc: "H. Peter Anvin"
    Signed-off-by: Andrew Morton
    Signed-off-by: H. Peter Anvin

    Peter Huewe
     

22 May, 2010

9 commits

  • * git://git.infradead.org/iommu-2.6:
    intel-iommu: Set a more specific taint flag for invalid BIOS DMAR tables
    intel-iommu: Combine the BIOS DMAR table warning messages
    panic: Add taint flag TAINT_FIRMWARE_WORKAROUND ('I')
    panic: Allow warnings to set different taint flags
    intel-iommu: intel_iommu_map_range failed at very end of address space
    intel-iommu: errors with smaller iommu widths
    intel-iommu: Fix boot inside 64bit virtualbox with io-apic disabled
    intel-iommu: use physfn to search drhd for VF
    intel-iommu: Print out iommu seq_id
    intel-iommu: Don't complain that ACPI_DMAR_SCOPE_TYPE_IOAPIC is not supported
    intel-iommu: Avoid global flushes with caching mode.
    intel-iommu: Use correct domain ID when caching mode is enabled
    intel-iommu mistakenly uses offset_pfn when caching mode is enabled
    intel-iommu: use for_each_set_bit()
    intel-iommu: Fix section mismatch dmar_ir_support() uses dmar_tbl.

    Linus Torvalds
     
  • * 'kdb-merge' of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb: (25 commits)
    kdb,debug_core: Allow the debug core to receive a panic notification
    MAINTAINERS: update kgdb, kdb, and debug_core info
    debug_core,kdb: Allow the debug core to process a recursive debug entry
    printk,kdb: capture printk() when in kdb shell
    kgdboc,kdb: Allow kdb to work on a non open console port
    kgdb: Add the ability to schedule a breakpoint via a tasklet
    mips,kgdb: kdb low level trap catch and stack trace
    powerpc,kgdb: Introduce low level trap catching
    x86,kgdb: Add low level debug hook
    kgdb: remove post_primary_code references
    kgdb,docs: Update the kgdb docs to include kdb
    kgdboc,keyboard: Keyboard driver for kdb with kgdb
    kgdb: gdb "monitor" -> kdb passthrough
    sparc,sunzilog: Add console polling support for sunzilog serial driver
    sh,sh-sci: Use NO_POLL_CHAR in the SCIF polled console code
    kgdb,8250,pl011: Return immediately from console poll
    kgdb: core changes to support kdb
    kdb: core for kgdb back end (2 of 2)
    kdb: core for kgdb back end (1 of 2)
    kgdb,blackfin: Add in kgdb_arch_set_pc for blackfin
    ...

    Linus Torvalds
     
  • It only makes sense for uevent_helper to get events
    in the intial namespaces. It's invocation is not
    per namespace and it is not clear how we could make
    it's invocation namespace aware.

    Signed-off-by: Eric W. Biederman
    Acked-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Utilize netlink_broacast_filtered to allow sending hotplug events
    in the proper namespace.

    Signed-off-by: Eric W. Biederman
    Acked-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Open a copy of the uevent kernel socket in each network
    namespace so we can send uevents in all network namespaces.

    Signed-off-by: Eric W. Biederman
    Acked-by: David S. Miller
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Add some in-line comments to explain the new infrastructure, which
    was introduced to support sysfs directory tagging with namespaces.
    I think an overall description someplace might be good too, but it
    didn't really seem to fit into Documentation/filesystems/sysfs.txt,
    which appears more geared toward users, rather than maintainers, of
    sysfs.

    (Tejun, please let me know if I can make anything clearer or failed
    altogether to comment something that should be commented.)

    Signed-off-by: Serge E. Hallyn
    Cc: Eric W. Biederman
    Cc: Tejun Heo
    Signed-off-by: Greg Kroah-Hartman

    Serge E. Hallyn
     
  • The problem. When implementing a network namespace I need to be able
    to have multiple network devices with the same name. Currently this
    is a problem for /sys/class/net/*, /sys/devices/virtual/net/*, and
    potentially a few other directories of the form /sys/ ... /net/*.

    What this patch does is to add an additional tag field to the
    sysfs dirent structure. For directories that should show different
    contents depending on the context such as /sys/class/net/, and
    /sys/devices/virtual/net/ this tag field is used to specify the
    context in which those directories should be visible. Effectively
    this is the same as creating multiple distinct directories with
    the same name but internally to sysfs the result is nicer.

    I am calling the concept of a single directory that looks like multiple
    directories all at the same path in the filesystem tagged directories.

    For the networking namespace the set of directories whose contents I need
    to filter with tags can depend on the presence or absence of hotplug
    hardware or which modules are currently loaded. Which means I need
    a simple race free way to setup those directories as tagged.

    To achieve a reace free design all tagged directories are created
    and managed by sysfs itself.

    Users of this interface:
    - define a type in the sysfs_tag_type enumeration.
    - call sysfs_register_ns_types with the type and it's operations
    - sysfs_exit_ns when an individual tag is no longer valid

    - Implement mount_ns() which returns the ns of the calling process
    so we can attach it to a sysfs superblock.
    - Implement ktype.namespace() which returns the ns of a syfs kobject.

    Everything else is left up to sysfs and the driver layer.

    For the network namespace mount_ns and namespace() are essentially
    one line functions, and look to remain that.

    Tags are currently represented a const void * pointers as that is
    both generic, prevides enough information for equality comparisons,
    and is trivial to create for current users, as it is just the
    existing namespace pointer.

    The work needed in sysfs is more extensive. At each directory
    or symlink creating I need to check if the directory it is being
    created in is a tagged directory and if so generate the appropriate
    tag to place on the sysfs_dirent. Likewise at each symlink or
    directory removal I need to check if the sysfs directory it is
    being removed from is a tagged directory and if so figure out
    which tag goes along with the name I am deleting.

    Currently only directories which hold kobjects, and
    symlinks are supported. There is not enough information
    in the current file attribute interfaces to give us anything
    to discriminate on which makes it useless, and there are
    no potential users which makes it an uninteresting problem
    to solve.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Benjamin Thery
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Move complete knowledge of namespaces into the kobject layer
    so we can use that information when reporting kobjects to
    userspace.

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Of the three uses of kref_set in the kernel:

    One really should be kref_put as the code is letting go of a
    reference,
    Two really should be kref_init because the kref is being
    initialised.

    This suggests that making kref_set available encourages bad code.
    So fix the three uses and remove kref_set completely.

    Signed-off-by: NeilBrown
    Acked-by: Mimi Zohar
    Acked-by: Serge Hallyn
    Signed-off-by: Greg Kroah-Hartman

    NeilBrown
     

21 May, 2010

2 commits

  • * git://git.infradead.org/mtd-2.6: (154 commits)
    mtd: cfi_cmdset_0002: use AMD standard command-set with Winbond flash chips
    mtd: cfi_cmdset_0002: Fix MODULE_ALIAS and linkage for new 0701 commandset ID
    mtd: mxc_nand: Remove duplicate NAND_CMD_RESET case value
    mtd: update gfp/slab.h includes
    jffs2: Stop triggering block erases from jffs2_write_super()
    jffs2: Rename jffs2_erase_pending_trigger() to jffs2_dirty_trigger()
    jffs2: Use jffs2_garbage_collect_trigger() to trigger pending erases
    jffs2: Require jffs2_garbage_collect_trigger() to be called with lock held
    jffs2: Wake GC thread when there are blocks to be erased
    jffs2: Erase pending blocks in GC pass, avoid invalid -EIO return
    jffs2: Add 'work_done' return value from jffs2_erase_pending_blocks()
    mtd: mtdchar: Do not corrupt backing device of device node inode
    mtd/maps/pcmciamtd: Fix printk format for ssize_t in debug messages
    drivers/mtd: Use kmemdup
    mtd: cfi_cmdset_0002: Fix argument order in bootloc warning
    mtd: nand: add Toshiba TC58NVG0 device ID
    pcmciamtd: add another ID
    pcmciamtd: coding style cleanups
    pcmciamtd: fixing obvious errors
    mtd: chips: add SST39WF160x NOR-flashes
    ...

    Trivial conflicts due to dev_node removal in drivers/mtd/maps/pcmciamtd.c

    Linus Torvalds
     
  • The only way the debugger can handle a trap in inside rcu_lock,
    notify_die, or atomic_notifier_call_chain without a recursive fault is
    to have a low level "first opportunity handler" do_trap_or_bp() handler.

    Generally this will be something the vast majority of folks will not
    need, but for those who need it, it is added as a kernel .config
    option called KGDB_LOW_LEVEL_TRAP.

    Also added was a die notification for oops such that kdb can catch an
    oops for analysis.

    There appeared to be no obvious way to pass the struct pt_regs from
    the original exception back to the stack back tracer, so a special
    case was added to show_stack() for when kdb is active because you
    generally desire to generally look at the back trace of the original
    exception.

    Signed-off-by: Jason Wessel
    Acked-by: Ralf Baechle

    Jason Wessel