21 Oct, 2008

1 commit


20 Oct, 2008

1 commit

  • bitmap_scnprintf_len() is not used now, so we remove it.

    Otherwise we have to maintain it and make its return
    value always equal to bitmap_scnprintf()'s return value.

    Signed-off-by: Lai Jiangshan
    Cc: Alexey Dobriyan
    Cc: Paul Menage
    Cc: Paul Jackson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lai Jiangshan
     

17 Oct, 2008

11 commits

  • CONFIG_DEBUG_BLOCK_EXT_DEVT can break booting even on some modern
    distros. Add BIG FAT WARNING to keep people at a safe distance.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • Open-code them rather than using defining macros. The function bodies are now
    next to their kerneldoc comments as a bonus.

    Add casts to the signed cases as they call into the unsigned versions.

    Avoids the sparse warnings:
    lib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness)
    lib/vsprintf.c:249:1: expected unsigned long *res
    lib/vsprintf.c:249:1: got long *res
    lib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness)
    lib/vsprintf.c:249:1: expected unsigned long *res
    lib/vsprintf.c:249:1: got long *res
    lib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness)
    lib/vsprintf.c:251:1: expected unsigned long long *res
    lib/vsprintf.c:251:1: got long long *res
    lib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness)
    lib/vsprintf.c:251:1: expected unsigned long long *res
    lib/vsprintf.c:251:1: got long long *res

    Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • Remove extra lines before the EXPORT_SYMBOL()s

    Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • The default base is 10 unless there is a leading zero, in which
    case the base will be guessed as 8.

    The base will only be guesed as 16 when the string starts with '0x'
    the third character is a valid hex digit.

    Signed-off-by: Harvey Harrison
    Signed-off-by: Linus Torvalds

    Harvey Harrison
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (46 commits)
    UIO: Fix mapping of logical and virtual memory
    UIO: add automata sercos3 pci card support
    UIO: Change driver name of uio_pdrv
    UIO: Add alignment warnings for uio-mem
    Driver core: add bus_sort_breadthfirst() function
    NET: convert the phy_device file to use bus_find_device_by_name
    kobject: Cleanup kobject_rename and !CONFIG_SYSFS
    kobject: Fix kobject_rename and !CONFIG_SYSFS
    sysfs: Make dir and name args to sysfs_notify() const
    platform: add new device registration helper
    sysfs: use ilookup5() instead of ilookup5_nowait()
    PNP: create device attributes via default device attributes
    Driver core: make bus_find_device_by_name() more robust
    usb: turn dev_warn+WARN_ON combos into dev_WARN
    debug: use dev_WARN() rather than WARN_ON() in device_pm_add()
    debug: Introduce a dev_WARN() function
    sysfs: fix deadlock
    device model: Do a quickcheck for driver binding before doing an expensive check
    Driver core: Fix cleanup in device_create_vargs().
    Driver core: Clarify device cleanup.
    ...

    Linus Torvalds
     
  • This patch introduces the generic iommu_num_pages function. It can be used by
    a given memory area.

    Signed-off-by: Joerg Roedel
    Cc: "David S. Miller"
    Cc: Richard Henderson
    Cc: Ivan Kokshaysky
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: FUJITA Tomonori
    Cc: Muli Ben-Yehuda
    Cc: Dave Airlie
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joerg Roedel
     
  • Add documentation in kerneldoc for new printk format extensions

    This patch documents the new %pS/%pF options in printk in kernel doc.

    Hope I didn't miss any other extension.

    Signed-off-by: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • Using "def_bool n" is pointless, simply using bool here appears more
    appropriate.

    Further, retaining such options that don't have a prompt and aren't
    selected by anything seems also at least questionable.

    Signed-off-by: Jan Beulich
    Cc: Ingo Molnar
    Cc: Tony Luck
    Cc: Thomas Gleixner
    Cc: Bartlomiej Zolnierkiewicz
    Cc: Sam Ravnborg
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Beulich
     
  • It finally dawned on me what the clean fix to sysfs_rename_dir
    calling kobject_set_name is. Move the work into kobject_rename
    where it belongs. The callers serialize us anyway so this is
    safe.

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

    Eric W. Biederman
     
  • When looking at kobject_rename I found two bugs with
    that exist when sysfs support is disabled in the kernel.

    kobject_rename does not change the name on the kobject when
    sysfs support is not compiled in.

    kobject_rename without locking attempts to check the
    validity of a rename operation, which the kobject layer
    simply does not have the infrastructure to do.

    This patch documents the previously unstated requirement of
    kobject_rename that is the responsibility of the caller to
    provide mutual exclusion and to be certain that the new_name
    for the kobject is valid.

    This patch modifies sysfs_rename_dir in !CONFIG_SYSFS case
    to call kobject_set_name to actually change the kobject_name.

    This patch removes the bogus and misleading check in kobject_rename
    that attempts to see if a rename is valid. The check is bogus
    because we do not have the proper locking. The check is misleading
    because it looks like we can and do perform checking at the kobject
    level that we don't.

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

    Eric W. Biederman
     
  • Base infrastructure to enable per-module debug messages.

    I've introduced CONFIG_DYNAMIC_PRINTK_DEBUG, which when enabled centralizes
    control of debugging statements on a per-module basis in one /proc file,
    currently, /dynamic_printk/modules. When, CONFIG_DYNAMIC_PRINTK_DEBUG,
    is not set, debugging statements can still be enabled as before, often by
    defining 'DEBUG' for the proper compilation unit. Thus, this patch set has no
    affect when CONFIG_DYNAMIC_PRINTK_DEBUG is not set.

    The infrastructure currently ties into all pr_debug() and dev_dbg() calls. That
    is, if CONFIG_DYNAMIC_PRINTK_DEBUG is set, all pr_debug() and dev_dbg() calls
    can be dynamically enabled/disabled on a per-module basis.

    Future plans include extending this functionality to subsystems, that define
    their own debug levels and flags.

    Usage:

    Dynamic debugging is controlled by the debugfs file,
    /dynamic_printk/modules. This file contains a list of the modules that
    can be enabled. The format of the file is as follows:


    .
    .
    .

    : Name of the module in which the debug call resides
    : whether the messages are enabled or not

    For example:

    snd_hda_intel enabled=0
    fixup enabled=1
    driver enabled=0

    Enable a module:

    $echo "set enabled=1 " > dynamic_printk/modules

    Disable a module:

    $echo "set enabled=0 " > dynamic_printk/modules

    Enable all modules:

    $echo "set enabled=1 all" > dynamic_printk/modules

    Disable all modules:

    $echo "set enabled=0 all" > dynamic_printk/modules

    Finally, passing "dynamic_printk" at the command line enables
    debugging for all modules. This mode can be turned off via the above
    disable command.

    [gkh: minor cleanups and tweaks to make the build work quietly]

    Signed-off-by: Jason Baron
    Signed-off-by: Greg Kroah-Hartman

    Jason Baron
     

