19 Oct, 2010

1 commit

  • Ugly #include dependencies. We need to have local_softirq_pending()
    defined before it gets used in . But
    provides the definition *after* this #include chain:



    Signed-off-by: Tony Luck
    [ cherry-picked from the ia64 tree to fix "2bf2160: irq: Add tracepoint to softirq_raise" ]
    Signed-off-by: Ingo Molnar

    Tony Luck
     

17 Sep, 2010

1 commit


16 Sep, 2010

1 commit


15 Sep, 2010

1 commit

  • compat_alloc_user_space() expects the caller to independently call
    access_ok() to verify the returned area. A missing call could
    introduce problems on some architectures.

    This patch incorporates the access_ok() check into
    compat_alloc_user_space() and also adds a sanity check on the length.
    The existing compat_alloc_user_space() implementations are renamed
    arch_compat_alloc_user_space() and are used as part of the
    implementation of the new global function.

    This patch assumes NULL will cause __get_user()/__put_user() to either
    fail or access userspace on all architectures. This should be
    followed by checking the return value of compat_access_user_space()
    for NULL in the callers, at which time the access_ok() in the callers
    can also be removed.

    Reported-by: Ben Hawkes
    Signed-off-by: H. Peter Anvin
    Acked-by: Benjamin Herrenschmidt
    Acked-by: Chris Metcalf
    Acked-by: David S. Miller
    Acked-by: Ingo Molnar
    Acked-by: Thomas Gleixner
    Acked-by: Tony Luck
    Cc: Andrew Morton
    Cc: Arnd Bergmann
    Cc: Fenghua Yu
    Cc: H. Peter Anvin
    Cc: Heiko Carstens
    Cc: Helge Deller
    Cc: James Bottomley
    Cc: Kyle McMartin
    Cc: Martin Schwidefsky
    Cc: Paul Mackerras
    Cc: Ralf Baechle
    Cc:

    H. Peter Anvin
     

10 Sep, 2010

