Home | History | Annotate | Download | only in common
History log of /src/sys/compat/linux32/common/linux32_sysctl.c
RevisionDateAuthorComments
 1.19  21-Mar-2020  pgoyette Deal with having to teardown sysctl entries in multiple sub-trees.

(This used to work, but I broke it recently.)
 1.18  16-Mar-2020  pgoyette Use the module subsystem's ability to process SYSCTL_SETUP() entries to
automate installation of sysctl nodes.

Note that there are still a number of device and pseudo-device modules
that create entries tied to individual device units, rather than to the
module itself. These are not changed.
 1.17  29-Sep-2017  maxv branches: 1.17.4;
Remove compat_linux32 from the autoload list and add a enable/disable
sysctl, like compat_linux.
 1.16  16-May-2014  martin Get rid of all sysc_init_field uses - initialize fields directly in C99
notation.
 1.15  25-Feb-2014  pooka branches: 1.15.2;
Ensure that the top level sysctl nodes (kern, vfs, net, ...) exist before
the sysctl link sets are processed, and remove redundancy.

Shaves >13kB off of an amd64 GENERIC, not to mention >1k duplicate
lines of code.
 1.14  18-Nov-2013  chs claim to be linux 3.11.6 (opensuse 13.1).
 1.13  07-Jul-2010  chs branches: 1.13.8; 1.13.18; 1.13.22;
many changes for COMPAT_LINUX:
- update the linux syscall table for each platform.
- support new-style (NPTL) linux pthreads on all platforms.
clone() with CLONE_THREAD uses 1 process with many LWPs
instead of separate processes.
- move the contents of sys__lwp_setprivate() into a new
lwp_setprivate() and use that everywhere.
- update linux_release[] and linux32_release[] to "2.6.18".
- adjust placement of emul fork/exec/exit hooks as needed
and adjust other emul code to match.
- convert all struct emul definitions to use named initializers.
- change the pid allocator to allow multiple pids to refer to the same proc.
- remove a few fields from struct proc that are no longer needed.
- disable the non-functional "vdso" code in linux32/amd64,
glibc works fine without it.
- fix a race in the futex code where we could miss a wakeup after
a requeue operation.
- redo futex locking to be a little more efficient.
 1.12  05-Jan-2009  njoly branches: 1.12.4; 1.12.6;
Make sysctl(2) fails with ENOTDIR (instead of EINVAL) for invalid mib
vector length.
 1.11  19-Nov-2008  ad Make the emulations, exec formats, coredump, NFS, and the NFS server
into modules. By and large this commit:

- shuffles header files and ifdefs
- splits code out where necessary to be modular
- adds module glue for each of the components
- adds/replaces hooks for things that can be installed at runtime
 1.10  12-Nov-2008  ad Remove LKMs and switch to the module framework, pass 1.

Proposed on tech-kern@.
 1.9  07-Jan-2008  ad branches: 1.9.6; 1.9.10; 1.9.12; 1.9.16; 1.9.18;
Patch up sysctl locking:

- Lock processes, credentials, filehead etc correctly.
- Acquire a read hold on sysctl_treelock if only doing a query.
- Don't wire down the output buffer. It doesn't work correctly and the code
regularly does long term sleeps with it held - it's not worth it.
- Don't hold locks other than sysctl_lock while doing copyout().
- Drop sysctl_lock while doing copyout / allocating memory in a few places.
- Don't take kernel_lock for sysctl.
- Fix a number of bugs spotted along the way
 1.8  20-Dec-2007  dsl Convert all the system call entry points from:
int foo(struct lwp *l, void *v, register_t *retval)
to:
int foo(struct lwp *l, const struct foo_args *uap, register_t *retval)
Fixup compat code to not write into 'uap' and (in some cases) to actually
pass a correctly formatted 'uap' structure with the right name to the
next routine.
A few 'compat' routines that just call standard ones have been deleted.
All the 'compat' code compiles (along with the kernels required to test
build it).
98% done by automated scripts.
 1.7  08-Dec-2007  dsl branches: 1.7.4;
ANSIfy most of the function definitions in sys/compat (but not ndis).
All by the magic of sed ...
 1.6  15-Aug-2007  ad branches: 1.6.2; 1.6.8; 1.6.10;
Changes to make ktrace LKM friendly and reduce ifdef KTRACE. Proposed
on tech-kern.
 1.5  18-Mar-2007  dsl branches: 1.5.4; 1.5.8;
Change all the NETBSD32PTR64(SCARG(uap, xxx))) to SCARG_P32(uap, xxx).
 1.4  09-Feb-2007  ad branches: 1.4.2; 1.4.6; 1.4.8; 1.4.10;
Merge newlock2 to head.
 1.3  23-Sep-2006  manu Add sysctl tracing to emulations.
While we are there, fix a bug in FreeBSD sysctl emulation: use copyin for
moving data to the kernel
 1.2  05-Sep-2006  manu branches: 1.2.2; 1.2.4; 1.2.6;
