21 May, 2005

10 commits

  • From: Al Viro - we have error messages with KERN_ERR in them, so they
    should be printk-ed rather than printf-ed.

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

    Jeff Dike
     
  • From: Al Viro - add three-level page table support to fixrange_init.

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

    Jeff Dike
     
  • Finally rip out the ubd-mmap code, which turned out to be broken by design.

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

    Jeff Dike
     
  • The serial UML OS-abstraction layer patch (um/kernel dir).

    This moves all systemcalls from initrd_user.c file under os-Linux dir and join
    initrd_user.c and initrd_kern.c files in new file initrd.c

    Signed-off-by: Gennady Sharapov
    Signed-off-by: Jeff Dike
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • From: Oleg Drokin: This patch is needed to support kernel modules that want to
    use clear_user() (that is exported symbol on all other architectures).

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

    Jeff Dike
     
  • Byte-swapping of the port and IP address passed in to the multicast driver by
    the user used to happen in different places, which was a bug in itself. The
    port also was swapped before being printk-ed, which led to a misleading
    message. This patch moves the port swapping to the same place as the IP
    address swapping. It also cleans up the error paths of mcast_open.

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

    Jeff Dike
     
  • This patch cleans up the delay implementations a bit, makes the loops
    unoptimizable, and exports __udelay and __const_udelay.

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

    Jeff Dike
     
  • Any access to a PROT_NONE page should segfault the process. A JVM seems to do
    this on purpose. Also, Al noticed some bogus code, which is now deleted.

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

    Jeff Dike
     
  • Some changes that I sent in didn't make 2.6.12-rc4 for some reason. This
    adds them back. We have
    an x86_64 definition of TOP_ADDR
    a reimplementation of the x86_64 csum_partial_copy_from_user
    some syntax fixes in arch/um/kernel/ptrace.c
    removal of a CFLAGS definition in the x86_64 Makefile
    some include changes in the x86_64 ptrace.c and user-offsets.h
    a syntax fix in elf-x86_64.h
    Also moved an include in the i386 and x86_64 Makefiles to make the symlinks
    work, and some small fixes from Al Viro.

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

    Jeff Dike
     
  • Hopefully the addition of -E to my applypatch script
    will mean that I won't have these kinds of leftovers
    in the future.

    Linus Torvalds
     

17 May, 2005

1 commit


07 May, 2005

11 commits

  • This fixes some x86_64 bugs -

    - maybe_map returns -1 on error instead of 0, which is interpreted as
    physical address 0

    - removed an include of ipc.h, which isn't needed

    - fixed the calculation of signal frame location

    - the signal delivery code is now immune to the stack expansion check

    - added a missing include

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • tt-mode closes switch_pipes in exit_thread_tt and kills processes in
    switch_to_tt, if the exit_state is EXIT_DEAD or EXIT_ZOMBIE.

    In very rare cases the exiting process can be scheduled out after having set
    exit_state and closed switch_pipes (from release_task it calls proc_pid_flush,
    which might sleep). If this process is to be restarted, UML failes in
    switch_to_tt with:

    write of switch_pipe failed, err = 9

    We fix this by closing switch_pipes not in exit_thread_tt, but later in
    release_thread_tt. Additionally, we set switch_pipe[0] = 0 after closing.
    switch_to_tt must not kill "from" process depending on its exit_state, but
    must kill it after release_thread was processed only, so it examines
    switch_pipe[0] for its decision.

    Signed-off-by: Bodo Stroesser
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bodo Stroesser
     
  • Only x86 and x86_64 use arch_align_stack(), all other subarches have:

    #define arch_align_stack(x) (x)

    So, if this definition is found, UML's own arch_align_stack() should be
    skipped.

    Signed-off-by: Bodo Stroesser
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bodo Stroesser
     
  • tt/mem.c still uses hardcoded TOP for i386 instead of CONFIG_TOP_ADDR provided
    by subarch's Kconfig_XXXX, which would be right.

    Signed-off-by: Bodo Stroesser
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bodo Stroesser
     
  • So, there I was, looking at my own code, wondering what the magic setjmp
    return values did. This patch turns the constants that are used to make
    requests of the initial thread into meaningful symbols.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • This eliminates some stuff from arch/um/kernel/Makefile which refers to a
    file which has long since been deleted.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Eliminate the non-inline version of switch_mm, which can't be used,
    considering the inline version in asm/mmu_context.h

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • s390 tt-mode needs to save not only syscall number, but an further register
    also.

    Signed-off-by: Bodo Stroesser
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bodo Stroesser
     
  • s390 needs to change some parts of arch/um/kernel/ptrace.c. Thus, the code
    regarding PEEKUSER and POKEUSER are shifted to arch/um/sys-/ptrace.c.

    Also s390 debug registers need to be updated, when singlestepping is switched
    on / off. Thus, setting/resetting of singlestepping is centralized in the new
    function set_singlestep(), which also inserts the macro
    SUBARCH_SET_SINGLESTEP(mode), if defined.

    Finally, s390 has the "ieee_instruction_pointer" in its
    registers, which also is allowed to be read via

    ptrace( PTRACE_PEEKUSER, getpid(), PT_IEEE_IP, 0);

    To implement this feature, sys_ptrace inserts the macro
    SUBARCH_PTRACE_SPECIAL, if defined.

    Signed-off-by: Bodo Stroesser
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bodo Stroesser
     
  • Command line handling cleanups - a couple of things made static and an
    unused declaration removed from header.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • Remove the __deprecated from verify_area_skas and verify_area_tt. Since
    verify_area is itself marked __deprecated, and it is the only caller of
    these, then they don't need to be marked. Marking them only makes the
    build noisier.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     

