[Bug 215209] Kernel panic at boot under XEN: integer divide fault while in kernel mode
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Dec 18 14:32:17 UTC 2016
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215209
--- Comment #9 from commit-hook at freebsd.org ---
A commit references this bug:
Author: dim
Date: Sun Dec 18 14:31:12 UTC 2016
New revision: 310228
URL: https://svnweb.freebsd.org/changeset/base/310228
Log:
MFC r310013 (by cperciva):
Check that blkfront devices have a non-zero number of sectors and a
non-zero sector size. Such a device would be a virtual disk of zero
bytes; clearly not useful, and not something we should try to attach.
As a fortuitous side effect, checking that these values are non-zero
here results in them not *becoming* zero later on the function. This
odd behaviour began with r309124 (clang 3.9.0) but is challenging to
debug; making any changes to this function whatsoever seems to affect
the llvm optimizer behaviour enough to make the unexpected zeroing of
the sector_size variable cease.
PR: 215209
Security: The potential for variables to unexpectedly become zero
has worrying consequences for security in general, but
not so much in this particular context.
MFC r310086:
In xbd_connect(), use correct scanf conversion specifiers for the
feature_barrier and feature_flush variables. Otherwise, adjacent
variables on the stack, such as sector_size, may be overwritten, with
disastrous results.
Note that I did not see a good reason to revert the addition of zero
checks introduced in r310013. Better safe than sorry.
PR: 215209
Tested by: royger
Changes:
_U stable/10/
stable/10/sys/dev/xen/blkfront/blkfront.c
_U stable/11/
stable/11/sys/dev/xen/blkfront/blkfront.c
_U stable/9/
_U stable/9/sys/
stable/9/sys/dev/xen/blkfront/blkfront.c
--
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
More information about the freebsd-xen
mailing list