]> git.karo-electronics.de Git - karo-tx-linux.git/log
karo-tx-linux.git
13 years agoUSB: Update last_busy time after autosuspend fails
Alan Stern [Thu, 3 Nov 2011 23:52:46 +0000 (00:52 +0100)]
USB: Update last_busy time after autosuspend fails

Originally, the runtime PM core would send an idle notification
whenever a suspend attempt failed.  The idle callback routine could
then schedule a delayed suspend for some time later.

However this behavior was changed by commit
f71648d73c1650b8b4aceb3856bebbde6daa3b86 (PM / Runtime: Remove idle
notification after failing suspend).  No notifications were sent, and
there was no clear mechanism to retry failed suspends.

This caused problems for the usbhid driver, because it fails
autosuspend attempts as long as a key is being held down.  A companion
patch changes the PM core's behavior, but we also need to change the
USB core.  In particular, this patch (as1493) updates the device's
last_busy time when an autosuspend fails, so that the PM core will
retry the autosuspend in the future when the delay time expires
again.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Henrik Rydberg <rydberg@euromail.se>
Cc: <stable@kernel.org>
Acked-by: Greg Kroah-Hartman <gregkh@suse.de>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoPM / Runtime: Automatically retry failed autosuspends
Alan Stern [Thu, 3 Nov 2011 22:39:18 +0000 (23:39 +0100)]
PM / Runtime: Automatically retry failed autosuspends

Originally, the runtime PM core would send an idle notification
whenever a suspend attempt failed.  The idle callback routine could
then schedule a delayed suspend for some time later.

However this behavior was changed by commit
f71648d73c1650b8b4aceb3856bebbde6daa3b86 (PM / Runtime: Remove idle
notification after failing suspend).  No notifications were sent, and
there was no clear mechanism to retry failed suspends.

This caused problems for the usbhid driver, because it fails
autosuspend attempts as long as a key is being held down.  Therefore
this patch (as1492) adds a mechanism for retrying failed
autosuspends.  If the callback routine updates the last_busy field so
that the next autosuspend expiration time is in the future, the
autosuspend will automatically be rescheduled.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Henrik Rydberg <rydberg@euromail.se>
Cc: <stable@kernel.org>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoPM / QoS: Remove redundant check
Guennadi Liakhovetski [Thu, 3 Nov 2011 09:12:36 +0000 (10:12 +0100)]
PM / QoS: Remove redundant check

Remove an "if" check, that repeats an equivalent one 6 lines above.

Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoPM / OPP: Fix build when CONFIG_PM_OPP is not set
Tony Lindgren [Thu, 3 Nov 2011 09:12:27 +0000 (10:12 +0100)]
PM / OPP: Fix build when CONFIG_PM_OPP is not set

Commit 03ca370fbf7b76d6d002380dbdc2cdc2319f9c80 (PM / OPP: Add
OPP availability change notifier) does not compile if CONFIG_PM_OPP
is not set:

arch/arm/plat-omap/omap-pm-noop.o: In function `opp_get_notifier':
include/linux/opp.h:103: multiple definition of `opp_get_notifier'
include/linux/opp.h:103: first defined here

Also fix incorrect comment.

Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoPM / Runtime: Fix runtime accounting calculation error
venu byravarasu [Thu, 3 Nov 2011 09:12:14 +0000 (10:12 +0100)]
PM / Runtime: Fix runtime accounting calculation error

With delta type being int, its value is made zero
for all values of now > 0x80000000.
Hence fixing it.

Signed-off-by: venu byravarasu <vbyravarasu@nvidia.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoPM / Sleep: Update freezer documentation
Srivatsa S. Bhat [Wed, 2 Nov 2011 23:59:52 +0000 (00:59 +0100)]
PM / Sleep: Update freezer documentation

This patch:
 * Substitutes some obsolete references to kernel/power/process.c by
   kernel/freezer.c.
 * Mentions kernel/freezer.c as being part of the "freezer" code along
   with the rest of the files.
 * Fixes a trivial typo.

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoPM / Sleep: Remove unused symbol 'suspend_cpu_hotplug'
Srivatsa S. Bhat [Wed, 2 Nov 2011 23:59:40 +0000 (00:59 +0100)]
PM / Sleep: Remove unused symbol 'suspend_cpu_hotplug'