1 commit

  • When ia64 converted to using ticket locks, an inline implementation
    of trylock/unlock in fsys.S was missed. This was not noticed because
    in most circumstances it simply resulted in using the slow path because
    the siglock was apparently not available (under old spinlock rules).

    Problems occur when the ticket spinlock has value 0x0 (when first
    initialised, or when it wraps around). At this point the fsys.S
    code acquires the lock (changing the 0x0 to 0x1. If another process
    attempts to get the lock at this point, it will change the value from
    0x1 to 0x2 (using new ticket lock rules). Then the fsys.S code will
    free the lock using old spinlock rules by writing 0x0 to it. From
    here a variety of bad things can happen.

    Signed-off-by: Tony Luck

    Tony Luck
     

29 Aug, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
    Input: pxa27x_keypad - remove input_free_device() in pxa27x_keypad_remove()
    Input: mousedev - fix regression of inverting axes
    Input: uinput - add devname alias to allow module on-demand load
    Input: hil_kbd - fix compile error
    USB: drop tty argument from usb_serial_handle_sysrq_char()
    Input: sysrq - drop tty argument form handle_sysrq()
    Input: sysrq - drop tty argument from sysrq ops handlers

    Linus Torvalds
     

21 Aug, 2010

1 commit

  • Sysrq operations do not accept tty argument anymore so no need to pass
    it to us.

    [Stephen Rothwell : fix build breakage in drm code
    caused by sysrq using bool but not including linux/types.h]

    [Sachin Sant : fix build breakage in s390 keyboadr
    driver]

    Acked-by: Alan Cox
    Acked-by: Jason Wessel
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Dmitry Torokhov

    Dmitry Torokhov
     

19 Aug, 2010

1 commit

  • arch/ia64/kernel/process.c:636: error: conflicting types for ‘sys_execve’

    commit d7627467b7a8dd6944885290a03a07ceb28c10eb
    Make do_execve() take a const filename pointer

    Missed the declaration of sys_execve in the ia64 asm/unistd.h (perhaps
    because there is no reason for it to be there ... it might be a left over
    from the COMPAT code?). Just delete the conflicting version.

    Signed-off-by: Tony Luck

    Tony Luck
     

18 Aug, 2010

1 commit

  • Make do_execve() take a const filename pointer so that kernel_execve() compiles
    correctly on ARM:

    arch/arm/kernel/sys_arm.c:88: warning: passing argument 1 of 'do_execve' discards qualifiers from pointer target type

    This also requires the argv and envp arguments to be consted twice, once for
    the pointer array and once for the strings the array points to. This is
    because do_execve() passes a pointer to the filename (now const) to
    copy_strings_kernel(). A simpler alternative would be to cast the filename
    pointer in do_execve() when it's passed to copy_strings_kernel().

    do_execve() may not change any of the strings it is passed as part of the argv
    or envp lists as they are some of them in .rodata, so marking these strings as
    const should be fine.

    Further kernel_execve() and sys_execve() need to be changed to match.

    This has been test built on x86_64, frv, arm and mips.

    Signed-off-by: David Howells
    Tested-by: Ralf Baechle
    Acked-by: Russell King
    Signed-off-by: Linus Torvalds

    David Howells
     

15 Aug, 2010

2 commits


14 Aug, 2010

4 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] Add latest crop of syscalls
    [IA64] Fix 64-bit atomic routines to return "long"

    Linus Torvalds
     
  • Three new syscalls for 2.6.36: prlimit64, fanotify_init and
    fanotify_mark. Wire up the ia64 syscall table for them.

    Signed-off-by: Tony Luck

    Tony Luck
     
  • Mark arguments to certain system calls as being const where they should be but
    aren't. The list includes:

    (*) The filename arguments of various stat syscalls, execve(), various utimes
    syscalls and some mount syscalls.

    (*) The filename arguments of some syscall helpers relating to the above.

    (*) The buffer argument of various write syscalls.

    Signed-off-by: David Howells
    Acked-by: David S. Miller
    Signed-off-by: Linus Torvalds

    David Howells
     
  • These have been broken (returning "int") since the dawn of
    time. But there were no users that needed the whole value
    until commit
    424acaaeb3a3932d64a9b4bd59df6cf72c22d8f3
    rwsem: wake queued readers when writer blocks on active read lock

    made this change:

    - (rwsem_atomic_update(0, sem) & RWSEM_ACTIVE_MASK))
    - /* Someone grabbed the sem already */
    + rwsem_atomic_update(0, sem) < RWSEM_WAITING_BIAS)
    + /* Someone grabbed the sem for write already */

    RWSEM_ACTIVE_MASK is 0xffffffffL, so the old code only looked
    at the low order 32-bits. The new code needs to see all 64 bits.

    Signed-off-by: Tony Luck

    Tony Luck
     

13 Aug, 2010

1 commit

  • Some nice improvements were made to rwsem in commit:

    424acaaeb3a3932d64a9b4bd59df6cf72c22d8f3
    rwsem: wake queued readers when writer blocks on active read lock

    but this change overlooked that ia64 had defined RWSEM_WAITING_BIAS
    as an unsigned value, while the new code required a signed value (as
    it is in every other architecture).

    This fix suggested by the original patch author: Michel Lespinasse.

    Signed-off-by: Tony Luck

    Tony Luck
     

12 Aug, 2010

1 commit

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:
    isofs: Fix lseek() to position beyond 4 GB
    vfs: remove unused MNT_STRICTATIME
    vfs: show unreachable paths in getcwd and proc
    vfs: only add " (deleted)" where necessary
    vfs: add prepend_path() helper
    vfs: __d_path: dont prepend the name of the root dentry
    ia64: perfmon: add d_dname method
    vfs: add helpers to get root and pwd
    cachefiles: use path_get instead of lone dget
    fs/sysv/super.c: add support for non-PDP11 v7 filesystems
    V7: Adjust sanity checks for some volumes
    Add v7 alias
    v9fs: fixup for inode_setattr being removed

    Manual merge to take Al's version of the fs/sysv/super.c file: it merged
    cleanly, but Al had removed an unnecessary header include, so his side
    was better.

    Linus Torvalds
     

