<feed xmlns='http://www.w3.org/2005/Atom'>
<title>netbsd/sys/kern/tty.c, branch lockdoc-9.3</title>
<subtitle>NetBSD fork for lockdoc analysis</subtitle>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/'/>
<entry>
<title>Implement stubbed out lockdoc functions; update lockdoc_event.h</title>
<updated>2023-03-01T19:24:39+00:00</updated>
<author>
<name>Merlin Scholz</name>
<email>merlin@scholz.ruhr</email>
</author>
<published>2023-03-01T19:24:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=ae5cfd54d9d8cba805801248910a38fe7d7fbd29'/>
<id>ae5cfd54d9d8cba805801248910a38fe7d7fbd29</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Ignore Carrier Detect on tty when runngin under LOCKDOC kernel to curcumvent Bochs's interesting implementation</title>
<updated>2023-02-27T01:55:32+00:00</updated>
<author>
<name>Merlin Scholz</name>
<email>merlin@scholz.ruhr</email>
</author>
<published>2023-02-27T01:55:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=0e44bf4b6cc27acd40d8a7b5d3342a233d22ed25'/>
<id>0e44bf4b6cc27acd40d8a7b5d3342a233d22ed25</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename the MODULE_*_HOOK() macros to MODULE_HOOK_*() as briefly</title>
<updated>2019-03-01T11:06:55+00:00</updated>
<author>
<name>pgoyette</name>
<email>pgoyette@NetBSD.org</email>
</author>
<published>2019-03-01T11:06:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=1a480a4c6b1caa62b9ce6ed95f5fc09813f8f470'/>
<id>1a480a4c6b1caa62b9ce6ed95f5fc09813f8f470</id>
<content type='text'>
discussed on irc.

NFCI intended.

Ride the earlier kernel bump - it;s getting crowded.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
discussed on irc.

NFCI intended.

Ride the earlier kernel bump - it;s getting crowded.</pre>
</div>
</content>
</entry>
<entry>
<title>Normalize all the compat hooks' names to the form</title>
<updated>2019-01-29T09:28:50+00:00</updated>
<author>
<name>pgoyette</name>
<email>pgoyette@NetBSD.org</email>
</author>
<published>2019-01-29T09:28:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=314d436d3888cd3d69577d7d301b86589df7c3a3'/>
<id>314d436d3888cd3d69577d7d301b86589df7c3a3</id>
<content type='text'>
	&lt;subsystem&gt;_&lt;function&gt;_&lt;version&gt;_hook

NFCI

XXX Note that although this introduces a change in the kernel-to-
XXX module interface, we are NOT bumping the kernel version number.
XXX We will bump the version number once the interface stabilizes.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
	&lt;subsystem&gt;_&lt;function&gt;_&lt;version&gt;_hook

NFCI

XXX Note that although this introduces a change in the kernel-to-
XXX module interface, we are NOT bumping the kernel version number.
XXX We will bump the version number once the interface stabilizes.</pre>
</div>
</content>
</entry>
<entry>
<title>- provide a hook for the 43 tty ioctls</title>
<updated>2019-01-28T15:46:49+00:00</updated>
<author>
<name>christos</name>
<email>christos@NetBSD.org</email>
</author>
<published>2019-01-28T15:46:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=f2c2830dcf046843339c522e21d3dbd13319dd44'/>
<id>f2c2830dcf046843339c522e21d3dbd13319dd44</id>
<content type='text'>
- make the 60 tty ioctl hook look the same
- fix the tty code to call both hooks and remove unused lock</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- make the 60 tty ioctl hook look the same
- fix the tty code to call both hooks and remove unused lock</pre>
</div>
</content>
</entry>
<entry>
<title>Merge the [pgoyette-compat] branch</title>
<updated>2019-01-27T02:08:33+00:00</updated>
<author>
<name>pgoyette</name>
<email>pgoyette@NetBSD.org</email>
</author>
<published>2019-01-27T02:08:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=cc17ee2ece085d7d746bcd8fa9be19170855aaac'/>
<id>cc17ee2ece085d7d746bcd8fa9be19170855aaac</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename min/max -&gt; uimin/uimax for better honesty.</title>
<updated>2018-09-03T16:29:22+00:00</updated>
<author>
<name>riastradh</name>
<email>riastradh@NetBSD.org</email>
</author>
<published>2018-09-03T16:29:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=a8a5c538b6388ff28a5944a8f637db644ee9a623'/>
<id>a8a5c538b6388ff28a5944a8f637db644ee9a623</id>
<content type='text'>
These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) &lt; (b) ? (a) : (b))
	#define max(a, b)	((a) &gt; (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) &lt; (b) ? (a) : (b))
	#define max(a, b)	((a) &gt; (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)</pre>
</div>
</content>
</entry>
<entry>
<title>correct typo: and and -&gt; and</title>
<updated>2018-03-30T22:59:43+00:00</updated>
<author>
<name>maya</name>
<email>maya@NetBSD.org</email>
</author>
<published>2018-03-30T22:59:43+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=b4961ba98eaf8adef02c06c9ee27b024c83c0749'/>
<id>b4961ba98eaf8adef02c06c9ee27b024c83c0749</id>
<content type='text'>
from chris28.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
from chris28.</pre>
</div>
</content>
</entry>
<entry>
<title>Use C99 initializer for filterops</title>
<updated>2017-10-25T08:12:37+00:00</updated>
<author>
<name>maya</name>
<email>maya@NetBSD.org</email>
</author>
<published>2017-10-25T08:12:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=4aa34cd6ca3cea8b38afc3778c72693e1c6089dc'/>
<id>4aa34cd6ca3cea8b38afc3778c72693e1c6089dc</id>
<content type='text'>
Mostly done with spatch with touchups for indentation

@@
expression a;
identifier b,c,d;
identifier p;
@@
const struct filterops p =
- 	{ a, b, c, d
+ 	{
+ 	.f_isfd = a,
+ 	.f_attach = b,
+ 	.f_detach = c,
+ 	.f_event = d,
};</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Mostly done with spatch with touchups for indentation

@@
expression a;
identifier b,c,d;
identifier p;
@@
const struct filterops p =
- 	{ a, b, c, d
+ 	{
+ 	.f_isfd = a,
+ 	.f_attach = b,
+ 	.f_detach = c,
+ 	.f_event = d,
};</pre>
</div>
</content>
</entry>
<entry>
<title>Require exact credential match; this way even if we su to the original user</title>
<updated>2016-10-01T04:42:54+00:00</updated>
<author>
<name>christos</name>
<email>christos@NetBSD.org</email>
</author>
<published>2016-10-01T04:42:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.infra.scholz.ruhr/netbsd/commit/?id=4d6e58d6f88d45977421dee9ddfabc0e1b7e20e6'/>
<id>4d6e58d6f88d45977421dee9ddfabc0e1b7e20e6</id>
<content type='text'>
that created the session, we won't match his credentials.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
that created the session, we won't match his credentials.</pre>
</div>
</content>
</entry>
</feed>