Remove the suspend_cpu_hotplug declaration, which doesn't correspond
to an existing variable.

[rjw: Added the changelog.]

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoPM / Sleep: Fix race between CPU hotplug and freezer
Srivatsa S. Bhat [Wed, 2 Nov 2011 23:59:25 +0000 (00:59 +0100)]
PM / Sleep: Fix race between CPU hotplug and freezer

The CPU hotplug notifications sent out by the _cpu_up() and _cpu_down()
functions depend on the value of the 'tasks_frozen' argument passed to them
(which indicates whether tasks have been frozen or not).
(Examples for such CPU hotplug notifications: CPU_ONLINE, CPU_ONLINE_FROZEN,
CPU_DEAD, CPU_DEAD_FROZEN).

Thus, it is essential that while the callbacks for those notifications are
running, the state of the system with respect to the tasks being frozen or
not remains unchanged, *throughout that duration*. Hence there is a need for
synchronizing the CPU hotplug code with the freezer subsystem.

Since the freezer is involved only in the Suspend/Hibernate call paths, this
patch hooks the CPU hotplug code to the suspend/hibernate notifiers
PM_[SUSPEND|HIBERNATE]_PREPARE and PM_POST_[SUSPEND|HIBERNATE] to prevent
the race between CPU hotplug and freezer, thus ensuring that CPU hotplug
notifications will always be run with the state of the system really being
what the notifications indicate, _throughout_ their execution time.

Signed-off-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoACPI / PM: Add Sony VPCEB17FX to nonvs blacklist
Dave Jones [Wed, 2 Nov 2011 23:58:59 +0000 (00:58 +0100)]
ACPI / PM: Add Sony VPCEB17FX to nonvs blacklist

Another entry for the nonvs blacklist, as noted by a user in
https://bugzilla.redhat.com/show_bug.cgi?id=641789#c12

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
13 years agoMerge git://github.com/rustyrussell/linux
Linus Torvalds [Wed, 2 Nov 2011 22:00:56 +0000 (15:00 -0700)]
Merge git://github.com/rustyrussell/linux

* git://github.com/rustyrussell/linux:
  virtio-blk: use ida to allocate disk index
  virtio: Add platform bus driver for memory mapped virtio device
  virtio: Dont add "config" to list for !per_vq_vector
  virtio: console: wait for first console port for early console output
  virtio: console: add port stats for bytes received, sent and discarded
  virtio: console: make discard_port_data() use get_inbuf()
  virtio: console: rename variable
  virtio: console: make get_inbuf() return port->inbuf if present
  virtio: console: Fix return type for get_inbuf()
  virtio: console: Use wait_event_freezable instead of _interruptible
  virtio: console: Ignore port name update request if name already set
  virtio: console: Fix indentation
  virtio: modify vring_init and vring_size to take account of the layout containing *_event_idx
  virtio.h: correct comment for struct virtio_driver
  virtio-net: Use virtio_config_val() for retrieving config
  virtio_config: Add virtio_config_val_len()
  virtio-console: Use virtio_config_val() for retrieving config

13 years agoMerge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs...
Linus Torvalds [Wed, 2 Nov 2011 18:41:01 +0000 (11:41 -0700)]
Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue

* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/hch/vfs-queue:
  vfs: add d_prune dentry operation
  vfs: protect i_nlink
  filesystems: add set_nlink()
  filesystems: add missing nlink wrappers
  logfs: remove unnecessary nlink setting
  ocfs2: remove unnecessary nlink setting
  jfs: remove unnecessary nlink setting
  hypfs: remove unnecessary nlink setting
  vfs: ignore error on forced remount
  readlinkat: ensure we return ENOENT for the empty pathname for normal lookups
  vfs: fix dentry leak in simple_fill_super()