11 Aug, 2010

6 commits

  • Architectures implement dma_is_consistent() in different ways (some
    misinterpret the definition of API in DMA-API.txt). So it hasn't been so
    useful for drivers. We have only one user of the API in tree. Unlikely
    out-of-tree drivers use the API.

    Even if we fix dma_is_consistent() in some architectures, it doesn't look
    useful at all. It was invented long ago for some old systems that can't
    allocate coherent memory at all. It's better to export only APIs that are
    definitely necessary for drivers.

    Let's remove this API.

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

    FUJITA Tomonori
     
  • dma_get_cache_alignment returns the minimum DMA alignment. Architectures
    defines it as ARCH_DMA_MINALIGN (formally ARCH_KMALLOC_MINALIGN). So we
    can unify dma_get_cache_alignment implementations.

    Note that some architectures implement dma_get_cache_alignment wrongly.
    dma_get_cache_alignment() should return the minimum DMA alignment. So
    fully-coherent architectures should return 1. This patch also fixes this
    issue.

    Signed-off-by: FUJITA Tomonori
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    FUJITA Tomonori
     
  • Switch ia64/perfmon to using the d_dname() instead of relying on
    __d_path() to prepend the name of the root dentry to the path.

    CC: Tony Luck
    CC: Fenghua Yu
    Signed-off-by: Miklos Szeredi
    Signed-off-by: Al Viro

    Miklos Szeredi
     
  • * 'for-2.6.36' of git://git.kernel.dk/linux-2.6-block: (149 commits)
    block: make sure that REQ_* types are seen even with CONFIG_BLOCK=n
    xen-blkfront: fix missing out label
    blkdev: fix blkdev_issue_zeroout return value
    block: update request stacking methods to support discards
    block: fix missing export of blk_types.h
    writeback: fix bad _bh spinlock nesting
    drbd: revert "delay probes", feature is being re-implemented differently
    drbd: Initialize all members of sync_conf to their defaults [Bugz 315]
    drbd: Disable delay probes for the upcomming release
    writeback: cleanup bdi_register
    writeback: add new tracepoints
    writeback: remove unnecessary init_timer call
    writeback: optimize periodic bdi thread wakeups
    writeback: prevent unnecessary bdi threads wakeups
    writeback: move bdi threads exiting logic to the forker thread
    writeback: restructure bdi forker loop a little
    writeback: move last_active to bdi
    writeback: do not remove bdi from bdi_list
    writeback: simplify bdi code a little
    writeback: do not lose wake-ups in bdi threads
    ...

    Fixed up pretty trivial conflicts in drivers/block/virtio_blk.c and
    drivers/scsi/scsi_error.c as per Jens.

    Linus Torvalds
     
  • This patch is against the 2.6.34 source.

    Paraphrased from the 1989 BSD patch by David Borman @ cray.com:

    These are the changes needed for the kernel to support
    LINEMODE in the server.

    There is a new bit in the termios local flag word, EXTPROC.
    When this bit is set, several aspects of the terminal driver
    are disabled. Input line editing, character echo, and mapping
    of signals are all disabled. This allows the telnetd to turn
    off these functions when in linemode, but still keep track of
    what state the user wants the terminal to be in.

    New ioctl:
    TIOCSIG Generate a signal to processes in the
    current process group of the pty.

    There is a new mode for packet driver, the TIOCPKT_IOCTL bit.
    When packet mode is turned on in the pty, and the EXTPROC bit
    is set, then whenever the state of the pty is changed, the
    next read on the master side of the pty will have the TIOCPKT_IOCTL
    bit set. This allows the process on the server side of the pty
    to know when the state of the terminal has changed; it can then
    issue the appropriate ioctl to retrieve the new state.

    Since the original BSD patches accompanied the source code for telnet
    I've left that reference here, but obviously the feature is useful for
    any remote terminal protocol, including ssh.

    The corresponding feature has existed in the BSD tty driver since 1989.
    For historical reference, a good copy of the relevant files can be found
    here:

    http://anonsvn.mit.edu/viewvc/krb5/trunk/src/appl/telnet/?pathrev=17741

    Signed-off-by: Howard Chu
    Cc: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    hyc@symas.com
     
  • As Jeff Dike pointed out, the Hayes ESP driver was removed in commit
    f53a2ade0bb9f2a81f473e6469155172a96b7c38, so these ioctl definitions
    should also be removed. This cleans up the remaining arch-specific
    locations of this ioctl value.

    Thanks to Arnd for pointing these out.

    Cc: Jeff Dike
    Cc: Arnd Bergmann
    Cc: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

