07 Apr, 2016

1 commit


01 Feb, 2016

1 commit


22 Nov, 2015

1 commit


28 Sep, 2015

3 commits

  • $ ./membarrier_test
    membarrier MEMBARRIER_CMD_QUERY syscall available.
    membarrier: MEMBARRIER_CMD_SHARED success.
    membarrier: tests done!
    $

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Greg Ungerer

    Geert Uytterhoeven
     
  • $ ./userfaultfd 10 99
    nr_pages: 2560, nr_pages_per_cpu: 2560
    bounces: 98, mode: racing, userfaults: 1121
    bounces: 97, mode: rnd, userfaults: 977
    bounces: 96, mode:, userfaults: 1119
    bounces: 95, mode: rnd racing ver poll, userfaults: 1040
    bounces: 94, mode: racing ver poll, userfaults: 1022
    bounces: 93, mode: rnd ver poll, userfaults: 946
    bounces: 92, mode: ver poll, userfaults: 1115
    bounces: 91, mode: rnd racing poll, userfaults: 977
    bounces: 90, mode: racing poll, userfaults: 899
    bounces: 89, mode: rnd poll, userfaults: 881
    bounces: 88, mode: poll, userfaults: 1069
    bounces: 87, mode: rnd racing ver, userfaults: 1114
    bounces: 86, mode: racing ver, userfaults: 1109
    bounces: 85, mode: rnd ver, userfaults: 1165
    bounces: 84, mode: ver, userfaults: 1107
    bounces: 83, mode: rnd racing, userfaults: 1134
    bounces: 82, mode: racing, userfaults: 1105
    bounces: 81, mode: rnd, userfaults: 1323
    bounces: 80, mode:, userfaults: 1103
    bounces: 79, mode: rnd racing ver poll, userfaults: 909
    bounces: 78, mode: racing ver poll, userfaults: 1095
    bounces: 77, mode: rnd ver poll, userfaults: 951
    bounces: 76, mode: ver poll, userfaults: 1099
    bounces: 75, mode: rnd racing poll, userfaults: 1035
    bounces: 74, mode: racing poll, userfaults: 1097
    bounces: 73, mode: rnd poll, userfaults: 1159
    bounces: 72, mode: poll, userfaults: 1042
    bounces: 71, mode: rnd racing ver, userfaults: 848
    bounces: 70, mode: racing ver, userfaults: 1093
    bounces: 69, mode: rnd ver, userfaults: 892
    bounces: 68, mode: ver, userfaults: 1091
    bounces: 67, mode: rnd racing, userfaults: 1219
    bounces: 66, mode: racing, userfaults: 1089
    bounces: 65, mode: rnd, userfaults: 988
    bounces: 64, mode:, userfaults: 1087
    bounces: 63, mode: rnd racing ver poll, userfaults: 882
    bounces: 62, mode: racing ver poll, userfaults: 984
    bounces: 61, mode: rnd ver poll, userfaults: 701
    bounces: 60, mode: ver poll, userfaults: 1071
    bounces: 59, mode: rnd racing poll, userfaults: 1137
    bounces: 58, mode: racing poll, userfaults: 1032
    bounces: 57, mode: rnd poll, userfaults: 911
    bounces: 56, mode: poll, userfaults: 1079
    bounces: 55, mode: rnd racing ver, userfaults: 1106
    bounces: 54, mode: racing ver, userfaults: 1077
    bounces: 53, mode: rnd ver, userfaults: 886
    bounces: 52, mode: ver, userfaults: 1075
    bounces: 51, mode: rnd racing, userfaults: 1101
    bounces: 50, mode: racing, userfaults: 1073
    bounces: 49, mode: rnd, userfaults: 1070
    bounces: 48, mode:, userfaults: 1071
    bounces: 47, mode: rnd racing ver poll, userfaults: 1077
    bounces: 46, mode: racing ver poll, userfaults: 910
    bounces: 45, mode: rnd ver poll, userfaults: 1063
    bounces: 44, mode: ver poll, userfaults: 1028
    bounces: 43, mode: rnd racing poll, userfaults: 1043
    bounces: 42, mode: racing poll, userfaults: 1065
    bounces: 41, mode: rnd poll, userfaults: 912
    bounces: 40, mode: poll, userfaults: 1063
    bounces: 39, mode: rnd racing ver, userfaults: 880
    bounces: 38, mode: racing ver, userfaults: 1061
    bounces: 37, mode: rnd ver, userfaults: 1144
    bounces: 36, mode: ver, userfaults: 1059
    bounces: 35, mode: rnd racing, userfaults: 967
    bounces: 34, mode: racing, userfaults: 1057
    bounces: 33, mode: rnd, userfaults: 1076
    bounces: 32, mode:, userfaults: 1055
    bounces: 31, mode: rnd racing ver poll, userfaults: 997
    bounces: 30, mode: racing ver poll, userfaults: 1053
    bounces: 29, mode: rnd ver poll, userfaults: 968
    bounces: 28, mode: ver poll, userfaults: 978
    bounces: 27, mode: rnd racing poll, userfaults: 1008
    bounces: 26, mode: racing poll, userfaults: 1049
    bounces: 25, mode: rnd poll, userfaults: 900
    bounces: 24, mode: poll, userfaults: 1047
    bounces: 23, mode: rnd racing ver, userfaults: 988
    bounces: 22, mode: racing ver, userfaults: 1045
    bounces: 21, mode: rnd ver, userfaults: 1027
    bounces: 20, mode: ver, userfaults: 1043
    bounces: 19, mode: rnd racing, userfaults: 1017
    bounces: 18, mode: racing, userfaults: 1041
    bounces: 17, mode: rnd, userfaults: 979
    bounces: 16, mode:, userfaults: 1039
    bounces: 15, mode: rnd racing ver poll, userfaults: 1134
    bounces: 14, mode: racing ver poll, userfaults: 1037
    bounces: 13, mode: rnd ver poll, userfaults: 1046
    bounces: 12, mode: ver poll, userfaults: 1035
    bounces: 11, mode: rnd racing poll, userfaults: 1060
    bounces: 10, mode: racing poll, userfaults: 1033
    bounces: 9, mode: rnd poll, userfaults: 1003
    bounces: 8, mode: poll, userfaults: 929
    bounces: 7, mode: rnd racing ver, userfaults: 964
    bounces: 6, mode: racing ver, userfaults: 1029
    bounces: 5, mode: rnd ver, userfaults: 1053
    bounces: 4, mode: ver, userfaults: 1027
    bounces: 3, mode: rnd racing, userfaults: 863
    bounces: 2, mode: racing, userfaults: 1025
    bounces: 1, mode: rnd, userfaults: 1043
    bounces: 0, mode:, userfaults: 950

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Greg Ungerer

    Geert Uytterhoeven
     
  • Signed-off-by: Geert Uytterhoeven
    Acked-by: Greg Ungerer

    Geert Uytterhoeven
     

