summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* MFC r288994 (by bdrewery):dchagin2016-01-091-28/+5
| | | | | | | | | | | | | Remove redundant RFFPWAIT/vfork(2) handling in Linux fork(2) and clone(2) wrappers. r161611 added some of the code from sys_vfork() directly into the Linux module wrappers since they use RFSTOPPED. In r232240, the RFFPWAIT handling was moved to syscallret(), thus this code in the Linux module is no longer needed as it will be called later. This also allows the Linux wrappers to benefit from the fix in r275616 for threads not getting suspended if their vforked child is stopped while they wait on them.
* MFC r287395 (by trasz):dchagin2016-01-091-1/+21
| | | | | Fixes a panic triggered by threaded Linux applications when running with RACCT/RCTL enabled.
* MFC r284626:dchagin2016-01-092-1/+5
| | | | Add EPOLLRDHUP support.
* MFC r284166 (by jkim):dchagin2016-01-091-0/+1
| | | | | | | Properly initialize flags for accept4(2) not to return spurious EINVAL. Note this fixes a Linuxulator regression introduced in r283490. PR: 200662
* MFC r284159:dchagin2016-01-091-24/+24
| | | | | Futex is an aligned 32-bit integer. Use the proper instruction and operand when dereferencing futex pointer.
* MFC r284051:dchagin2016-01-091-0/+12
| | | | | Finish r283544. In exec case properly detach threads from user space before suicide.
* MFC r283680, r283681:dchagin2016-01-091-2/+2
| | | | | Move linux64 and linux_common to it's right place and make them not depend on bhyve.
* MFC r283569 (by nyan):dchagin2016-01-091-2/+14
| | | | | | | | | | | | | MFi386: r283407 Implement vdso - virtual dynamic shared object. MFi386: r283474 Rework signal code to allow using it by other modules, like linprocfs. MFi386: r283506 For objcopy, use --input-target and --output-target. This fixes pc98 build.
* MFC r283544:dchagin2016-01-093-31/+5
| | | | | | When I merged the lemul branch I missied kib@'s r282708 commit. This is not the final fix as I need properly cleanup thread resources before other threads suicide.
* MFC r283506 (by rodrigc):dchagin2016-01-094-5/+5
| | | | | | | | | For objcopy, use --input-target and --output-target When building with gcc 4.9 and binutils 2.25, using '--input' and '--output' returns an error message: objcopy: option `--input' is ambiguous
* MFC r283498:dchagin2016-01-091-37/+24
| | | | | | | | | | | | | Linux nanosleep() and clock_nanosleep() system calls always writes the remaining time into the structure pointed to by rmtp unless rmtp is NULL. The value of *rmtp can then be used to call nanosleep() again and complete the specified pause if the previous call was interrupted. Note. clock_nanosleep() with an absolute time value does not write the remaining time. While here fix whitespaces and typo in SDT_PROBE.
* MFC r283497:dchagin2016-01-092-1/+18
| | | | Convert SCM_TIMESTAMP in recvmsg().
* MFC r283496:dchagin2016-01-092-3/+16
| | | | | | | The latest cp tool is trying to use the btrfs clone operation that is implemented via ioctl interface. First of all return ENOTSUP for this operation as a cp fallback to usual method in that case. Secondly, do not print out the message about unimplemented operation.
* MFC r283495:dchagin2016-01-092-0/+8
| | | | Hide vfs.pfs.trace variable if it is not used.
* MFC r283494:dchagin2016-01-091-2/+1
| | | | | Fix an mbuf(9) leak in sendmsg() under failure condition and remove unneeded check for failed M_WAITOK allocation.
* Regen for r293592.dchagin2016-01-0915-24/+60
|
* MFC r283492:dchagin2016-01-097-6/+44
| | | | Implement Linux specific syncfs() system call.
* MFC r283491:dchagin2016-01-091-2/+16
| | | | | Properly check tv_nsec value. The tv_nsec field can also be one of the special value UTIME_NOW or UTIME_OMIT.
* MFC r283490:dchagin2016-01-091-69/+25
| | | | | Since FreeBSD supports SOCK_CLOEXEC & SOCK_NONBLOCK options remove its emulation via fcntl call from Linuxulator.
* Regen for r293588.dchagin2016-01-0915-30/+207
|
* MFC r283488:dchagin2016-01-098-54/+186
| | | | Implement recvmmsg() and sendmmsg() system calls.
* MFC r283487:dchagin2016-01-094-48/+16
| | | | | Reduce duplication between MD Linux code by moving msg related struct definitions out into the compat/linux/linux_socket.h
* Regen for r293585.dchagin2016-01-0910-14/+14
|
* MFC r283484:dchagin2016-01-096-15/+56
| | | | Implement epoll_pwait() system call.
* MFC r283483:dchagin2016-01-091-4/+10
| | | | | | Convert signal number to native for VT_SETMODE ioctl and remove strange and invalid ISSIGVALID macro. The code has not been tested right way but it was originally broken.
* Regen for r293582.dchagin2016-01-0915-24/+105
|
* MFC r283480:dchagin2016-01-098-6/+90
| | | | Add utimensat() system call.
* MFC r283479:dchagin2016-01-098-50/+0
| | | | | | | | | The kernel sends signals to the processes via ABI specific sv_sendsig method. Native ABI do not need signal conversion, only emulators may want this. Usually emulators implements its own sv_sendsig method. For now only ibcs2 emulator does not have own sv_sendsig implementation and depends on native sendsig() method. So, remove any extra attempts to convert signal numbers from native sendsig() methods except from i386 where ibsc2 is living.
* MFC r283478:dchagin2016-01-091-20/+3
| | | | | Simplify linprocfs_doprocenviron(). Remove extra proc visibility checks and initialize pn_vis by well known procfs_candebug().
* MFC r283476:dchagin2016-01-091-2/+2
| | | | Convert Linux signal number to the FreeBSD.
* MFC r283475:dchagin2016-01-091-16/+14
| | | | | Convert Linux sigsets before showing. Linux kernel displays sigset always as 16x4 bit mask.
* MFC r283474:dchagin2016-01-0920-417/+364
| | | | | | | | | | | | | | | | | | | Rework signal code to allow using it by other modules, like linprocfs: 1. Linux sigset always 64 bit on all platforms. In order to move Linux sigset code to the linux_common module define it as 64 bit int. Move Linux sigset manipulation routines to the MI path. 2. Move Linux signal number definitions to the MI path. In general, they are the same on all platforms except for a few signals. 3. Map Linux RT signals to the FreeBSD RT signals and hide signal conversion tables to avoid conversion errors. 4. Emulate Linux SIGPWR signal via FreeBSD SIGRTMIN signal which is outside of allowed on Linux signal numbers. PR: 197216
* MFC r283473:dchagin2016-01-091-0/+50
| | | | Add support for /proc/<pid>/auxv.
* MFC r283472:dchagin2016-01-091-4/+12
| | | | Add vdso and stack names to the /proc/self/maps.
* MFC r283471:dchagin2016-01-098-79/+28
| | | | | | | | | | | | According to Linux man sigaltstack(3) shall return EINVAL if the ss argument is not a null pointer, and the ss_flags member pointed to by ss contains flags other than SS_DISABLE. However, in fact, Linux also allows SS_ONSTACK flag which is simply ignored. For buggy apps (at least mono) ignore other than SS_DISABLE flags as a Linux do. While here move MI part of sigaltstack code to the appropriate place.
* MFC r283470:dchagin2016-01-092-2/+6
| | | | Add EPOLLERR flag handling to epoll.
* Regen for r293569.dchagin2016-01-0912-15/+21
|
* MFC r283467:dchagin2016-01-096-6/+14
| | | | | | Call nosys in case when the incorrect syscall number is specified. Its my fault, fixed by mjg@ at r289055.
* Regen for r293567.dchagin2016-01-0915-21/+102
|
* MFC r283465:dchagin2016-01-097-8/+21
| | | | | Add preliminary fallocate system call implementation to emulate posix_fallocate() function.
* MFC r283464:dchagin2016-01-093-23/+5
| | | | Delete the duplicate of linux_to_native_clockid() function.
* MFC r283463:dchagin2016-01-094-48/+54
| | | | | Do not use struct l_timespec without conversion. While here move args->timeout handling before acquiring the futex key at FUTEX_WAIT path.
* MFC r283462:dchagin2016-01-091-0/+16
| | | | Add prototypes for static futex functions.
* MFC r283461:dchagin2016-01-091-8/+3
| | | | | | As for now our tmpfs is no longer being considered "highly experimental" remove /dev/shm magic commited in r218497 and convert tmpfs type to an expected magic number.
* MFC r283460:dchagin2016-01-092-23/+46
| | | | Print out unsupported futex operation message only once for the process.
* MFC r283459:dchagin2016-01-092-17/+205
| | | | Add some clock mappings used in glibc 2.20.
* MFC r283456:dchagin2016-01-092-7/+10
| | | | Improve ktr(9) records in thread managment code.
* MFC r283455:dchagin2016-01-091-8/+11
| | | | Use local struct proc * varable instead of dereferencing td->td_proc.
* MFC r283454:dchagin2016-01-091-4/+5
| | | | | | Avoid unnecessary em zeroing in non-exec path as it already zeroed by malloc with M_ZERO flag and move zeroing to the proper place in exec path.
* MFC r283453:dchagin2016-01-091-1/+1
| | | | Remove the unnecessary cast.
OpenPOWER on IntegriCloud