13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4
Linus Torvalds [Wed, 2 Nov 2011 17:06:20 +0000 (10:06 -0700)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (97 commits)
  jbd2: Unify log messages in jbd2 code
  jbd/jbd2: validate sb->s_first in journal_get_superblock()
  ext4: let ext4_ext_rm_leaf work with EXT_DEBUG defined
  ext4: fix a syntax error in ext4_ext_insert_extent when debugging enabled
  ext4: fix a typo in struct ext4_allocation_context
  ext4: Don't normalize an falloc request if it can fit in 1 extent.
  ext4: remove comments about extent mount option in ext4_new_inode()
  ext4: let ext4_discard_partial_buffers handle unaligned range correctly
  ext4: return ENOMEM if find_or_create_pages fails
  ext4: move vars to local scope in ext4_discard_partial_page_buffers_no_lock()
  ext4: Create helper function for EXT4_IO_END_UNWRITTEN and i_aiodio_unwritten
  ext4: optimize locking for end_io extent conversion
  ext4: remove unnecessary call to waitqueue_active()
  ext4: Use correct locking for ext4_end_io_nolock()
  ext4: fix race in xattr block allocation path
  ext4: trace punch_hole correctly in ext4_ext_map_blocks
  ext4: clean up AGGRESSIVE_TEST code
  ext4: move variables to their scope
  ext4: fix quota accounting during migration
  ext4: migrate cleanup
  ...

13 years agoMerge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs
Linus Torvalds [Wed, 2 Nov 2011 17:05:22 +0000 (10:05 -0700)]
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
  udf: Cleanup metadata flags handling
  udf: Skip mirror metadata FE loading when metadata FE is ok
  ext3: Allow quota file use root reservation
  udf: Remove web reference from UDF MAINTAINERS entry
  quota: Drop path reference on error exit from quotactl
  udf: Neaten udf_debug uses
  udf: Neaten logging output, use vsprintf extension %pV
  udf: Convert printks to pr_<level>
  udf: Rename udf_warning to udf_warn
  udf: Rename udf_error to udf_err
  udf: Promote some debugging messages to udf_error
  ext3: Remove the obsolete broken EXT3_IOC32_WAIT_FOR_READONLY.
  udf: Add readpages support for udf.
  ext3/balloc.c: local functions should be static
  ext2: fix the outdated comment in ext2_nfs_get_inode()
  ext3: remove deprecated oldalloc
  fs/ext3/balloc.c: delete useless initialization
  fs/ext2/balloc.c: delete useless initialization
  ext3: fix message in ext3_remount for rw-remount case
  ext3: Remove i_mutex from ext3_sync_file()

Fix up trivial (printf format cleanup) conflicts in fs/udf/udfdecl.h

13 years agoMerge branch 'for-linus' of git://github.com/richardweinberger/linux
Linus Torvalds [Wed, 2 Nov 2011 16:45:39 +0000 (09:45 -0700)]
Merge branch 'for-linus' of git://github.com/richardweinberger/linux

* 'for-linus' of git://github.com/richardweinberger/linux: (90 commits)
  um: fix ubd cow size
  um: Fix kmalloc argument order in um/vdso/vma.c
  um: switch to use of drivers/Kconfig
  UserModeLinux-HOWTO.txt: fix a typo
  UserModeLinux-HOWTO.txt: remove ^H characters
  um: we need sys/user.h only on i386
  um: merge delay_{32,64}.c
  um: distribute exports to where exported stuff is defined
  um: kill system-um.h
  um: generic ftrace.h will do...
  um: segment.h is x86-only and needed only there
  um: asm/pda.h is not needed anymore
  um: hw_irq.h can go generic as well
  um: switch to generic-y
  um: clean Kconfig up a bit
  um: a couple of missing dependencies...
  um: kill useless argument of free_chan() and free_one_chan()
  um: unify ptrace_user.h
  um: unify KSTK_...
  um: fix gcov build breakage
  ...

13 years agoum: fix ubd cow size
Richard Weinberger [Wed, 2 Nov 2011 12:17:27 +0000 (13:17 +0100)]
um: fix ubd cow size

ubd_file_size() cannot use ubd_dev->cow.file because at this time
ubd_dev->cow.file is not initialized.
Therefore, ubd_file_size() will always report a wrong disk size when
COW files are used.
Reading from /dev/ubd* would crash the kernel.

We have to read the correct disk size from the COW file's backing
file.

Signed-off-by: Richard Weinberger <richard@nod.at>
CC: stable@kernel.org
13 years agoum: Fix kmalloc argument order in um/vdso/vma.c
Dave Jones [Mon, 24 Oct 2011 22:15:32 +0000 (18:15 -0400)]
um: Fix kmalloc argument order in um/vdso/vma.c

kmalloc size is 1st arg, not second.

Signed-off-by: Dave Jones <davej@redhat.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
Cc: <stable@kernel.org> # 3.0.x
[richard@nod.at: on 3.0 the to be patched file is
arch/um/sys-x86_64/vdso/vma.c]

13 years agoum: switch to use of drivers/Kconfig
Al Viro [Thu, 18 Aug 2011 19:11:59 +0000 (20:11 +0100)]
um: switch to use of drivers/Kconfig

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoUserModeLinux-HOWTO.txt: fix a typo
Jonathan Neuschäfer [Mon, 15 Aug 2011 13:34:10 +0000 (15:34 +0200)]
UserModeLinux-HOWTO.txt: fix a typo

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoUserModeLinux-HOWTO.txt: remove ^H characters
Jonathan Neuschäfer [Fri, 12 Aug 2011 00:28:23 +0000 (02:28 +0200)]
UserModeLinux-HOWTO.txt: remove ^H characters

If you can't read this patch, please run:

sed -i -e "s/[^\o10]\o10//g" \
Documentation/virtual/uml/UserModeLinux-HOWTO.txt

Signed-off-by: Jonathan Neuschäfer <j.neuschaefer@gmx.net>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: we need sys/user.h only on i386
Richard Weinberger [Thu, 18 Aug 2011 19:58:07 +0000 (21:58 +0200)]
um: we need sys/user.h only on i386

Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge delay_{32,64}.c
Richard Weinberger [Thu, 18 Aug 2011 19:55:11 +0000 (21:55 +0200)]
um: merge delay_{32,64}.c

Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: distribute exports to where exported stuff is defined
Al Viro [Thu, 18 Aug 2011 19:14:10 +0000 (20:14 +0100)]
um: distribute exports to where exported stuff is defined

ksyms.c is down to the stuff defined in various USER_OBJS

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill system-um.h
Al Viro [Thu, 18 Aug 2011 19:14:00 +0000 (20:14 +0100)]
um: kill system-um.h

most of it belonged in irqflags.h, actually

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: generic ftrace.h will do...
Al Viro [Thu, 18 Aug 2011 19:13:50 +0000 (20:13 +0100)]
um: generic ftrace.h will do...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: segment.h is x86-only and needed only there
Al Viro [Thu, 18 Aug 2011 19:13:40 +0000 (20:13 +0100)]
um: segment.h is x86-only and needed only there

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: asm/pda.h is not needed anymore
Al Viro [Thu, 18 Aug 2011 19:13:30 +0000 (20:13 +0100)]
um: asm/pda.h is not needed anymore

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: hw_irq.h can go generic as well
Al Viro [Thu, 18 Aug 2011 19:13:20 +0000 (20:13 +0100)]
um: hw_irq.h can go generic as well

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: switch to generic-y
Al Viro [Thu, 18 Aug 2011 19:13:10 +0000 (20:13 +0100)]
um: switch to generic-y

kill wrapper headers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: clean Kconfig up a bit
Al Viro [Thu, 18 Aug 2011 19:13:00 +0000 (20:13 +0100)]
um: clean Kconfig up a bit

* kill duplicates with drivers/char/Kconfig
* take watchdog one into drivers/watchdog/Kconfig
* take mmapper to arch/um/Kconfig.um
* rename Kconfig.char menu to "UML Character Devices"

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: a couple of missing dependencies...
Al Viro [Thu, 18 Aug 2011 19:12:50 +0000 (20:12 +0100)]
um: a couple of missing dependencies...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill useless argument of free_chan() and free_one_chan()
Al Viro [Thu, 18 Aug 2011 19:12:39 +0000 (20:12 +0100)]
um: kill useless argument of free_chan() and free_one_chan()

delay_free_irq is always 0 for those...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: unify ptrace_user.h
Al Viro [Thu, 18 Aug 2011 19:12:19 +0000 (20:12 +0100)]
um: unify ptrace_user.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: unify KSTK_...
Al Viro [Thu, 18 Aug 2011 19:12:09 +0000 (20:12 +0100)]
um: unify KSTK_...

... and switch get_thread_register() to HOST_... for register numbers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: fix gcov build breakage
Al Viro [Thu, 18 Aug 2011 19:11:49 +0000 (20:11 +0100)]
um: fix gcov build breakage

a) exports in gmon_syms.c duplicate kernel/gcov/* ones
b) excluding -pg in vdso compile is not enough - -fprofile-arcs
and -ftest-coverage also needs to be excluded

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: page_offset.h is never used
Al Viro [Thu, 18 Aug 2011 19:11:39 +0000 (20:11 +0100)]
um: page_offset.h is never used

... and neither is the only define in it

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: irq_vectors.h just shadows x86 one
Al Viro [Thu, 18 Aug 2011 19:11:29 +0000 (20:11 +0100)]
um: irq_vectors.h just shadows x86 one

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: required-features.h is there only to shadow x86 one...
Al Viro [Thu, 18 Aug 2011 19:11:19 +0000 (20:11 +0100)]
um: required-features.h is there only to shadow x86 one...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: asm/apic.h is there only to shadow the x86 one...
Al Viro [Thu, 18 Aug 2011 19:11:09 +0000 (20:11 +0100)]
um: asm/apic.h is there only to shadow the x86 one...

... so take it to arch/um/x86/asm.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take ubd_user.h to its users...
Al Viro [Thu, 18 Aug 2011 19:10:59 +0000 (20:10 +0100)]
um: take ubd_user.h to its users...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take ldt.h to arch/x86/um/asm/mm_context.h
Al Viro [Thu, 18 Aug 2011 19:10:49 +0000 (20:10 +0100)]
um: take ldt.h to arch/x86/um/asm/mm_context.h

it's x86-only and we have no business playing with it in asm/mmu.h; make
the latter have
struct uml_arch_mm_context arch;
instead of
struct uml_ldt ldt;
and let arch/<subarch>/um/asm/mm_context.h decide what'll be in there.
While we are at it, kill host_ldt.h - it's not needed in part of places
that include it (we want asm/ldt.h in those) and it can be trivially
expanded into the single remaining one.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge signal_{32,64}.c
Al Viro [Thu, 18 Aug 2011 19:10:39 +0000 (20:10 +0100)]
um: merge signal_{32,64}.c

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: no need to play with save_sp in signal frame setup anymore
Al Viro [Thu, 18 Aug 2011 19:10:29 +0000 (20:10 +0100)]
um: no need to play with save_sp in signal frame setup anymore

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: increase stack growth cushion in pagefault
Al Viro [Thu, 18 Aug 2011 19:10:19 +0000 (20:10 +0100)]
um: increase stack growth cushion in pagefault

analog of [PATCH] i386: let usermode execute the "enter" instruction from
circa 2006.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge HOST_... of registers common on i386 and amd64
Al Viro [Thu, 18 Aug 2011 19:10:09 +0000 (20:10 +0100)]
um: merge HOST_... of registers common on i386 and amd64

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: sanitize paths in sys_call_table* includes
Al Viro [Thu, 18 Aug 2011 19:09:59 +0000 (20:09 +0100)]
um: sanitize paths in sys_call_table* includes

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge os-Linux/tls.c into arch/x86/um/os-Linux/tls.c
Al Viro [Thu, 18 Aug 2011 19:09:49 +0000 (20:09 +0100)]
um: merge os-Linux/tls.c into arch/x86/um/os-Linux/tls.c

it's i386-specific; moreover, analogs on other targets have
incompatible interface - PTRACE_GET_THREAD_AREA does exist
elsewhere, but struct user_desc does *not*

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: move asm/desc.h into arch/x86/um/asm
Al Viro [Thu, 18 Aug 2011 19:09:39 +0000 (20:09 +0100)]
um: move asm/desc.h into arch/x86/um/asm

its only purpose is to shadow the x86 asm/desc.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge host_ldt_{32,64}.h
Al Viro [Thu, 18 Aug 2011 19:09:29 +0000 (20:09 +0100)]
um: merge host_ldt_{32,64}.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge tls_{32,64}.h
Al Viro [Thu, 18 Aug 2011 19:09:19 +0000 (20:09 +0100)]
um: merge tls_{32,64}.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take um_mmu.h to asm/mmu.h, clean asm/mmu_context.h a bit
Al Viro [Thu, 18 Aug 2011 19:09:09 +0000 (20:09 +0100)]
um: take um_mmu.h to asm/mmu.h, clean asm/mmu_context.h a bit

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill useless include of user.h
Al Viro [Thu, 18 Aug 2011 19:08:59 +0000 (20:08 +0100)]
um: kill useless include of user.h

everything in USER_OBJ gets it via -include user.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill um_uaccess.h
Al Viro [Thu, 18 Aug 2011 19:08:49 +0000 (20:08 +0100)]
um: kill um_uaccess.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take mconsole*.h to arch/um/drivers
Al Viro [Thu, 18 Aug 2011 19:08:39 +0000 (20:08 +0100)]
um: take mconsole*.h to arch/um/drivers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take chan_*.h and line.h to arch/um/drivers
Al Viro [Thu, 18 Aug 2011 19:08:29 +0000 (20:08 +0100)]
um: take chan_*.h and line.h to arch/um/drivers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take register_winch_irq() into the caller of is_skas_winch()
Al Viro [Thu, 18 Aug 2011 19:08:19 +0000 (20:08 +0100)]
um: take register_winch_irq() into the caller of is_skas_winch()

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill shared/mem_kern.h
Al Viro [Thu, 18 Aug 2011 19:08:09 +0000 (20:08 +0100)]
um: kill shared/mem_kern.h

... nothing declared there exists

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill shared/tlb.h
Al Viro [Thu, 18 Aug 2011 19:07:59 +0000 (20:07 +0100)]
um: kill shared/tlb.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: make flush_tlb_kernel_range_common() static
Al Viro [Thu, 18 Aug 2011 19:07:49 +0000 (20:07 +0100)]
um: make flush_tlb_kernel_range_common() static

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill shared/task.h and HOST_TASK_REGS
Al Viro [Thu, 18 Aug 2011 19:07:39 +0000 (20:07 +0100)]
um: kill shared/task.h and HOST_TASK_REGS

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: shared/syscall.h is not even included
Al Viro [Thu, 18 Aug 2011 19:07:29 +0000 (20:07 +0100)]
um: shared/syscall.h is not even included

... and functions declared in it do not exist

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: don't include kern.h unless it's needed
Al Viro [Thu, 18 Aug 2011 19:07:19 +0000 (20:07 +0100)]
um: don't include kern.h unless it's needed

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: trim kern.h
Al Viro [Thu, 18 Aug 2011 19:07:09 +0000 (20:07 +0100)]
um: trim kern.h

most of the functions in there are not used in anything that ends up
including that header...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: make load_initrd() static, kill shared/initrd.h
Al Viro [Thu, 18 Aug 2011 19:06:59 +0000 (20:06 +0100)]
um: make load_initrd() static, kill shared/initrd.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: bury unused macros around ptrace.h
Al Viro [Thu, 18 Aug 2011 19:06:49 +0000 (20:06 +0100)]
um: bury unused macros around ptrace.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take arch/um/sys-x86 to arch/x86/um
Al Viro [Thu, 18 Aug 2011 19:06:39 +0000 (20:06 +0100)]
um: take arch/um/sys-x86 to arch/x86/um

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge Makefile-{i386,x86_64}
Al Viro [Thu, 18 Aug 2011 19:06:29 +0000 (20:06 +0100)]
um: merge Makefile-{i386,x86_64}

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: trim detritus from Makefile-i386
Al Viro [Thu, 18 Aug 2011 19:06:19 +0000 (20:06 +0100)]
um: trim detritus from Makefile-i386

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: arch_hweight.h is needed only on uml-x86
Al Viro [Thu, 18 Aug 2011 19:06:09 +0000 (20:06 +0100)]
um: arch_hweight.h is needed only on uml-x86

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge kernel_offsets_*.h
Al Viro [Thu, 18 Aug 2011 19:05:59 +0000 (20:05 +0100)]
um: merge kernel_offsets_*.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge skas_ptrace.h 32/64bit variants
Al Viro [Thu, 18 Aug 2011 19:05:49 +0000 (20:05 +0100)]
um: merge skas_ptrace.h 32/64bit variants

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: sysdep/barrier.h is not used for anything
Al Viro [Thu, 18 Aug 2011 19:05:39 +0000 (20:05 +0100)]
um: sysdep/barrier.h is not used for anything

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: shared/process.h is empty now; kill it
Al Viro [Thu, 18 Aug 2011 19:05:29 +0000 (20:05 +0100)]
um: shared/process.h is empty now; kill it

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: finish conversion to mcontext_t
Al Viro [Thu, 18 Aug 2011 19:05:19 +0000 (20:05 +0100)]
um: finish conversion to mcontext_t

now we don't mix host and guest signal frame layouts anymore; moreover,
we don't need host's struct sigcontext at all.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: start switching the references to host mcontext_t to its userland type
Al Viro [Thu, 18 Aug 2011 19:05:09 +0000 (20:05 +0100)]
um: start switching the references to host mcontext_t to its userland type

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take userland definition of barrier() to user.h
Al Viro [Thu, 18 Aug 2011 19:04:59 +0000 (20:04 +0100)]
um: take userland definition of barrier() to user.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take system.h out of shared/sysdep
Al Viro [Thu, 18 Aug 2011 19:04:49 +0000 (20:04 +0100)]
um: take system.h out of shared/sysdep

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: fill the handlers array at build time
Al Viro [Thu, 18 Aug 2011 19:04:39 +0000 (20:04 +0100)]
um: fill the handlers array at build time

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: simplify set_handler()
Al Viro [Thu, 18 Aug 2011 19:04:29 +0000 (20:04 +0100)]
um: simplify set_handler()

For one thing, we always block the same signals (IRQ ones - IO, WINCH, VTALRM),
so there's no need to pass sa_mask elements in arguments.  For another, the
flags depend only on whether it's an IRQ signal or not (we add SA_RESTART
for them).

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: don't bother blocking SIGARLM and SIGUSR1
Al Viro [Thu, 18 Aug 2011 19:04:19 +0000 (20:04 +0100)]
um: don't bother blocking SIGARLM and SIGUSR1

We used to generate those, but we hadn't done that for a long
time.  No need to bother blocking them for signal handlers.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: switch stub_segv_handler to SA_SIGINFO variant, get rid of magic crap in there
Al Viro [Thu, 18 Aug 2011 19:04:09 +0000 (20:04 +0100)]
um: switch stub_segv_handler to SA_SIGINFO variant, get rid of magic crap in there

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill includes of sysdep/sigcontext.h from stuff built with kernel headers
Al Viro [Thu, 18 Aug 2011 19:03:59 +0000 (20:03 +0100)]
um: kill includes of sysdep/sigcontext.h from stuff built with kernel headers

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge arch/um/os-Linux/sys-{i386,x86_64}
Al Viro [Thu, 18 Aug 2011 19:03:49 +0000 (20:03 +0100)]
um: merge arch/um/os-Linux/sys-{i386,x86_64}

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge hard_handler() instances, switch to use of SA_SIGINFO
Al Viro [Thu, 18 Aug 2011 19:03:39 +0000 (20:03 +0100)]
um: merge hard_handler() instances, switch to use of SA_SIGINFO

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill dead code around uaccess
Al Viro [Thu, 18 Aug 2011 19:03:29 +0000 (20:03 +0100)]
um: kill dead code around uaccess

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge arch/um/sys-{i386,x86_64}
Al Viro [Thu, 18 Aug 2011 19:03:19 +0000 (20:03 +0100)]
um: merge arch/um/sys-{i386,x86_64}

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge arch/um/sys-{i386,x86_64}/shared
Al Viro [Thu, 18 Aug 2011 19:03:09 +0000 (20:03 +0100)]
um: merge arch/um/sys-{i386,x86_64}/shared

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: merge arch/um/sys-{i386,x86_64}/asm
Al Viro [Thu, 18 Aug 2011 19:02:59 +0000 (20:02 +0100)]
um: merge arch/um/sys-{i386,x86_64}/asm

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: get rid of unused macros in ptrace_user.h
Al Viro [Thu, 18 Aug 2011 19:02:49 +0000 (20:02 +0100)]
um: get rid of unused macros in ptrace_user.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: get rid of sysdep/sc.h
Al Viro [Thu, 18 Aug 2011 19:02:39 +0000 (20:02 +0100)]
um: get rid of sysdep/sc.h

only sysdep/sigcontext.h uses it and very few definitions are
actually used.  The rest refers to symbols that don't even
exist anymore anyway.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: Get rid of UPT_SET/UPT_REG macros
Al Viro [Thu, 18 Aug 2011 19:02:29 +0000 (20:02 +0100)]
um: Get rid of UPT_SET/UPT_REG macros

the only users are arch getreg()/putreg() and it's easier to handle
it there instead of playing with macros from hell

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take vm-flags.h to sys-*/asm
Al Viro [Thu, 18 Aug 2011 19:02:19 +0000 (20:02 +0100)]
um: take vm-flags.h to sys-*/asm

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: get rid of sysdep/checksum.h
Al Viro [Thu, 18 Aug 2011 19:02:09 +0000 (20:02 +0100)]
um: get rid of sysdep/checksum.h

