Re: CVS commit: src

2020-02-25 Thread Maxime Villard

Le 23/02/2020 à 23:19, Andrew Doran a écrit :

On Fri, Feb 21, 2020 at 02:14:31PM +0100, Kamil Rytarowski wrote:


On 22.12.2019 20:47, Andrew Doran wrote:

Module Name:src
Committed By:   ad
Date:   Sun Dec 22 19:47:35 UTC 2019

Modified Files:
src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_ctldir.c
src/sys/kern: vfs_mount.c vfs_subr.c vfs_syscalls.c
src/sys/miscfs/genfs: genfs_vfsops.c
src/sys/nfs: nfs_export.c
src/sys/sys: mount.h vnode.h vnode_impl.h
src/sys/ufs/lfs: ulfs_vfsops.c
src/sys/ufs/ufs: ufs_vfsops.c ufs_wapbl.c

Log Message:
Make mntvnode_lock per-mount, and address false sharing of struct mount.



This change broke kUBSan syzbot.

The sanitizer is now very noisy as struct mount requires 64 byte alignment.

http://netbsd.org/~kamil/kubsan/mount-alignment.txt


I had a look this weekend.  This is down to KMEM_SIZE messing up the
alignment, so is a DIAGNOSTIC thing.  The align_offset parameter to
pool_cache() would be a nice easy way to solve this but it seems someone
killed that off, so I'll need to give this some more thought.

Andrew


kmem guarantees alignment on 8 bytes, but not more. Changing the backend
allocators to enforce more alignment still may not result in aligned buffers,
because kmem has the right to modify the buffers for debugging purposes, like
with KMEM_SIZE.

If you want a buffer aligned to a specific value, don't use kmem, rather a
pool(_cache) with COHERENCY_UNIT in "align".

If the goal is to have kmem really enforce COHERENCY_UNIT alignment, then this
should be documented and the debugging features should be adapted to respect
that constraint.

"align_offset" got removed because it increased complexity in subr_pool for
no reason (two users in all of the kernel, one was actually a bug).


Re: CVS commit: src/external/bsd/libarchive/dist/libarchive

2020-02-25 Thread Andreas Gustafsson
Earlier, I wrote:
> > cvs rdiff -u -r1.1.1.4 -r1.2 \
> > src/external/bsd/libarchive/dist/libarchive/archive_read.c
> 
> What kind of sorcery is this?  Why is the diff not relative to 1.1?

To answer my own question, "vendor branch sorcery".  What confused me
about this in the first place was that if you look at the history of
this file in cvsweb, at

  
http://cvsweb.netbsd.org/bsdweb.cgi/src/external/bsd/libarchive/dist/libarchive/archive_read.c?only_with_tag=MAIN

it says "Diff to previous 1.1 (colored)", and if you click on that,
you see a diff that's much larger than the upstream patch at

  
https://github.com/libarchive/libarchive/commit/ec5b86b48e99c5501374b01606f1ccdae6a8a93e.patch

Bug in cvsweb?
-- 
Andreas Gustafsson, g...@gson.org


Re: CVS commit: src/external/bsd/libarchive/dist/libarchive

2020-02-25 Thread Jason Thorpe
I repled to you and gson off-list.

> On Feb 25, 2020, at 8:24 AM, Kamil Rytarowski  wrote:
> 
> On 25.02.2020 16:24, Andreas Gustafsson wrote:
>> Kamil Rytarowski wrote:
>>> To generate a diff of this commit:
>>> cvs rdiff -u -r1.1.1.4 -r1.2 \
>>>src/external/bsd/libarchive/dist/libarchive/archive_read.c
>> 
>> What kind of sorcery is this?  Why is the diff not relative to 1.1?
>> 
> 
> I don't know. I was on the HEAD branch.
> 

-- thorpej



Re: CVS commit: src/external/bsd/libarchive/dist/libarchive

2020-02-25 Thread Kamil Rytarowski
On 25.02.2020 16:24, Andreas Gustafsson wrote:
> Kamil Rytarowski wrote:
>> To generate a diff of this commit:
>> cvs rdiff -u -r1.1.1.4 -r1.2 \
>> src/external/bsd/libarchive/dist/libarchive/archive_read.c
> 
> What kind of sorcery is this?  Why is the diff not relative to 1.1?
> 

I don't know. I was on the HEAD branch.



signature.asc
Description: OpenPGP digital signature


Re: CVS commit: src/external/bsd/libarchive/dist/libarchive

2020-02-25 Thread Andreas Gustafsson
Kamil Rytarowski wrote:
> To generate a diff of this commit:
> cvs rdiff -u -r1.1.1.4 -r1.2 \
> src/external/bsd/libarchive/dist/libarchive/archive_read.c

What kind of sorcery is this?  Why is the diff not relative to 1.1?
-- 
Andreas Gustafsson, g...@gson.org


Re: CVS commit: src/sys/kern

2020-02-25 Thread Kamil Rytarowski
On 24.02.2020 21:47, Jaromir Dolecek wrote:
> Module Name:  src
> Committed By: jdolecek
> Date: Mon Feb 24 20:47:47 UTC 2020
> 
> Modified Files:
>   src/sys/kern: init_main.c
> 
> Log Message:
> move config_init_mi() call before vfsinit(), which can trigger loading
> of VFS modules
> 
> fixes crash with LOCKDEBUG due to uninitialized mutex when zfs
> module is loaded in boot, because zfs's spa_init() calls config_mountroot()
> which now requires the config init having been done
> 
> 
> To generate a diff of this commit:
> cvs rdiff -u -r1.521 -r1.522 src/sys/kern/init_main.c
> 
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
> 
> 

kASan is still broken on boot. Please fix.


[   1.0188350] acpicpu1 at cpu1: ACPI CPU
[   1.0188350] cpu0 has 2 core siblings: cpu1 cpu0
[   1.0188350] cpu0 has 2 pkg siblings: cpu1 cpu0
[   1.0188350] cpu0 has 1 1st siblings: cpu0
[   1.0188350] cpu0 first in package: cpu0
[   1.0188350] cpu1 has 2 core siblings: cpu0 cpu1
[   1.0188350] cpu1 has 2 pkg siblings: cpu0 cpu1
[   1.0188350] cpu1 has 1 1st siblings: cpu0
[   1.0188350] cpu1 first in package: cpu0
[   1.2307575] panic: ASan: Unauthorized Access In 0x811e6be6:
Addr 0x98000f382b58 [8 bytes, read, PoolUseAfterFree]

[   1.2401020] cpu1: Begin traceback...
[   1.2501232] vpanic() at netbsd:vpanic+0x241
[   1.2701652] snprintf() at netbsd:snprintf
[   1.2902064] kasan_report() at netbsd:kasan_report+0x98
[   1.3102484] __asan_load8() at netbsd:__asan_load8+0x294
[   1.3302897] config_interrupts_thread() at
netbsd:config_interrupts_thread+0x68
[   1.3403126] cpu1: End traceback...
[   1.3403126] fatal breakpoint trap in supervisor mode
[   1.3503263] trap type 1 code 0 rip 0x8021e4b5 cs 0x8 rflags
0x246 cr2 0 ilevel 0 rsp 0x98017de07d60
[   1.3603479] curlwp 0x9800116a16c0 pid 0.30 lowest kstack
0x98017de002c0
Stopped in pid 0.30 (system) at netbsd:breakpoint+0x5:  leave
db{1}>

https://syzkaller.appspot.com/bug?id=aa6e0c00233b3e55340da80d7636bb2c18181e5f



signature.asc
Description: OpenPGP digital signature