| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
linux_rt_sendsig() and only done for the fpstate in linux_sendsig().
|
|
|
|
| |
and remove some nearby extraneous {}'s.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- add wrappers for mmap2(2) and ftruncate64(2) system calls;
- don't spam console with printf's when VFAT_READDIR_BOTH ioctl(2) is invoked;
- add support for SOUND_MIXER_READ_STEREODEVS ioctl(2);
- make msgctl(IPC_STAT) and IPC_SET actually working by converting from
BSD msqid_ds to Linux and vice versa;
- properly return EINVAL if semget(2) is called with nsems being negative.
Reviewed by: marcel
Approved by: marcel
Tested with: LSB runtime test
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
doesn't give them enough stack to do much before blowing away the pcb.
This adds MI and MD code to allow the allocation of an alternate kstack
who's size can be speficied when calling kthread_create. Passing the
value 0 prevents the alternate kstack from being created. Note that the
ia64 MD code is missing for now, and PowerPC was only partially written
due to the pmap.c being incomplete there.
Though this patch does not modify anything to make use of the alternate
kstack, acpi and usb are good candidates.
Reviewed by: jake, peter, jhb
|
| |
|
|
|
|
|
|
| |
This is needed for the COMPAT_FREEBSD3 option split.
Reviewed by: alfred, jake
|
|
|
|
|
|
|
|
| |
constants VM_MIN_ADDRESS, VM_MAXUSER_ADDRESS, USRSTACK and PS_STRINGS.
This is mainly so that they can be variable even for the native abi, based
on different machine types. Get stack protections from the sysentvec too.
This makes it trivial to map the stack non-executable for certain abis, on
machines that support it.
|
|
|
|
|
| |
includes of <sys/user.h> for its pollution only. <sys/user.h> wasn't
even used for its pollution here.
|
|
|
|
| |
Reviewed by: davidxu@freebsd.org
|
|
|
|
|
|
|
| |
Move fill_kinfo_proc to before we copy the results instead of after
the copy and too late.
There is still more to do here.
|
|
|
|
|
|
| |
available at module compile time. Do not #include the bogus
opt_kstack_pages.h at this point and instead refer to the variables that
are also exported via sysctl.
|
|
|
|
|
| |
filling in the POSIX parts, when doing the same thing in every port of
FreeBSD.
|
|
|
|
| |
<sys/user.h>.
|
|
|
|
|
|
|
|
| |
if compiling with I686_CPU as a target. CPU_DISABLE_SSE will prevent
this from happening and will guarantee the code is not compiled in.
I am still not happy with this, but gcc is now generating code that uses
these instructions if you set CPUTYPE to p3/p4 or athlon-4/mp/xp or higher.
|
|
|
|
| |
100% sure if this is enough, but it will not harm anything.
|
|
|
|
| |
XXX freebsd-aout coredumps for a linux-aout binary is a bit pointless.
|
|
|
|
|
| |
on the definition being misplaced in <sys/types.h>. The definition probably
belongs in <sys/stddef.h>.
|
|
|
|
|
|
|
| |
user space and a kern_ptrace() implementation. Use the kern_*()
version in the Linux emulation code to remove more stack gap uses.
Approved by: des
|
|
|
|
|
|
|
|
| |
in the stack gap. This converts most VFS and signal related system
calls, as well as select().
Discussed on: -arch
Approved by: marcel
|
|
|
|
|
|
| |
sysentvec. Initialized all fields of all sysentvecs, which will allow
them to be used instead of constants in more places. Provided stack
fixup routines for emulations that previously used the default.
|
|
|
|
|
| |
- Set VV_TEXT in the top level execve code.
- Fixup the image activators to deal with the newly locked vnode.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- v_vflag is protected by the vnode lock and is used when synchronization
with VOP calls is needed.
- v_iflag is protected by interlock and is used for dealing with vnode
management issues. These flags include X/O LOCK, FREE, DOOMED, etc.
- All accesses to v_iflag and v_vflag have either been locked or marked with
mp_fixme's.
- Many ASSERT_VOP_LOCKED calls have been added where the locking was not
clear.
- Many functions in vfs_subr.c were restructured to provide for stronger
locking.
Idea stolen from: BSD/OS
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
handler in the kernel at the same time. Also, allow for the
exec_new_vmspace() code to build a different sized vmspace depending on
the executable environment. This is a big help for execing i386 binaries
on ia64. The ELF exec code grows the ability to map partial pages when
there is a page size difference, eg: emulating 4K pages on 8K or 16K
hardware pages.
Flesh out the i386 emulation support for ia64. At this point, the only
binary that I know of that fails is cvsup, because the cvsup runtime
tries to execute code in pages not marked executable.
Obtained from: dfr (mostly, many tweaks from me).
|
|
|
|
| |
lock commands arguments to linux_fcntl64().
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The ability to schedule multiple threads per process
(one one cpu) by making ALL system calls optionally asynchronous.
to come: ia64 and power-pc patches, patches for gdb, test program (in tools)
Reviewed by: Almost everyone who counts
(at various times, peter, jhb, matt, alfred, mini, bernd,
and a cast of thousands)
NOTE: this is still Beta code, and contains lots of debugging stuff.
expect slight instability in signals..
|
|
|
|
|
| |
Spotted and suggested by: des
MFC after: 3 weeks
|
|
|
|
|
|
|
|
|
|
|
| |
checking, followed by a lookup of the process. Do not call
ptrace() for permission checking, but do it inline.
Spotted by: rwatson
o While here, copy-in arguments before we lock. This fixes
a possible permanent lock.
Reviewed by: rwatson
|
|
|
|
|
| |
PR: 33299
Submitted by: Alexander N. Kabaev <ak03@gte.com>
|
|
|
|
| |
PR: 33299
|
|
|
|
|
|
|
| |
yours truly.
PR: 33299
Submitted by: Alexander N. Kabaev <ak03@gte.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
they aren't in the usual path of execution for syscalls and traps.
The main complication for this is that we have to set flags to control
ast() everywhere that changes the signal mask.
Avoid locking in userret() in most of the remaining cases.
Submitted by: luoqi (first part only, long ago, reorganized by me)
Reminded by: dillon
|
|
|
|
|
|
|
|
|
|
|
|
| |
general cleanup of the API. The entire API now consists of two functions
similar to the pre-KSE API. The suser() function takes a thread pointer
as its only argument. The td_ucred member of this thread must be valid
so the only valid thread pointers are curthread and a few kernel threads
such as thread0. The suser_cred() function takes a pointer to a struct
ucred as its first argument and an integer flag as its second argument.
The flag is currently only used for the PRISON_ROOT flag.
Discussed on: smp@
|
|
|
|
|
| |
were not outdented to preserve non-KNF lining up of code with parentheses.
Switch to KNF formatting.
|
| |
|
|
|
|
| |
and linux_rt_sendsig(). (See i386/i386/machdep.c revisions 1.503 and 1.504.)
|
|
|
|
| |
Submitted by: LINT, -Werror
|
|
|
|
| |
reference.
|
|
|
|
|
|
|
|
|
|
| |
this is a low-functionality change that changes the kernel to access the main
thread of a process via the linked list of threads rather than
assuming that it is embedded in the process. It IS still embeded there
but remove all teh code that assumes that in preparation for the next commit
which will actually move it out.
Reviewed by: peter@freebsd.org, gallatin@cs.duke.edu, benno rice,
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
traps on the first instruction of signal handlers.
In trap.c:syscall(), fake a trace trap if the single-step flag was set
on entry to the kernel, not if it will be set on exit from the kernel.
This fixes bogus trace traps after the last instruction of signal handlers.
gdb-4.18 (the version in FreeBSD) still has problems with the program in
the PR. These seem to be due to bugs in gdb and not in FreeBSD, and are
fixed in gdb-5.1 (the distribution version).
PR: 33262
Tested by: k Macy <kip_macy@yahoo.com>
MFC after: 1 day
|
|
|
|
| |
Submitted by: F. Gouget <fgouget@free.fr>
|
|
|
|
|
|
|
|
| |
linux_emul_path anyway. Linux_emul_find() has interesting bugs in its
prefix handling (which luckily are not currently exploitable); this
commit is preliminary to an attempt at cleaning it up.
Approved by: marcel
|
|
|
|
|
|
|
| |
directly to the native syscall, because no filename handling
needs to be done.
Tested by: Martin Blapp <mb@imp.ch>
|
|
|
|
|
|
|
|
|
| |
argument names match those on Alpha.
o Map the fchown directly to FreeBSD. Since the old version of
fchown is also mapped to the native fchown, give the new one
type NODEF.
Tested by: Martin Blapp <mb@imp.ch>
|
|
|
|
|
| |
defines it as a short. Change that to an array of one short so that FreeBSD's
ifr_flags macro will work (it evaluates to ifr_ifru.ifru_flags[0]).
|
|
|
|
| |
sys/mutex.h which is too late.
|
| |
|
|
|
|
|
|
|
| |
tunable.
Reviewed by: peter
MFC after: 2 weeks
|
|
|
|
|
|
| |
instead.
PR: kern/21402
|