14 Oct, 2008

1 commit

  • This is a much better version of a previous patch to make the parser
    tables constant. Rather than changing the typedef, we put the "const" in
    all the various places where its required, allowing the __initconst
    exception for nfsroot which was the cause of the previous trouble.

    This was posted for review some time ago and I believe its been in -mm
    since then.

    Signed-off-by: Steven Whitehouse
    Cc: Alexander Viro
    Signed-off-by: Linus Torvalds

    Steven Whitehouse
     

12 Oct, 2008

4 commits

  • …memory-corruption-check', 'x86/early-printk', 'x86/xsave', 'x86/ptrace-v2', 'x86/quirks', 'x86/setup', 'x86/spinlocks' and 'x86/signal' into x86/core-v2

    Ingo Molnar
     
  • Conflicts:
    arch/x86/kernel/cpu/common.c
    arch/x86/kernel/process_64.c
    arch/x86/xen/enlighten.c

    Ingo Molnar
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (43 commits)
    ext4: Rename ext4dev to ext4
    ext4: Avoid double dirtying of super block in ext4_put_super()
    Update ext4 MAINTAINERS file
    Hook ext4 to the vfs fiemap interface.
    generic block based fiemap implementation
    ocfs2: fiemap support
    vfs: vfs-level fiemap interface
    ext4: fix xattr deadlock
    jbd2: Fix buffer head leak when writing the commit block
    ext4: Add debugging markers that can be used by systemtap
    jbd2: abort instead of waiting for nonexistent transaction
    ext4: fix initialization of UNINIT bitmap blocks
    ext4: Remove old legacy block allocator
    ext4: Use readahead when reading an inode from the inode table
    ext4: Improve the documentation for ext4's /proc tunables
    ext4: Combine proc file handling into a single set of functions
    ext4: move /proc setup and teardown out of mballoc.c
    ext4: Don't use 'struct dentry' for internal lookups
    ext4/jbd2: Avoid WARN() messages when failing to write to the superblock
    ext4: use percpu data structures for lg_prealloc_list
    ...

    Linus Torvalds
     
  • * 'x86-v28-for-linus-phase3-B' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (74 commits)
    AMD IOMMU: use iommu_device_max_index, fix
    AMD IOMMU: use iommu_device_max_index
    x86: add PCI IDs for AMD Barcelona PCI devices
    x86/iommu: use __GFP_ZERO instead of memset for GART
    x86/iommu: convert GART need_flush to bool
    x86/iommu: make GART driver checkpatch clean
    x86 gart: remove unnecessary initialization
    x86: restore old GART alloc_coherent behavior
    revert "x86: make GART to respect device's dma_mask about virtual mappings"
    x86: export pci-nommu's alloc_coherent
    iommu: remove fullflush and nofullflush in IOMMU generic option
    x86: remove set_bit_string()
    iommu: export iommu_area_reserve helper function
    AMD IOMMU: use coherent_dma_mask in alloc_coherent
    add AMD IOMMU tree to MAINTAINERS file
    AMD IOMMU: use cmd_buf_size when freeing the command buffer
    AMD IOMMU: calculate IVHD size with a function
    AMD IOMMU: remove unnecessary cast to u64 in the init code
    AMD IOMMU: free domain bitmap with its allocation order
    AMD IOMMU: simplify dma_mask_to_pages
    ...

    Linus Torvalds
     

