21 Sep, 2012

1 commit

  • When using audit on OpenRISC, an audit arch is needed. This defines
    it and fixes a compile-time bug uncovered in linux-next, likely from a
    cut/paste from an arch with 64/32-bit modes that defined arch_arch():
    arch/openrisc/kernel/ptrace.c:190:2: error: implicit declaration of function 'audit_arch'

    This replaces it with the newly defined AUDIT_ARCH_OPENRISC, since it
    is only 32-bit, and currently only operates in big-endian mode.

    Reported-by: Geert Uytterhoeven
    Signed-off-by: Kees Cook
    Signed-off-by: Jonas Bonn

    Kees Cook
     

29 Mar, 2012

2 commits

  • …m/linux/kernel/git/dhowells/linux-asm_system

    Pull "Disintegrate and delete asm/system.h" from David Howells:
    "Here are a bunch of patches to disintegrate asm/system.h into a set of
    separate bits to relieve the problem of circular inclusion
    dependencies.

    I've built all the working defconfigs from all the arches that I can
    and made sure that they don't break.

    The reason for these patches is that I recently encountered a circular
    dependency problem that came about when I produced some patches to
    optimise get_order() by rewriting it to use ilog2().

    This uses bitops - and on the SH arch asm/bitops.h drags in
    asm-generic/get_order.h by a circuituous route involving asm/system.h.

    The main difficulty seems to be asm/system.h. It holds a number of
    low level bits with no/few dependencies that are commonly used (eg.
    memory barriers) and a number of bits with more dependencies that
    aren't used in many places (eg. switch_to()).

    These patches break asm/system.h up into the following core pieces:

    (1) asm/barrier.h

    Move memory barriers here. This already done for MIPS and Alpha.

    (2) asm/switch_to.h

    Move switch_to() and related stuff here.

    (3) asm/exec.h

    Move arch_align_stack() here. Other process execution related bits
    could perhaps go here from asm/processor.h.

    (4) asm/cmpxchg.h

    Move xchg() and cmpxchg() here as they're full word atomic ops and
    frequently used by atomic_xchg() and atomic_cmpxchg().

    (5) asm/bug.h

    Move die() and related bits.

    (6) asm/auxvec.h

    Move AT_VECTOR_SIZE_ARCH here.

    Other arch headers are created as needed on a per-arch basis."

    Fixed up some conflicts from other header file cleanups and moving code
    around that has happened in the meantime, so David's testing is somewhat
    weakened by that. We'll find out anything that got broken and fix it..

    * tag 'split-asm_system_h-for-linus-20120328' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-asm_system: (38 commits)
    Delete all instances of asm/system.h
    Remove all #inclusions of asm/system.h
    Add #includes needed to permit the removal of asm/system.h
    Move all declarations of free_initmem() to linux/mm.h
    Disintegrate asm/system.h for OpenRISC
    Split arch_align_stack() out from asm-generic/system.h
    Split the switch_to() wrapper out of asm-generic/system.h
    Move the asm-generic/system.h xchg() implementation to asm-generic/cmpxchg.h
    Create asm-generic/barrier.h
    Make asm-generic/cmpxchg.h #include asm-generic/cmpxchg-local.h
    Disintegrate asm/system.h for Xtensa
    Disintegrate asm/system.h for Unicore32 [based on ver #3, changed by gxt]
    Disintegrate asm/system.h for Tile
    Disintegrate asm/system.h for Sparc
    Disintegrate asm/system.h for SH
    Disintegrate asm/system.h for Score
    Disintegrate asm/system.h for S390
    Disintegrate asm/system.h for PowerPC
    Disintegrate asm/system.h for PA-RISC
    Disintegrate asm/system.h for MN10300
    ...

    Linus Torvalds
     
  • Disintegrate asm/system.h for OpenRISC. Not compiled.

    Signed-off-by: David Howells
    Acked-by: Arnd Bergmann
    cc: linux@lists.openrisc.net

    David Howells
     

06 Mar, 2012

1 commit

  • The pt_regs struct had both a 'syscallno' field and an 'orig_gpr11' field
    and it wasn't really clear how these were supposed to be used. This patch
    removes the syscallno field altogether and makes orig_gpr11 work more
    like other architectures: keep track of syscall number in progress or
    hold -1 for non-syscall exceptions.

    Signed-off-by: Jonas Bonn

    Jonas Bonn
     

17 Feb, 2012

1 commit

  • Commits d7e7528bcd456f5c36ad4a202ccfb43c5aa98bc4 and
    b05d8447e7821695bc2fa3359431f7a664232743 simplified the usage of the
    audit_syscall_[entry|exit] functions. Unfortunately, the OpenRISC
    architecture didn't get fixed up along with the other architectures when
    those patches were pushed. This makes the relevant changes to this
    architecture.

    Signed-off-by: Jonas Bonn

    Jonas Bonn
     

23 Jul, 2011

1 commit

  • This patch implements minimal PTrace support. The pt_regs structure is
    not exported to userspace for OpenRISC; rather, the GETREGSET mechanism
    is intended to be used and the registers, as such, exported in the core
    dump format which is ABI stable. This is in line with what is intended
    for new architectures as of 2.6.34 and has the advantage of permitting
    the layout of the registers on the kernel stack (as per pt_regs) to be
    freely modified.

    Signed-off-by: Jonas Bonn
    Reviewed-by: Arnd Bergmann

    Jonas Bonn