Move those to sys-.../asm/checksum.h, kill include/asm/checksum.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: trim unused junk from user.h
Al Viro [Thu, 18 Aug 2011 19:01:59 +0000 (20:01 +0100)]
um: trim unused junk from user.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: get rid of kern_constants.h
Al Viro [Thu, 18 Aug 2011 19:01:49 +0000 (20:01 +0100)]
um: get rid of kern_constants.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill a couple of useless includes of kern_constants.h
Al Viro [Thu, 18 Aug 2011 19:01:39 +0000 (20:01 +0100)]
um: kill a couple of useless includes of kern_constants.h

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: -include user.h for USER_OBJ, trim includes
Al Viro [Thu, 18 Aug 2011 19:01:29 +0000 (20:01 +0100)]
um: -include user.h for USER_OBJ, trim includes

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: take user_constants.h to include/generated
Al Viro [Thu, 18 Aug 2011 19:01:19 +0000 (20:01 +0100)]
um: take user_constants.h to include/generated

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: kill skas_ptregs.h
Al Viro [Thu, 18 Aug 2011 19:01:09 +0000 (20:01 +0100)]
um: kill skas_ptregs.h

It's a plain include of user_constants.h and all (2) users are
including user_constants.h directly prior to that.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: switch to -idirafter, get saner kern_constants.h out of that
Al Viro [Thu, 18 Aug 2011 19:00:59 +0000 (20:00 +0100)]
um: switch to -idirafter, get saner kern_constants.h out of that

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>
13 years agoum: series of __get_user() is costly in sigframe handling
Al Viro [Thu, 18 Aug 2011 19:00:49 +0000 (20:00 +0100)]
um: series of __get_user() is costly in sigframe handling

It's not x86, where __get_user() is a single dereference; here it's
a single ptrace(2) call in host, which obviously costs a lot more.
IOW, it's cheaper to do copy_{to,from}_user() once than bother with
fields one by one...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Richard Weinberger <richard@nod.at>