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 MFC after: 3 days
This commit is contained in:
parent
90556839e9
commit
085def3f0a
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=310086
@ -1259,13 +1259,13 @@ xbd_connect(struct xbd_softc *sc)
|
||||
if (err || phys_sector_size <= sector_size)
|
||||
phys_sector_size = 0;
|
||||
err = xs_gather(XST_NIL, xenbus_get_otherend_path(dev),
|
||||
"feature-barrier", "%lu", &feature_barrier,
|
||||
"feature-barrier", "%d", &feature_barrier,
|
||||
NULL);
|
||||
if (err == 0 && feature_barrier != 0)
|
||||
sc->xbd_flags |= XBDF_BARRIER;
|
||||
|
||||
err = xs_gather(XST_NIL, xenbus_get_otherend_path(dev),
|
||||
"feature-flush-cache", "%lu", &feature_flush,
|
||||
"feature-flush-cache", "%d", &feature_flush,
|
||||
NULL);
|
||||
if (err == 0 && feature_flush != 0)
|
||||
sc->xbd_flags |= XBDF_FLUSH;
|
||||
|
Loading…
Reference in New Issue
Block a user