|
|
Log in / Subscribe / Register

UML fixes

From:  Jeff Dike <jdike@karaya.com>
To:  torvalds@transmeta.com
Subject:  [PATCH] UML fixes
Date:  Wed, 05 Feb 2003 22:13:14 -0500
Cc:  linux-kernel@vger.kernel.org

Please pull
	http://jdike.stearns.org:5000/fixes-2.5

This fixes a number of UML bugs, including
	changed CONFIG_* usage in userspace files to avoid conflicting with
the host's autoconf.h
	fixed the time locking bug which was causing hangs under network load
	the mconsole and uml_switch protocols are now 64-bit clean
	some SMP fixes from Oleg Drokin
	mmap return values are checked correctly
	SA_SIGINFO signals are now delivered correctly
	skas mode now is protected against a tmpfs mount running out of space
	the UML main thread should no longer run kernel code
	fixed a couple of data corruption bugs

There are also a number of cleanups:
	the common portions of the linker scripts are now in a separate file,
included by both main scripts
	the Kconfig was extended and some missing includes added
	all initializers have been converted to C99
	dead code removal
	improved error messages
	more movement of mode-specific code to arch/um/kernel/{tt,skas}

				Jeff

 arch/um/Kconfig                           |   73 +++++++------
 arch/um/Makefile                          |   99 +++++++++++------
 arch/um/Makefile-skas                     |   20 +++
 arch/um/Makefile-tt                       |    7 +
 arch/um/defconfig                         |  128 +++++++++++-----------
 arch/um/drivers/chan_kern.c               |   36 +++---
 arch/um/drivers/chan_user.c               |    6 -
 arch/um/drivers/daemon_kern.c             |   42 +++----
 arch/um/drivers/daemon_user.c             |   21 +--
 arch/um/drivers/fd.c                      |   24 ++--
 arch/um/drivers/harddog_kern.c            |   16 +-
 arch/um/drivers/hostaudio_kern.c          |   28 ++---
 arch/um/drivers/line.c                    |   27 +++-
 arch/um/drivers/mcast_kern.c              |   38 +++---
 arch/um/drivers/mcast_user.c              |   16 +-
 arch/um/drivers/mconsole_kern.c           |   10 -
 arch/um/drivers/mmapper_kern.c            |   14 +-
 arch/um/drivers/net_kern.c                |   47 ++++----
 arch/um/drivers/null.c                    |   20 +--
 arch/um/drivers/pcap_kern.c               |   42 +++----
 arch/um/drivers/pcap_user.c               |   20 +--
 arch/um/drivers/port_kern.c               |  115 +++++++++++---------
 arch/um/drivers/port_user.c               |   65 ++++++-----
 arch/um/drivers/pty.c                     |   67 ++++--------
 arch/um/drivers/slip_kern.c               |   42 +++----
 arch/um/drivers/slip_user.c               |   16 +-
 arch/um/drivers/slirp_kern.c              |   38 +++---
 arch/um/drivers/slirp_user.c              |   16 +-
 arch/um/drivers/ssl.c                     |   74 ++++++-------
 arch/um/drivers/stdio_console.c           |   94 ++++++++--------
 arch/um/drivers/tty.c                     |   24 ++--
 arch/um/drivers/ubd_kern.c                |   17 +--
 arch/um/drivers/xterm.c                   |   44 ++++---
 arch/um/drivers/xterm_kern.c              |   14 +-
 arch/um/dyn.lds.S                         |  167 ++++++++++++++++++++++++++++++
 arch/um/include/choose-mode.h             |    6 -
 arch/um/include/frame.h                   |    4 
 arch/um/include/irq_user.h                |    2 
 arch/um/include/kern_util.h               |   10 -
 arch/um/include/mconsole.h                |   23 ++--
 arch/um/include/mode.h                    |    4 
 arch/um/include/os.h                      |   14 +-
 arch/um/include/signal_kern.h             |    6 -
 arch/um/include/skas_ptrace.h             |   36 ++++++
 arch/um/include/sysdep-i386/frame.h       |    3 
 arch/um/include/sysdep-i386/frame_kern.h  |   11 +
 arch/um/include/sysdep-i386/frame_user.h  |   23 ++--
 arch/um/include/sysdep-i386/ptrace.h      |  127 +++++++++++++---------
 arch/um/include/sysdep-i386/sigcontext.h  |   28 -----
 arch/um/include/sysdep-i386/syscalls.h    |    4 
 arch/um/include/time_user.h               |    4 
 arch/um/include/umid.h                    |    5 
 arch/um/include/uml_uaccess.h             |   28 +++++
 arch/um/include/user_util.h               |    5 
 arch/um/kernel/Makefile                   |   20 ---
 arch/um/kernel/frame.c                    |   23 +++-
 arch/um/kernel/frame_kern.c               |   49 +++++---
 arch/um/kernel/irq.c                      |    2 
 arch/um/kernel/irq_user.c                 |   30 ++---
 arch/um/kernel/ksyms.c                    |    5 
 arch/um/kernel/mem.c                      |   65 +++++++----
 arch/um/kernel/process_kern.c             |    4 
 arch/um/kernel/ptrace.c                   |    2 
 arch/um/kernel/sigio_user.c               |   41 +++----
 arch/um/kernel/signal_kern.c              |   36 ++----
 arch/um/kernel/skas/include/mode.h        |    7 -
 arch/um/kernel/skas/include/mode_kern.h   |    5 
 arch/um/kernel/skas/include/ptrace-skas.h |    2 
 arch/um/kernel/skas/include/skas.h        |   10 -
 arch/um/kernel/skas/include/skas_ptrace.h |   36 ------
 arch/um/kernel/skas/include/uaccess.h     |    3 
 arch/um/kernel/skas/mem.c                 |    5 
 arch/um/kernel/skas/mem_user.c            |    6 -
 arch/um/kernel/skas/process.c             |   41 ++++---
 arch/um/kernel/skas/process_kern.c        |   25 ++--
 arch/um/kernel/skas/sys-i386/sigcontext.c |   83 +++++++-------
 arch/um/kernel/skas/syscall_kern.c        |    2 
 arch/um/kernel/skas/syscall_user.c        |    5 
 arch/um/kernel/skas/tlb.c                 |   14 +-
 arch/um/kernel/skas/trap_user.c           |   27 ++--
 arch/um/kernel/sys_call_table.c           |    2 
 arch/um/kernel/tempfile.c                 |   23 +---
 arch/um/kernel/time.c                     |   13 +-
 arch/um/kernel/time_kern.c                |   18 +--
 arch/um/kernel/tlb.c                      |    6 +
 arch/um/kernel/trap_kern.c                |   10 +
 arch/um/kernel/trap_user.c                |   46 ++++----
 arch/um/kernel/tt/Makefile                |   17 ++-
 arch/um/kernel/tt/gdb.c                   |   18 +--
 arch/um/kernel/tt/gdb_kern.c              |    6 -
 arch/um/kernel/tt/include/mode.h          |    7 -
 arch/um/kernel/tt/include/mode_kern.h     |    2 
 arch/um/kernel/tt/include/ptrace-tt.h     |    2 
 arch/um/kernel/tt/include/tt.h            |    3 
 arch/um/kernel/tt/include/uaccess.h       |    4 
 arch/um/kernel/tt/mem.c                   |   26 ----
 arch/um/kernel/tt/mem_user.c              |   50 ++++++++
 arch/um/kernel/tt/process_kern.c          |   19 +--
 arch/um/kernel/tt/ptproxy/proxy.c         |   16 +-
 arch/um/kernel/tt/sys-i386/sigcontext.c   |    5 
 arch/um/kernel/tt/syscall_kern.c          |   17 +--
 arch/um/kernel/tt/syscall_user.c          |   11 -
 arch/um/kernel/tt/tlb.c                   |    2 
 arch/um/kernel/tt/trap_user.c             |   15 +-
 arch/um/kernel/tt/uaccess_user.c          |   42 -------
 arch/um/kernel/tt/unmap.c                 |   34 ++++++
 arch/um/kernel/uaccess_user.c             |   64 +++++++++++
 arch/um/kernel/um_arch.c                  |   19 ++-
 arch/um/kernel/umid.c                     |   16 +-
 arch/um/kernel/unmap.c                    |   34 ------
 arch/um/kernel/user_syms.c                |    9 -
 arch/um/kernel/user_util.c                |   25 ----
 arch/um/os-Linux/drivers/ethertap_kern.c  |   34 +++---
 arch/um/os-Linux/drivers/ethertap_user.c  |   16 +-
 arch/um/os-Linux/drivers/tuntap_kern.c    |   36 +++---
 arch/um/os-Linux/drivers/tuntap_user.c    |   16 +-
 arch/um/os-Linux/file.c                   |   21 ++-
 arch/um/os-Linux/process.c                |    2 
 arch/um/sys-i386/Makefile                 |    6 -
 arch/um/sys-i386/bugs.c                   |    2 
 arch/um/sys-i386/extable.c                |   30 +++++
 arch/um/sys-i386/fault.c                  |    2 
 arch/um/sys-i386/sigcontext.c             |    2 
 arch/um/sys-i386/util/mk_thread_kern.c    |    3 
 arch/um/uml.lds.S                         |   78 +-------------
 arch/um/util/mk_task_kern.c               |    2 
 include/asm-um/archparam-i386.h           |    2 
 include/asm-um/bug.h                      |   18 +++
 include/asm-um/common.lds.S               |   86 +++++++++++++++
 include/asm-um/page.h                     |   17 ---
 include/asm-um/pgtable.h                  |    3 
 include/asm-um/processor-i386.h           |    4 
 include/asm-um/ptrace-generic.h           |    5 
 include/asm-um/ptrace-i386.h              |    3 
 include/asm-um/ucontext.h                 |    6 +
 135 files changed, 1943 insertions(+), 1450 deletions(-)