06 May, 2005

18 commits

  • Remove some definitions and declarations from arch/um/include/skas_ptrace.h,
    as they have moved to arch/um/include/sysdep/skas_ptrace.h

    Also, remove PTRACE_SIGPENDING support in UML at all.

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

    Bodo Stroesser
     
  • UML: remove no longer needed arch-signal.h

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

    Bodo Stroesser
     
  • s390 passes parameters in registers. So the only safe way to find out the
    address of signal context, error-address and error-type (trap_no), which are
    passed to signal handlers as parameters, is to declare these parameters.

    So I inserted an subarch-specific macro which holds the declaration of
    parameters for signal handlers.

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

    Bodo Stroesser
     
  • s390 has fast read access to realtime clock (nanosecond resolution). So it
    makes sense to have an arch-specific implementation not only of __delay, but
    __udelay also.

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

    Bodo Stroesser
     
  • Checksum handling largely depends on the subarch.

    Thus, I renamed i386 arch_csum_partial in arch/um/sys-i386/checksum.S back to
    csum_partial, removed csum_partial from arch/um/kernel/checksum.c and shifted
    EXPORT_SYMBOL(csum_partial) to arch/um/sys-i386/ksyms.c.

    Then, csum_partial_copy_to and csum_partial_copy_from were shifted from
    arch/um/kernel/checksum.c to arch/um/include/sysdep-i386/checksum.h and
    inserted in the calling functions csum_partial_copy_from_user() and
    csum_and_copy_to_user().

    Now, arch/um/kernel/checksum.c is empty and removed.

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

    Bodo Stroesser
     
  • This patch make elh.h a symlink to the new arch-specific include files of the
    form elf-.h, as in the same way already is done for some other
    includes. Also moves Elf-stuff from archparam-.h and elf.h to the
    new elf-.h files.

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

    Bodo Stroesser
     
  • The completion cleanup got rid of some semaphores, but didn't remove the
    inclusion of asm/semaphore.h from xterm_kern.c.

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

    Jeff Dike
     
  • Just some breaking of some overly-long lines.

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

    Jeff Dike
     
  • This makes SIGWINCH work again, and fixes a couple of SIGWINCH-associated
    crashes. First, the sigio thread disables SIGWINCH because all hell breaks
    loose if it ever gets one and tries to call the signal handling code. Second,
    there was a problem with deferencing tty structs after they were freed. The
    SIGWINCH support for a tty wasn't being turned off or freed after the tty went
    away.

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

    Jeff Dike
     
  • This patch removes the arch-specific fault/trap-infos from thread and
    skas-regs.

    It adds a new struct faultinfo, that is arch-specific defined in
    sysdep/faultinfo.h.

    The structure is inserted in thread.arch and thread.regs.skas and
    thread.regs.tt

    Now, segv and other trap-handlers can copy the contents from regs.X.faultinfo
    to thread.arch.faultinfo with one simple assignment.

    Also, the number of macros necessary is reduced to

    FAULT_ADDRESS(struct faultinfo)
    extracts the faulting address from faultinfo

    FAULT_WRITE(struct faultinfo)
    extracts the "is_write" flag

    SEGV_IS_FIXABLE(struct faultinfo)
    is true for the fixable segvs, i.e. (TRAP == 14)
    on i386

    UPT_FAULTINFO(regs)
    result is (struct faultinfo *) to the faultinfo
    in regs->skas.faultinfo

    GET_FAULTINFO_FROM_SC(struct faultinfo, struct sigcontext *)
    copies the relevant parts of the sigcontext to
    struct faultinfo.

    On SIGSEGV, call user_signal() instead of handle_segv(), if the architecture
    provides the information needed in PTRACE_FAULTINFO, or if PTRACE_FAULTINFO is
    missing, because segv-stub will provide the info.

    The benefit of the change is, that in case of a non-fixable SIGSEGV, we can
    give user processes a SIGSEGV, instead of possibly looping on pagefault
    handling.

    Since handle_segv() sikked arch_fixup() implicitly by passing ip==0 to segv(),
    I changed segv() to call arch_fixup() only, if !is_user.

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

    Bodo Stroesser
     
  • This fixes write_ldt_entry to treat userspace_pid as an array.

    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jeff Dike
     
  • O=... builds support. Very easy, actually.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • make distclean et.al. are missing arch/um/sys-x86_64/utils; fixed the same
    way we have it done for sys-i386 counterpart.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • helpers in arch/um/util (mk_task and mk_constants) converted. That's it -
    none of the helpers depends on build and target being the same architecture
    anymore.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • mk_thread converted

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • The next group of helpers is a bit trickier - they want the constants similar
    to those in user-offsets.h, but we need target sc.h for it. So we can't put
    that into user-offsets (sc.h depends on it) and need the second generated
    header for that stuff (kernel-offsets.h. BFD...

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro
     
  • Ditto for mk_sc

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

    Al Viro
     
  • mk_ptregs converted. Nothing new here, it's the same situation as with
    mk_user_constants.

    Signed-off-by: Al Viro
    Signed-off-by: Jeff Dike
    Cc: Paolo 'Blaisorblade' Giarrusso
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Al Viro