11 Jan, 2015

1 commit

  • Check success of execveat(3, '../execveat', 0)... [OK]
    Check success of execveat(5, 'execveat', 0)... [OK]
    Check success of execveat(6, 'execveat', 0)... [OK]
    Check success of execveat(-100, '/root/selftest-exec/exec/execveat', 0)... [OK]
    Check success of execveat(99, '/root/selftest-exec/exec/execveat', 0)... [OK]
    Check success of execveat(8, '', 4096)... [OK]
    Check success of execveat(17, '', 4096)... [OK]
    Check success of execveat(9, '', 4096)... [OK]
    Check success of execveat(14, '', 4096)... [OK]
    Check success of execveat(14, '', 4096)... [OK]
    Check success of execveat(15, '', 4096)... [OK]
    Check failure of execveat(8, '', 0) with ENOENT... [OK]
    Check failure of execveat(8, '(null)', 4096) with EFAULT... [OK]
    Check success of execveat(5, 'execveat.symlink', 0)... [OK]
    Check success of execveat(6, 'execveat.symlink', 0)... [OK]
    Check success of execveat(-100, '/root/selftest-exec/...xec/execveat.symlink', 0)... [OK]
    Check success of execveat(10, '', 4096)... [OK]
    Check success of execveat(10, '', 4352)... [OK]
    Check failure of execveat(5, 'execveat.symlink', 256) with ELOOP... [OK]
    Check failure of execveat(6, 'execveat.symlink', 256) with ELOOP... [OK]
    Check failure of execveat(-100, '/root/selftest-exec/exec/execveat.symlink', 256) with ELOOP... [OK]
    Check success of execveat(3, '../script', 0)... [OK]
    Check success of execveat(5, 'script', 0)... [OK]
    Check success of execveat(6, 'script', 0)... [OK]
    Check success of execveat(-100, '/root/selftest-exec/exec/script', 0)... [OK]
    Check success of execveat(13, '', 4096)... [OK]
    Check success of execveat(13, '', 4352)... [OK]
    Check failure of execveat(18, '', 4096) with ENOENT... [OK]
    Check failure of execveat(7, 'script', 0) with ENOENT... [OK]
    Check success of execveat(16, '', 4096)... [OK]
    Check success of execveat(16, '', 4096)... [OK]
    Check success of execveat(4, '../script', 0)... [OK]
    Check success of execveat(4, 'script', 0)... [OK]
    Check success of execveat(4, '../script', 0)... [OK]
    Check failure of execveat(4, 'script', 0) with ENOENT... [OK]
    Check failure of execveat(5, 'execveat', 65535) with EINVAL... [OK]
    Check failure of execveat(5, 'no-such-file', 0) with ENOENT... [OK]
    Check failure of execveat(6, 'no-such-file', 0) with ENOENT... [OK]
    Check failure of execveat(-100, 'no-such-file', 0) with ENOENT... [OK]
    Check failure of execveat(5, '', 4096) with EACCES... [OK]
    Check failure of execveat(5, 'Makefile', 0) with EACCES... [OK]
    Check failure of execveat(11, '', 4096) with EACCES... [OK]
    Check failure of execveat(12, '', 4096) with EACCES... [OK]
    Check failure of execveat(99, '', 4096) with EBADF... [OK]
    Check failure of execveat(99, 'execveat', 0) with EBADF... [OK]
    Check failure of execveat(8, 'execveat', 0) with ENOTDIR... [OK]
    Invoke copy of 'execveat' via filename of length 4093:
    Check success of execveat(19, '', 4096)... [OK]
    Check success of execveat(5, 'xxxxxxxxxxxxxxxxxxxx...yyyyyyyyyyyyyyyyyyyy', 0)... [OK]
    Invoke copy of 'script' via filename of length 4093:
    Check success of execveat(20, '', 4096)... [OK]
    Check success of execveat(5, 'xxxxxxxxxxxxxxxxxxxx...yyyyyyyyyyyyyyyyyyyy', 0)... [OK]

    Signed-off-by: Geert Uytterhoeven

    Geert Uytterhoeven
     