ChangeSet@1.961, 2003-02-05 11:34:40-05:00, jdike@uml.karaya.com
  Merge

ChangeSet@1.956.1.7, 2003-02-05 10:24:48-05:00, jdike@uml.karaya.com
  Merged a conflict in ptrace.h.

ChangeSet@1.956.2.6, 2003-01-18 22:12:47-05:00, jdike@uml.karaya.com
  Merge jdike.stearns.org:linux/cleanup-2.5/
  into uml.karaya.com:/home/jdike/linux/2.5/cleanup-2.5

ChangeSet@1.960, 2003-01-18 21:50:59-05:00, jdike@uml.karaya.com
  Merge

ChangeSet@1.956.5.1, 2003-01-18 21:48:19-05:00, jdike@jdike.wstearns.org
  Fixed a conflict in the linker script.

ChangeSet@1.956.4.1, 2003-01-18 21:22:25-05:00, jdike@jdike.wstearns.org
  Fixed a conflict in the linker script.

ChangeSet@1.956.1.5, 2003-01-18 20:23:13-05:00, jdike@uml.karaya.com
  Changed some CONFIG_* symbols to UML_CONFIG_*.

ChangeSet@1.956.2.5, 2003-01-18 18:37:47-05:00, jdike@uml.karaya.com
  Replaced some CONFIG_* with UML_CONFIG_*.

