09 Feb, 2008

40 commits

  • Thanks to Kay for keeping us honest.

    Signed-off-by: Kay Sievers
    Signed-off-by: Shannon Nelson
    Cc: "Williams, Dan J"
    Acked-by: Greg KH
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kay Sievers
     
  • x25_asy does not take an ldisc reference before calling the flush method.
    Fix it to use the helper function we provide.

    Signed-off-by: Alan Cox
    Cc: Krzysztof Halasa
    Cc: "David S. Miller"
    Cc: Jeff Garzik
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alan Cox
     
  • lib/scatterlist.c is needed by drivers/media/video/videobuf-dma-sg.c, and
    we would like to be able to use the latter without PCI too, for example, on
    PXA270 ARM CPU. It is then possible to create a configuration with
    CONFIG_BLOCK=n, where only module code will need scatterlist.c. Therefore
    it must be in obj-y.

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Guennadi Liakhovetski
     
  • In file included from /home/bunk/linux/kernel-2.6/git/linux-2.6/arch/xtensa/kernel/syscall.c:39:
    include2/asm/unistd.h:681: error: 'sys_timerfd' undeclared here (not in a function)

    Signed-off-by: Adrian Bunk
    Cc: Christian Zankel
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Adrian Bunk
     
  • Fix the FRV cmpxchg_local by breaking the following header dependency loop :

    linux/kernel.h -> linux/bitops.h -> asm-frv/bitops.h -> asm-frv/atomic.h
    -> asm-frv/system.h ->
    asm-generic/cmpxchg_local.h -> typecheck() defined in linux/kernel.h

    and

    linux/kernel.h -> linux/bitops.h -> asm-frv/bitops.h -> asm-frv/atomic.h ->
    asm-generic/cmpxchg_local.h -> typecheck() defined in linux/kernel.h

    In order to fix this :
    - Move the atomic_test_and_ *_mask inlines from asm-frv/atomic.h (why are they
    there at all anyway ? They are not touching atomic_t variables!) to
    asm-frv/bitops.h.

    Also fix a build issue with cmpxchg : it does not cast to (unsigned long *)
    like other architectures, to deal with it in the cmpxchg_local macro.

    FRV builds fine with this patch.

    Thanks to Adrian Bunk for spotting this bug.

    Signed-off-by: Mathieu Desnoyers
    Cc: Adrian Bunk
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mathieu Desnoyers
     
  • Revert commit c6caeb7c4544608e8ae62731334661fc396c7f85 ("proc: fix the
    threaded /proc/self"), since Eric says "The patch really is wrong.
    There is at least one corner case in procps that cares."

    Cc: Eric W. Biederman
    Cc: Ingo Molnar
    Cc: "Guillaume Chazarain"
    Cc: "Pavel Emelyanov"
    Cc: "Rafael J. Wysocki"
    Cc: Oleg Nesterov
    Cc: Roland McGrath
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrew Morton
     
  • * 'cris' of git://www.jni.nu/cris: (158 commits)
    CRIS v32: Remove hwregs/timer_defs.h, it is now architecture specific.
    CRIS v32: Change drivers/i2c.c locking.
    CRIS v32: Rewrite ARTPEC-3 gpio driver to avoid volatiles and general cleanup.
    CRIS: Add new timerfd syscall entries.
    MAINTAINERS: Add my information for the CRIS port.
    CRIS v32: Correct spelling of bandwidth in function name.
    CRIS v32: Clean up nandflash.c for ARTPEC-3 and ETRAX FS.
    CRIS v10: Cleanup of drivers/gpio.c
    CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash.
    CRIS: Make io_pwm_set_period members unsigned in etraxgpio.h
    CRIS: Move ETRAX_AXISFLASHMAP to common Kconfig file.
    CRIS: Drop regs parameter from call to profile_tick in kernel/time.c
    CRIS v32: Fix minor formatting issue in mach-a3/io.c
    CRIS v32: Initialize GIO even if we're rambooting in kernel/head.S
    CRIS v32: Remove kernel/arbiter.c, it now exists in machine dependent directory.
    CRIS v32: Minor changes to avoid errors in asm-cris/arch-v32/hwregs/reg_rdwr.h
    CRIS v32: arch-v32/hwregs/intr_vect_defs.h moved to machine dependent directory.
    CRIS v32: Correct offset for TASK_pid in asm-cris/arch-v32/offset.h
    CRIS v32: Move register map header to machine dependent directory.
    CRIS v32: Let compiler know that memory is clobbered after a break op.
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    Enhanced partition statistics: documentation update
    Enhanced partition statistics: remove old partition statistics
    Enhanced partition statistics: procfs
    Enhanced partition statistics: sysfs
    Enhanced partition statistics: aoe fix
    Enhanced partition statistics: update partition statitics
    Enhanced partition statistics: core statistics
    block: fixup rq_init() a bit

    Manually fixed conflict in drivers/block/aoe/aoecmd.c due to statistics
    support.

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:
    dlm: add __init and __exit marks to init and exit functions
    dlm: eliminate astparam type casting
    dlm: proper types for asts and basts
    dlm: dlm/user.c input validation fixes
    dlm: fix dlm_dir_lookup() handling of too long names
    dlm: fix overflows when copying from ->m_extra to lvb
    dlm: make find_rsb() fail gracefully when namelen is too large
    dlm: receive_rcom_lock_args() overflow check
    dlm: verify that places expecting rcom_lock have packet long enough
    dlm: validate data in dlm_recover_directory()
    dlm: missing length check in check_config()
    dlm: use proper type for ->ls_recover_buf
    dlm: do not byteswap rcom_config
    dlm: do not byteswap rcom_lock
    dlm: dlm_process_incoming_buffer() fixes
    dlm: use proper C for dlm/requestqueue stuff (and fix alignment bug)

    Linus Torvalds
     
  • * 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc:
    [POWERPC] Add arch-specific walk_memory_remove() for 64-bit powerpc
    [POWERPC] Enable hotplug memory remove for 64-bit powerpc
    [POWERPC] Add remove_memory() for 64-bit powerpc
    [POWERPC] Make cell IOMMU fixed mapping printk more useful
    [POWERPC] Fix potential cell IOMMU bug when switching back to default DMA ops
    [POWERPC] Don't enable cell IOMMU fixed mapping if there are no dma-ranges
    [POWERPC] Fix cell IOMMU null pointer explosion on old firmwares
    [POWERPC] spufs: Fix timing dependent false return from spufs_run_spu
    [POWERPC] spufs: No need to have a runnable SPU for libassist update
    [POWERPC] spufs: Update SPU_Status[CISHP] in backing runcntl write
    [POWERPC] spufs: Fix state_mutex leaks
    [POWERPC] Disable G5 NAP mode during SMU commands on U3

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
    [SPARC64]: Make use of the new fs/compat_binfmt_elf.c
    [SPARC64]: Make use of compat_sys_ptrace()

    Manually fixed trivial delete/modift conflict in arch/sparc64/kernel/binfmt_elf32.c

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6: (21 commits)
    [IPSEC] flow: reorder "struct flow_cache_entry" and remove SLAB_HWCACHE_ALIGN
    [DECNET] ROUTE: remove unecessary alignment
    [IPSEC]: Add support for aes-ctr.
    [ISDN]: fix section mismatch warning in enpci_card_msg
    [TIPC]: declare proto_ops structures as 'const'.
    [TIPC]: Kill unused static inline (x5)
    [TC]: oops in em_meta
    [IPV6] Minor cleanup: remove unused definitions in net/ip6_fib.h
    [IPV6] Minor clenup: remove two unused definitions in net/ip6_route.h
    [AF_IUCV]: defensive programming of iucv_callback_txdone
    [AF_IUCV]: broken send_skb_q results in endless loop
    [IUCV]: wrong irq-disabling locking at module load time
    [CAN]: Minor clean-ups
    [CAN]: Move proto_{,un}register() out of spin-locked region
    [CAN]: Clean up module auto loading
    [IPSEC] flow: Remove an unnecessary ____cacheline_aligned
    [IPV4]: route: fix crash ip_route_input
    [NETFILTER]: xt_iprange: add missing #include
    [NETFILTER]: xt_iprange: fix typo in address family
    [NETFILTER]: nf_conntrack: fix ct_extend ->move operation
    ...

    Linus Torvalds
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:
    acer-wmi, tc1100-wmi: select ACPI_WMI
    ACPI: WMI: Improve Kconfig description
    ACPI: DMI: add Panasonic CF-52 and Thinpad X61
    ACPI: thermal: syntax, spelling, kernel-doc
    intel_menlo: build on X86 only
    ACPI: build WMI on X86 only
    ACPI: cpufreq: Print _PPC changes via cpufreq debug layer
    ACPI: add newline to printk

    Linus Torvalds
     
  • vmsplice_to_user() must always check the user pointer and length
    with access_ok() before copying. Likewise, for the slow path of
    copy_from_user_mmap_sem() we need to check that we may read from
    the user region.

    Signed-off-by: Jens Axboe
    Cc: Wojciech Purczynski
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Linus Torvalds

    Jens Axboe
     
  • Turn off quotas before filesystem is remounted read only. Otherwise quota
    will try to write to read-only filesystem which does no good... We could
    also just refuse to remount ro when quota is enabled but turning quota off
    is consistent with what we do on umount.

    Signed-off-by: Jan Kara
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • Some devices - notably dm and md - can change their behaviour in response
    to BIO_RW_BARRIER requests. They might start out accepting such requests
    but on reconfiguration, they find out that they cannot any more.

    ext3 (and other filesystems) deal with this by always testing if
    BIO_RW_BARRIER requests fail with EOPNOTSUPP, and retrying the write
    requests without the barrier (probably after waiting for any pending writes
    to complete).

    However there is a bug in the handling for this for ext3.

    When ext3 (jbd actually) decides to submit a BIO_RW_BARRIER request, it
    sets the buffer_ordered flag on the buffer head. If the request completes
    successfully, the flag STAYS SET.

    Other code might then write the same buffer_head after the device has been
    reconfigured to not accept barriers. This write will then fail, but the
    "other code" is not ready to handle EOPNOTSUPP errors and the error will be
    treated as fatal.

    This can be seen without having to reconfigure a device at exactly the
    wrong time by putting:

    if (buffer_ordered(bh))
    printk("OH DEAR, and ordered buffer\n");

    in the while loop in "commit phase 5" of journal_commit_transaction.

    If it ever prints the "OH DEAR ..." message (as it does sometimes for
    me), then that request could (in different circumstances) have failed
    with EOPNOTSUPP, but that isn't tested for.

    My proposed fix is to clear the buffer_ordered flag after it has been
    used, as in the following patch.

    Signed-off-by: Neil Brown
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Neil Brown
     
  • do_mount() uses a whopping 616 bytes of stack on x86_64 in 2.6.24-mm1,
    largely thanks to gcc inlining the various helper functions.

    noinlining these can slim it down a lot; on my box this patch gets it down
    to 168, which is mostly the struct nameidata nd; left on the stack.

    These functions are called only as do_mount() helpers; none of them should
    be in any path that would see a performance benefit from inlining...

    Signed-off-by: Eric Sandeen
    Cc: Arjan van de Ven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Eric Sandeen
     
  • [ Spotted by Miklos ]

    Fix a memory leak in init_new_context. The struct page ** buffer allocated
    for install_special_mapping was never recorded, and thus leaked when the
    mm_struct was freed. Fix it by saving the pointer in mm_context_t and freeing
    it in arch_exit_mmap.

    Signed-off-by: Jeff Dike
    Cc: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • %fs needs to be copied from parent to child during fork.

    Tidied up some whitespace while I was here.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • * arch/um/os-Linux/mem.c (make_tempfile): Don't deref NULL upon failed malloc.

    * arch/um/os-Linux/mem.c (make_tempfile): Handle NULL tempdir.
    Don't let a long tempdir (e.g., via TMPDIR) provoke heap corruption.

    [ jdike - formatting cleanups, deleted obsolete comment ]

    Signed-off-by: Jim Meyering
    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jim Meyering
     
  • Style changes under arch/um/os-Linux:
    include trimming
    CodingStyle fixes
    some printks needed severity indicators

    make_tempfile turns out not to be used outside of mem.c, so it is now static.
    Its declaration in tempfile.h is no longer needed, and tempfile.h itself is no
    longer needed.

    create_tmp_file was also made static.

    checkpatch moans about an EXPORT_SYMBOL in user_syms.c which is part of a
    macro definition - this is copying a bit of kernel infrastructure into the
    libc side of UML because the kernel headers can't be included there.

    Signed-off-by: Jeff Dike
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Calculate TASK_SIZE at run-time by figuring out the host's VMSPLIT - this is
    needed on i386 if UML is to run on hosts with varying VMSPLITs without
    recompilation.

    TASK_SIZE is now defined in terms of a variable, task_size. This gets rid of
    an include of pgtable.h from processor.h, which can cause include loops.

    On i386, task_size is calculated early in boot by probing the address space in
    a binary search to figure out where the boundary between usable and non-usable
    memory is. This tries to make sure that a page that is considered to be in
    userspace is, or can be made, read-write. I'm concerned about a system-global
    VDSO page in kernel memory being hit and considered to be a userspace page.

    On x86_64, task_size is just the old value of CONFIG_TOP_ADDR.

    A bunch of config variable are gone now. CONFIG_TOP_ADDR is directly replaced
    by TASK_SIZE. NEST_LEVEL is gone since the relocation of the stubs makes it
    irrelevant. All the HOST_VMSPLIT stuff is gone. All references to these in
    arch/um/Makefile are also gone.

    I noticed and fixed a missing extern in os.h when adding os_get_task_size.

    Note: This has been revised to fix the 32-bit UML on 64-bit host bug that
    Miklos ran into.

    Signed-off-by: Jeff Dike
    Cc: Miklos Szeredi
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Background: I've implemented 1K/2K page tables for s390. These sub-page
    page tables are required to properly support the s390 virtualization
    instruction with KVM. The SIE instruction requires that the page tables
    have 256 page table entries (pte) followed by 256 page status table entries
    (pgste). The pgstes are only required if the process is using the SIE
    instruction. The pgstes are updated by the hardware and by the hypervisor
    for a number of reasons, one of them is dirty and reference bit tracking.
    To avoid wasting memory the standard pte table allocation should return
    1K/2K (31/64 bit) and 2K/4K if the process is using SIE.

    Problem: Page size on s390 is 4K, page table size is 1K or 2K. That means
    the s390 version for pte_alloc_one cannot return a pointer to a struct
    page. Trouble is that with the CONFIG_HIGHPTE feature on x86 pte_alloc_one
    cannot return a pointer to a pte either, since that would require more than
    32 bit for the return value of pte_alloc_one (and the pte * would not be
    accessible since its not kmapped).

    Solution: The only solution I found to this dilemma is a new typedef: a
    pgtable_t. For s390 pgtable_t will be a (pte *) - to be introduced with a
    later patch. For everybody else it will be a (struct page *). The
    additional problem with the initialization of the ptl lock and the
    NR_PAGETABLE accounting is solved with a constructor pgtable_page_ctor and
    a destructor pgtable_page_dtor. The page table allocation and free
    functions need to call these two whenever a page table page is allocated or
    freed. pmd_populate will get a pgtable_t instead of a struct page pointer.
    To get the pgtable_t back from a pmd entry that has been installed with
    pmd_populate a new function pmd_pgtable is added. It replaces the pmd_page
    call in free_pte_range and apply_to_pte_range.

    Signed-off-by: Martin Schwidefsky
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Martin Schwidefsky
     
  • This version brings the remainder of the queued fixes. A number of fixes
    for items missed reported by Andrew Morton and others. Also a handful
    of new checks and fixes for false positives. Of note:

    - new warning associated with --file to try and avoid cleanup only patches,
    - corrected handling of completly empty files,
    - corrected report handling with multiple files,
    - handling of possible types in the face of multiple declarations,
    - detection of unnessary braces on complex if statements (where present), and
    - all new comment spacing handling.

    Andi Kleen (1):
    Introduce a warning when --file mode is used

    Andy Whitcroft (14):
    Version: 0.14
    clean up some space violations in checkpatch.pl
    a completly empty file should not provoke a whinge
    reset report lines buffers between files
    unary ++/-- may abutt close braces
    __typeof__ is also unary
    comments: revamp comment handling
    add --summary-file option adding filename to summary line
    trailing backslashes are not trailing statements
    handle operators passed as parameters such as to ASSERTCMP
    possible types -- enhance debugging
    check for boolean operations with constants
    possible types: handle multiple declarations
    detect and report if statements where all branches are single statements

    Arjan van de Ven (1):
    quiet option should not print the summary on no errors

    Bartlomiej Zolnierkiewicz (1):
    warn about using __FUNCTION__

    Timur Tabi (1):
    loosen spacing checks for __asm__

    Signed-off-by: Andy Whitcroft
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andy Whitcroft
     
  • Use set_irq_noprobe() to mark all MIPS interrupts as non-probe. Override that
    default for i8259 interrupts.

    Signed-off-by: Ralf Baechle
    Acked-and-tested-by: Rob Landley
    Cc: Alan Cox
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • Probing non-ISA interrupts using the handle_percpu_irq as their handle_irq
    method may crash the system because handle_percpu_irq does not check
    IRQ_WAITING. This for example hits the MIPS Qemu configuration.

    This patch provides two helper functions set_irq_noprobe and set_irq_probe to
    set rsp. clear the IRQ_NOPROBE flag. The only current caller is MIPS code
    but this really belongs into generic code.

    As an aside, interrupt probing these days has become a mostly obsolete if not
    dangerous art. I think Linux interrupts should be changed to default to
    non-probing but that's subject of this patch.

    Signed-off-by: Ralf Baechle
    Acked-and-tested-by: Rob Landley
    Cc: Alan Cox
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Ralf Baechle
     
  • There is an outdated comment in serial_core.c also fixed.

    Signed-off-by: Denis Cheng
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Denis Cheng
     
  • Signed-off-by: Patrick McHardy
    Acked-by: Paul E. McKenney
    Cc: Dipankar Sarma
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Patrick McHardy
     
  • There are two possible races in handling of private_list in buffer cache.

    1) When fsync_buffers_list() processes a private_list, it clears
    b_assoc_mapping and moves buffer to its private list. Now
    drop_buffers() comes, sees a buffer is on list so it calls
    __remove_assoc_queue() which complains about b_assoc_mapping being
    cleared (as it cannot propagate possible IO error). This race has been
    actually observed in the wild.

    2) When fsync_buffers_list() processes a private_list,
    mark_buffer_dirty_inode() can be called on bh which is already on the
    private list of fsync_buffers_list(). As buffer is on some list (note
    that the check is performed without private_lock), it is not readded to
    the mapping's private_list and after fsync_buffers_list() finishes, we
    have a dirty buffer which should be on private_list but it isn't. This
    race has not been reported, probably because most (but not all) callers
    of mark_buffer_dirty_inode() hold i_mutex and thus are serialized with
    fsync().

    Fix these issues by not clearing b_assoc_map when fsync_buffers_list()
    moves buffer to a dedicated list and by reinserting buffer in private_list
    when it is found dirty after we have submitted buffer for IO. We also
    change the tests whether a buffer is on a private list from
    !list_empty(&bh->b_assoc_buffers) to bh->b_assoc_map so that they are
    single word reads and hence lockless checks are safe.

    Signed-off-by: Jan Kara
    Cc: Nick Piggin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jan Kara
     
  • So we can use them for the early console like console=uart8250 or
    earlycon=uart8250 or early_printk

    Signed-off-by: Yinghai Lu
    Cc: Andi Kleen
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yinghai Lu
     
  • Currently, for every sysfs node, the callers will be responsible for
    implementing store operation, so many many callers are doing duplicate
    things to validate input, they have the same mistakes because they are
    calling simple_strtol/ul/ll/uul, especially for module params, they are
    just numeric, but you can echo such values as 0x1234xxx, 07777888 and
    1234aaa, for these cases, module params store operation just ignores
    succesive invalid char and converts prefix part to a numeric although input
    is acctually invalid.

    This patch tries to fix the aforementioned issues and implements
    strict_strtox serial functions, kernel/params.c uses them to strictly
    validate input, so module params will reject such values as 0x1234xxxx and
    returns an error:

    write error: Invalid argument

    Any modules which export numeric sysfs node can use strict_strtox instead of
    simple_strtox to reject any invalid input.

    Here are some test results:

    Before applying this patch:

    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 0x1000 > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 0x1000g > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 0x1000gggggggg > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 010000 > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 0100008 > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 010000aaaaa > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]#

    After applying this patch:

    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 0x1000 > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 0x1000g > /sys/module/e1000/parameters/copybreak
    -bash: echo: write error: Invalid argument
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo 0x1000gggggggg > /sys/module/e1000/parameters/copybreak
    -bash: echo: write error: Invalid argument
    [root@yangyi-dev /]# echo 010000 > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# echo 0100008 > /sys/module/e1000/parameters/copybreak
    -bash: echo: write error: Invalid argument
    [root@yangyi-dev /]# echo 010000aaaaa > /sys/module/e1000/parameters/copybreak
    -bash: echo: write error: Invalid argument
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]# echo -n 4096 > /sys/module/e1000/parameters/copybreak
    [root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak
    4096
    [root@yangyi-dev /]#

    [akpm@linux-foundation.org: fix compiler warnings]
    [akpm@linux-foundation.org: fix off-by-one found by tiwai@suse.de]
    Signed-off-by: Yi Yang
    Cc: Greg KH
    Cc: "Randy.Dunlap"
    Cc: Takashi Iwai
    Cc: Hugh Dickins
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Yi Yang
     
  • Fix gcc warnings in getdelays.c:

    Documentation/accounting/getdelays.c: In function 'task_context_switch_counts':
    Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 4 has type '__u64'
    Documentation/accounting/getdelays.c:214: warning: format '%15lu' expects type 'long unsigned int', but argument 5 has type '__u64'
    Documentation/accounting/getdelays.c: In function 'main':
    Documentation/accounting/getdelays.c:402: warning: format '%d' expects type 'int', but argument 2 has type 'long unsigned int'
    Documentation/accounting/getdelays.c: In function 'get_family_id':
    Documentation/accounting/getdelays.c:171: warning: 'id' may be used uninitialized in this function

    One warning is not a problem and can be dismissed:
    Documentation/accounting/getdelays.c: In function 'main':
    Documentation/accounting/getdelays.c:236: warning: 'cmd_type' may be used uninitialized in this function

    Signed-off-by: Randy Dunlap
    Acked-by: Balbir Singh
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Fix following warning:
    WARNING: o-x86_64/kernel/built-in.o(.text+0x36d8b): Section mismatch in reference from the function enable_nonboot_cpus() to the function .cpuinit.text:_cpu_up()

    enable_nonboot_cpus() are used solely from CONFIG_CONFIG_PM_SLEEP_SMP=y
    and PM_SLEEP_SMP imply HOTPLUG_CPU therefore the reference
    to _cpu_up() is valid.
    Annotate enable_nonboot_cpus() with __ref to silence modpost.

    Signed-off-by: Sam Ravnborg
    Cc: Gautham R Shenoy
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sam Ravnborg
     
  • Since this header is exported to userspace and all the other types in the
    header have been scrubbed, this brings the last straggler in line.

    Signed-off-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mike Frysinger
     
  • Following the deprecation schedule the a.out ELF interpreter support
    is removed now with this patch. a.out ELF interpreters were an transition
    feature for moving a.out systems to ELF, but they're unlikely to be still
    needed. Pure a.out systems will still work of course. This allows to
    simplify the hairy ELF loader.

    Signed-off-by: Andi Kleen
    Cc: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andi Kleen
     
  • The proper behavior to store task's pid and get this task later is to get the
    struct pid pointer and get the task with the pid_task() call.

    Make it for rt_mutex_waiter->deadlock_task_pid field.

    Signed-off-by: Pavel Emelyanov
    Cc: "Eric W. Biederman"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Emelyanov
     
  • All the functions that need to lookup a task by pid in posix timers obtain
    this pid from a user space, and thus this value refers to a task in the same
    namespace, as the current task lives in.

    So the proper behavior is to call find_task_by_vpid() here.

    Signed-off-by: Pavel Emelyanov
    Cc: "Eric W. Biederman"
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Pavel Emelyanov
     
  • Remove the arbitrary 128 device limit for NBD. nbds_max can now be set to
    any number. In certain scenarios where devices are used sparsely we have
    run into the 128 device limit.

    Signed-off-by: Paul Clements
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Paul Clements
     
  • Instead of testing hardcoded values, use pci_match_id to reference the
    pci_device_id table. Sideways, it allows easy new additions to the table.

    [akpm@linux-foundation.org: remove wrongly-added semicolon]
    Signed-off-by: Jiri Slaby
    Cc: WANG Cong
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby
     
  • Use pci_resource_start instead of accessing pci_dev struct internals.

    Signed-off-by: Jiri Slaby
    Cc: WANG Cong
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiri Slaby