The NetBSD Project

CVS log for src/sys/rump/kern/lib/libsysproxy/sysproxy.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / rump / kern / lib / libsysproxy

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.10 / (download) - annotate - [select for diffs], Sun Jul 16 23:05:53 2023 UTC (8 months, 4 weeks ago) by riastradh
Branch: MAIN
CVS Tags: thorpej-ifq-base, thorpej-ifq, thorpej-altq-separation-base, thorpej-altq-separation, HEAD
Changes since 1.9: +7 -7 lines
Diff to previous 1.9 (colored)

rump: Use l_sched.info, not l_private, for cv waits.

- l_sched is scheduler-private, used only by sched_m2.c, should be safe
- l_private is lwp-private, used by tls in user threads, would like to
  reuse for kthreads too

Revision 1.9 / (download) - annotate - [select for diffs], Sun Aug 21 10:24:23 2022 UTC (19 months, 3 weeks ago) by riastradh
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10-0-RELEASE, netbsd-10-0-RC6, netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1, netbsd-10, bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.8: +15 -2 lines
Diff to previous 1.8 (colored)

rump libsysproxy: More workarounds for pmap abuse.

Revision 1.4.20.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:18 2020 UTC (4 years ago) by martin
Branch: phil-wifi
Changes since 1.4.20.1: +3 -5 lines
Diff to previous 1.4.20.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.8 / (download) - annotate - [select for diffs], Sun Oct 6 15:11:17 2019 UTC (4 years, 6 months ago) by uwe
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-futex-base, thorpej-futex, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, thorpej-cfargs, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-xenpvh-base2, bouyer-xenpvh-base1, bouyer-xenpvh-base, bouyer-xenpvh, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.7: +3 -5 lines
Diff to previous 1.7 (colored)

xc_barrier - convenience function to xc_broadcast() a nop.

Make the intent more clear and also avoid a bunch of (xcfunc_t)nullop
casts that gcc 8 -Wcast-function-type is not happy about.

Revision 1.4.20.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:09:53 2019 UTC (4 years, 10 months ago) by christos
Branch: phil-wifi
Changes since 1.4: +10 -2 lines
Diff to previous 1.4 (colored)

Sync with HEAD

Revision 1.7 / (download) - annotate - [select for diffs], Fri May 17 03:34:26 2019 UTC (4 years, 10 months ago) by ozaki-r
Branch: MAIN
CVS Tags: phil-wifi-20190609, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-9
Changes since 1.6: +4 -2 lines
Diff to previous 1.6 (colored)

Implement an aggressive psref leak detector

It is yet another psref leak detector that enables to tell where a leak occurs
while a simpler version that is already committed just tells an occurrence of a
leak.

Investigating of psref leaks is hard because once a leak occurs a percpu list of
psref that tracks references can be corrupted.  A reference to a tracking object
is memorized in the list via an intermediate object (struct psref) that is
normally allocated on a stack of a thread.  Thus, the intermediate object can be
overwritten on a leak resulting in corruption of the list.