ChangeSet@1.956.1.4, 2003-01-18 15:29:34-05:00, jdike@uml.karaya.com
  Fixed the time locking bug.
  The mconsole and switch protocols are now 64-bit clean.
  Fixed some smaller bugs.

ChangeSet@1.956.2.4, 2003-01-18 15:26:27-05:00, jdike@uml.karaya.com
  A bunch of minor changes ported up from 2.4.
  All userspace uses of CONFIG_* have been changed to UML_CONFIG_*
  to avoid conflicts with the host's config.
  os_open_file now has FD_CLOEXEC support.

ChangeSet@1.956.1.3, 2003-01-18 13:07:38-05:00, jdike@uml.karaya.com
  Ported a uml-config.h change from 2.4.

ChangeSet@1.956.2.3, 2003-01-18 13:06:39-05:00, jdike@uml.karaya.com
  Ported a cleanup from 2.4.

ChangeSet@1.959, 2003-01-17 22:32:31-05:00, jdike@uml.karaya.com
  Fixed dyn.lds.S to include common.lds.S.

ChangeSet@1.956.1.2, 2003-01-17 22:20:49-05:00, jdike@uml.karaya.com
  Some SMP fixes from Oleg.

ChangeSet@1.956.2.2, 2003-01-17 22:20:03-05:00, jdike@uml.karaya.com
  Correctly check the mmap return value.

