19 Jul, 2008

1 commit


18 Jul, 2008

12 commits

  • * 'upstream-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mfasheh/ocfs2:
    [PATCH] ocfs2: fix oops in mmap_truncate testing
    configfs: call drop_link() to cleanup after create_link() failure
    configfs: Allow ->make_item() and ->make_group() to return detailed errors.
    configfs: Fix failing mkdir() making racing rmdir() fail
    configfs: Fix deadlock with racing rmdir() and rename()
    configfs: Make configfs_new_dirent() return error code instead of NULL
    configfs: Protect configfs_dirent s_links list mutations
    configfs: Introduce configfs_dirent_lock
    ocfs2: Don't snprintf() without a format.
    ocfs2: Fix CONFIG_OCFS2_DEBUG_FS #ifdefs
    ocfs2/net: Silence build warnings on sparc64
    ocfs2: Handle error during journal load
    ocfs2: Silence an error message in ocfs2_file_aio_read()
    ocfs2: use simple_read_from_buffer()
    ocfs2: fix printk format warnings with OCFS2_FS_STATS=n
    [PATCH 2/2] ocfs2: Instrument fs cluster locks
    [PATCH 1/2] ocfs2: Add CONFIG_OCFS2_FS_STATS config option

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/brodo/pcmcia-fixes-2.6:
    pcmcia: ide-cs: Remove outdated comment
    pcmcia: fix cisinfo_t removal
    pcmcia: fix return value in cm4000_cs.c

    Linus Torvalds
     
  • …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: fix asm/e820.h for userspace inclusion
    x86: fix numaq_tsc_disable
    x86: fix kernel_physical_mapping_init() for large x86 systems

    Linus Torvalds
     
  • …nel/git/tip/linux-2.6-tip

    * 'tracing-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    ftrace: do not trace library functions
    ftrace: do not trace scheduler functions
    ftrace: fix lockup with MAXSMP
    ftrace: fix merge buglet

    Linus Torvalds
     
  • asm-x86/e820.h is included from userspace. 'x86: make e820.c to have
    common functions' (b79cd8f1268bab57ff85b19d131f7f23deab2dee) broke it:

    make -C Documentation/lguest
    cc -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include
    lguest.c -lz -o lguest
    In file included from ../../include/asm-x86/bootparam.h:8,
    from lguest.c:45:
    ../../include/asm/e820.h:66: error: expected ‘)’ before ‘start’
    ../../include/asm/e820.h:67: error: expected ‘)’ before ‘start’
    ../../include/asm/e820.h:68: error: expected ‘)’ before ‘start’
    ../../include/asm/e820.h:72: error: expected ‘=’, ‘,’, ‘;’, ‘asm’
    or ‘__attribute__’ before ‘e820_update_range’
    ...

    Signed-off-by: Rusty Russell
    Cc: Yinghai Lu
    Signed-off-by: Ingo Molnar

    Rusty Russell
     
  • fix:

    arch/x86/kernel/numaq_32.c: In function ‘numaq_tsc_disable’:
    arch/x86/kernel/numaq_32.c:99: warning: ‘return’ with a value, in function returning void

    Signed-off-by: Yinghai Lu
    Signed-off-by: Ingo Molnar

    Yinghai Lu
     
  • Ingo Molnar
     
  • Fix calls of smp_call_function*() in arch/ia64/kvm for recent API
    changes.

    CC [M] arch/ia64/kvm/kvm-ia64.o
    arch/ia64/kvm/kvm-ia64.c: In function 'handle_global_purge':
    arch/ia64/kvm/kvm-ia64.c:398: error: too many arguments to function 'smp_call_function_single'
    arch/ia64/kvm/kvm-ia64.c: In function 'kvm_vcpu_kick':
    arch/ia64/kvm/kvm-ia64.c:1696: error: too many arguments to function 'smp_call_function_single'

    Signed-off-by: Takashi Iwai
    Acked-by Xiantao Zhang
    Signed-off-by: Linus Torvalds

    Takashi Iwai
     
  • * 'ptrace-cleanup' of git://git.kernel.org/pub/scm/linux/kernel/git/frob/linux-2.6-utrace:
    fix dangling zombie when new parent ignores children
    do_wait: return security_task_wait() error code in place of -ECHILD
    ptrace children revamp
    do_wait reorganization

    Linus Torvalds
     
  • Also fix unwanted rebuilds of the firmware/ihex2fw tool by including
    the .ihex2fw.cmd file when present.

    Signed-off-by: David Woodhouse
    Reported-and-tested-by: Wang Chen
    Signed-off-by: Linus Torvalds

    David Woodhouse
     
  • * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
    [S390] dasd: use -EOPNOTSUPP instead of -ENOTSUPP
    [S390] qdio: new qdio driver.
    [S390] cio: Export chsc_error_from_response().
    [S390] vmur: Fix return code handling.
    [S390] Fix stacktrace compile bug.
    [S390] Increase default warning stacksize.
    [S390] dasd: Fix cleanup in dasd_{fba,diag}_check_characteristics().
    [S390] chsc headers userspace cleanup
    [S390] dasd: fix unsolicited SIM handling.
    [S390] zfcpdump: Make SCSI disk dump tool recognize storage holes

    Linus Torvalds
     
  • The patch named "powerpc/mpc5121: Add clock driver", also contained
    an unrelated and bogus change to the top-level makefile. This patch
    backs out the bad bit.

    SHA1 of offending patch: 137e95906e294913fab02162e8a1948ade49acb5)

    Signed-off-by: Grant Likely
    Acked-by: Benjamin Herrenschmidt
    Repented-by: John Rigby
    [ Heh. Normally I pick these out from the diffstats, but I guess
    I've grown to trust the ppc tree too much ;) - Linus ]
    Signed-off-by: Linus Torvalds

    Grant Likely
     

17 Jul, 2008

27 commits

  • make function tracing more robust: do not trace library functions.

    We've already got a sizable list of exceptions:

    ifdef CONFIG_FTRACE
    # Do not profile string.o, since it may be used in early boot or vdso
    CFLAGS_REMOVE_string.o = -pg
    # Also do not profile any debug utilities
    CFLAGS_REMOVE_spinlock_debug.o = -pg
    CFLAGS_REMOVE_list_debug.o = -pg
    CFLAGS_REMOVE_debugobjects.o = -pg
    CFLAGS_REMOVE_find_next_bit.o = -pg
    CFLAGS_REMOVE_cpumask.o = -pg
    CFLAGS_REMOVE_bitmap.o = -pg
    endif

    ... and the pattern has been that random library functionality showed
    up in ftrace's critical path (outside of its recursion check), causing
    hard to debug lockups.

    So be a bit defensive about it and exclude all lib/*.o functions by
    default. It's not that they are overly interesting for tracing purposes
    anyway. Specific ones can still be traced, in an opt-in manner.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • do not trace scheduler functions - it's still a bit fragile
    and can lock up with:

    http://redhat.com/~mingo/misc/config-Thu_Jul_17_13_34_52_CEST_2008

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • MAXSMP brings in lots of use of various bitops in smp_processor_id()
    and friends - causing ftrace to lock up during bootup:

    calling anon_inode_init+0x0/0x130
    initcall anon_inode_init+0x0/0x130 returned 0 after 0 msecs
    calling acpi_event_init+0x0/0x57
    [ hard hang ]

    So exclude the bitops facilities from tracing.

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • return value -ENOTSUPP is not valid in userspace context, use
    -EOPNOTSUPP instead

    Signed-off-by: Stefan Haberland
    Cc: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Stefan Haberland
     
  • List of major changes:
    - split qdio driver into several files
    - seperation of thin interrupt code
    - improved handling for multiple thin interrupt devices
    - inbound and outbound processing now always runs in tasklet context
    - significant less tasklet schedules per interrupt needed
    - merged qebsm with non-qebsm handling
    - cleanup qdio interface and added kerneldoc
    - coding style

    Reviewed-by: Cornelia Huck
    Reviewed-by: Utz Bacher
    Reviewed-by: Ursula Braun
    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Jan Glauber
     
  • Make chsc_error_from_response() available to chsc callers outside
    of chsc.c (namely qdio) to avoid duplicating error checking code.

    Signed-off-by: Cornelia Huck
    Signed-off-by: Martin Schwidefsky
    Signed-off-by: Heiko Carstens

    Cornelia Huck
     
  • Use -EOPNOTSUPP instead of -ENOTSUPP.

    Signed-off-by: Frank Munzert
    Signed-off-by: Heiko Carstens
    Cc: Martin Schwidefsky

    Frank Munzert
     
  • Add missing module.h include to fix this:

    CC arch/s390/kernel/stacktrace.o
    arch/s390/kernel/stacktrace.c:84: warning: data definition has no type or storage class
    arch/s390/kernel/stacktrace.c:84: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL'
    arch/s390/kernel/stacktrace.c:84: warning: parameter names (without types) in function declaration
    arch/s390/kernel/stacktrace.c:97: warning: data definition has no type or storage class
    arch/s390/kernel/stacktrace.c:97: warning: type defaults to 'int' in declaration of 'EXPORT_SYMBOL_GPL'
    arch/s390/kernel/stacktrace.c:97: warning: parameter names (without types) in function declaration

    Signed-off-by: Heiko Carstens
    Cc: Martin Schwidefsky

    Heiko Carstens
     
  • Compiling a kernel with allmodconfig or allyesconfig results in tons
    of gcc warnings, because the default maximum stacksize from which on
    gcc will emit a warning is just 256 bytes.
    Increase this to 2048, so these warnings don't distract from the real
    warnings that we need to watch at.

    Signed-off-by: Heiko Carstens
    Cc: Martin Schwidefsky

    Heiko Carstens
     
  • Signed-off-by: Cornelia Huck
    Signed-off-by: Heiko Carstens
    Cc: Martin Schwidefsky

    Cornelia Huck
     
  • Kernel headers shouldn't expose functions to userspace.

    Cc: Cornelia Huck
    Signed-off-by: Adrian Bunk
    Signed-off-by: Heiko Carstens
    Cc: Martin Schwidefsky

    Adrian Bunk
     
  • Add missing schedule_bh and check that there is 32 bit sense data.

    Signed-off-by: Stefan Haberland
    Signed-off-by: Heiko Carstens
    Cc: Martin Schwidefsky

    Stefan Haberland
     
  • The kernel part of zfcpdump establishes a new debugfs file zcore/memmap
    which exports information on memory layout (start address and length of each
    memory chunk) to its userspace counterpart.

    Signed-off-by: Frank Munzert
    Signed-off-by: Heiko Carstens
    Cc: Martin Schwidefsky

    Frank Munzert
     
  • -tip testing found a bootup hang here:

    initcall anon_inode_init+0x0/0x130 returned 0 after 0 msecs
    calling acpi_event_init+0x0/0x57

    the bootup should have continued with:

    initcall acpi_event_init+0x0/0x57 returned 0 after 45 msecs

    but it hung hard there instead.

    bisection led to this commit:

    | commit 5806b81ac1c0c52665b91723fd4146a4f86e386b
    | Merge: d14c8a6... 6712e29...
    | Author: Ingo Molnar
    | Date: Mon Jul 14 16:11:52 2008 +0200
    | Merge branch 'auto-ftrace-next' into tracing/for-linus

    turns out that i made this mistake in the merge:

    ifdef CONFIG_FTRACE
    # Do not profile debug utilities
    CFLAGS_REMOVE_tsc_64.o = -pg
    CFLAGS_REMOVE_tsc_32.o = -pg

    those two files got unified meanwhile - so the dont-profile annotation
    got lost. The proper rule is:

    CFLAGS_REMOVE_tsc.o = -pg

    i guess this could have been caught sooner if the CFLAGS_REMOVE* kbuild
    rule aborted the build if it met a target that does not exist anymore?

    Signed-off-by: Ingo Molnar

    Ingo Molnar
     
  • This fixes an arcane bug that we think was a regression introduced
    by commit b2b2cbc4b2a2f389442549399a993a8306420baf. When a parent
    ignores SIGCHLD (or uses SA_NOCLDWAIT), its children would self-reap
    but they don't if it's using ptrace on them. When the parent thread
    later exits and ceases to ptrace a child but leaves other live
    threads in the parent's thread group, any zombie children are left
    dangling. The fix makes them self-reap then, as they would have
    done earlier if ptrace had not been in use.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • This reverts the effect of commit f2cc3eb133baa2e9dc8efd40f417106b2ee520f3
    "do_wait: fix security checks". That change reverted the effect of commit
    73243284463a761e04d69d22c7516b2be7de096c. The rationale for the original
    commit still stands. The inconsistent treatment of children hidden by
    ptrace was an unintended omission in the original change and in no way
    invalidates its purpose.

    This makes do_wait return the error returned by security_task_wait()
    (usually -EACCES) in place of -ECHILD when there are some children the
    caller would be able to wait for if not for the permission failure. A
    permission error will give the user a clue to look for security policy
    problems, rather than for mysterious wait bugs.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • ptrace no longer fiddles with the children/sibling links, and the
    old ptrace_children list is gone. Now ptrace, whether of one's own
    children or another's via PTRACE_ATTACH, just uses the new ptraced
    list instead.

    There should be no user-visible difference that matters. The only
    change is the order in which do_wait() sees multiple stopped
    children and stopped ptrace attachees. Since wait_task_stopped()
    was changed earlier so it no longer reorders the children list, we
    already know this won't cause any new problems.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • This breaks out the guts of do_wait into three subfunctions.
    The control flow is less nonobvious without so much goto.
    do_wait_thread and ptrace_do_wait contain the main work of the outer loop.
    wait_consider_task contains the main work of the inner loop.

    Signed-off-by: Roland McGrath

    Roland McGrath
     
  • Before accessing the device data structure in hardware handlers,
    make sure it is a indeed a sdev device.

    Yinghai Lu found the bug on Jul 16, 2008,
    and later tested/verified the following fix.

    Signed-off-by: Chandra Seetharaman
    Signed-off-by: Linus Torvalds

    Chandra Seetharaman
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (72 commits)
    Revert "x86/PCI: ACPI based PCI gap calculation"
    PCI: remove unnecessary volatile in PCIe hotplug struct controller
    x86/PCI: ACPI based PCI gap calculation
    PCI: include linux/pm_wakeup.h for device_set_wakeup_capable
    PCI PM: Fix pci_prepare_to_sleep
    x86/PCI: Fix PCI config space for domains > 0
    Fix acpi_pm_device_sleep_wake() by providing a stub for CONFIG_PM_SLEEP=n
    PCI: Simplify PCI device PM code
    PCI PM: Introduce pci_prepare_to_sleep and pci_back_from_sleep
    PCI ACPI: Rework PCI handling of wake-up
    ACPI: Introduce new device wakeup flag 'prepared'
    ACPI: Introduce acpi_device_sleep_wake function
    PCI: rework pci_set_power_state function to call platform first
    PCI: Introduce platform_pci_power_manageable function
    ACPI: Introduce acpi_bus_power_manageable function
    PCI: make pci_name use dev_name
    PCI: handle pci_name() being const
    PCI: add stub for pci_set_consistent_dma_mask()
    PCI: remove unused arch pcibios_update_resource() functions
    PCI: fix pci_setup_device()'s sprinting into a const buffer
    ...

    Fixed up conflicts in various files (arch/x86/kernel/setup_64.c,
    arch/x86/pci/irq.c, arch/x86/pci/pci.h, drivers/acpi/sleep/main.c,
    drivers/pci/pci.c, drivers/pci/pci.h, include/acpi/acpi_bus.h) from x86
    and ACPI updates manually.

    Linus Torvalds
     
  • This reverts commit 809d9a8f93bd8504dcc34b16bbfdfd1a8c9bb1ed.

    This one isn't quite ready for prime time. It needs more testing and
    additional feedback from the ACPI guys.

    Jesse Barnes
     
  • This patch fixes a mmap_truncate bug which was found by ocfs2 test suite.

    In an ocfs2 cluster more than 1 node, run program mmap_truncate, which races
    mmap writes and truncates from multiple processes. While the test is
    running, a stat from another node forces writeout, causing an oops in
    ocfs2_get_block() because it sees a buffer to write which isn't allocated.

    This patch fixed the bug by clear dirty and uptodate bits in buffer, leave
    the buffer unmapped and return.

    Fix is suggested by Mark Fasheh, and I code up the patch.

    Signed-off-by: Coly Li
    Signed-off-by: Mark Fasheh

    Coly Li
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc: (68 commits)
    sdio_uart: Fix SDIO break control to now return success or an error
    mmc: host driver for Ricoh Bay1Controllers
    sdio: sdio_io.c Fix sparse warnings
    sdio: fix the use of hard coded timeout value.
    mmc: OLPC: update vdd/powerup quirk comment
    mmc: fix spares errors of sdhci.c
    mmc: remove multiwrite capability
    wbsd: fix bad dma_addr_t conversion
    atmel-mci: Driver for Atmel on-chip MMC controllers
    mmc: fix sdio_io sparse errors
    mmc: wbsd.c fix shadowing of 'dma' variable
    MMC: S3C24XX: Refuse incorrectly aligned transfers
    MMC: S3C24XX: Add maintainer entry
    MMC: S3C24XX: Update error debugging.
    MMC: S3C24XX: Add media presence test to request handling.
    MMC: S3C24XX: Fix use of msecs where jiffies are needed
    MMC: S3C24XX: Add MODULE_ALIAS() entries for the platform devices
    MMC: S3C24XX: Fix s3c2410_dma_request() return code check.
    MMC: S3C24XX: Allow card-detect on non-IRQ capable pin
    MMC: S3C24XX: Ensure host->mrq->data is valid
    ...

    Manually fixed up bogus executable bits on drivers/mmc/core/sdio_io.c
    and include/linux/mmc/sdio_func.h when merging.

    Linus Torvalds
     
  • * 'for_linus' of git://git.infradead.org/~dedekind/ubifs-2.6:
    UBIFS: include to compilation
    UBIFS: add new flash file system
    UBIFS: add brief documentation
    MAINTAINERS: add UBIFS section
    do_mounts: allow UBI root device name
    VFS: export sync_sb_inodes
    VFS: move inode_lock into sync_sb_inodes

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6: (76 commits)
    IDE: Report errors during drive reset back to user space
    Update documentation of HDIO_DRIVE_RESET ioctl
    IDE: Remove unused code
    IDE: Fix HDIO_DRIVE_RESET handling
    hd.c: remove the #include
    update the BLK_DEV_HD help text
    move ide/legacy/hd.c to drivers/block/
    ide/legacy/hd.c: use late_initcall()
    remove BLK_DEV_HD_ONLY
    ide: endian annotations in ide-floppy.c
    ide-floppy: zero out the whole struct ide_atapi_pc on init
    ide-floppy: fold idefloppy_create_test_unit_ready_cmd into idefloppy_open
    ide-cd: move request prep chunk from cdrom_do_newpc_cont to rq issue path
    ide-cd: move request prep from cdrom_start_rw_cont to rq issue path
    ide-cd: move request prep from cdrom_start_seek_continuation to rq issue path
    ide-cd: fold cdrom_start_seek into ide_cd_do_request
    ide-cd: simplify request issuing path
    ide-cd: mv ide_do_rw_cdrom ide_cd_do_request
    ide-cd: cdrom_start_seek: remove unused argument block
    ide-cd: ide_do_rw_cdrom: add the catch-all bad request case to the if-else block
    ...

    Linus Torvalds
     
  • …k/linux-acpi-merge-2.6

    * 'release-2.6.27' of git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-acpi-merge-2.6: (87 commits)
    Fix FADT parsing
    Add the ability to reset the machine using the RESET_REG in ACPI's FADT table.
    ACPI: use dev_printk when possible
    PNPACPI: add support for HP vendor-specific CCSR descriptors
    PNP: avoid legacy IDE IRQs
    PNP: convert resource options to single linked list
    ISAPNP: handle independent options following dependent ones
    PNP: remove extra 0x100 bit from option priority
    PNP: support optional IRQ resources
    PNP: rename pnp_register_*_resource() local variables
    PNPACPI: ignore _PRS interrupt numbers larger than PNP_IRQ_NR
    PNP: centralize resource option allocations
    PNP: remove redundant pnp_can_configure() check
    PNP: make resource assignment functions return 0 (success) or -EBUSY (failure)
    PNP: in debug resource dump, make empty list obvious
    PNP: improve resource assignment debug
    PNP: increase I/O port & memory option address sizes
    PNP: introduce pnp_irq_mask_t typedef
    PNP: make resource option structures private to PNP subsystem
    PNP: define PNP-specific IORESOURCE_IO_* flags alongside IRQ, DMA, MEM
    ...

    Linus Torvalds
     
  • Fail integrity check gracefully when request does not have a bio
    attached (BLOCK_PC).

    Signed-off-by: Martin K. Petersen
    Signed-off-by: Linus Torvalds

    Martin K. Petersen