27 Oct, 2014

1 commit


01 Sep, 2014

2 commits


20 May, 2014

1 commit


11 Feb, 2014

1 commit


26 Dec, 2012

1 commit


29 Nov, 2012

1 commit


19 Oct, 2012

1 commit


07 Dec, 2011

1 commit


27 Aug, 2011

1 commit


29 May, 2011

1 commit

  • 32bit and 64bit on x86 are tested and working. The rest I have looked
    at closely and I can't find any problems.

    setns is an easy system call to wire up. It just takes two ints so I
    don't expect any weird architecture porting problems.

    While doing this I have noticed that we have some architectures that are
    very slow to get new system calls. cris seems to be the slowest where
    the last system calls wired up were preadv and pwritev. avr32 is weird
    in that recvmmsg was wired up but never declared in unistd.h. frv is
    behind with perf_event_open being the last syscall wired up. On h8300
    the last system call wired up was epoll_wait. On m32r the last system
    call wired up was fallocate. mn10300 has recvmmsg as the last system
    call wired up. The rest seem to at least have syncfs wired up which was
    new in the 2.6.39.

    v2: Most of the architecture support added by Daniel Lezcano
    v3: ported to v2.6.36-rc4 by: Eric W. Biederman
    v4: Moved wiring up of the system call to another patch
    v5: ported to v2.6.39-rc6
    v6: rebased onto parisc-next and net-next to avoid syscall conflicts.
    v7: ported to Linus's latest post 2.6.39 tree.

    >  arch/blackfin/include/asm/unistd.h     |    3 ++-
    >  arch/blackfin/mach-common/entry.S      |    1 +
    Acked-by: Mike Frysinger

    Oh - ia64 wiring looks good.
    Acked-by: Tony Luck

    Signed-off-by: Eric W. Biederman
    Signed-off-by: Linus Torvalds

    Eric W. Biederman
     

24 May, 2011

1 commit


20 May, 2011

2 commits

  • We reserved the numbers a long time ago, but never wired them up in the
    syscall table as they need TIF_RESTORE_SIGMASK, which we only got last year
    in commit cb6831d5d3099e772a510eb3e1ed0760ccffb45e ("m68k: Switch to saner
    sigsuspend()")

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Greg Ungerer
    Cc: stable@kernel.org

    Geert Uytterhoeven
     
  • Impact for nommu:
    - Store table in .rodata instead of .text,
    - Let kernel/sys_ni.c handle the stubbing of MMU-only syscalls,
    - Implement sys_mremap and sys_nfsservct,
    - Remove unused padding at the end of the table.

    Impact for mmu:
    - Store table in .rodata instead of .data.

    Signed-off-by: Geert Uytterhoeven
    Acked-by: Greg Ungerer

    Geert Uytterhoeven
     

13 Apr, 2011

1 commit


25 Mar, 2011

1 commit

  • There is a lot of common code that could be shared between the m68k
    and m68knommu arch branches. It makes sense to merge the two branches
    into a single directory structure so that we can more easily share
    that common code.

    This is a brute force merge, based on a script from Stephen King
    , which was originally written by Arnd Bergmann
    .

    > The script was inspired by the script Sam Ravnborg used to merge the
    > includes from m68knommu. For those files common to both arches but
    > differing in content, the m68k version of the file is renamed to
    > _mm. and the m68knommu version of the file is moved into the
    > corresponding m68k directory and renamed _no. and a small
    > wrapper file . is used to select between the two version. Files
    > that are common to both but don't differ are removed from the m68knommu
    > tree and files and directories that are unique to the m68knommu tree are
    > moved to the m68k tree. Finally, the arch/m68knommu tree is removed.
    >
    > To select between the the versions of the files, the wrapper uses
    >
    > #ifdef CONFIG_MMU
    > #include _mm.
    > #else
    > #include _no.
    > #endif

    On top of this file merge I have done a simplistic merge of m68k and
    m68knommu Kconfig, which primarily attempts to keep existing options and
    menus in place. Other than a handful of options being moved it produces
    identical .config outputs on m68k and m68knommu targets I tested it on.

    With this in place there is now quite a bit of scope for merge cleanups
    in future patches.

    Signed-off-by: Greg Ungerer

    Greg Ungerer