1. 08 Feb, 2008 40 commits
    • Alan Cox's avatar
      x25_asy: Fix ref count rule violation · 11b0cc3a
      Alan Cox authored
      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: default avatarAlan Cox <alan@redhat.com>
      Cc: Krzysztof Halasa <khc@pm.waw.pl>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11b0cc3a
    • Guennadi Liakhovetski's avatar
      lib/scatterlist.o needed by a module only - link it in unconditionally · 4600ecfc
      Guennadi Liakhovetski authored
      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: default avatarGuennadi Liakhovetski <g.liakhovetski@pengutronix.de>
      Acked-by: default avatarJens Axboe <jens.axboe@oracle.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4600ecfc
    • Adrian Bunk's avatar
      fix xtensa timerfd breakage · 3a984a85
      Adrian Bunk authored
      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: default avatarAdrian Bunk <bunk@kernel.org>
      Cc: Christian Zankel <chris@zankel.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3a984a85
    • Mathieu Desnoyers's avatar
      Fix FRV cmpxchg_local · 6784fd59
      Mathieu Desnoyers authored
      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 <bunk@kernel.org> for spotting this bug.
      Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
      Cc: Adrian Bunk <bunk@kernel.org>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6784fd59
    • Andrew Morton's avatar
      revert "proc: fix the threaded proc self" · b55fcb22
      Andrew Morton authored
      Revert commit c6caeb7c ("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 <ebiederm@xmission.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: "Guillaume Chazarain" <guichaz@yahoo.fr>
      Cc: "Pavel Emelyanov" <xemul@openvz.org>
      Cc: "Rafael J. Wysocki" <rjw@sisk.pl>
      Cc: Oleg Nesterov <oleg@tv-sign.ru>
      Cc: Roland McGrath <roland@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b55fcb22
    • Linus Torvalds's avatar
      Merge branch 'cris' of git://www.jni.nu/cris · 0cf975e1
      Linus Torvalds authored
      * '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.
        ...
      0cf975e1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block · 03054de1
      Linus Torvalds authored
      * '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.
      03054de1
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm · b5eb9513
      Linus Torvalds authored
      * '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)
      b5eb9513
    • Linus Torvalds's avatar
      Merge branch 'for-2.6.25' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc · dde00137
      Linus Torvalds authored
      * '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
      dde00137
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6 · f3aafa6c
      Linus Torvalds authored
      * 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
      f3aafa6c
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 · 3668805a
      Linus Torvalds authored
      * 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
        ...
      3668805a
    • Linus Torvalds's avatar
      Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 · 7b791d44
      Linus Torvalds authored
      * '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
      7b791d44
    • Jens Axboe's avatar
      splice: missing user pointer access verification · 8811930d
      Jens Axboe authored
      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: default avatarJens Axboe <jens.axboe@oracle.com>
      Cc: Wojciech Purczynski <cliph@research.coseinc.com>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8811930d
    • Jan Kara's avatar
      quota: turn quotas off when remounting read-only · 66191dc6
      Jan Kara authored
      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: default avatarJan Kara <jack@suse.cz>
      Cc: <stable@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      66191dc6
    • Neil Brown's avatar
      ext3 can fail badly when device stops accepting BIO_RW_BARRIER requests · 28ae094c
      Neil Brown authored
      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: default avatarNeil Brown <neilb@suse.de>
      Cc: <linux-ext4@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      28ae094c
    • Eric Sandeen's avatar
      reduce large do_mount stack usage with noinlines · 2dafe1c4
      Eric Sandeen authored
      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: default avatarEric Sandeen <sandeen@redhat.com>
      Cc: Arjan van de Ven <arjan@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2dafe1c4
    • Jeff Dike's avatar
      uml: fix mm_context memory leak · ac2a6599
      Jeff Dike authored
      [ 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: default avatarJeff Dike <jdike@linux.intel.com>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ac2a6599
    • Jeff Dike's avatar
      uml: x86_64 should copy %fs during fork · 5aaf5f7b
      Jeff Dike authored
      %fs needs to be copied from parent to child during fork.
      
      Tidied up some whitespace while I was here.
      Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5aaf5f7b
    • Jim Meyering's avatar
      uml: improved error handling while locating temp dir · 11a7ac23
      Jim Meyering authored
      * 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: default avatarJim Meyering <meyering@redhat.com>
      Signed-off-by: default avatarJeff Dike <jdike@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      11a7ac23
    • Jeff Dike's avatar
      uml: style fixes in arch/um/os-Linux · 5134d8fe
      Jeff Dike authored
      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: default avatarJeff Dike <jdike@linux.intel.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      5134d8fe
    • Jeff Dike's avatar
      uml: runtime host VMSPLIT detection · 536788fe
      Jeff Dike authored
      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: default avatarJeff Dike <jdike@linux.intel.com>
      Cc: Miklos Szeredi <miklos@szeredi.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      536788fe
    • Martin Schwidefsky's avatar
      CONFIG_HIGHPTE vs. sub-page page tables. · 2f569afd
      Martin Schwidefsky authored
      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: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      2f569afd
    • Andy Whitcroft's avatar
      update checkpatch.pl to version 0.14 · 13214adf
      Andy Whitcroft authored
      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: default avatarAndy Whitcroft <apw@shadowen.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      13214adf
    • Ralf Baechle's avatar
      MIPS: Mark all but i8259 interrupts as no-probe. · 24649c00
      Ralf Baechle authored
      Use set_irq_noprobe() to mark all MIPS interrupts as non-probe.  Override that
      default for i8259 interrupts.
      Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Acked-and-tested-by: default avatarRob Landley <rob@landley.net>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      24649c00
    • Ralf Baechle's avatar
      IRQ_NOPROBE helper functions · 46f4f8f6
      Ralf Baechle authored
      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: default avatarRalf Baechle <ralf@linux-mips.org>
      Acked-and-tested-by: default avatarRob Landley <rob@landley.net>
      Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      46f4f8f6
    • Denis Cheng's avatar
      fs/char_dev.c: chrdev_open marked static and removed from fs.h · 922f9cfa
      Denis Cheng authored
      There is an outdated comment in serial_core.c also fixed.
      Signed-off-by: default avatarDenis Cheng <crquan@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      922f9cfa
    • Patrick McHardy's avatar
      preemptible RCU: sparse annotations · b55ab616
      Patrick McHardy authored
      Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
      Acked-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
      Cc: Dipankar Sarma <dipankar@in.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b55ab616
    • Jan Kara's avatar
      buffer_head: fix private_list handling · 535ee2fb
      Jan Kara authored
      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: default avatarJan Kara <jack@suse.cz>
      Cc: Nick Piggin <npiggin@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      535ee2fb
    • Yinghai Lu's avatar
      Convert loglevel-related kernel boot parameters to early_param · f6f21c81
      Yinghai Lu authored
      So we can use them for the early console like console=uart8250 or
      earlycon=uart8250 or early_printk
      Signed-off-by: default avatarYinghai Lu <yinghai.lu@sun.com>
      Cc: Andi Kleen <ak@suse.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f6f21c81
    • Yi Yang's avatar
      Add new string functions strict_strto* and convert kernel params to use them · 06b2a76d
      Yi Yang authored
      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: default avatarYi Yang <yi.y.yang@intel.com>
      Cc: Greg KH <greg@kroah.com>
      Cc: "Randy.Dunlap" <rdunlap@xenotime.net>
      Cc: Takashi Iwai <tiwai@suse.de>
      Cc: Hugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      06b2a76d
    • Randy Dunlap's avatar
      getdelays: fix gcc warnings · 10e6f32b
      Randy Dunlap authored
      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: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Acked-by: default avatarBalbir Singh <balbir@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      10e6f32b
    • Sam Ravnborg's avatar
      cpu: fix section mismatch warnings for enable_nonboot_cpus · fa7303e2
      Sam Ravnborg authored
      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: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Gautham R Shenoy <ego@in.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fa7303e2
    • Mike Frysinger's avatar
      use __u32 in linux/reiserfs_fs.h · 13d8bcd2
      Mike Frysinger authored
      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: default avatarMike Frysinger <vapier@gentoo.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      13d8bcd2
    • Andi Kleen's avatar
      Remove a.out interpreter support in ELF loader · d20894a2
      Andi Kleen authored
      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: default avatarAndi Kleen <ak@suse.de>
      Cc: David Howells <dhowells@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d20894a2
    • Pavel Emelyanov's avatar
      Don't operate with pid_t in rtmutex tester · 48d13e48
      Pavel Emelyanov authored
      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: default avatarPavel Emelyanov <xemul@openvz.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48d13e48
    • Pavel Emelyanov's avatar
      Use find_task_by_vpid in posix timers · 8dc86af0
      Pavel Emelyanov authored
      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: default avatarPavel Emelyanov <xemul@openvz.org>
      Cc: "Eric W. Biederman" <ebiederm@xmission.com>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      8dc86af0
    • Paul Clements's avatar
      NBD: remove limit on max number of nbd devices · 20a8143e
      Paul Clements authored
      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: default avatarPaul Clements <paul.clements@steeleye.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      20a8143e
    • Jiri Slaby's avatar
      Char: applicom, use pci_match_id · 53a7a1bb
      Jiri Slaby authored
      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: default avatarJiri Slaby <jirislaby@gmail.com>
      Cc: WANG Cong <xiyou.wangcong@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      53a7a1bb
    • Jiri Slaby's avatar
      Char: applicom, use pci_resource_start · 55b29a72
      Jiri Slaby authored
      Use pci_resource_start instead of accessing pci_dev struct internals.
      Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
      Cc: WANG Cong <xiyou.wangcong@gmail.com>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      55b29a72
    • Miklos Szeredi's avatar
      mount options: fix udf · 6da80894
      Miklos Szeredi authored
      Add a .show_options super operation to udf.
      Signed-off-by: default avatarMiklos Szeredi <mszeredi@suse.cz>
      Acked-by: default avatarCyrill Gorcunov <gorcunov@gmail.com>
      Acked-by: default avatarJan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      6da80894