11 Oct, 2008

2 commits

  • * 'rcu-v28-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (21 commits)
    rcu: RCU-based detection of stalled CPUs for Classic RCU, fix
    rcu: RCU-based detection of stalled CPUs for Classic RCU
    rcu: add rcu_read_lock_sched() / rcu_read_unlock_sched()
    rcu: fix sparse shadowed variable warning
    doc/RCU: fix pseudocode in rcuref.txt
    rcuclassic: fix compiler warning
    rcu: use irq-safe locks
    rcuclassic: fix compilation NG
    rcu: fix locking cleanup fallout
    rcu: remove redundant ACCESS_ONCE definition from rcupreempt.c
    rcu: fix classic RCU locking cleanup lockdep problem
    rcu: trace fix possible mem-leak
    rcu: just rename call_rcu_bh instead of making it a macro
    rcu: remove list_for_each_rcu()
    rcu: fixes to include/linux/rcupreempt.h
    rcu: classic RCU locking and memory-barrier cleanups
    rcu: prevent console flood when one CPU sees another AWOL via RCU
    rcu, debug: detect stalled grace periods, cleanups
    rcu, debug: detect stalled grace periods
    rcu classic: new algorithm for callbacks-processing(v2)
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (37 commits)
    [SCSI] zfcp: fix double dbf id usage
    [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev
    [SCSI] zfcp: fix erp list usage without using locks
    [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport
    [SCSI] zfcp: fix deadlock caused by shared work queue tasks
    [SCSI] zfcp: put threshold data in hba trace
    [SCSI] zfcp: Simplify zfcp data structures
    [SCSI] zfcp: Simplify get_adapter_by_busid
    [SCSI] zfcp: remove all typedefs and replace them with standards
    [SCSI] zfcp: attach and release SAN nameserver port on demand
    [SCSI] zfcp: remove unused references, declarations and flags
    [SCSI] zfcp: Update message with input from review
    [SCSI] zfcp: add queue_full sysfs attribute
    [SCSI] scsi_dh: suppress comparison warning
    [SCSI] scsi_dh: add Dell product information into rdac device handler
    [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option
    [SCSI] qla2xxx: fix printk format warnings
    [SCSI] qla2xxx: Update version number to 8.02.01-k8.
    [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing.
    [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling.
    ...

    Linus Torvalds
     

09 Oct, 2008

5 commits

  • Only works for the generic request timer handling. Allows one to
    sporadically ignore request completions, thus exercising the timeout
    handling.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • DEBUG_BLOCK_EXT_DEVT shuffles SCSI and IDE device numbers and root
    device number set using rdev become meaningless. Root devices should
    be explicitly specified using textual names. Warn about it if root
    can't be found and DEBUG_BLOCK_EXT_DEVT is enabled. Also, add warning
    to the help text.

    Signed-off-by: Tejun Heo
    Cc: Bartlomiej Zolnierkiewicz
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • It's a debug option that you would explicitly enable to test this
    feature, we should default it to 'n' to prevent accidental surprises
    for now.

    Signed-off-by: Jens Axboe

    Jens Axboe
     
  • Extended devt introduces non-contiguos device numbers. This patch
    implements a debug option which forces most devt allocations to be
    from the extended area and spreads them out. This is enabled by
    default if DEBUG_KERNEL is set and achieves...

    1. Detects code paths in kernel or userland which expect predetermined
    consecutive device numbers.

    2. When something goes wrong, avoid corruption as adding to the minor
    of earlier partition won't lead to the wrong but valid device.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Tejun Heo
     
  • A klist entry is kept on the list till all its current iterations are
    finished; however, a new iteration after deletion also iterates over
    deleted entries as long as their reference count stays above zero.
    This causes problems for cases where there are users which iterate
    over the list while synchronized against list manipulations and
    natuarally expect already deleted entries to not show up during
    iteration.

    This patch implements dead flag which gets set on deletion so that
    iteration can skip already deleted entries. The dead flag piggy backs
    on the lowest bit of knode->n_klist and only visible to klist
    implementation proper.

    While at it, drop klist_iter->i_head as it's redundant and doesn't
    offer anything in semantics or performance wise as klist_iter->i_klist
    is dereferenced on every iteration anyway.

    Signed-off-by: Tejun Heo
    Cc: Greg Kroah-Hartman
    Cc: Alan Stern
    Cc: Jens Axboe
    Signed-off-by: Jens Axboe

    Tejun Heo
     

04 Oct, 2008

1 commit

  • This patch adds the ability to print sizes in either units of 10^3 (SI)
    or 2^10 (Binary) units. It rounds up to three significant figures and
    can be used for either memory or storage capacities.

    Oh, and I'm fully aware that 64 bits is only 16EiB ... the Zetta and
    Yotta units are added for future proofing against the day we have 128
    bit computers ...

    [fujita.tomonori@lab.ntt.co.jp: fix missed unsigned long long cast]
    Signed-off-by: James Bottomley

    James Bottomley
     

03 Oct, 2008

2 commits

  • This patch adds stalled-CPU detection to Classic RCU. This capability
    is enabled by a new config variable CONFIG_RCU_CPU_STALL_DETECTOR, which
    defaults disabled.

    This is a debugging feature to detect infinite loops in kernel code, not
    something that non-kernel-hackers would be expected to care about.

    This feature can detect looping CPUs in !PREEMPT builds and looping CPUs
    with preemption disabled in PREEMPT builds. This is essentially a port of
    this functionality from the treercu patch, replacing the stall debug patch
    that is already in tip/core/rcu (commit 67182ae1c4).

    The changes from the patch in tip/core/rcu include making the config
    variable name match that in treercu, changing from seconds to jiffies to
    avoid spurious warnings, and printing a boot message when this feature
    is enabled.

    Signed-off-by: Paul E. McKenney
    Signed-off-by: Ingo Molnar

    Paul E. McKenney
     
  • Ingo Molnar
     

24 Sep, 2008

1 commit


22 Sep, 2008

1 commit

  • x86 has set_bit_string() that does the exact same thing that
    set_bit_area() in lib/iommu-helper.c does.

    This patch exports set_bit_area() in lib/iommu-helper.c as
    iommu_area_reserve(), converts GART, Calgary, and AMD IOMMU to use it.

    Signed-off-by: FUJITA Tomonori
    Acked-by: Joerg Roedel
    Signed-off-by: Ingo Molnar

    FUJITA Tomonori
     

19 Sep, 2008

1 commit


14 Sep, 2008

1 commit


12 Sep, 2008

2 commits


11 Sep, 2008

1 commit

  • This fixes a SWIOTLB oops

    With SWIOTLB being enabled and straight-forward page allocation
    failure [1], the swiotlb_alloc_coherent fall-back path hits an
    issue [2], resulting in my webcam failing to work.

    At the time of oops, RDI is clearly a pointer to a structure which
    has arrived as NULL, leading to the typo in swiotlb_map_single's
    callsite arguments.

    Correctly passing the device structure [3] addresses the issue and
    gets my webcam working again (the allocation failure still occuring).

    --- [1]

    skype: page allocation failure. order:3, mode:0x1
    Pid: 5895, comm: skype Not tainted 2.6.27-rc6-235c-debug #1

    Call Trace:
    [] __alloc_pages_internal+0x4a0/0x5d0
    [] alloc_pages_current+0xad/0x110
    [] __get_free_pages+0x1d/0x60
    [] swiotlb_alloc_coherent+0x49/0x180
    [] dma_alloc_coherent+0x281/0x310
    [] hcd_buffer_alloc+0x50/0x90
    [] usb_buffer_alloc+0x2d/0x40
    [] uvc_alloc_urb_buffers+0x53/0xf0 [uvcvideo]
    [] uvc_init_video+0x158/0x3e0 [uvcvideo]
    [] uvc_video_enable+0x37/0x80 [uvcvideo]
    [] uvc_v4l2_do_ioctl+0x723/0x1260 [uvcvideo]
    [] ? trace_hardirqs_off_caller+0x21/0xc0
    [] ? trace_hardirqs_off_caller+0x21/0xc0
    [] video_usercopy+0x19f/0x390 [videodev]
    [] ? uvc_v4l2_do_ioctl+0x0/0x1260 [uvcvideo]
    [] ? put_lock_stats+0xe/0x30
    [] uvc_v4l2_ioctl+0x4d/0x80 [uvcvideo]
    [] native_ioctl+0x83/0x90 [compat_ioctl32]
    [] v4l_compat_ioctl32+0x2be/0x1da4 [compat_ioctl32]
    [] ? do_page_fault+0x3d1/0xae0
    [] ? trace_hardirqs_on+0xd/0x10
    [] ? trace_hardirqs_on_caller+0x149/0x1b0
    [] ? trace_hardirqs_on+0xd/0x10
    [] compat_sys_ioctl+0x8a/0x3c0
    [] ? trace_hardirqs_off_thunk+0x3a/0x3c
    [] sysenter_dispatch+0x7/0x2c
    [] ? trace_hardirqs_on_thunk+0x3a/0x3f

    Mem-Info:
    Node 0 DMA per-cpu:
    CPU 0: hi: 0, btch: 1 usd: 0
    CPU 1: hi: 0, btch: 1 usd: 0
    Node 0 DMA32 per-cpu:
    CPU 0: hi: 186, btch: 31 usd: 3
    CPU 1: hi: 186, btch: 31 usd: 0
    Node 0 Normal per-cpu:
    CPU 0: hi: 186, btch: 31 usd: 23
    CPU 1: hi: 186, btch: 31 usd: 179
    Active:78545 inactive:48683 dirty:31 writeback:0 unstable:2
    free:830202 slab:17516 mapped:17473 pagetables:3496 bounce:0
    Node 0 DMA free:36kB min:28kB low:32kB high:40kB active:0kB
    inactive:0kB present:15156kB pages_scanned:0 all_unreclaimable? no
    lowmem_reserve[]: 0 3207 3956 3956
    Node 0 DMA32 free:3197192kB min:6512kB low:8140kB high:9768kB
    active:0kB inactive:0kB present:3284896kB pages_scanned:0
    all_unreclaimable? no
    lowmem_reserve[]: 0 0 748 748
    Node 0 Normal free:123580kB min:1516kB low:1892kB high:2272kB
    active:314180kB inactive:194732kB present:766464kB pages_scanned:0
    all_unreclaimable? no
    lowmem_reserve[]: 0 0 0 0
    Node 0 DMA: 1*4kB 0*8kB 0*16kB 1*32kB 0*64kB 0*128kB 0*256kB 0*512kB
    0*1024kB 0*2048kB 0*4096kB = 36kB
    Node 0 DMA32: 4*4kB 3*8kB 2*16kB 3*32kB 4*64kB 5*128kB 3*256kB 5*512kB
    4*1024kB 5*2048kB 776*4096kB = 3197224kB
    Node 0 Normal: 14*4kB 14*8kB 8*16kB 6*32kB 1*64kB 3*128kB 3*256kB
    2*512kB 4*1024kB 1*2048kB 28*4096kB = 123560kB
    64847 total pagecache pages
    0 pages in swap cache
    Swap cache stats: add 0, delete 0, find 0/0
    Free swap = 502752kB
    Total swap = 502752kB
    1048576 pages RAM
    52120 pages reserved
    71967 pages shared
    143004 pages non-shared

    --- [2]

    BUG: unable to handle kernel NULL pointer dereference at 00000000000002c8
    IP: [] map_single+0x1c/0x280
    PGD 10e54e067 PUD 10e595067 PMD 0
    Oops: 0000 [1] PREEMPT SMP DEBUG_PAGEALLOC
    CPU 0
    Modules linked in: kvm_intel kvm microcode uvcvideo compat_ioctl32
    videodev v4l1_compat shpchp pci_hotplug
    Pid: 5895, comm: skype Not tainted 2.6.27-rc6-235c-debug #1
    RIP: 0010:[] [] map_single+0x1c/0x280
    RSP: 0018:ffff88010e78d988 EFLAGS: 00210296
    RAX: 0000780000000000 RBX: 0000000000000000 RCX: 0000000000000002
    RDX: 0000000000005000 RSI: 0000000000000000 RDI: 0000000000000000
    RBP: ffff88010e78d9e8 R08: 0000000000000000 R09: 0000000000000001
    R10: ffff88010e78d698 R11: 0000000000000001 R12: 0000000000000002
    R13: 0000000000000000 R14: 0000000000005000 R15: ffff88012f1c9968
    FS: 0000000000000000(0000) GS:ffffffff80a6cdc0(0063) knlGS:00000000f6355b90
    CS: 0010 DS: 002b ES: 002b CR0: 0000000080050033
    CR2: 00000000000002c8 CR3: 000000010e57d000 CR4: 00000000000026e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process skype (pid: 5895, threadinfo ffff88010e78c000, task ffff88012b9cc460)
    Stack: 0000000200000000 0000000000005000 0000000000000000 0000000000000000
    00000000000017b8 0000000000000000 ffff88010e78d9c8 0000000000000000
    0000000000000002 0000000000000000 0000000000005000 ffff88012f1c9968
    Call Trace:
    [] swiotlb_map_single_attrs+0x60/0xf0
    [] swiotlb_map_single+0xc/0x10
    [] swiotlb_alloc_coherent+0xfe/0x180
    [] dma_alloc_coherent+0x281/0x310
    [] hcd_buffer_alloc+0x50/0x90
    [] usb_buffer_alloc+0x2d/0x40
    [] uvc_alloc_urb_buffers+0x53/0xf0 [uvcvideo]
    [] uvc_init_video+0x158/0x3e0 [uvcvideo]
    [] uvc_video_enable+0x37/0x80 [uvcvideo]
    [] uvc_v4l2_do_ioctl+0x723/0x1260 [uvcvideo]
    [] ? trace_hardirqs_off_caller+0x21/0xc0
    [] ? trace_hardirqs_off_caller+0x21/0xc0
    [] video_usercopy+0x19f/0x390 [videodev]
    [] ? uvc_v4l2_do_ioctl+0x0/0x1260 [uvcvideo]
    [] ? put_lock_stats+0xe/0x30
    [] uvc_v4l2_ioctl+0x4d/0x80 [uvcvideo]
    [] native_ioctl+0x83/0x90 [compat_ioctl32]
    [] v4l_compat_ioctl32+0x2be/0x1da4 [compat_ioctl32]
    [] ? do_page_fault+0x3d1/0xae0
    [] ? trace_hardirqs_on+0xd/0x10
    [] ? trace_hardirqs_on_caller+0x149/0x1b0
    [] ? trace_hardirqs_on+0xd/0x10
    [] compat_sys_ioctl+0x8a/0x3c0
    [] ? trace_hardirqs_off_thunk+0x3a/0x3c
    [] sysenter_dispatch+0x7/0x2c
    [] ? trace_hardirqs_on_thunk+0x3a/0x3f

    Code: 45 31 c0 48 89 e5 e8 a4 ff ff ff c9 c3 66 90 55 48 89 e5 41 57
    41 56 41 55 41 54 53 48 83 ec 38 48 89 75 b0 48 89 55 a8 89 4d a4
    8b 87 c8 02 00 00 48 85 c0 0f 84 1c 02 00 00 48 8b 58 08 48
    RIP [] map_single+0x1c/0x280
    RSP
    CR2: 00000000000002c8
    ---[ end trace 5d15baeeb7025a0e ]---

    --- [3]

    ffffffff8046c830 :
    map_single():
    /store/kernel/linux/lib/swiotlb.c:291
    ffffffff8046c830: 55 push %rbp
    ffffffff8046c831: 48 89 e5 mov %rsp,%rbp
    ffffffff8046c834: 41 57 push %r15
    ffffffff8046c836: 41 56 push %r14
    ffffffff8046c838: 41 55 push %r13
    ffffffff8046c83a: 41 54 push %r12
    ffffffff8046c83c: 53 push %rbx
    ffffffff8046c83d: 48 83 ec 38 sub $0x38,%rsp
    ffffffff8046c841: 48 89 75 b0 mov %rsi,-0x50(%rbp)
    ffffffff8046c845: 48 89 55 a8 mov %rdx,-0x58(%rbp)
    ffffffff8046c849: 89 4d a4 mov %ecx,-0x5c(%rbp)
    dma_get_seg_boundary():
    /store/kernel/linux/include/linux/dma-mapping.h:80
    ffffffff8046c84c: 48 8b 87 c8 02 00 00 mov 0x2c8(%rdi),%rax
    Signed-off-by: Linus Torvalds

    Daniel J Blueman
     

10 Sep, 2008

5 commits