The tracker makes a shadow entry to an intermediate object and stores some hints
into it (currently it's a caller address of psref_acquire).  We can detect a
leak by checking the entries on certain points where any references should be
released such as the return point of syscalls and the end of each softint
handler.

The feature is expensive and enabled only if the kernel is built with
PSREF_DEBUG.

Proposed on tech-kern

Revision 1.6 / (download) - annotate - [select for diffs], Fri Apr 19 01:52:55 2019 UTC (4 years, 11 months ago) by ozaki-r
Branch: MAIN
CVS Tags: isaki-audio2-base, isaki-audio2
Changes since 1.5: +3 -2 lines
Diff to previous 1.5 (colored)

Implement a simple psref leak detector

It detects leaks by counting up the number of held psref by an LWP and checking
its zeroness at the end of syscalls and softint handlers.  For the counter, a
unused field of struct lwp is reused.

The detector runs only if DIAGNOSTIC is turned on.

Revision 1.5 / (download) - annotate - [select for diffs], Thu Apr 18 08:31:44 2019 UTC (4 years, 11 months ago) by ozaki-r
Branch: MAIN
Changes since 1.4: +7 -2 lines
Diff to previous 1.4 (colored)

rump: add missing sanity checks at the end of syscalls

Revision 1.4.16.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:15 2017 UTC (6 years, 4 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.4.16.1: +216 -0 lines
Diff to previous 1.4.16.1 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

update from HEAD

Revision 1.2.2.4 / (download) - annotate - [select for diffs], Sat Mar 19 11:30:37 2016 UTC (8 years ago) by skrll
Branch: nick-nhusb
Changes since 1.2.2.3: +3 -3 lines
Diff to previous 1.2.2.3 (colored) to branchpoint 1.2 (colored) next main 1.3 (colored)

Sync with HEAD

Revision 1.4.16.1, Tue Jan 26 23:12:17 2016 UTC (8 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.4: +0 -216 lines
FILE REMOVED

file sysproxy.c was added on branch tls-maxphys on 2017-12-03 11:39:15 +0000

Revision 1.4 / (download) - annotate - [select for diffs], Tue Jan 26 23:12:17 2016 UTC (8 years, 2 months ago) by pooka
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825, nick-nhusb-base-20170204, nick-nhusb-base-20161204, nick-nhusb-base-20161004, nick-nhusb-base-20160907, nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-8, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan
Branch point for: tls-maxphys, phil-wifi
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

Put the kernelside rump kernel headers into <rump-sys> instead of
sprinkling them around the faction directories.  Avoids having
to add a CPPFLAGS (or several) to pretty much every component
Makefile.

Leave compat headers around in the old locations.

The commit changes some autogenerated files, but I'll fix the
generators shortly and regen.

Revision 1.2.2.3 / (download) - annotate - [select for diffs], Sat Jun 6 14:40:28 2015 UTC (8 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.2.2.2: +10 -5 lines
Diff to previous 1.2.2.2 (colored) to branchpoint 1.2 (colored)

Sync with HEAD

Revision 1.3 / (download) - annotate - [select for diffs], Sat Apr 18 15:49:18 2015 UTC (8 years, 11 months ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20151226, nick-nhusb-base-20150921, nick-nhusb-base-20150606
Changes since 1.2: +10 -5 lines
Diff to previous 1.2 (colored)

Give remote clients struct pmap storage.  Although the pmap is unused,
that way we can sure that the pmap macro framework doesn't access all
the wrong places.

Revision 1.2.2.2 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:30 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.2.2.1: +211 -0 lines
Diff to previous 1.2.2.1 (colored) to branchpoint 1.2 (colored)

Sync with HEAD

Revision 1.2.2.1, Fri Apr 3 16:40:55 2015 UTC (9 years ago) by skrll
Branch: nick-nhusb
Changes since 1.2: +0 -211 lines
FILE REMOVED

file sysproxy.c was added on branch nick-nhusb on 2015-04-06 15:18:30 +0000

Revision 1.2 / (download) - annotate - [select for diffs], Fri Apr 3 16:40:55 2015 UTC (9 years ago) by pooka
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Branch point for: nick-nhusb
Changes since 1.1: +12 -13 lines
Diff to previous 1.1 (colored)

Use a different vmspace for rump kernel proc0 and local clients.
While the rump kernel and local clients are by definition in the same
host vmspace, there are subtle differences in how in-kernel code works
in case accessing the kernel vmspace or a user process vmspace.

Problem discovered by riastradh's "read(fd, NULL, 1)" test.

Revision 1.1 / (download) - annotate - [select for diffs], Wed Jan 7 22:24:04 2015 UTC (9 years, 3 months ago) by pooka
Branch: MAIN

Move sysproxy support into a separate component, rumpkern_sysproxy,
instead of it being always provided by the rump kernel base.  This
move accomplishes two things:

1) it is no longer necessary to provide sysproxy hypercall stubs for
   platforms which do not want to use sysproxy
2) it is easier to reason about the security aspects, since configurations
   not linking the sysproxy component simply do not support remote
   system calls

discussed on rumpkernel-users

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>