Re: Please review: lookup changes

2020-03-09 Thread Andrew Doran
On Mon, Mar 09, 2020 at 07:59:03PM +, Andrew Doran wrote: > > Why don't we check our watch immediately when we set IN_CHANGE , > > and defer the disk write to update the inode like UFS_WAPBL_UPDATE > > does -- and just skip UFS_ITIMES in VOP_GETATTR? > > This looks to go back least as far as

Re: Please review: lookup changes

2020-03-09 Thread Andrew Doran
On Sun, Mar 08, 2020 at 09:22:28PM +, Taylor R Campbell wrote: > > Date: Thu, 5 Mar 2020 22:48:25 + > > From: Andrew Doran > > > > I'd like to merge the changes on the ad-namecache branch, and would > > appreciate any code review. The motivation for these changes is, as > > you might

Re: NULL pointer arithmetic issues

2020-03-09 Thread Martin Husemann
On Sun, Mar 08, 2020 at 09:58:05PM +0100, Kamil Rytarowski wrote: > Aaron (as he was mentioned by name), is a voting member in the C++ > committee and actively working on harmonizing C and C++ standards. There > is a good chance that C and C++ will be synced here (they definitely > should). Yes,

Re: NULL pointer arithmetic issues

2020-03-09 Thread Aaron Ballman
On Mon, Mar 9, 2020 at 9:21 AM Martin Husemann wrote: > > On Mon, Mar 09, 2020 at 01:34:23PM +0100, Kamil Rytarowski wrote: > > > We instruct a C compiler that pointer used in the pserialize macros is > > never NULL, as the side effect of adding to it 0. > > I question that side effect. > > The

modload(8) v.s. alias

2020-03-09 Thread Rin Okuyama
Hi, modload(8) fails if some depended functions are alias, at least on m68k. For example: # uname -a NetBSD 9.99.49 NetBSD 9.99.49 (GENERIC) #6: Mon Mar 9 22:53:07 JST 2020 rin@latipes:/build/src/sys/arch/sun2/compile/GENERIC sun2 # modload nfs [xxx.xxx] kobj_checksyms, 998:

Re: NULL pointer arithmetic issues

2020-03-09 Thread Aaron Ballman
On Sun, Mar 8, 2020 at 2:30 PM Taylor R Campbell wrote: > > > Date: Sun, 8 Mar 2020 20:52:29 +0300 > > From: Roman Lebedev > > > > so we are allowed to lower that in clang front-end as: > > > > int > > statu(char *a) > > { > > __builtin_assume(a != NULL); > > a += getuid() - geteuid(); > >

Re: NULL pointer arithmetic issues

2020-03-09 Thread Kamil Rytarowski
On 09.03.2020 07:05, Martin Husemann wrote: > Also note that the getuid()/geteuid() example here is IMHO unrelated to the > original issue that caused this discussion, so I am not even convinced this > is NOT a ubsan bug. We instruct a C compiler that pointer used in the pserialize macros is

Re: NULL pointer arithmetic issues

2020-03-09 Thread Martin Husemann
On Mon, Mar 09, 2020 at 01:34:23PM +0100, Kamil Rytarowski wrote: > We instruct a C compiler that pointer used in the pserialize macros is > never NULL, as the side effect of adding to it 0. I question that side effect. The C++ standard disagrees with your interpration, I have not seen clear

Re: NULL pointer arithmetic issues

2020-03-09 Thread Aaron Ballman
On Mon, Mar 9, 2020 at 11:51 AM Martin Husemann wrote: > > On Mon, Mar 09, 2020 at 09:38:31AM -0400, Aaron Ballman wrote: > > The way I read this is: > > > > "If the pointer operand points to an element of an array object" -- it > > does not (null is not a valid array object). > > "Moreover, if

Re: NULL pointer arithmetic issues

2020-03-09 Thread Joerg Sonnenberger
On Mon, Mar 09, 2020 at 09:50:50AM -0400, Aaron Ballman wrote: > On Sun, Mar 8, 2020 at 2:30 PM Taylor R Campbell > > I ask because in principle a conformant implementation could compile > > the NetBSD kernel into a useless blob that does nothing -- we rely on > > all sorts of behaviour relative

Re: NULL pointer arithmetic issues

2020-03-09 Thread Aaron Ballman
On Mon, Mar 9, 2020 at 12:36 PM Joerg Sonnenberger wrote: > > On Mon, Mar 09, 2020 at 09:50:50AM -0400, Aaron Ballman wrote: > > On Sun, Mar 8, 2020 at 2:30 PM Taylor R Campbell > > > I ask because in principle a conformant implementation could compile > > > the NetBSD kernel into a useless blob

Re: NULL pointer arithmetic issues

2020-03-09 Thread Martin Husemann
On Mon, Mar 09, 2020 at 09:38:31AM -0400, Aaron Ballman wrote: > The way I read this is: > > "If the pointer operand points to an element of an array object" -- it > does not (null is not a valid array object). > "Moreover, if the expression P points to the last element of an array > object" --

Re: modload(8) v.s. alias

2020-03-09 Thread Paul Goyette
Our in-kernel linker does not understand weak references. It would be a lot of work to implement, and there are some issues that would need to be considered carefully. For example, if module A defines a weak alias, and module B is loaded and resolves the alias, what do you do if module C gets

Re: NULL pointer arithmetic issues

2020-03-09 Thread Martin Husemann
On Mon, Mar 09, 2020 at 12:41:37PM -0400, Aaron Ballman wrote: > > You could view NULL as a special pointer pointing to an inaccessible > > zero sized object. Adding 0 to it still points to the same special > > non-object. I guess that is how the C++ folks see it. > > This wording has always been

Re: NULL pointer arithmetic issues

2020-03-09 Thread Aaron Ballman
On Mon, Mar 9, 2020 at 2:53 PM Martin Husemann wrote: > > On Mon, Mar 09, 2020 at 12:41:37PM -0400, Aaron Ballman wrote: > > > You could view NULL as a special pointer pointing to an inaccessible > > > zero sized object. Adding 0 to it still points to the same special > > > non-object. I guess