Fix linux32_sys_sysctl, it was horribly broken.
 1.1  09-Feb-2006  manu branches: 1.1.2; 1.1.4; 1.1.10; 1.1.16;
Add initial (but unfinished) COMPAT_LINUX32 for amd64. This is good enough so
that the i386 license manager part of amd64 version of Fluent works.

While I'm here, add SysV IPC to COMPAT_LINUX/amd64
 1.1.16.6  21-Jan-2008  yamt sync with head
 1.1.16.5  03-Sep-2007  yamt sync with head.
 1.1.16.4  26-Feb-2007  yamt sync with head.
 1.1.16.3  30-Dec-2006  yamt sync with head.
 1.1.16.2  21-Jun-2006  yamt sync with head.
 1.1.16.1  09-Feb-2006  yamt file linux32_sysctl.c was added on branch yamt-lazymbuf on 2006-06-21 14:59:27 +0000
 1.1.10.2  22-Apr-2006  simonb Sync with head.
 1.1.10.1  09-Feb-2006  simonb file linux32_sysctl.c was added on branch simonb-timecounters on 2006-04-22 11:38:14 +0000
 1.1.4.1  14-Sep-2006  yamt sync with head.
 1.1.2.2  18-Feb-2006  yamt sync with head.
 1.1.2.1  09-Feb-2006  yamt file linux32_sysctl.c was added on branch yamt-uio_vmspace on 2006-02-18 15:39:02 +0000
 1.2.6.1  22-Oct-2006  yamt sync with head
 1.2.4.2  09-Sep-2006  rpaulo sync with head
 1.2.4.1  05-Sep-2006  rpaulo file linux32_sysctl.c was added on branch rpaulo-netinet-merge-pcb on 2006-09-09 02:46:03 +0000
 1.2.2.2  30-Jan-2007  ad Remove support for SA. Ok core@.
 1.2.2.1  18-Nov-2006  ad Sync with head.
 1.4.10.1  29-Mar-2007  reinoud Pullup to -current
 1.4.8.1  11-Jul-2007  mjf Sync with head.
 1.4.6.2  20-Aug-2007  ad Sync with HEAD.
 1.4.6.1  10-Apr-2007  ad Sync with head.
 1.4.2.1  24-Mar-2007  yamt sync with head.
 1.5.8.2  09-Dec-2007  jmcneill Sync with HEAD.
 1.5.8.1  16-Aug-2007  jmcneill Sync with HEAD.
 1.5.4.1  03-Sep-2007  skrll Sync with HEAD.
 1.6.10.1  26-Dec-2007  ad Sync with head.
 1.6.8.1  18-Feb-2008  mjf Sync with HEAD.
 1.6.2.1  09-Jan-2008  matt sync with HEAD
 1.7.4.2  08-Jan-2008  bouyer Sync with HEAD
 1.7.4.1  02-Jan-2008  bouyer Sync with HEAD
 1.9.18.1  19-Jan-2009  skrll Sync with HEAD.
 1.9.16.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.9.12.2  14-May-2008  wrstuden Per discussion with ad, remove most of the #include <sys/sa.h> lines
as they were including sa.h just for the type(s) needed for syscallargs.h.

Instead, create a new file, sys/satypes.h, which contains just the
types needed for syscallargs.h. Yes, there's only one now, but that
may change and it's probably more likely to change if it'd be difficult
to handle. :-)

Per discussion with matt at n dot o, add an include of satypes.h to
sigtypes.h. Upcall handlers are kinda signal handlers, and signalling
is the header file that's already included for syscallargs.h that
closest matches SA.

This shaves about 3000 lines off of the diff of the branch relative
to the base. That also represents about 18% of the total before this
checkin.

I think this reduction is very good thing.
 1.9.12.1  10-May-2008  wrstuden Initial checkin of re-adding SA. Everything except kern_sa.c
compiles in GENERIC for i386. This is still a work-in-progress, but
this checkin covers most of the mechanical work (changing signalling
to be able to accomidate SA's process-wide signalling and re-adding
includes of sys/sa.h and savar.h). Subsequent changes will be much
more interesting.

Also, kern_sa.c has received partial cleanup. There's still more
to do, though.
 1.9.10.2  11-Aug-2010  yamt sync with head.
 1.9.10.1  04-May-2009  yamt sync with head.
 1.9.6.1  17-Jan-2009  mjf Sync with HEAD.
 1.12.6.1  05-Mar-2011  rmind sync with head
 1.12.4.1  17-Aug-2010  uebayasi Sync with HEAD.
 1.13.22.1  18-May-2014  rmind sync with head
 1.13.18.2  03-Dec-2017  jdolecek update from HEAD
 1.13.18.1  20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.13.8.1  22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.15.2.1  10-Aug-2014  tls Rebase.
 1.17.4.1  08-Apr-2020  martin Merge changes from current as of 20200406

RSS XML Feed