ChangeSet@1.958, 2003-01-17 22:19:22-05:00, jdike@uml.karaya.com
  Some build changes for 2.5.59 and SMP.  Also cleanup of the linker
  scripts and Kconfig.

ChangeSet@1.956.2.1, 2003-01-17 12:02:05-05:00, jdike@uml.karaya.com
  Merged the vmlinux.lds.h changes.

ChangeSet@1.957, 2003-01-17 11:59:08-05:00, jdike@uml.karaya.com
  Merged the vmlinux.lds.h changes.

ChangeSet@1.914.12.2, 2003-01-16 16:52:16-05:00, jdike@uml.karaya.com
  Merge jdike.stearns.org:linux/fixes-2.5/
  into uml.karaya.com:/home/jdike/linux/2.5/fixes-2.5

ChangeSet@1.914.10.5, 2003-01-16 16:31:28-05:00, jdike@uml.karaya.com
  Merge jdike.stearns.org:linux/cleanup-2.5/
  into uml.karaya.com:/home/jdike/linux/2.5/cleanup-2.5

ChangeSet@1.914.22.1, 2003-01-16 16:26:38-05:00, jdike@jdike.wstearns.org
  Merge jdike.wstearns.org:/home/jdike/linux/linus-2.5
  into jdike.wstearns.org:/home/jdike/linux/fixes-2.5

ChangeSet@1.914.21.1, 2003-01-16 16:08:34-05:00, jdike@jdike.wstearns.org
  Merge jdike.wstearns.org:/home/jdike/linux/linus-2.5
  into jdike.wstearns.org:/home/jdike/linux/cleanup-2.5

ChangeSet@1.914.19.1, 2003-01-16 15:35:43-05:00, jdike@uml.karaya.com
  Fixed a merge typo in Kconfig.

ChangeSet@1.914.10.4, 2003-01-16 15:26:33-05:00, jdike@uml.karaya.com
  Merge uml.karaya.com:/home/jdike/linux/2.5/build-2.5
  into uml.karaya.com:/home/jdike/linux/2.5/cleanup-2.5

ChangeSet@1.914.11.2, 2003-01-16 15:21:14-05:00, jdike@uml.karaya.com
  Merge

ChangeSet@1.914.10.3, 2003-01-16 15:10:38-05:00, jdike@uml.karaya.com
  Fixed a conflict in Kconfig between Oleg's updates and the 
  existing changes.

ChangeSet@1.914.10.2, 2003-01-16 10:45:16-05:00, jdike@uml.karaya.com
  Added gpl_ksymtab and kallsyms sections to the linker scripts.

ChangeSet@1.914.18.1, 2003-01-16 10:44:25-05:00, jdike@uml.karaya.com
  Updates to bring UML up to 2.5.58.

ChangeSet@1.914.12.1, 2003-01-15 21:57:53-05:00, jdike@uml.karaya.com
  Merge jdike.stearns.org:linux/fixes-2.5/
  into uml.karaya.com:/home/jdike/linux/2.5/fixes-2.5

ChangeSet@1.914.11.1, 2003-01-15 21:54:48-05:00, jdike@uml.karaya.com
  Merge jdike.stearns.org:linux/cleanup-2.5/
  into uml.karaya.com:/home/jdike/linux/2.5/cleanup-2.5

ChangeSet@1.838.129.1, 2002-12-29 21:37:02-05:00, jdike@uml.karaya.com
  Merge

ChangeSet@1.838.128.1, 2002-12-29 21:35:59-05:00, jdike@uml.karaya.com
  Merge uml.karaya.com:/home/jdike/linux/2.5/fixes-2.5
  into uml.karaya.com:/home/jdike/linux/2.5/fixes-2.5-linus

