{"head":"d10e667b6aa0b25e6040c49e06faab07c06ae340","size":1,"push_id":46503418,"ref":"refs/heads/master","commits":[{"sha":"d10e667b6aa0b25e6040c49e06faab07c06ae340","author":{"name":"delphij","email":"93465216fd46a440eb04b27d6e009aced8b0c153@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f"},"url":"https://api.github.com/repos/freebsd/freebsd-head/commits/d10e667b6aa0b25e6040c49e06faab07c06ae340","message":"Fix a bug in sa_find_sizes() which could lead to panic:\n\nWhen calculating space needed for SA_BONUS buffers,\nhdrsize is always rounded up to next 8-aligned boundary.\nHowever, in two places the round up was done against\nsum of 'total' plus hdrsize.  On the other hand,\nhdrsize increments by 4 each time, which means in\ncertain conditions, we would end up returning with\nwill_spill == 0 and (total + hdrsize) larger than\nfull_space, leading to a failed assertion because\nit's invalid for dmu_set_bonus.\n\nSponsored by:\tiXsystems, Inc.\nReviewed by:\tmm\nMFC after:\t3 days\n\n\ngit-svn-id: svn+ssh://svn.freebsd.org/base/head@226483 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f"}],"legacy":{"head":"d10e667b6aa0b25e6040c49e06faab07c06ae340","size":1,"push_id":46503418,"shas":[["d10e667b6aa0b25e6040c49e06faab07c06ae340","delphij@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f","Fix a bug in sa_find_sizes() which could lead to panic:\n\nWhen calculating space needed for SA_BONUS buffers,\nhdrsize is always rounded up to next 8-aligned boundary.\nHowever, in two places the round up was done against\nsum of 'total' plus hdrsize.  On the other hand,\nhdrsize increments by 4 each time, which means in\ncertain conditions, we would end up returning with\nwill_spill == 0 and (total + hdrsize) larger than\nfull_space, leading to a failed assertion because\nit's invalid for dmu_set_bonus.\n\nSponsored by:\tiXsystems, Inc.\nReviewed by:\tmm\nMFC after:\t3 days\n\n\ngit-svn-id: svn+ssh://svn.freebsd.org/base/head@226483 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f","delphij"]],"ref":"refs/heads/master"}}