head 1.61; access; symbols netbsd-11-0-RC3:1.61 netbsd-11-0-RC2:1.61 netbsd-11-0-RC1:1.61 perseant-exfatfs-base-20250801:1.61 netbsd-11:1.61.0.2 netbsd-11-base:1.61 netbsd-10-1-RELEASE:1.57 perseant-exfatfs-base-20240630:1.60 perseant-exfatfs:1.60.0.6 perseant-exfatfs-base:1.60 netbsd-8-3-RELEASE:1.15.2.1 netbsd-9-4-RELEASE:1.34.4.2 netbsd-10-0-RELEASE:1.57 netbsd-10-0-RC6:1.57 netbsd-10-0-RC5:1.57 netbsd-10-0-RC4:1.57 netbsd-10-0-RC3:1.57 netbsd-10-0-RC2:1.57 thorpej-ifq:1.60.0.4 thorpej-ifq-base:1.60 thorpej-altq-separation:1.60.0.2 thorpej-altq-separation-base:1.60 netbsd-10-0-RC1:1.57 netbsd-10:1.57.0.4 netbsd-10-base:1.57 bouyer-sunxi-drm:1.57.0.2 bouyer-sunxi-drm-base:1.57 netbsd-9-3-RELEASE:1.34.4.2 thorpej-i2c-spi-conf2:1.56.0.8 thorpej-i2c-spi-conf2-base:1.56 thorpej-futex2:1.56.0.6 thorpej-futex2-base:1.56 thorpej-cfargs2:1.56.0.4 thorpej-cfargs2-base:1.56 cjep_sun2x-base1:1.56 cjep_sun2x:1.56.0.2 cjep_sun2x-base:1.56 cjep_staticlib_x-base1:1.56 netbsd-9-2-RELEASE:1.34.4.2 cjep_staticlib_x:1.54.0.6 cjep_staticlib_x-base:1.54 thorpej-i2c-spi-conf:1.54.0.4 thorpej-i2c-spi-conf-base:1.56 thorpej-cfargs:1.54.0.2 thorpej-cfargs-base:1.54 thorpej-futex:1.53.0.2 thorpej-futex-base:1.54 netbsd-9-1-RELEASE:1.34.4.2 bouyer-xenpvh-base2:1.45 phil-wifi-20200421:1.44 bouyer-xenpvh-base1:1.44 phil-wifi-20200411:1.44 bouyer-xenpvh:1.44.0.4 bouyer-xenpvh-base:1.44 is-mlppp:1.44.0.2 is-mlppp-base:1.44 phil-wifi-20200406:1.44 netbsd-8-2-RELEASE:1.15.2.1 ad-namecache-base3:1.43 netbsd-9-0-RELEASE:1.34.4.1 netbsd-9-0-RC2:1.34.4.1 ad-namecache-base2:1.42 ad-namecache-base1:1.42 ad-namecache:1.42.0.2 ad-namecache-base:1.42 netbsd-9-0-RC1:1.34 phil-wifi-20191119:1.37 netbsd-9:1.34.0.4 netbsd-9-base:1.34 phil-wifi-20190609:1.34 netbsd-8-1-RELEASE:1.15 netbsd-8-1-RC1:1.15 isaki-audio2:1.34.0.2 isaki-audio2-base:1.34 pgoyette-compat-merge-20190127:1.16.2.12 pgoyette-compat-20190127:1.30 pgoyette-compat-20190118:1.30 pgoyette-compat-1226:1.29 pgoyette-compat-1126:1.25 pgoyette-compat-1020:1.23 pgoyette-compat-0930:1.23 pgoyette-compat-0906:1.22 pgoyette-compat-0728:1.20 netbsd-8-0-RELEASE:1.15 phil-wifi:1.16.0.4 phil-wifi-base:1.16 pgoyette-compat-0625:1.16 netbsd-8-0-RC2:1.15 pgoyette-compat-0521:1.16 pgoyette-compat-0502:1.16 pgoyette-compat-0422:1.16 netbsd-8-0-RC1:1.15 pgoyette-compat-0415:1.16 pgoyette-compat-0407:1.16 pgoyette-compat-0330:1.16 pgoyette-compat-0322:1.16 pgoyette-compat-0315:1.16 pgoyette-compat:1.16.0.2 pgoyette-compat-base:1.16 tls-maxphys:1.15.0.8 tls-maxphys-base-20171202:1.15 matt-nb8-mediatek:1.15.0.6 matt-nb8-mediatek-base:1.15 nick-nhusb-base-20170825:1.15 perseant-stdc-iso10646:1.15.0.4 perseant-stdc-iso10646-base:1.15 netbsd-8:1.15.0.2 netbsd-8-base:1.15 prg-localcount2-base3:1.14 prg-localcount2-base2:1.14 prg-localcount2-base1:1.14 prg-localcount2:1.14.0.2 prg-localcount2-base:1.14 pgoyette-localcount-20170426:1.14 bouyer-socketcan-base1:1.14 jdolecek-ncq:1.13.0.4 jdolecek-ncq-base:1.13 pgoyette-localcount-20170320:1.13 nick-nhusb-base-20170204:1.13 bouyer-socketcan:1.13.0.2 bouyer-socketcan-base:1.13 pgoyette-localcount-20170107:1.13 nick-nhusb-base-20161204:1.13 pgoyette-localcount-20161104:1.13 nick-nhusb-base-20161004:1.12 localcount-20160914:1.11 pgoyette-localcount-20160806:1.11 pgoyette-localcount-20160726:1.11 pgoyette-localcount:1.11.0.2 pgoyette-localcount-base:1.11 nick-nhusb-base-20160907:1.11 nick-nhusb-base-20160529:1.11 nick-nhusb-base-20160422:1.11 nick-nhusb-base-20160319:1.10 nick-nhusb-base-20151226:1.10 nick-nhusb-base-20150921:1.9 nick-nhusb-base-20150606:1.6 nick-nhusb-base-20150406:1.3 nick-nhusb:1.2.0.2 nick-nhusb-base:1.2; locks; strict; comment @# @; 1.61 date 2024.12.22.23.24.20; author riastradh; state Exp; branches; next 1.60; commitid gj6hxLASBPakmyCF; 1.60 date 2023.07.28.18.19.01; author christos; state Exp; branches 1.60.6.1; next 1.59; commitid v5JxtHEHo0Vx9ByE; 1.59 date 2023.07.10.06.42.33; author mrg; state Exp; branches; next 1.58; commitid mUs1PIWwv0mRSdwE; 1.58 date 2023.07.07.12.34.50; author riastradh; state Exp; branches; next 1.57; commitid J06U0kNNX4QHVRvE; 1.57 date 2021.09.19.15.51.27; author thorpej; state Exp; branches; next 1.56; commitid xdBXxF7c1mSW5A9D; 1.56 date 2021.05.18.05.16.09; author mrg; state Exp; branches; next 1.55; commitid JScNqnwdzOqwzATC; 1.55 date 2021.05.17.08.50.36; author mrg; state Exp; branches; next 1.54; commitid BKaIGcEdyh58NtTC; 1.54 date 2020.11.01.18.51.02; author pgoyette; state Exp; branches 1.54.4.1 1.54.6.1; next 1.53; commitid KHyeBNHD1wverduC; 1.53 date 2020.10.19.19.33.02; author christos; state Exp; branches 1.53.2.1; next 1.52; commitid sYCiqoUJjmwR5ysC; 1.52 date 2020.09.07.03.50.41; author thorpej; state Exp; branches; next 1.51; commitid Qc6rPkXTNBSje4nC; 1.51 date 2020.08.14.00.53.16; author riastradh; state Exp; branches; next 1.50; commitid WrVbm3KoFFQxZXjC; 1.50 date 2020.07.28.20.15.07; author riastradh; state Exp; branches; next 1.49; commitid OD3YAxpRSjqXZShC; 1.49 date 2020.06.07.09.45.19; author maxv; state Exp; branches; next 1.48; commitid bpmOlwHKqZXv9hbC; 1.48 date 2020.05.16.18.31.50; author christos; state Exp; branches; next 1.47; commitid AayHkepHy6nSLu8C; 1.47 date 2020.04.30.03.28.18; author riastradh; state Exp; branches; next 1.46; commitid cPJImU3MZz0Vhm6C; 1.46 date 2020.04.26.18.53.33; author thorpej; state Exp; branches; next 1.45; commitid xaklHg2Aa3B2wV5C; 1.45 date 2020.04.22.09.18.42; author rin; state Exp; branches; next 1.44; commitid wxBIuJyAqQgLtm5C; 1.44 date 2020.03.02.16.00.54; author riastradh; state Exp; branches 1.44.4.1; next 1.43; commitid IjHU3XJOATkJlQYB; 1.43 date 2020.02.08.07.07.07; author maxv; state Exp; branches; next 1.42; commitid hrT7QtWlfwnG7QVB; 1.42 date 2020.01.04.03.46.19; author kamil; state Exp; branches 1.42.2.1; next 1.41; commitid u82VZ8ZbapW68kRB; 1.41 date 2019.12.26.08.52.38; author kamil; state Exp; branches; next 1.40; commitid nZ2nH9PqUVCy7cQB; 1.40 date 2019.12.20.21.20.09; author ad; state Exp; branches; next 1.39; commitid eX0UKulzkuIwsuPB; 1.39 date 2019.12.12.22.55.20; author pgoyette; state Exp; branches; next 1.38; commitid oCLheeitcycFetOB; 1.38 date 2019.11.20.19.37.53; author pgoyette; state Exp; branches; next 1.37; commitid klD35BQ0ZsdrRCLB; 1.37 date 2019.11.14.16.23.52; author maxv; state Exp; branches; next 1.36; commitid BJshPFE9sjVJXPKB; 1.36 date 2019.11.05.20.19.17; author maxv; state Exp; branches; next 1.35; commitid bssC0sL0CJikyHJB; 1.35 date 2019.08.15.12.24.08; author maxv; state Exp; branches; next 1.34; commitid rFZs5yQZGs7Lz7zB; 1.34 date 2019.04.04.20.19.07; author christos; state Exp; branches 1.34.4.1; next 1.33; commitid EbTj1GlL7g8St4iB; 1.33 date 2019.02.23.03.10.06; author kamil; state Exp; branches; next 1.32; commitid I1ydg9kW8xavZPcB; 1.32 date 2019.02.13.18.04.35; author kamil; state Exp; branches; next 1.31; commitid iXX0KB5GD5M4jDbB; 1.31 date 2019.01.27.02.08.43; author pgoyette; state Exp; branches; next 1.30; commitid ipPva1Pj3xTcBm9B; 1.30 date 2019.01.09.04.01.20; author mrg; state Exp; branches; next 1.29; commitid qcf7iJnkVgGIN37B; 1.29 date 2018.12.24.16.58.54; author thorpej; state Exp; branches; next 1.28; commitid Zxp8j7PMe1aYx45B; 1.28 date 2018.12.16.14.06.56; author rmind; state Exp; branches; next 1.27; commitid xgLycQcigQhhV14B; 1.27 date 2018.12.03.00.11.02; author christos; state Exp; branches; next 1.26; commitid ljtE7kNRMNAmIh2B; 1.26 date 2018.12.02.21.00.13; author maxv; state Exp; branches; next 1.25; commitid 2FElgv11KoHQEg2B; 1.25 date 2018.11.15.09.38.57; author maxv; state Exp; branches; next 1.24; commitid jsDbbvkQgEODq10B; 1.24 date 2018.10.31.06.26.26; author maxv; state Exp; branches; next 1.23; commitid pc4fH0gpmGnLP4YA; 1.23 date 2018.09.14.01.55.19; author mrg; state Exp; branches; next 1.22; commitid yK3sdC5GzFapR0SA; 1.22 date 2018.08.20.11.35.28; author maxv; state Exp; branches; next 1.21; commitid Adxg4Gx9MkoASQOA; 1.21 date 2018.08.03.04.35.20; author kamil; state Exp; branches; next 1.20; commitid nGM8SgFnTn776DMA; 1.20 date 2018.07.18.07.06.40; author msaitoh; state Exp; branches; next 1.19; commitid BPyKsADqvNa9sAKA; 1.19 date 2018.07.17.05.52.07; author msaitoh; state Exp; branches; next 1.18; commitid OQSr0kWy5ShK3sKA; 1.18 date 2018.07.12.10.46.48; author maxv; state Exp; branches; next 1.17; commitid zv0Sckxqs4y3RPJA; 1.17 date 2018.06.30.00.37.38; author christos; state Exp; branches; next 1.16; commitid h65EBbxbatCASeIA; 1.16 date 2017.12.16.10.15.12; author maxv; state Exp; branches 1.16.2.1 1.16.4.1; next 1.15; commitid d5leGRVzArcmn6jA; 1.15 date 2017.05.19.00.01.33; author pgoyette; state Exp; branches 1.15.2.1 1.15.8.1; next 1.14; commitid hMo0RDYnlhcaLVRz; 1.14 date 2017.04.12.20.05.54; author christos; state Exp; branches 1.14.2.1; next 1.13; commitid Xhgkb7Y6SOpfChNz; 1.13 date 2016.11.02.00.11.59; author pgoyette; state Exp; branches 1.13.2.1; next 1.12; commitid 7fzelcnrglvjbusz; 1.12 date 2016.09.16.03.10.45; author pgoyette; state Exp; branches; next 1.11; commitid 62E2PYVW1dd9Gsmz; 1.11 date 2016.04.09.06.21.16; author riastradh; state Exp; branches 1.11.2.1; next 1.10; commitid 1EIL5VPc9OnfRU1z; 1.10 date 2015.12.03.02.51.00; author pgoyette; state Exp; branches; next 1.9; commitid kCtR8J59sy1rPrLy; 1.9 date 2015.09.03.01.09.38; author uebayasi; state Exp; branches; next 1.8; commitid UGuLzLITIKnkcKzy; 1.8 date 2015.08.21.02.18.18; author uebayasi; state Exp; branches; next 1.7; commitid a4Ly0sF1vclNZ4yy; 1.7 date 2015.08.17.06.16.03; author knakahara; state Exp; branches; next 1.6; commitid iXg3jCDGxWEjrAxy; 1.6 date 2015.05.10.07.41.15; author pgoyette; state Exp; branches; next 1.5; commitid AfRemwEAFpE14Sky; 1.5 date 2015.05.06.15.57.08; author hannken; state Exp; branches; next 1.4; commitid dCtY2N5ZDmWiXoky; 1.4 date 2015.05.02.12.57.19; author mlelstv; state Exp; branches; next 1.3; commitid 6oTtVJ3wV5O96Sjy; 1.3 date 2015.03.07.16.35.37; author christos; state Exp; branches; next 1.2; commitid n8E08isCRcqF6Hcy; 1.2 date 2014.10.12.04.38.28; author uebayasi; state Exp; branches 1.2.2.1; next 1.1; commitid pczZlTiEz5oEPRTx; 1.1 date 2014.10.12.04.30.42; author uebayasi; state Exp; branches; next ; commitid RnlMfFToLukZMRTx; 1.60.6.1 date 2025.08.02.05.57.40; author perseant; state Exp; branches; next ; commitid 23j6GFaDws3O875G; 1.54.4.1 date 2021.06.17.04.46.33; author thorpej; state Exp; branches; next ; commitid d7CrUzY34skBrrXC; 1.54.6.1 date 2021.05.31.22.15.20; author cjep; state Exp; branches; next ; commitid eWz9SBW0XqKjJlVC; 1.53.2.1 date 2020.12.14.14.38.13; author thorpej; state Exp; branches; next 1.53.2.2; commitid S4HwP6n7zzL3FIzC; 1.53.2.2 date 2020.12.14.16.00.51; author thorpej; state Exp; branches; next 1.53.2.3; commitid pgyOelhj0W5C7JzC; 1.53.2.3 date 2020.12.14.16.53.36; author thorpej; state Exp; branches; next ; commitid HZbnsUV4VSkNpJzC; 1.44.4.1 date 2020.04.25.11.24.05; author bouyer; state Exp; branches; next ; commitid d0banFLkg9JL4L5C; 1.42.2.1 date 2020.02.29.20.21.02; author ad; state Exp; branches; next ; commitid OjSb8ro7YQETQBYB; 1.34.4.1 date 2020.01.21.15.33.33; author martin; state Exp; branches; next 1.34.4.2; commitid XSrSIAvYr2gtvzTB; 1.34.4.2 date 2020.03.03.18.51.03; author martin; state Exp; branches; next ; commitid 6EwjWerTFTY7gZYB; 1.16.2.1 date 2018.03.06.05.44.37; author pgoyette; state Exp; branches; next 1.16.2.2; commitid 0qpHvvklc4MVimtA; 1.16.2.2 date 2018.03.06.09.43.06; author pgoyette; state Exp; branches; next 1.16.2.3; commitid aq4s2xxKLNEGCntA; 1.16.2.3 date 2018.03.06.10.37.41; author pgoyette; state Exp; branches; next 1.16.2.4; commitid LHyNWa4dQsh9VntA; 1.16.2.4 date 2018.03.07.09.33.26; author pgoyette; state Exp; branches; next 1.16.2.5; commitid bpagRed0rvY8xvtA; 1.16.2.5 date 2018.03.20.08.11.25; author pgoyette; state Exp; branches; next 1.16.2.6; commitid 0WHyLIf2OWbbFavA; 1.16.2.6 date 2018.07.28.04.38.08; author pgoyette; state Exp; branches; next 1.16.2.7; commitid 1UP1xAIUxv1ZgRLA; 1.16.2.7 date 2018.08.02.05.34.09; author pgoyette; state Exp; branches; next 1.16.2.8; commitid LJsCshR1x36ysvMA; 1.16.2.8 date 2018.09.06.06.56.41; author pgoyette; state Exp; branches; next 1.16.2.9; commitid HCi1bXD317XIK0RA; 1.16.2.9 date 2018.09.30.01.45.55; author pgoyette; state Exp; branches; next 1.16.2.10; commitid SQ44grEPCeKPh4UA; 1.16.2.10 date 2018.11.26.01.52.50; author pgoyette; state Exp; branches; next 1.16.2.11; commitid Zj4q5SspGdKXto1B; 1.16.2.11 date 2018.12.26.14.02.03; author pgoyette; state Exp; branches; next 1.16.2.12; commitid xUhK8IAeBM1azj5B; 1.16.2.12 date 2019.01.18.08.50.57; author pgoyette; state Exp; branches; next ; commitid Lmlzg3OVT2cd6f8B; 1.16.4.1 date 2018.07.12.16.35.34; author phil; state Exp; branches; next 1.16.4.2; commitid US0n8axK0fqSKRJA; 1.16.4.2 date 2019.06.10.22.09.03; author christos; state Exp; branches; next 1.16.4.3; commitid jtc8rnCzWiEEHGqB; 1.16.4.3 date 2020.04.08.14.08.51; author martin; state Exp; branches; next 1.16.4.4; commitid Qli2aW9E74UFuA3C; 1.16.4.4 date 2020.04.13.08.05.03; author martin; state Exp; branches; next ; commitid X01YhRUPVUDaec4C; 1.15.2.1 date 2020.01.21.16.59.57; author martin; state Exp; branches; next ; commitid 6Usgy6yFkpSuZzTB; 1.15.8.1 date 2017.05.19.00.01.33; author jdolecek; state dead; branches; next 1.15.8.2; commitid XcIYRZTAh1LmerhA; 1.15.8.2 date 2017.12.03.11.38.44; author jdolecek; state Exp; branches; next ; commitid XcIYRZTAh1LmerhA; 1.14.2.1 date 2017.04.27.05.36.37; author pgoyette; state Exp; branches; next ; commitid Px6GUicTh67rj8Pz; 1.13.2.1 date 2017.04.21.16.54.02; author bouyer; state Exp; branches; next ; commitid dUG7nkTKALCadqOz; 1.11.2.1 date 2016.07.15.02.29.19; author pgoyette; state Exp; branches; next 1.11.2.2; commitid R1nvX23mo5zEtmez; 1.11.2.2 date 2016.11.04.14.49.17; author pgoyette; state Exp; branches; next 1.11.2.3; commitid 2m1JRwYmpwPkOOsz; 1.11.2.3 date 2017.04.26.02.53.26; author pgoyette; state Exp; branches; next ; commitid ojV02aOSdzvBqZOz; 1.2.2.1 date 2015.04.06.15.18.20; author skrll; state Exp; branches; next 1.2.2.2; commitid pz01Zhy7RP6iGxgy; 1.2.2.2 date 2015.06.06.14.40.21; author skrll; state Exp; branches; next 1.2.2.3; commitid O6LVO5i6UulOvnoy; 1.2.2.3 date 2015.09.22.12.06.07; author skrll; state Exp; branches; next 1.2.2.4; commitid CpNWKp3ozVNTafCy; 1.2.2.4 date 2015.12.27.12.10.05; author skrll; state Exp; branches; next 1.2.2.5; commitid BTSqUD4SdJ5k7AOy; 1.2.2.5 date 2016.04.22.15.44.16; author skrll; state Exp; branches; next 1.2.2.6; commitid bbo6x38wuxyZyD3z; 1.2.2.6 date 2016.10.05.20.56.02; author skrll; state Exp; branches; next 1.2.2.7; commitid uuAdz3JYHQmaWZoz; 1.2.2.7 date 2016.12.05.10.55.26; author skrll; state Exp; branches; next 1.2.2.8; commitid 4H3tiQVJXN6oEMwz; 1.2.2.8 date 2017.08.28.17.53.07; author skrll; state Exp; branches; next ; commitid UQQpnjvcNkUZn05A; desc @@ 1.61 log @kern: Move some purely arithmetic routines to subr_time_arith.c. Preparation for testing and fixing: PR kern/58922: itimer(9): arithmetic overflow PR kern/58925: itimer(9) responds erratically to clock wound back PR kern/58926: itimer(9) integer overflow in overrun counting PR kern/58927: itimer(9): overrun accounting is broken @ text @# $NetBSD: files.kern,v 1.60 2023/07/28 18:19:01 christos Exp $ # # kernel sources # define kern: cprng_fast, machdep, uvm defflag opt_heartbeat.h HEARTBEAT defflag opt_kern.h KERN defflag opt_script.h SETUIDSCRIPTS FDSCRIPTS defflag KASLR defparam opt_cnmagic.h CNMAGIC defparam heartbeat.h HEARTBEAT_MAX_PERIOD_DEFAULT file conf/debugsyms.c kern file conf/param.c kern file kern/bufq_disksort.c bufq_disksort file kern/bufq_fcfs.c bufq_fcfs file kern/bufq_priocscan.c bufq_priocscan file kern/bufq_readprio.c bufq_readprio | new_bufq_strategy file kern/compat_stub.c kern file kern/core_elf32.c exec_elf32 & coredump file kern/core_elf64.c exec_elf64 & coredump file kern/core_netbsd.c coredump file kern/cnmagic.c kern file kern/exec_aout.c exec_aout file kern/exec_ecoff.c exec_ecoff file kern/exec_elf32.c exec_elf32 file kern/exec_elf64.c exec_elf64 file kern/exec_script.c exec_script file kern/exec_subr.c kern file kern/init_main.c kern file kern/init_sysctl.c kern file kern/init_sysctl_base.c kern file kern/init_sysent.c kern file kern/kern_acct.c kern file kern/kern_auth.c kern file kern/kern_cfglock.c kern file kern/kern_clock.c kern file kern/kern_condvar.c kern file kern/kern_core.c coredump file kern/kern_cpu.c kern #kern/kern_ctf.c is only needed as part of dtrace_fbt module #file kern/kern_ctf.c kdtrace_hooks file kern/kern_descrip.c kern file kern/kern_entropy.c kern file kern/kern_event.c kern file kern/kern_exec.c kern file kern/kern_exit.c kern file kern/kern_fork.c kern file kern/kern_idle.c kern file kern/kern_heartbeat.c kern & heartbeat file kern/kern_hook.c kern file kern/kern_kthread.c kern file kern/kern_ktrace.c ktrace file kern/kern_ktrace_vfs.c ktrace file kern/kern_ksyms.c ksyms | ddb | modular needs-flag file kern/kern_lock.c kern file kern/kern_lwp.c kern file kern/kern_malloc.c kern file kern/kern_module.c kern file kern/kern_module_hook.c kern file kern/kern_module_vfs.c kern file kern/kern_mutex.c kern file kern/kern_mutex_obj.c kern file kern/kern_fileassoc.c fileassoc file kern/kern_ntptime.c kern file kern/kern_pax.c pax_mprotect | pax_segvguard | pax_aslr file kern/kern_physio.c kern file kern/kern_pmf.c kern file kern/kern_proc.c kern file kern/kern_prot.c kern file kern/kern_ras.c kern file kern/kern_rate.c kern file kern/kern_reboot.c kern file kern/kern_resource.c kern file kern/kern_runq.c kern file kern/kern_rwlock.c kern file kern/kern_rwlock_obj.c kern file kern/kern_scdebug.c kern file kern/kern_sdt.c kdtrace_hooks file kern/kern_crashme.c kern file kern/kern_sig.c kern file kern/kern_sleepq.c kern file kern/kern_softint.c kern file kern/kern_ssp.c kern file kern/kern_stub.c kern file kern/kern_subr.c kern file kern/kern_synch.c kern file kern/kern_syscall.c kern file kern/kern_sysctl.c kern file kern/kern_tc.c kern file kern/kern_threadpool.c kern file kern/kern_time.c kern file kern/kern_timeout.c kern file kern/kern_turnstile.c kern file kern/kern_todr.c kern file kern/kern_uidinfo.c kern file kern/kern_uuid.c kern file kern/kgdb_stub.c kgdb file kern/sched_4bsd.c sched_4bsd file kern/sched_m2.c sched_m2 file kern/subr_acl_posix1e.c kern file kern/subr_acl_nfs4.c kern file kern/subr_asan.c kasan file kern/subr_autoconf.c kern file kern/subr_blist.c vmswap file kern/subr_bufq.c kern file kern/subr_callback.c kern file kern/subr_cprng.c kern file kern/subr_cpu.c kern file kern/subr_cpufreq.c kern file kern/subr_copy.c kern file kern/subr_csan.c kcsan file kern/subr_debug.c debug file kern/subr_device.c kern file kern/subr_devsw.c kern file kern/subr_disk.c kern file kern/subr_disklabel.c kern defflag opt_disklabel.h DISKLABEL_EI file kern/subr_disk_open.c kern file kern/subr_emul.c kern file kern/subr_evcnt.c kern file kern/subr_exec_fd.c kern file kern/subr_extent.c kern file kern/subr_fault.c fault file kern/subr_hash.c kern file kern/subr_humanize.c kern file kern/subr_interrupt.c kern file kern/subr_iostat.c kern file kern/subr_ipi.c kern file kern/subr_kcpuset.c kern file kern/subr_kcov.c kcov defflag opt_kmem.h KMEM_SIZE file kern/subr_kmem.c kern file kern/subr_kobj.c kern file kern/subr_kobj_vfs.c kern file kern/subr_localcount.c kern file kern/subr_lockdebug.c kern file kern/subr_log.c kern file kern/subr_lwp_specificdata.c kern file kern/subr_msan.c kmsan file kern/subr_once.c kern file kern/subr_optstr.c kern file kern/subr_pcq.c kern file kern/subr_pcu.c kern file kern/subr_percpu.c kern file kern/subr_pool.c kern file kern/subr_prf.c kern file kern/subr_prof.c kern file kern/subr_pserialize.c kern file kern/subr_psref.c kern file kern/subr_specificdata.c kern file kern/subr_tftproot.c tftproot file kern/subr_time.c kern file kern/subr_time_arith.c kern file kern/subr_thmap.c kern file kern/subr_userconf.c userconf file kern/subr_vmem.c kern file kern/subr_workqueue.c kern file kern/subr_xcall.c kern file kern/sys_aio.c aio file kern/sys_descrip.c kern file kern/sys_epoll.c kern file kern/sys_eventfd.c kern file kern/sys_futex.c kern file kern/sys_generic.c kern file kern/sys_getrandom.c kern file kern/sys_memfd.c kern file kern/sys_module.c kern file kern/sys_mqueue.c mqueue file kern/sys_lwp.c kern file kern/sys_pipe.c !pipe_socketpair file kern/sys_process.c ptrace_hooks | ktrace file kern/sys_process_lwpstatus.c kern file kern/sys_ptrace.c ptrace file kern/sys_ptrace_common.c ptrace | procfs file kern/sys_pset.c kern file kern/sys_select.c kern file kern/sys_sig.c kern file kern/sys_sched.c kern file kern/sys_socket.c kern file kern/sys_timerfd.c kern file kern/syscalls.c syscall_debug | kdtrace_hooks file kern/sysv_ipc.c sysvshm | sysvsem | sysvmsg file kern/sysv_msg.c sysvmsg file kern/sysv_sem.c sysvsem file kern/sysv_shm.c sysvshm file kern/tty.c kern file kern/tty_conf.c kern file kern/tty_bsdpty.c compat_bsdpty file kern/tty_pty.c pty needs-flag file kern/tty_ptm.c pty file kern/tty_subr.c kern file kern/tty_tty.c kern file kern/uipc_accf.c kern file kern/uipc_domain.c kern file kern/uipc_mbuf.c kern file kern/uipc_mbufdebug.c kern & ether & ddb file net/link_proto.c kern # XXX file kern/uipc_proto.c kern file kern/uipc_sem.c kern file kern/uipc_socket.c kern file kern/uipc_socket2.c kern file kern/uipc_syscalls.c kern file kern/uipc_usrreq.c kern define vfs: kern file kern/vfs_acl.c vfs file kern/vfs_bio.c vfs file kern/vfs_cache.c vfs file kern/vfs_cwd.c vfs file kern/vfs_dirhash.c vfs file kern/vfs_getcwd.c vfs file kern/vfs_hooks.c vfs file kern/vfs_init.c vfs file kern/vfs_lockf.c vfs file kern/vfs_lookup.c vfs file kern/vfs_mount.c vfs file kern/vfs_quotactl.c vfs file kern/vfs_subr.c vfs file kern/vfs_syscalls.c vfs file kern/vfs_trans.c vfs file kern/vfs_vnode.c vfs file kern/vfs_vnops.c vfs file kern/vfs_wapbl.c wapbl file kern/vfs_xattr.c vfs file kern/vnode_if.c vfs file miscfs/deadfs/dead_vfsops.c vfs file miscfs/deadfs/dead_vnops.c vfs file miscfs/fifofs/fifo_vnops.c vfs file miscfs/genfs/genfs_io.c vfs file miscfs/genfs/genfs_rename.c vfs file miscfs/genfs/genfs_vfsops.c vfs file miscfs/genfs/genfs_vnops.c vfs define layerfs file miscfs/genfs/layer_subr.c layerfs file miscfs/genfs/layer_vfsops.c layerfs file miscfs/genfs/layer_vnops.c layerfs file miscfs/specfs/spec_vnops.c vfs defflag KUBSAN prefix ../common/lib/libc/misc file ubsan.c kubsan prefix makeoptions kubsan CFLAGS+="-fsanitize=undefined" makeoptions kubsan CPPFLAGS+="-DACPI_MISALIGNMENT_NOT_SUPPORTED" @ 1.60 log @Add epoll(2) from Theodore Preduta as part of GSoC 2023 @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.59 2023/07/10 06:42:33 mrg Exp $ d157 1 @ 1.60.6.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.61 2024/12/22 23:24:20 riastradh Exp $ a156 1 file kern/subr_time_arith.c kern @ 1.59 log @add missing sys_memfd.c. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.58 2023/07/07 12:34:50 riastradh Exp $ d164 1 @ 1.58 log @heartbeat(9): New mechanism to check progress of kernel. This uses hard interrupts to check progress of low-priority soft interrupts, and one CPU to check progress of another CPU. If no progress has been made after a configurable number of seconds (kern.heartbeat.max_period, default 15), then the system panics -- preferably on the CPU that is stuck so we get a stack trace in dmesg of where it was stuck, but if the stuckness was detected by another CPU and the stuck CPU doesn't acknowledge the request to panic within one second, the detecting CPU panics instead. This doesn't supplant hardware watchdog timers. It is possible for hard interrupts to be stuck on all CPUs for some reason too; in that case heartbeat(9) has no opportunity to complete. Downside: heartbeat(9) relies on hardclock to run at a reasonably consistent rate, which might cause trouble for the glorious tickless future. However, it could be adapted to take a parameter for an approximate number of units that have elapsed since the last call on the current CPU, rather than treating that as a constant 1. XXX kernel revbump -- changes struct cpu_info layout @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.57 2021/09/19 15:51:27 thorpej Exp $ d168 1 @ 1.57 log @Add native implementations of eventfd(2) and timerfd(2), compatible with the Linux interfaces of the same name. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.56 2021/05/18 05:16:09 mrg Exp $ d7 1 d12 1 d53 1 @ 1.56 log @s/defopt/defflag/. 2021 called to remind me it's still 2021. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.55 2021/05/17 08:50:36 mrg Exp $ d161 1 d178 1 @ 1.55 log @move bi-endian disklabel support from the kernel and libsa into libkern. - dkcksum() and dkcksum_sized() move from subr_disk.c and from libsa into libkern/dkcksum.c (which is missing _sized() version), using the version from usr.sbin/disklabel. - swap_disklabel() moves from subr_disk_mbr.c into libkern, now called disklabel_swap(). (the sh3 version should be updated to use this.) - DISKLABEL_EI becomes a first-class option with opt_disklabel.h. - add libkern.h to libsa/disklabel.c. this enables future work for bi-endian libsa/ufs.c (relevant for ffsv1, ffsv2, lfsv1, and lfsv2), as well as making it possible for ports not using subr_disk_mbr.c to include bi-endian disklabel support (which, afaict, includes any disk on mbr-supporting platforms that do not have an mbr as well as disklabel.) builds successsfully on: alpha, i386, amd64, sun2, sun3, evbarm64, evbarm64-eb, sparc, and sparc64. tested in anita on i386 and sparc, testing in hardware on evbarm64*. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.54 2020/11/01 18:51:02 pgoyette Exp $ d118 1 a118 1 defopt opt_disklabel.h DISKLABEL_EI @ 1.54 log @Separate the compat_netbsd32_coredump from the compat_netbsd32 and coredump modules, into its own module. Welcome to 7.99.75 !!! @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.53 2020/10/19 19:33:02 christos Exp $ d118 1 @ 1.54.4.1 log @Sync w/ HEAD. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.56 2021/05/18 05:16:09 mrg Exp $ a117 1 defflag opt_disklabel.h DISKLABEL_EI @ 1.54.6.1 log @sync with head @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.56 2021/05/18 05:16:09 mrg Exp $ a117 1 defflag opt_disklabel.h DISKLABEL_EI @ 1.53 log @Arrange so that no options COREDUMP and no options PTRACE work together. Thanks to Paul Goyette for testing. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.52 2020/09/07 03:50:41 thorpej Exp $ d170 1 a170 1 file kern/sys_ptrace_common.c ptrace @ 1.53.2.1 log @Sync w/ HEAD. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.54 2020/11/01 18:51:02 pgoyette Exp $ d170 1 a170 1 file kern/sys_ptrace_common.c ptrace | procfs @ 1.53.2.2 log @Native implementation of the Linux eventfd(2) API. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.53.2.1 2020/12/14 14:38:13 thorpej Exp $ a159 1 file kern/sys_eventfd.c kern @ 1.53.2.3 log @Native implementation of the Linux timerfd API. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.53.2.2 2020/12/14 16:00:51 thorpej Exp $ a176 1 file kern/sys_timerfd.c kern @ 1.52 log @Add the ability to set an alternate cnmagic in the kernel config file, e.g.: options CNMAGIC="\"+++++\"" @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.51 2020/08/14 00:53:16 riastradh Exp $ d19 2 a20 2 file kern/core_elf32.c exec_elf32 file kern/core_elf64.c exec_elf64 @ 1.51 log @New system call getrandom() compatible with Linux and others. Three ways to call: getrandom(p, n, 0) Blocks at boot until full entropy. Returns up to n bytes at p; guarantees up to 256 bytes even if interrupted after blocking. getrandom(0,0,0) serves as an entropy barrier: return only after system has full entropy. getrandom(p, n, GRND_INSECURE) Never blocks. Guarantees up to 256 bytes even if interrupted. Equivalent to /dev/urandom. Safe only after successful getrandom(...,0), getrandom(...,GRND_RANDOM), or read from /dev/random. getrandom(p, n, GRND_RANDOM) May block at any time. Returns up to n bytes at p, but no guarantees about how many -- may return as short as 1 byte. Equivalent to /dev/random. Legacy. Provided only for source compatibility with Linux. Can also use flags|GRND_NONBLOCK to fail with EWOULDBLOCK/EAGAIN without producing any output instead of blocking. - The combination GRND_INSECURE|GRND_NONBLOCK is the same as GRND_INSECURE, since GRND_INSECURE never blocks anyway. - The combinations GRND_INSECURE|GRND_RANDOM and GRND_INSECURE|GRND_RANDOM|GRND_NONBLOCK are nonsensical and fail with EINVAL. As proposed on tech-userlevel, tech-crypto, tech-security, and tech-kern, and subsequently adopted by core (minus the getentropy part of the proposal, because other operating systems and participants in the discussion couldn't come to an agreement about getentropy and blocking semantics): https://mail-index.netbsd.org/tech-userlevel/2020/05/02/msg012333.html @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.50 2020/07/28 20:15:07 riastradh Exp $ d10 2 @ 1.50 log @Rewrite cprng_fast in terms of new ChaCha API. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.49 2020/06/07 09:45:19 maxv Exp $ d160 1 @ 1.49 log @Add fault(4). @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.48 2020/05/16 18:31:50 christos Exp $ d6 1 a6 1 define kern: machdep, uvm @ 1.48 log @Add ACL support for FFS. From FreeBSD. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.47 2020/04/30 03:28:18 riastradh Exp $ d121 1 @ 1.47 log @Rewrite entropy subsystem. Primary goals: 1. Use cryptography primitives designed and vetted by cryptographers. 2. Be honest about entropy estimation. 3. Propagate full entropy as soon as possible. 4. Simplify the APIs. 5. Reduce overhead of rnd_add_data and cprng_strong. 6. Reduce side channels of HWRNG data and human input sources. 7. Improve visibility of operation with sysctl and event counters. Caveat: rngtest is no longer used generically for RND_TYPE_RNG rndsources. Hardware RNG devices should have hardware-specific health tests. For example, checking for two repeated 256-bit outputs works to detect AMD's 2019 RDRAND bug. Not all hardware RNGs are necessarily designed to produce exactly uniform output. ENTROPY POOL - A Keccak sponge, with test vectors, replaces the old LFSR/SHA-1 kludge as the cryptographic primitive. - `Entropy depletion' is available for testing purposes with a sysctl knob kern.entropy.depletion; otherwise it is disabled, and once the system reaches full entropy it is assumed to stay there as far as modern cryptography is concerned. - No `entropy estimation' based on sample values. Such `entropy estimation' is a contradiction in terms, dishonest to users, and a potential source of side channels. It is the responsibility of the driver author to study the entropy of the process that generates the samples. - Per-CPU gathering pools avoid contention on a global queue. - Entropy is occasionally consolidated into global pool -- as soon as it's ready, if we've never reached full entropy, and with a rate limit afterward. Operators can force consolidation now by running sysctl -w kern.entropy.consolidate=1. - rndsink(9) API has been replaced by an epoch counter which changes whenever entropy is consolidated into the global pool. . Usage: Cache entropy_epoch() when you seed. If entropy_epoch() has changed when you're about to use whatever you seeded, reseed. . Epoch is never zero, so initialize cache to 0 if you want to reseed on first use. . Epoch is -1 iff we have never reached full entropy -- in other words, the old rnd_initial_entropy is (entropy_epoch() != -1) -- but it is better if you check for changes rather than for -1, so that if the system estimated its own entropy incorrectly, entropy consolidation has the opportunity to prevent future compromise. - Sysctls and event counters provide operator visibility into what's happening: . kern.entropy.needed - bits of entropy short of full entropy . kern.entropy.pending - bits known to be pending in per-CPU pools, can be consolidated with sysctl -w kern.entropy.consolidate=1 . kern.entropy.epoch - number of times consolidation has happened, never 0, and -1 iff we have never reached full entropy CPRNG_STRONG - A cprng_strong instance is now a collection of per-CPU NIST Hash_DRBGs. There are only two in the system: user_cprng for /dev/urandom and sysctl kern.?random, and kern_cprng for kernel users which may need to operate in interrupt context up to IPL_VM. (Calling cprng_strong in interrupt context does not strike me as a particularly good idea, so I added an event counter to see whether anything actually does.) - Event counters provide operator visibility into when reseeding happens. INTEL RDRAND/RDSEED, VIA C3 RNG (CPU_RNG) - Unwired for now; will be rewired in a subsequent commit. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.46 2020/04/26 18:53:33 thorpej Exp $ d99 2 d197 1 @ 1.46 log @Add a NetBSD native futex implementation, mostly written by riastradh@@. Map the COMPAT_LINUX futex calls to the native ones. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.45 2020/04/22 09:18:42 rin Exp $ d43 1 a72 3 file kern/kern_rndpool.c kern file kern/kern_rndq.c kern file kern/kern_rndsink.c kern @ 1.45 log @At the moment, we need kern/uipc_mbufdebug.c only if DDB is enabled. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.44 2020/03/02 16:00:54 riastradh Exp $ d157 1 @ 1.44 log @Include kern_crashme.c in non-DEBUG kernels. This is useful for simulating crashes in production to test failover. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.43 2020/02/08 07:07:07 maxv Exp $ d186 1 a186 1 file kern/uipc_mbufdebug.c kern & ether @ 1.44.4.1 log @Sync with bouyer-xenpvh-base2 (HEAD) @ text @d1 1 a1 1 # $NetBSD$ d186 1 a186 1 file kern/uipc_mbufdebug.c kern & ether & ddb @ 1.43 log @Retire KLEAK. KLEAK was a nice feature and served its purpose; it allowed us to detect dozens of info leaks on the kernel->userland boundary, and thanks to it we tackled a good part of the infoleak problem 1.5 years ago. Nowadays however, we have kMSan, which can detect uninitialized memory in the kernel. kMSan supersedes KLEAK: it can detect what KLEAK was able to detect, but in addition, (1) it operates in all of the kernel and not just the kernel->userland boundary, (2) it requires no user interaction, and (3) it is deterministic and not statistical. That makes kMSan the feature of choice to detect info leaks nowadays; people interested in detecting info leaks should boot a kMSan kernel and just wait for the magic to happen. KLEAK was a good ride, and a fun project, but now is time for it to go. Discussed with several people, including Thomas Barabosch. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.42 2020/01/04 03:46:19 kamil Exp $ d80 1 a80 1 file kern/kern_crashme.c debug @ 1.42 log @Rename sys_ptrace_lwpstatus.c to sys_process_lwpstatus.c Keep the names of functions internally as ptrace intact as this code is shared with core_elf32.c that already reaches ptrace(2) specifc symbols. No functional change intended. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.41 2019/12/26 08:52:38 kamil Exp $ a126 1 file kern/subr_kleak.c kleak @ 1.42.2.1 log @Sync with head. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.43 2020/02/08 07:07:07 maxv Exp $ d127 1 @ 1.41 log @Put ptrace_read_lwpstatus() and process_read_lwpstatus() to a new file Fixes "no PTRACE" kernel build, in particular zaurus kernel=INSTALL_C700. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.40 2019/12/20 21:20:09 ad Exp $ d164 1 a166 1 file kern/sys_ptrace_lwpstatus.c kern @ 1.40 log @Split subr_cpu.c out of kern_cpu.c, to contain routines shared with rump. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.39 2019/12/12 22:55:20 pgoyette Exp $ d166 1 @ 1.39 log @Eliminate per-hook duplication of common code as suggested by (and with major contributions from) riastradh@@ Welcome to 9.99.23 @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.38 2019/11/20 19:37:53 pgoyette Exp $ d107 1 @ 1.38 log @Move all non-emulation-specific coredump code into the coredump module, and remove all #ifdef COREDUMP conditional compilation. Now, the coredump module is completely separated from the emulation modules, and they can all be independently loaded and unloaded. Welcome to 9.99.18 ! @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.37 2019/11/14 16:23:52 maxv Exp $ d57 1 @ 1.37 log @Add support for Kernel Memory Sanitizer (kMSan). It detects uninitialized memory used by the kernel at run time, and just like kASan and kCSan, it is an excellent feature. It has already detected 38 uninitialized variables in the kernel during my testing, which I have since discreetly fixed. We use two shadows: - "shad", to track uninitialized memory with a bit granularity (1:1). Each bit set to 1 in the shad corresponds to one uninitialized bit of real kernel memory. - "orig", to track the origin of the memory with a 4-byte granularity (1:1). Each uint32_t cell in the orig indicates the origin of the associated uint32_t of real kernel memory. The memory consumption of these shadows is consequent, so at least 4GB of RAM is recommended to run kMSan. The compiler inserts calls to specific __msan_* functions on each memory access, to manage both the shad and the orig and detect uninitialized memory accesses that change the execution flow (like an "if" on an uninitialized variable). We mark as uninit several types of memory buffers (stack, pools, kmem, malloc, uvm_km), and check each buffer passed to copyout, copyoutstr, bwrite, if_transmit_lock and DMA operations, to detect uninitialized memory that leaves the system. This allows us to detect kernel info leaks in a way that is more efficient and also more user-friendly than KLEAK. Contrary to kASan, kMSan requires comprehensive coverage, ie we cannot tolerate having one non-instrumented function, because this could cause false positives. kMSan cannot instrument ASM functions, so I converted most of them to __asm__ inlines, which kMSan is able to instrument. Those that remain receive special treatment. Contrary to kASan again, kMSan uses a TLS, so we must context-switch this TLS during interrupts. We use different contexts depending on the interrupt level. The orig tracks precisely the origin of a buffer. We use a special encoding for the orig values, and pack together in each uint32_t cell of the orig: - a code designating the type of memory (Stack, Pool, etc), and - a compressed pointer, which points either (1) to a string containing the name of the variable associated with the cell, or (2) to an area in the kernel .text section which we resolve to a symbol name + offset. This encoding allows us not to consume extra memory for associating information with each cell, and produces a precise output, that can tell for example the name of an uninitialized variable on the stack, the function in which it was pushed on the stack, and the function where we accessed this uninitialized variable. kMSan is available with LLVM, but not with GCC. The code is organized in a way that is similar to kASan and kCSan, so it means that other architectures than amd64 can be supported. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.36 2019/11/05 20:19:17 maxv Exp $ d19 1 a19 1 file kern/core_netbsd.c exec_aout | exec_coff | exec_ecoff @ 1.36 log @Add Kernel Concurrency Sanitizer (kCSan) support. This sanitizer allows us to detect race conditions at runtime. It is a variation of TSan that is easy to implement and more suited to kernel internals, albeit theoretically less precise than TSan's happens-before. We do basically two things: - On every KCSAN_NACCESSES (=2000) memory accesses, we create a cell describing the access, and delay the calling CPU (10ms). - On all memory accesses, we verify if the memory we're reading/writing is referenced in a cell already. The combination of the two means that, if for example cpu0 does a read that is selected and cpu1 does a write at the same address, kCSan will fire, because cpu1's write collides with cpu0's read cell. The coverage of the instrumentation is the same as that of kASan. Also, the code is organized in a way similar to kASan, so it is easy to add support for more architectures than amd64. kCSan is compatible with KCOV. Reviewed by Kamil. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.35 2019/08/15 12:24:08 maxv Exp $ d135 1 @ 1.35 log @Unlink KMEM_GUARD leftovers. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.34 2019/04/04 20:19:07 christos Exp $ d108 1 @ 1.34 log @move setdisklabel(9) into a separate file. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.33 2019/02/23 03:10:06 kamil Exp $ d126 1 a126 3 defflag opt_kmem.h KMEM_GUARD KMEM_SIZE defparam opt_kmem.h KMEM_GUARD_DEPTH @ 1.34.4.1 log @Apply patch, requested by pgoyette in ticket #633: PR kern/54874: fix load failure of the exec_aout kernel module. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.34 2019/04/04 20:19:07 christos Exp $ d19 1 a19 2 file kern/core_netbsd.c exec_aout | exec_coff | exec_ecoff | modular @ 1.34.4.2 log @Pull up following revision(s) (requested by rin in ticket #754): sys/kern/files.kern: revision 1.44 Include kern_crashme.c in non-DEBUG kernels. This is useful for simulating crashes in production to test failover. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.34.4.1 2020/01/21 15:33:33 martin Exp $ d80 1 a80 1 file kern/kern_crashme.c kern @ 1.33 log @Add KCOV - kernel code coverage tracing device The KCOV driver implements collection of code coverage inside the kernel. It can be enabled on a per process basis from userland, allowing the kernel program counter to be collected during syscalls triggered by the same process. The device is oriented towards kernel fuzzers, in particular syzkaller. Currently the only supported coverage type is -fsanitize-coverage=trace-pc. The KCOV driver was initially developed in Linux. A driver based on the same concept was then implemented in FreeBSD and OpenBSD. Documentation is borrowed from OpenBSD and ATF tests from FreeBSD. This patch has been prepared by Siddharth Muralee, improved by and polished by myself before importing into the mainline tree. All ATF tests pass. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.32 2019/02/13 18:04:35 kamil Exp $ d112 1 @ 1.32 log @Silent UB alignment issues in acpica under kUBSan Pass -DACPI_MISALIGNMENT_NOT_SUPPORTED under kUBSan enabled. This option is dedicated for alignment sensitive CPUs in acpica. It was originally designed for Itanium CPUs, but nowadays it's wanted for aarch64 as well. Define it in acpica code under kUBSan in order to pacify Undefined Behavior reports on all ports (in particular x86). The number of reports is now halved with this patch applied. The remaining alignment alarms in acpica will be addressed in future. Patch contributed by @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.31 2019/01/27 02:08:43 pgoyette Exp $ d124 1 @ 1.31 log @Merge the [pgoyette-compat] branch @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.30 2019/01/09 04:01:20 mrg Exp $ d231 1 @ 1.30 log @crashme: a framework to test kernel faults. so far, only a basic panic() and null deref nodes are added. with options DEBUG, one can now use: # sysctl -w kern.crashme_enable=1 # sysctl -w kern.crashme.panic=1 # sysctl -w kern.crashme.null_deref=1 to trigger a crash. crashme_enable must be set to 1 before any of the nodes will be writeable. supports dynamic additional/removal of crashme nodes. (obsoletes kern.panic_now, which will be removed later.) @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.29 2018/12/24 16:58:54 thorpej Exp $ a9 2 file compat/common/compat_util.c kern file compat/common/compat_mod.c compat_netbsd | compat_netbsd32 d16 1 d113 1 @ 1.29 log @Add threadpool(9), an abstraction that provides shared pools of kernel threads running at specific priorities, with support for unbound pools and per-cpu pools. Written by riastradh@@, and based on the May 2014 draft, with a few changes by me: - Working on the assumption that a relative few priorities will actually be used, reduce the memory footprint by using linked lists, rather than 2 large (and mostly empty) tables. The performance impact is essentially nil, since these lists are consulted only when pools are created (and destroyed, for DIAGNOSTIC checks), and the lists will have at most 225 entries. - Make threadpool job object, which the caller must allocate storage for, really opaque. - Use typedefs for the threadpool types, to reduce the verbosity of the API somewhat. - Fix a bunch of pool / worker thread / job object lifecycle bugs. Also include an ATF unit test, written by me, that exercises the basics of the API by loading a kernel module that exposes several sysctls that allow the ATF test script to create and destroy threadpools, schedule a basic job, and verify that it ran. And thus NetBSD 8.99.29 has arrived. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.28 2018/12/16 14:06:56 rmind Exp $ d80 1 @ 1.28 log @Import thmap -- a concurrent trie-hash map, combining the elements of hashing and radix trie. It supports lock-free lookups and concurrent inserts/deletes. It is designed to be optimal as a general purpose *concurrent* associative array. Upstream: https://github.com/rmind/thmap Discussed on tech-kern@@ @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.27 2018/12/03 00:11:02 christos Exp $ d90 1 @ 1.27 log @Expose addresses depending on the KASLR setting (from mrg@@). Restores the status quo of exposing kernel addresses if there is no KASLR. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.26 2018/12/02 21:00:13 maxv Exp $ d145 1 @ 1.26 log @Introduce KLEAK, a new feature that can detect kernel information leaks. It works by tainting memory sources with marker values, letting the data travel through the kernel, and scanning the kernel<->user frontier for these marker values. Combined with compiler instrumentation and rotation of the markers, it is able to yield relevant results with little effort. We taint the pools and the stack, and scan copyout/copyoutstr. KLEAK is supported on amd64 only for now, but it is not complicated to add more architectures (just a matter of having the address of .text, and a stack unwinder). A userland tool is provided, that allows to execute a command in rounds and monitor the leaks generated all the while. KLEAK already detected directly 12 kernel info leaks, and prompted changes that in total fixed 25+ leaks. Based on an idea developed jointly with Thomas Barabosch (of Fraunhofer FKIE). @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.25 2018/11/15 09:38:57 maxv Exp $ d9 1 @ 1.25 log @Merge uipc_mbuf2.c into uipc_mbuf.c. Reorder the latter a little to gather similar functions. No functional change. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.24 2018/10/31 06:26:26 maxv Exp $ d120 1 @ 1.24 log @Move the MI parts of KASAN into kern/subr_asan.c. This file includes machine/asan.h, which contains the MD functions. We use an include rather than a plain C file, because we want GCC to optimize/inline some functions into one single block. The amd64 MD parts of KASAN are moved accordingly. The naming convention we use is: kasan_* a generic kasan object, declared in subr_asan.c kasan_md_* an MD kasan object, declared in machine/asan.h, and used in subr_asan.c __md_* an MD object, declared in machine/asan.h, and not used outside Overall this makes it easier to add KASAN support on more architectures. Discussed with several people. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.23 2018/09/14 01:55:19 mrg Exp $ a176 1 file kern/uipc_mbuf2.c kern @ 1.23 log @retire kern_xxx.c. long live kern_xxx.c. split it into kern_reboot.c and kern_scdebug.c. while here, add my copyright to kern_scdebug.c as it was largely rewritten for kernhist support. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.22 2018/08/20 11:35:28 maxv Exp $ d98 1 @ 1.22 log @Retire KMEM_REDZONE and KMEM_POISON. KMEM_REDZONE is not very efficient and cannot detect read overflows. KASAN can, and will be used instead. KMEM_POISON is enabled along with KMEM_GUARD, but it is redundant, since the latter can detect read UAFs contrary to the former. In fact maybe KMEM_GUARD should be retired too, because there are many cases where it doesn't apply. Simplifies the code. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.21 2018/08/03 04:35:20 kamil Exp $ d69 1 d77 1 a94 1 file kern/kern_xxx.c kern @ 1.21 log @Register kUBSan in the GENERIC amd64 kernel config Tested with GCC. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.20 2018/07/18 07:06:40 msaitoh Exp $ a118 2 KMEM_POISON KMEM_REDZONE @ 1.20 log @- Fix compile error for kernel configuration file which has no any Ethernet device driver. - Add missing default label. - Fix NetBSD RCS Id. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.19 2018/07/17 05:52:07 msaitoh Exp $ d221 6 @ 1.19 log @ Add /d(dump) and /v(verbose) modifiers to DDB's "show mbuf" command. Mainly written by Hiroki SUENAGA. Currently, /v supports Ethernet, PPP, PPPoE, ARP, IPv4, ICMP, IPv6, ICMPv6, TCP and UDP. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.18 2018/07/12 10:46:48 maxv Exp $ d178 1 a178 1 file kern/uipc_mbufdebug.c kern @ 1.18 log @Remove the kernel PMC code. Sent yesterday on tech-kern@@. This change: * Removes "options PERFCTRS", the associated includes, and the associated ifdefs. In doing so, it removes several XXXSMPs in the MI code, which is good. * Removes the PMC code of ARM XSCALE. * Removes all the pmc.h files. They were all empty, except for ARM XSCALE. * Reorders the x86 PMC code not to rely on the legacy pmc.h file. The definitions are put in sysarch.h. * Removes the kern/sys_pmc.c file, and along with it, the sys_pmc_control and sys_pmc_get_info syscalls. They are marked as OBSOL in kern, netbsd32 and rump. * Removes the pmc_evid_t and pmc_ctr_t types. * Removes all the associated man pages. The sets are marked as obsolete. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.17 2018/06/30 00:37:38 christos Exp $ d178 1 @ 1.17 log @defflag {SETUID,FD}SCRIPTS @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16 2017/12/16 10:15:12 maxv Exp $ a153 1 file kern/sys_pmc.c kern @ 1.16 log @compat_util.c must be compiled by default in the kernel. It is needed by generic non-compat code, so it must not depend on anything (libcompat or whatever option we choose to associate it to). @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.15 2017/05/19 00:01:33 pgoyette Exp $ d8 1 @ 1.16.4.1 log @State save. New kernel config for this brach only. TESTWIFI does produce a kernel. It is not working. athn files not compiling yet and commented out of the TESTWIFI kernel, which only has urtwn 802.11 driver enabled. ieee80211_alq.c and ieee80211_ddb.c not compiling yet. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16 2017/12/16 10:15:12 maxv Exp $ a138 1 file kern/subr_sbuf.c wlan @ 1.16.4.2 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.34 2019/04/04 20:19:07 christos Exp $ d8 2 a9 2 defflag opt_script.h SETUIDSCRIPTS FDSCRIPTS defflag KASLR a15 1 file kern/compat_stub.c kern a67 1 file kern/kern_reboot.c kern a74 1 file kern/kern_scdebug.c kern a75 1 file kern/kern_crashme.c debug a85 1 file kern/kern_threadpool.c kern d92 1 a95 1 file kern/subr_asan.c kasan a106 1 file kern/subr_disklabel.c kern a107 1 file kern/subr_emul.c kern a116 2 file kern/subr_kleak.c kleak file kern/subr_kcov.c kcov d118 2 a142 1 file kern/subr_thmap.c kern d154 1 d178 1 a178 1 file kern/uipc_mbufdebug.c kern & ether a220 7 defflag KUBSAN prefix ../common/lib/libc/misc file ubsan.c kubsan prefix makeoptions kubsan CFLAGS+="-fsanitize=undefined" makeoptions kubsan CPPFLAGS+="-DACPI_MISALIGNMENT_NOT_SUPPORTED" @ 1.16.4.3 log @Merge changes from current as of 20200406 @ text @d1 1 a1 1 # $NetBSD$ d19 1 a19 1 file kern/core_netbsd.c coredump a56 1 file kern/kern_module_hook.c kern d79 1 a79 1 file kern/kern_crashme.c kern a105 1 file kern/subr_cpu.c kern d124 1 a162 1 file kern/sys_process_lwpstatus.c kern @ 1.16.4.4 log @Mostly merge changes from HEAD upto 20200411 @ text @a109 1 file kern/subr_csan.c kcsan d127 3 a129 1 defflag opt_kmem.h KMEM_SIZE a136 1 file kern/subr_msan.c kmsan @ 1.16.2.1 log @Don't include the compat_mod.c here @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16 2017/12/16 10:15:12 maxv Exp $ d8 2 a9 1 #file compat/common/compat_util.c kern @ 1.16.2.2 log @Routine emulexec() in kern_exec.c needs emul_find_root(). Since kern_exec.c is included in every kernel, so compat_util.c needs to be included, too. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16.2.1 2018/03/06 05:44:37 pgoyette Exp $ d8 1 a8 1 file compat/common/compat_util.c kern @ 1.16.2.3 log @Move necessary routines out of compat_util.c and into exec_elf.c Once again, compat_util.c is only for modules, so move it back into compat/common/files.common and out of kern/files.kern @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16.2.2 2018/03/06 09:43:06 pgoyette Exp $ d8 1 @ 1.16.2.4 log @Move the emul_find_root() and emul_find_interp() to a new file subr_emul.c The previous location was in exec_elf.c but that can get built multiple times for a single kernel, so we could end up with duplicate symbols. Thanks to ,rg@@ for the heads-up. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16.2.3 2018/03/06 10:37:41 pgoyette Exp $ a105 1 file kern/subr_emul.c kern @ 1.16.2.5 log @Initial implementation of sys/kern/kern_stup.c as discussed on tech-kern For now, we only handle the dev/ccd and NTP needs; more to follow. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16.2.4 2018/03/07 09:33:26 pgoyette Exp $ a13 1 file kern/compat_stub.c kern @ 1.16.2.6 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.20 2018/07/18 07:06:40 msaitoh Exp $ a7 3 defflag opt_script.h SETUIDSCRIPTS FDSCRIPTS file compat/common/compat_util.c kern file compat/common/compat_mod.c compat_netbsd | compat_netbsd32 d153 1 a177 1 file kern/uipc_mbufdebug.c kern & ether @ 1.16.2.7 log @Clean up from sync-with-HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16.2.6 2018/07/28 04:38:08 pgoyette Exp $ d9 2 @ 1.16.2.8 log @Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes) @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.22 2018/08/20 11:35:28 maxv Exp $ d119 2 a220 6 defflag KUBSAN prefix ../common/lib/libc/misc file ubsan.c kubsan prefix makeoptions kubsan CFLAGS+="-fsanitize=undefined" @ 1.16.2.9 log @Ssync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.23 2018/09/14 01:55:19 mrg Exp $ a67 1 file kern/kern_reboot.c kern a74 1 file kern/kern_scdebug.c kern d92 1 @ 1.16.2.10 log @Sync with HEAD, resolve a couple of conflicts @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.25 2018/11/15 09:38:57 maxv Exp $ a96 1 file kern/subr_asan.c kasan d176 1 @ 1.16.2.11 log @Sync with HEAD, resolve a few conflicts @ text @d1 1 a1 1 # $NetBSD$ a8 1 defflag KASLR a87 1 file kern/kern_threadpool.c kern a119 1 file kern/subr_kleak.c kleak a142 1 file kern/subr_thmap.c kern @ 1.16.2.12 log @Synch with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.16.2.11 2018/12/26 14:02:03 pgoyette Exp $ a78 1 file kern/kern_crashme.c debug @ 1.15 log @Introduce new localcount(9) reference-count primitives. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.14.2.1 2017/04/27 05:36:37 pgoyette Exp $ d8 1 @ 1.15.2.1 log @Apply patch, requested by pgoyette in ticket #1486: PR kern/54874: fix load failure of the exec_aout kernel module. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.15 2017/05/19 00:01:33 pgoyette Exp $ d17 1 a17 2 file kern/core_netbsd.c exec_aout | exec_coff | exec_ecoff | modular @ 1.15.8.1 log @file files.kern was added on branch tls-maxphys on 2017-12-03 11:38:44 +0000 @ text @d1 218 @ 1.15.8.2 log @update from HEAD @ text @a0 218 # $NetBSD$ # # kernel sources # define kern: machdep, uvm defflag opt_kern.h KERN file compat/common/compat_mod.c compat_netbsd | compat_netbsd32 file conf/debugsyms.c kern file conf/param.c kern file kern/bufq_disksort.c bufq_disksort file kern/bufq_fcfs.c bufq_fcfs file kern/bufq_priocscan.c bufq_priocscan file kern/bufq_readprio.c bufq_readprio | new_bufq_strategy file kern/core_elf32.c exec_elf32 file kern/core_elf64.c exec_elf64 file kern/core_netbsd.c exec_aout | exec_coff | exec_ecoff file kern/cnmagic.c kern file kern/exec_aout.c exec_aout file kern/exec_ecoff.c exec_ecoff file kern/exec_elf32.c exec_elf32 file kern/exec_elf64.c exec_elf64 file kern/exec_script.c exec_script file kern/exec_subr.c kern file kern/init_main.c kern file kern/init_sysctl.c kern file kern/init_sysctl_base.c kern file kern/init_sysent.c kern file kern/kern_acct.c kern file kern/kern_auth.c kern file kern/kern_cfglock.c kern file kern/kern_clock.c kern file kern/kern_condvar.c kern file kern/kern_core.c coredump file kern/kern_cpu.c kern #kern/kern_ctf.c is only needed as part of dtrace_fbt module #file kern/kern_ctf.c kdtrace_hooks file kern/kern_descrip.c kern file kern/kern_event.c kern file kern/kern_exec.c kern file kern/kern_exit.c kern file kern/kern_fork.c kern file kern/kern_idle.c kern file kern/kern_hook.c kern file kern/kern_kthread.c kern file kern/kern_ktrace.c ktrace file kern/kern_ktrace_vfs.c ktrace file kern/kern_ksyms.c ksyms | ddb | modular needs-flag file kern/kern_lock.c kern file kern/kern_lwp.c kern file kern/kern_malloc.c kern file kern/kern_module.c kern file kern/kern_module_vfs.c kern file kern/kern_mutex.c kern file kern/kern_mutex_obj.c kern file kern/kern_fileassoc.c fileassoc file kern/kern_ntptime.c kern file kern/kern_pax.c pax_mprotect | pax_segvguard | pax_aslr file kern/kern_physio.c kern file kern/kern_pmf.c kern file kern/kern_proc.c kern file kern/kern_prot.c kern file kern/kern_ras.c kern file kern/kern_rate.c kern file kern/kern_resource.c kern file kern/kern_rndpool.c kern file kern/kern_rndq.c kern file kern/kern_rndsink.c kern file kern/kern_runq.c kern file kern/kern_rwlock.c kern file kern/kern_rwlock_obj.c kern file kern/kern_sdt.c kdtrace_hooks file kern/kern_sig.c kern file kern/kern_sleepq.c kern file kern/kern_softint.c kern file kern/kern_ssp.c kern file kern/kern_stub.c kern file kern/kern_subr.c kern file kern/kern_synch.c kern file kern/kern_syscall.c kern file kern/kern_sysctl.c kern file kern/kern_tc.c kern file kern/kern_time.c kern file kern/kern_timeout.c kern file kern/kern_turnstile.c kern file kern/kern_todr.c kern file kern/kern_uidinfo.c kern file kern/kern_uuid.c kern file kern/kern_xxx.c kern file kern/kgdb_stub.c kgdb file kern/sched_4bsd.c sched_4bsd file kern/sched_m2.c sched_m2 file kern/subr_autoconf.c kern file kern/subr_blist.c vmswap file kern/subr_bufq.c kern file kern/subr_callback.c kern file kern/subr_cprng.c kern file kern/subr_cpufreq.c kern file kern/subr_copy.c kern file kern/subr_debug.c debug file kern/subr_device.c kern file kern/subr_devsw.c kern file kern/subr_disk.c kern file kern/subr_disk_open.c kern file kern/subr_evcnt.c kern file kern/subr_exec_fd.c kern file kern/subr_extent.c kern file kern/subr_hash.c kern file kern/subr_humanize.c kern file kern/subr_interrupt.c kern file kern/subr_iostat.c kern file kern/subr_ipi.c kern file kern/subr_kcpuset.c kern defflag opt_kmem.h KMEM_GUARD KMEM_POISON KMEM_REDZONE KMEM_SIZE defparam opt_kmem.h KMEM_GUARD_DEPTH file kern/subr_kmem.c kern file kern/subr_kobj.c kern file kern/subr_kobj_vfs.c kern file kern/subr_localcount.c kern file kern/subr_lockdebug.c kern file kern/subr_log.c kern file kern/subr_lwp_specificdata.c kern file kern/subr_once.c kern file kern/subr_optstr.c kern file kern/subr_pcq.c kern file kern/subr_pcu.c kern file kern/subr_percpu.c kern file kern/subr_pool.c kern file kern/subr_prf.c kern file kern/subr_prof.c kern file kern/subr_pserialize.c kern file kern/subr_psref.c kern file kern/subr_specificdata.c kern file kern/subr_tftproot.c tftproot file kern/subr_time.c kern file kern/subr_userconf.c userconf file kern/subr_vmem.c kern file kern/subr_workqueue.c kern file kern/subr_xcall.c kern file kern/sys_aio.c aio file kern/sys_descrip.c kern file kern/sys_generic.c kern file kern/sys_module.c kern file kern/sys_mqueue.c mqueue file kern/sys_lwp.c kern file kern/sys_pipe.c !pipe_socketpair file kern/sys_pmc.c kern file kern/sys_process.c ptrace_hooks | ktrace file kern/sys_ptrace.c ptrace file kern/sys_ptrace_common.c ptrace file kern/sys_pset.c kern file kern/sys_select.c kern file kern/sys_sig.c kern file kern/sys_sched.c kern file kern/sys_socket.c kern file kern/syscalls.c syscall_debug | kdtrace_hooks file kern/sysv_ipc.c sysvshm | sysvsem | sysvmsg file kern/sysv_msg.c sysvmsg file kern/sysv_sem.c sysvsem file kern/sysv_shm.c sysvshm file kern/tty.c kern file kern/tty_conf.c kern file kern/tty_bsdpty.c compat_bsdpty file kern/tty_pty.c pty needs-flag file kern/tty_ptm.c pty file kern/tty_subr.c kern file kern/tty_tty.c kern file kern/uipc_accf.c kern file kern/uipc_domain.c kern file kern/uipc_mbuf.c kern file kern/uipc_mbuf2.c kern file net/link_proto.c kern # XXX file kern/uipc_proto.c kern file kern/uipc_sem.c kern file kern/uipc_socket.c kern file kern/uipc_socket2.c kern file kern/uipc_syscalls.c kern file kern/uipc_usrreq.c kern define vfs: kern file kern/vfs_bio.c vfs file kern/vfs_cache.c vfs file kern/vfs_cwd.c vfs file kern/vfs_dirhash.c vfs file kern/vfs_getcwd.c vfs file kern/vfs_hooks.c vfs file kern/vfs_init.c vfs file kern/vfs_lockf.c vfs file kern/vfs_lookup.c vfs file kern/vfs_mount.c vfs file kern/vfs_quotactl.c vfs file kern/vfs_subr.c vfs file kern/vfs_syscalls.c vfs file kern/vfs_trans.c vfs file kern/vfs_vnode.c vfs file kern/vfs_vnops.c vfs file kern/vfs_wapbl.c wapbl file kern/vfs_xattr.c vfs file kern/vnode_if.c vfs file miscfs/deadfs/dead_vfsops.c vfs file miscfs/deadfs/dead_vnops.c vfs file miscfs/fifofs/fifo_vnops.c vfs file miscfs/genfs/genfs_io.c vfs file miscfs/genfs/genfs_rename.c vfs file miscfs/genfs/genfs_vfsops.c vfs file miscfs/genfs/genfs_vnops.c vfs define layerfs file miscfs/genfs/layer_subr.c layerfs file miscfs/genfs/layer_vfsops.c layerfs file miscfs/genfs/layer_vnops.c layerfs file miscfs/specfs/spec_vnops.c vfs @ 1.14 log @use opt_kmem.h for the KMEM_ variables. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.13 2016/11/02 00:11:59 pgoyette Exp $ d124 1 @ 1.14.2.1 log @Restore all work from the former pgoyette-localcount branch (which is now abandoned doe to cvs merge botch). The branch now builds, and installs via anita. There are still some problems (cgd is non-functional and all atf tests time-out) but they will get resolved soon. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.14 2017/04/12 20:05:54 christos Exp $ a123 1 file kern/subr_localcount.c kern @ 1.13 log @* Split sys/kern/sys_process.c into three parts: 1 - ptrace(2) syscall for native emulation 2 - common ptrace(2) syscall code (shared with compat_netbsd32) 3 - support routines that are shared with PROCFS and/or KTRACE * Add module glue for #1 and #2. Both modules will be built-in to the kernel if "options PTRACE" is included in the config file (this is the default, defined in sys/conf/std). * Mark the ptrace(2) syscall as modular in syscalls.master (generated files will be committed shortly). * Conditionalize all remaining portions of PTRACE code on a new kernel option PTRACE_HOOKS. XXX Instead of PROCFS depending on 'options PTRACE', we should probably just add a procfs attribute to the sys/kern/sys_process.c file's entry in files.kern, and add PROCFS to the "#if defineds" for process_domem(). It's really confusing to have two different ways of requiring this file. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.12 2016/09/16 03:10:45 pgoyette Exp $ d116 5 @ 1.13.2.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.14 2017/04/12 20:05:54 christos Exp $ a115 5 defflag opt_kmem.h KMEM_GUARD KMEM_POISON KMEM_REDZONE KMEM_SIZE defparam opt_kmem.h KMEM_GUARD_DEPTH @ 1.12 log @Move kern_ctf.c into the dtrace_fbt module (the only place it is used) rather than including in kernels with KDTRACE_HOOKS defined. Update the dtrace_fbt module to depend on the zlib module. Bump kernel version to avoid module mismatch. Welcome to 7.99.38 ! @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.11 2016/04/09 06:21:16 riastradh Exp $ d147 3 a149 1 file kern/sys_process.c ptrace | ktrace @ 1.11 log @Add passive references, intermediate between pserialize and refcount. Discussed on tech-kern: https://mail-index.netbsd.org/tech-kern/2016/01/24/msg020069.html API is still experimental and likely to change. (Obvious changes: either remove extra arguments everywhere, or shrink psref_target to a single bit, at the expense of possibly valuable diagnostic checks.) Should do some real testing before we use this in anger! @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.10 2015/12/03 02:51:00 pgoyette Exp $ d36 4 a39 1 file kern/kern_ctf.c kdtrace_hooks @ 1.11.2.1 log @Initial import of localcount(9) as proposed by riastradh@@ This version compiles, but nothing uses it, yet. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.11 2016/04/09 06:21:16 riastradh Exp $ a115 1 file kern/subr_localcount.c kern @ 1.11.2.2 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.13 2016/11/02 00:11:59 pgoyette Exp $ d36 1 a36 4 #kern/kern_ctf.c is only needed as part of dtrace_fbt module #file kern/kern_ctf.c kdtrace_hooks d145 1 a145 3 file kern/sys_process.c ptrace_hooks | ktrace file kern/sys_ptrace.c ptrace file kern/sys_ptrace_common.c ptrace @ 1.11.2.3 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.14 2017/04/12 20:05:54 christos Exp $ a115 5 defflag opt_kmem.h KMEM_GUARD KMEM_POISON KMEM_REDZONE KMEM_SIZE defparam opt_kmem.h KMEM_GUARD_DEPTH @ 1.10 log @Merge the compat_sysv module into the sysv_ipc module - it should never have been a separate module in the first place (my bad). Adjust dependencies as appropriate. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.9 2015/09/03 01:09:38 uebayasi Exp $ d128 1 @ 1.9 log @Build conf/param.c normally. @ text @d1 1 a1 1 # $NetBSD$ a8 2 file compat/common/compat_sysv_mod.c (compat_netbsd | compat_netbsd32) & (sysvshm | sysvsem | sysvmsg) @ 1.8 log @Move dev/ definitions out of files.kern. @ text @d12 1 @ 1.7 log @Add kernel code to support intrctl(8). @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.6 2015/05/10 07:41:15 pgoyette Exp $ a11 24 file dev/bio.c bio needs-flag file dev/ccd.c ccd file dev/cgd.c cgd file dev/cgd_crypto.c cgd file dev/clock_subr.c kern # XXX file dev/clockctl.c clockctl file dev/dksubr.c cgd | xbd | ccd | raid | dm | ld file dev/dkwedge/dk.c kern # XXX file dev/dkwedge/dkwedge_apple.c dkwedge_method_apple file dev/dkwedge/dkwedge_bsdlabel.c dkwedge_method_bsdlabel file dev/dkwedge/dkwedge_gpt.c dkwedge_method_gpt file dev/dkwedge/dkwedge_mbr.c dkwedge_method_mbr file dev/firmload.c firmload file dev/fss.c fss file dev/keylock.c keylock file dev/lockstat.c lockstat needs-flag file dev/md.c md file dev/mm.c kern # XXX file dev/nullcons_subr.c nullcons needs-flag file dev/radio.c radio needs-flag file dev/rndpseudo.c rnd needs-flag file dev/sequencer.c sequencer needs-flag file dev/video.c video needs-flag file dev/vnd.c vnd @ 1.6 log @Split the SYSV* compat code out into a separate compat_sysv module. For monolithic kernels, both modules will be compiled as "built-ins", while modular environments will be able to load the SYSVSEM, SYSVSHM, and SYSVMSG code independant from the rest of compat. This is a necessary precursor step to making the "STD" SYSV* code into a separate module. Tested in both monolithic and modular environments with no errors seen. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.5 2015/05/06 15:57:08 hannken Exp $ d134 1 @ 1.5 log @Remove miscfs/syncfs and - move the syncer into kern/vfs_subr.c. - change the syncer to process the mountlist and VFS_SYNC as appropriate. - use an API for mount points similiar to the API for vnodes: - vfs_syncer_add_to_worklist(struct mount *mp) to add - vfs_syncer_remove_from_worklist(struct mount *mp) to remove a mount. No objections on tech-kern@@ @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.4 2015/05/02 12:57:19 mlelstv Exp $ d9 2 @ 1.4 log @Merge dk_intf and dkdriver interfaces. Merge common disk driver functionality in ld.c with dksubr.c. Adjust the two previous users of dk_intf (cgd and xbd) to the changes. This file was missing from the commit. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.3 2015/03/07 16:35:37 christos Exp $ a228 2 file miscfs/syncfs/sync_subr.c vfs file miscfs/syncfs/sync_vnops.c vfs @ 1.3 log @syscallnames are needed by dtrace @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2 2014/10/12 04:38:28 uebayasi Exp $ d16 1 a16 1 file dev/dksubr.c cgd | xbd | ccd | raid | dm @ 1.2 log @Mark some stray files as kern for now. @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.1 2014/10/12 04:30:42 uebayasi Exp $ d171 1 a171 1 file kern/syscalls.c syscall_debug @ 1.2.2.1 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.3 2015/03/07 16:35:37 christos Exp $ d171 1 a171 1 file kern/syscalls.c syscall_debug | kdtrace_hooks @ 1.2.2.2 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2.2.1 2015/04/06 15:18:20 skrll Exp $ a8 2 file compat/common/compat_sysv_mod.c (compat_netbsd | compat_netbsd32) & (sysvshm | sysvsem | sysvmsg) d16 1 a16 1 file dev/dksubr.c cgd | xbd | ccd | raid | dm | ld d229 2 @ 1.2.2.3 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2.2.2 2015/06/06 14:40:21 skrll Exp $ d12 24 a35 1 file conf/param.c kern a133 1 file kern/subr_interrupt.c kern @ 1.2.2.4 log @Sync with HEAD (as of 26th Dec) @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2.2.3 2015/09/22 12:06:07 skrll Exp $ d9 2 @ 1.2.2.5 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2.2.4 2015/12/27 12:10:05 skrll Exp $ a127 1 file kern/subr_psref.c kern @ 1.2.2.6 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2.2.5 2016/04/22 15:44:16 skrll Exp $ d36 1 a36 4 #kern/kern_ctf.c is only needed as part of dtrace_fbt module #file kern/kern_ctf.c kdtrace_hooks @ 1.2.2.7 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2.2.6 2016/10/05 20:56:02 skrll Exp $ d147 1 a147 3 file kern/sys_process.c ptrace_hooks | ktrace file kern/sys_ptrace.c ptrace file kern/sys_ptrace_common.c ptrace @ 1.2.2.8 log @Sync with HEAD @ text @d1 1 a1 1 # $NetBSD: files.kern,v 1.2.2.7 2016/12/05 10:55:26 skrll Exp $ a115 5 defflag opt_kmem.h KMEM_GUARD KMEM_POISON KMEM_REDZONE KMEM_SIZE defparam opt_kmem.h KMEM_GUARD_DEPTH a118 1 file kern/subr_localcount.c kern @ 1.1 log @Move kern definitions. @ text @d1 1 a1 1 # $NetBSD$ d9 1 a9 1 file conf/debugsyms.c d14 1 a14 1 file dev/clock_subr.c d17 1 a17 1 file dev/dkwedge/dk.c d27 1 a27 1 file dev/mm.c d187 1 a187 1 file net/link_proto.c @