| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This constant was used to reserve space at the top of the stack to
hold translated system call arguments for non-default ABIs (the
"stackgap"). However, none of the compatibility ABIs have used the
stackgap in many years and the last use of SPARE_USRSPACE was removed
in r355373.
Reviewed by: kib
Sponsored by: DARPA
Differential Revision: https://reviews.freebsd.org/D22697
Notes:
svn path=/head/; revision=355459
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Mainly focus on files that use BSD 3-Clause license.
The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.
Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
Notes:
svn path=/head/; revision=326023
|
|
|
|
|
|
|
|
|
|
|
|
| |
Renumber cluase 4 to 3, per what everybody else did when BSD granted
them permission to remove clause 3. My insistance on keeping the same
numbering for legal reasons is too pedantic, so give up on that point.
Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96
Notes:
svn path=/head/; revision=314436
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The kern.ps_strings sysctl was introduced in r103767 and the last
use of PS_STRINGS in userspace code was removed in r297888.
PR: 208760 [exp-run]
Reviewed by: kib
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5933
Notes:
svn path=/head/; revision=299482
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fix is spiritually similar to r287442 and was discovered thanks to
the KASSERT added in that revision.
NT_PROCSTAT_VMMAP output length, when packing kinfo structs, is tied to
the length of filenames corresponding to vnodes in the process' vm map
via vn_fullpath. As vnodes may move during coredump, this is racy.
We do not remove the race, only prevent it from causing coredump
corruption.
- Add a sysctl, kern.coredump_pack_vmmapinfo, to allow users to disable
kinfo packing for PROCSTAT_VMMAP notes. This avoids VMMAP corruption
and truncation, even if names change, at the cost of up to PATH_MAX
bytes per mapped object. The new sysctl is documented in core.5.
- Fix note_procstat_vmmap to self-limit in the second pass. This
addresses corruption, at the cost of sometimes producing a truncated
result.
- Fix PROCSTAT_VMMAP consumers libutil (and libprocstat, via copy-paste)
to grok the new zero padding.
Reported by: pho (https://people.freebsd.org/~pho/stress/log/datamove4-2.txt)
Relnotes: yes
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3824
Notes:
svn path=/head/; revision=288944
|
|
|
|
|
|
|
|
|
|
|
|
| |
Avoid duplicate sysctl nodes.
Found by: tijl
Approved by: markj (mentor)
Sponsored by: EMC / Isilon Storage Division
Differential Revision: https://reviews.freebsd.org/D3586
Notes:
svn path=/head/; revision=287537
|
|
|
|
|
|
|
|
|
|
| |
PR: 180970
Submitted by: Carlos Jacobo Puga Medina <cjpugmed@gmail.com>
Reviewed by: jilles
MFC after: 1 week
Notes:
svn path=/head/; revision=269743
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
kernel of exactly the same __FreeBSD_version as the headers module was
compiled against.
Mark our in-tree ABI emulators with DECLARE_MODULE_TIED. The modules
use kernel interfaces that the Release Engineering Team feel are not
stable enough to guarantee they will not change during the life cycle
of a STABLE branch. In particular, the layout of struct sysentvec is
declared to be not part of the STABLE KBI.
Discussed with: bz, rwatson
Approved by: re (bz, kensmith)
MFC after: 2 weeks
Notes:
svn path=/head/; revision=213716
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
validation error in procfs/linprocfs that can be exploited by local
users to cause a kernel panic. All versions of FreeBSD with the patch
referenced in SA-04:17.procfs have this bug, but versions without that
patch have a more serious bug instead. This problem only affects
systems on which procfs or linprocfs is mounted.
Found by: Coverity Prevent analysis tool
Security: Local DOS
Notes:
svn path=/head/; revision=144011
|
|
|
|
|
|
|
|
|
|
|
| |
for unknown events.
A number of modules return EINVAL in this instance, and I have left
those alone for now and instead taught MOD_QUIESCE to accept this
as "didn't do anything".
Notes:
svn path=/head/; revision=132199
|
|
|
|
|
|
|
|
|
| |
per letter dated July 22, 1999.
Approved by: core
Notes:
svn path=/head/; revision=127976
|
|
|
|
|
|
|
| |
for things like execve.
Notes:
svn path=/head/; revision=122252
|
|
|
|
|
|
|
|
| |
the EXEC_SET macro, so that the arguments themselves can be macros.
(Actually __STRING would suffice, instead of __XSTRING, but oh well).
Notes:
svn path=/head/; revision=108647
|
|
|
|
| |
Notes:
svn path=/head/; revision=92719
|
|
|
|
|
|
|
|
|
| |
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.
Notes:
svn path=/head/; revision=55205
|
|
|
|
| |
Notes:
svn path=/head/; revision=50477
|
|
|
|
|
|
|
| |
for LKM's..
Notes:
svn path=/head/; revision=45739
|
|
|
|
|
|
|
|
| |
C_DECLARE_MODULE due to the linker_file_sysinit() function
making modifications to the data.
Notes:
svn path=/head/; revision=43387
|
|
|
|
|
|
|
|
|
|
|
| |
Add C_DECLARE_MODULE - same as DECLARE_MODULE but uses C_SYSINIT
instead of SYSINIT.
The C_ items are going to be used for items passing const data to
sysinit.
Notes:
svn path=/head/; revision=43381
|
|
|
|
|
|
|
|
|
|
| |
adjusted related casts to match (only in the kernel in this commit).
The pointer was only wanted in one place in kern_exec.c. Applications
should use the kern.ps_strings sysctl instead of PS_STRINGS, so they
shouldn't notice this change.
Notes:
svn path=/head/; revision=41871
|
|
|
|
|
|
|
| |
modeventhand_t.
Notes:
svn path=/head/; revision=41173
|
|
|
|
|
|
|
|
|
|
|
| |
This is the bulk of the support for doing kld modules. Two linker_sets
were replaced by SYSINIT()'s. VFS's and exec handlers are self registered.
kld is now a superset of lkm. I have converted most of them, they will
follow as a seperate commit as samples.
This all still works as a static a.out kernel using LKM's.
Notes:
svn path=/head/; revision=40435
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
than rolling it's own. This means that it now uses the "safe"
exec_map_first_page() to get the ld.so headers rather than risking a panic
on a page fault failure (eg: NFS server goes down).
Since all the ELF tools go to a lot of trouble to make sure everything
lives in the first page for executables, this is a win. I have not seen
any ELF executable on any system where all the headers didn't fit in the
first page with lots of room to spare.
I have been running variations of this code for some time on my pure ELF
systems.
Notes:
svn path=/head/; revision=33983
|
|
|
|
| |
Notes:
svn path=/head/; revision=29506
|
|
|
|
| |
Notes:
svn path=/head/; revision=29179
|
|
|
|
|
|
|
| |
ready for it yet.
Notes:
svn path=/head/; revision=22975
|
|
|
|
|
|
|
|
|
|
|
| |
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.
Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
Notes:
svn path=/head/; revision=21673
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
netscape-2.0 for Linux running all the Java stuff. The scrollbars are now
working, at least on my machine. (whew! :-)
I'm uncomfortable with the size of this commit, but it's too
inter-dependant to easily seperate out.
The main changes:
COMPAT_LINUX is *GONE*. Most of the code has been moved out of the i386
machine dependent section into the linux emulator itself. The int 0x80
syscall code was almost identical to the lcall 7,0 code and a minor tweak
allows them to both be used with the same C code. All kernels can now
just modload the lkm and it'll DTRT without having to rebuild the kernel
first. Like IBCS2, you can statically compile it in with "options LINUX".
A pile of new syscalls implemented, including getdents(), llseek(),
readv(), writev(), msync(), personality(). The Linux-ELF libraries want
to use some of these.
linux_select() now obeys Linux semantics, ie: returns the time remaining
of the timeout value rather than leaving it the original value.
Quite a few bugs removed, including incorrect arguments being used in
syscalls.. eg: mixups between passing the sigset as an int, vs passing
it as a pointer and doing a copyin(), missing return values, unhandled
cases, SIOC* ioctls, etc.
The build for the code has changed. i386/conf/files now knows how
to build linux_genassym and generate linux_assym.h on the fly.
Supporting changes elsewhere in the kernel:
The user-mode signal trampoline has moved from the U area to immediately
below the top of the stack (below PS_STRINGS). This allows the different
binary emulations to have their own signal trampoline code (which gets rid
of the hardwired syscall 103 (sigreturn on BSD, syslog on Linux)) and so
that the emulator can provide the exact "struct sigcontext *" argument to
the program's signal handlers.
The sigstack's "ss_flags" now uses SS_DISABLE and SS_ONSTACK flags, which
have the same values as the re-used SA_DISABLE and SA_ONSTACK which are
intended for sigaction only. This enables the support of a SA_RESETHAND
flag to sigaction to implement the gross SYSV and Linux SA_ONESHOT signal
semantics where the signal handler is reset when it's triggered.
makesyscalls.sh no longer appends the struct sysentvec on the end of the
generated init_sysent.c code. It's a lot saner to have it in a seperate
file rather than trying to update the structure inside the awk script. :-)
At exec time, the dozen bytes or so of signal trampoline code are copied
to the top of the user's stack, rather than obtaining the trampoline code
the old way by getting a clone of the parent's user area. This allows
Linux and native binaries to freely exec each other without getting
trampolines mixed up.
Notes:
svn path=/head/; revision=14331
|
|
|
|
|
|
|
|
|
|
|
| |
This is now in line with NetBSD as well..
Note that once this series of commits is finished, you must recompile
libkvm, then ps and maybe 'w'. If you are running the recently imported
sendmail-8.7, you should recompile that too (src/conf.c at least).
Notes:
svn path=/head/; revision=12679
|
|
|
|
| |
Notes:
svn path=/head/; revision=12251
|
|
|
|
|
|
|
|
|
| |
(except in netccitt, netiso and netns) and most of the warnings from
`gcc -Wnested-externs'. Fix all the bugs found. There were no serious
ones.
Notes:
svn path=/head/; revision=7090
|
|
|
|
|
|
|
| |
Also add 256 byte spare space on the usr stack.
Notes:
svn path=/head/; revision=3471
|
|
|
|
|
|
|
| |
getting closer all the time.
Notes:
svn path=/head/; revision=3304
|
|
|
|
|
|
|
| |
independance.
Notes:
svn path=/head/; revision=3058
|
|
|
|
|
|
|
|
| |
Reviewed by:
Submitted by:
Notes:
svn path=/head/; revision=2165
|
|
|
|
|
|
|
|
| |
I guess we'll have to not specify what the args to the exec functions
are.
Notes:
svn path=/head/; revision=2133
|
|
|
|
|
|
|
| |
NetBSD group.
Notes:
svn path=/head/; revision=2124
|
|
|
|
| |
Notes:
svn path=/head/; revision=1817
|
|
|
|
|
|
|
|
| |
Reviewed by: Rodney W. Grimes
Submitted by: John Dyson and David Greenman
Notes:
svn path=/head/; revision=1549
|
|
Notes:
svn path=/head/; revision=1541
|