Да, это определенно похоже на ошибку.
Подкаталог tools/
представляет собой набор инструментов пользовательского пространства (как следует из названия). Это также видно по тому, что в заголовок стандартной библиотеки включены C. Так что это, конечно, не ошибка ядра (это было бы очень плохо), а лишь незначительный недосмотр в инструменте тестирования virtio
.
Этот инструмент тестирования virtio
, кажется, переопределяет некоторые API ядра высмеивать их поведение в пространстве пользователя. Хотя эта функция, кажется, никогда не используется на практике, она просто определена.
marco:~/git/linux/tools/virtio$ grep -r kzalloc
linux/kernel.h:static inline void *kzalloc(size_t s, gfp_t gfp)
ringtest/ptr_ring.c:static inline void *kzalloc(unsigned size, gfp_t flags)
marco:~/git/linux/tools/virtio$
Вероятно, он предназначен для тех, кто хочет протестировать некоторый код ядра virtio в пользовательском пространстве.
В любом случае, вы можете попробовать сообщить об ошибке . Сценарий get_mantainer.pl
предлагает:
$ perl scripts/get_maintainer.pl -f tools/virtio/linux/kernel.h
Bad divisor in main::vcs_assign: 0
"Michael S. Tsirkin" <mst@redhat.com> (maintainer:VIRTIO CORE AND NET DRIVERS)
Jason Wang <jasowang@redhat.com> (maintainer:VIRTIO CORE AND NET DRIVERS)
virtualization@lists.linux-foundation.org (open list:VIRTIO CORE AND NET DRIVERS)
linux-kernel@vger.kernel.org (open list)