10 Aug, 2010

2 commits

  • Workqueues are now initialized as part of the early_initcall(). So they
    are available for use during cold boot process aswell.

    Signed-off-by: Suresh Siddha
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: Tejun Heo
    Cc: Oleg Nesterov
    Cc: Tony Luck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Suresh Siddha
     
  • Define stubs for the numa_*_id() generic percpu related functions for
    non-NUMA configurations in where the other
    non-numa stubs live.

    Fixes ia64 !NUMA build breakage -- e.g., tiger_defconfig

    Back out now unneeded '#ifndef CONFIG_NUMA' guards from ia64 smpboot.c

    Signed-off-by: Lee Schermerhorn
    Tested-by: Tony Luck
    Acked-by: Tony Luck
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Lee Schermerhorn
     

08 Aug, 2010

2 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (55 commits)
    workqueue: mark init_workqueues() as early_initcall()
    workqueue: explain for_each_*cwq_cpu() iterators
    fscache: fix build on !CONFIG_SYSCTL
    slow-work: kill it
    gfs2: use workqueue instead of slow-work
    drm: use workqueue instead of slow-work
    cifs: use workqueue instead of slow-work
    fscache: drop references to slow-work
    fscache: convert operation to use workqueue instead of slow-work
    fscache: convert object to use workqueue instead of slow-work
    workqueue: fix how cpu number is stored in work->data
    workqueue: fix mayday_mask handling on UP
    workqueue: fix build problem on !CONFIG_SMP
    workqueue: fix locking in retry path of maybe_create_worker()
    async: use workqueue for worker pool
    workqueue: remove WQ_SINGLE_CPU and use WQ_UNBOUND instead
    workqueue: implement unbound workqueue
    workqueue: prepare for WQ_UNBOUND implementation
    libata: take advantage of cmwq and remove concurrency limitations
    workqueue: fix worker management invocation without pending works
    ...

    Fixed up conflicts in fs/cifs/* as per Tejun. Other trivial conflicts in
    include/linux/workqueue.h, kernel/trace/Kconfig and kernel/workqueue.c

    Linus Torvalds
     
  • Architectures don't need to define ISA_DMA_THRESHOLD anymore.

    Signed-off-by: FUJITA Tomonori
    Acked-by: James Bottomley
    Acked-by: David Howells
    Signed-off-by: Jens Axboe

    FUJITA Tomonori
     

07 Aug, 2010

3 commits

  • …x/kernel/git/tip/linux-2.6-tip

    * 'timers-timekeeping-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    um: Fix read_persistent_clock fallout
    kgdb: Do not access xtime directly
    powerpc: Clean up obsolete code relating to decrementer and timebase
    powerpc: Rework VDSO gettimeofday to prevent time going backwards
    clocksource: Add __clocksource_updatefreq_hz/khz methods
    x86: Convert common clocksources to use clocksource_register_hz/khz
    timekeeping: Make xtime and wall_to_monotonic static
    hrtimer: Cleanup direct access to wall_to_monotonic
    um: Convert to use read_persistent_clock
    timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset
    powerpc: Cleanup xtime usage
    powerpc: Simplify update_vsyscall
    time: Kill off CONFIG_GENERIC_TIME
    time: Implement timespec_add
    x86: Fix vtime/file timestamp inconsistencies

    Trivial conflicts in Documentation/feature-removal-schedule.txt

    Much less trivial conflicts in arch/powerpc/kernel/time.c resolved as
    per Thomas' earlier merge commit 47916be4e28c ("Merge branch
    'powerpc.cherry-picks' into timers/clocksource")

    Linus Torvalds
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (30 commits)
    PCI: update for owner removal from struct device_attribute
    PCI: Fix warnings when CONFIG_DMI unset
    PCI: Do not run NVidia quirks related to MSI with MSI disabled
    x86/PCI: use for_each_pci_dev()
    PCI: use for_each_pci_dev()
    PCI: MSI: Restore read_msi_msg_desc(); add get_cached_msi_msg_desc()
    PCI: export SMBIOS provided firmware instance and label to sysfs
    PCI: Allow read/write access to sysfs I/O port resources
    x86/PCI: use host bridge _CRS info on ASRock ALiveSATA2-GLAN
    PCI: remove unused HAVE_ARCH_PCI_SET_DMA_MAX_SEGMENT_{SIZE|BOUNDARY}
    PCI: disable mmio during bar sizing
    PCI: MSI: Remove unsafe and unnecessary hardware access
    PCI: Default PCIe ASPM control to on and require !EMBEDDED to disable
    PCI: kernel oops on access to pci proc file while hot-removal
    PCI: pci-sysfs: remove casts from void*
    ACPI: Disable ASPM if the platform won't provide _OSC control for PCIe
    PCI hotplug: make sure child bridges are enabled at hotplug time
    PCI hotplug: shpchp: Removed check for hotplug of display devices
    PCI hotplug: pciehp: Fixed return value sign for pciehp_unconfigure_device
    PCI: Don't enable aspm before drivers have had a chance to veto it
    ...

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

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits)
    tracing/kprobes: unregister_trace_probe needs to be called under mutex
    perf: expose event__process function
    perf events: Fix mmap offset determination
    perf, powerpc: fsl_emb: Restore setting perf_sample_data.period
    perf, powerpc: Convert the FSL driver to use local64_t
    perf tools: Don't keep unreferenced maps when unmaps are detected
    perf session: Invalidate last_match when removing threads from rb_tree
    perf session: Free the ref_reloc_sym memory at the right place
    x86,mmiotrace: Add support for tracing STOS instruction
    perf, sched migration: Librarize task states and event headers helpers
    perf, sched migration: Librarize the GUI class
    perf, sched migration: Make the GUI class client agnostic
    perf, sched migration: Make it vertically scrollable
    perf, sched migration: Parameterize cpu height and spacing
    perf, sched migration: Fix key bindings
    perf, sched migration: Ignore unhandled task states
    perf, sched migration: Handle ignored migrate out events
    perf: New migration tool overview
    tracing: Drop cpparg() macro
    perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call
    ...

    Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c

    Linus Torvalds
     

06 Aug, 2010

1 commit

  • * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    modpost: support objects with more than 64k sections
    trivial: fix a typo in a filename
    frv: clean up arch/frv/Makefile
    kbuild: allow assignment to {A,C}FLAGS_KERNEL on the command line
    kbuild: allow assignment to {A,C,LD}FLAGS_MODULE on the command line
    Kbuild: Add option to set -femit-struct-debug-baseonly
    Makefile: "make kernelrelease" should show the correct full kernel version
    Makefile.build: make KBUILD_SYMTYPES work again

    Linus Torvalds
     

05 Aug, 2010

2 commits

  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:
    [IA64] increase ia64 static per cpu area
    [IA64] Put ia64 config files on the Uwe Kleine-König diet
    [IA64] perfmon: convert to unlocked_ioctl
    [IA64] beautify vmlinux.lds.h

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (48 commits)
    Documentation: update broken web addresses.
    fix comment typo "choosed" -> "chosen"
    hostap:hostap_hw.c Fix typo in comment
    Fix spelling contorller -> controller in comments
    Kconfig.debug: FAIL_IO_TIMEOUT: typo Faul -> Fault
    fs/Kconfig: Fix typo Userpace -> Userspace
    Removing dead MACH_U300_BS26
    drivers/infiniband: Remove unnecessary casts of private_data
    fs/ocfs2: Remove unnecessary casts of private_data
    libfc: use ARRAY_SIZE
    scsi: bfa: use ARRAY_SIZE
    drm: i915: use ARRAY_SIZE
    drm: drm_edid: use ARRAY_SIZE
    synclink: use ARRAY_SIZE
    block: cciss: use ARRAY_SIZE
    comment typo fixes: charater => character
    fix comment typos concerning "challenge"
    arm: plat-spear: fix typo in kerneldoc
    reiserfs: typo comment fix
    update email address
    ...

    Linus Torvalds
     

04 Aug, 2010

4 commits


03 Aug, 2010

2 commits

  • It is now possible to assign options to AS and CC
    on the command line - which is only used for built-in code.

    {A,C}FLAGS_KERNEL was used both in the top-level Makefile
    in the arch makefiles, thus users had no way to specify
    additional options to AS, CC without overriding
    the original value.

    Introduce a new set of variables KBUILD_{A,C}FLAGS_KERNEL
    that is used by arch specific files and free up
    {A,C}FLAGS_KERNEL so they can be assigned on
    the command line.

    All arch Makefiles that used the old variables has been updated.

    Signed-off-by: Sam Ravnborg
    Cc: Tony Luck
    Cc: Hirokazu Takata
    Signed-off-by: Michal Marek

    Sam Ravnborg
     
  • It is now possible to assign options to AS, CC and LD
    on the command line - which is only used when building modules.

    {A,C,LD}FLAGS_MODULE was all used both in the top-level Makefile
    in the arch makefiles, thus users had no way to specify
    additional options to AS, CC, LD when building modules
    without overriding the original value.

    Introduce a new set of variables KBUILD_{A,C,LD}FLAGS_MODULE
    that is used by arch specific files and free up
    {A,C,LD}FLAGS_MODULE so they can be assigned on
    the command line.

    All arch Makefiles that used the old variables has been updated.

    Note: Previously we had a MODFLAGS variable for both
    AS and CC. But in favour of consistency this was dropped.
    So in some cases arch Makefile has one assignmnet replaced by
    two assignmnets.

    Note2: MODFLAGS was not documented and is dropped
    without any notice. I do not expect much/any breakage
    from this.

    Signed-off-by: Sam Ravnborg
    Cc: Denys Vlasenko
    Cc: Haavard Skinnemoen
    Cc: Mike Frysinger
    Cc: Tony Luck
    Cc: Geert Uytterhoeven
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Martin Schwidefsky
    Cc: Chen Liqin
    Acked-by: Mike Frysinger [blackfin]
    Acked-by: Haavard Skinnemoen [avr32]
    Signed-off-by: Michal Marek

    Sam Ravnborg
     

01 Aug, 2010

1 commit

  • This patch converts unnecessary divide and modulo operations
    in the KVM large page related code into logical operations.
    This allows to convert gfn_t to u64 while not breaking 32
    bit builds.

    Signed-off-by: Joerg Roedel
    Signed-off-by: Marcelo Tosatti

    Joerg Roedel