[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