ChangeSet@1.838.127.1, 2002-12-29 21:28:59-05:00, jdike@uml.karaya.com
  Merge uml.karaya.com:/home/jdike/linux/2.5/build-2.5
  into uml.karaya.com:/home/jdike/linux/2.5/build-2.5-linus

ChangeSet@1.838.126.2, 2002-12-29 20:37:16-05:00, jdike@uml.karaya.com
  Fixed a few problems in the last merge.

ChangeSet@1.838.126.1, 2002-12-29 20:05:55-05:00, jdike@uml.karaya.com
  Forward ported a number of bug fixes from 2.4, including SA_SIGINFO
  signal delivery, protecting skas mode against tmpfs running out of
  space, protecting the UML main thread against accidentally running
  kernel code, and a couple of data corruption bugs.

ChangeSet@1.838.118.6, 2002-12-29 18:46:34-05:00, jdike@uml.karaya.com
  Merged in the C99 initializer changes.

ChangeSet@1.838.124.1, 2002-12-29 18:31:34-05:00, jdike@uml.karaya.com
  Forward ported a bunch of cleanups from 2.4.  Improved error messages,
  slightly different formatting, removal of dead code, and some stray
  C99 initializer conversions.

ChangeSet@1.838.122.6, 2002-12-29 15:27:19-05:00, jdike@uml.karaya.com
  Fixed the archmrproper rule to not delete linker script sources.

ChangeSet@1.838.122.5, 2002-12-29 15:21:40-05:00, jdike@uml.karaya.com
  Fixed handling of the linker script.

ChangeSet@1.838.122.4, 2002-12-29 15:05:58-05:00, jdike@uml.karaya.com
  Pulled in a number of other fixes which were needed to bring the
  build up to date.

ChangeSet@1.838.122.3, 2002-12-29 12:10:51-05:00, jdike@uml.karaya.com
  Moved the segment remapping code under arch/um/kernel/tt.

ChangeSet@1.838.122.2, 2002-12-28 22:35:25-05:00, jdike@uml.karaya.com
  Moved skas_ptrace.h.

ChangeSet@1.838.122.1, 2002-12-28 22:06:40-05:00, jdike@uml.karaya.com
  Merged the 2.4 build changes which split the mode-specific stuff
  into separate Makefiles and add the ability to build a dynamically
  loaded binary.

ChangeSet@1.838.118.5, 2002-12-28 21:27:46-05:00, jdike@uml.karaya.com
  Missed an initializer in the ethertap backend.

ChangeSet@1.838.118.4, 2002-12-28 21:20:41-05:00, jdike@uml.karaya.com
  Converted a bunch of inititializers in the drivers that I missed.

ChangeSet@1.838.118.3, 2002-12-28 19:48:40-05:00, jdike@uml.karaya.com
  Converted a few more initializers I missed on the first pass.

ChangeSet@1.838.118.2, 2002-12-28 15:28:07-05:00, jdike@uml.karaya.com
  Converted all initializers over to C99 syntax.

ChangeSet@1.838.118.1, 2002-12-28 11:50:51-05:00, jdike@uml.karaya.com
  Merge http://jdike.stearns.org:5000/doc-2.5
  into uml.karaya.com:/home/jdike/linux/2.5/uml-2.5

ChangeSet@1.838.117.4, 2002-12-28 11:42:00-05:00, jdike@uml.karaya.com
  Merge http://jdike.stearns.org:5000/updates-2.5
  into uml.karaya.com:/home/jdike/linux/2.5/uml-2.5

ChangeSet@1.838.117.3, 2002-12-28 11:32:32-05:00, jdike@uml.karaya.com
  Fixed a merge conflict in port_kern.c

ChangeSet@1.838.117.1, 2002-12-28 11:12:47-05:00, jdike@uml.karaya.com
  Merge http://jdike.stearns.org:5000/mconfig-2.5
  into uml.karaya.com:/home/jdike/linux/2.5/uml-2.5

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Copyright © 2003, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds