In article <20151210081103.e0fbbf...@cvs.netbsd.org>,
Kengo NAKAHARA <source-changes-d@NetBSD.org> wrote:
>-=-=-=-=-=-
>
>Module Name:   src
>Committed By:  knakahara
>Date:          Thu Dec 10 08:11:03 UTC 2015
>
>Modified Files:
>       src/sys/net: if_gif.c
>
>Log Message:
>kmem_zalloc(, KM_SLEEP) must not return NULL.

I would like to solicit opinions about this change and form a general
policy.

1. I would like to reduce the use of KASSERT in the kernel, specially
in situations like thee above where the test can be centralized (inside
kmem_alloc) and avoided without being fatal.

2. Static analyzer models understand allocators, but they are not
smart enough to determine under which situations they can fail. I
believe even kmem_alloc with KM_SLEEP can fail when the size is
large enough.

So I propose to always check the return value of allocators with
an 'if' and not a KASSERT.

christos

Reply via email to