mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
Fix BUG when trying to expand the grant table. This seems to occur
often during boot with Ubuntu 14.04 PV guests. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (GNU/Linux) iQEcBAABAgAGBQJT2PhgAAoJEFxbo/MsZsTRlzIH/1HjbkGZmRlOj5wcrYlWCUJ/ DGLBHc76so52xd9oP8COT5tuSVP6/usPPLFaOmVZ7fMiOpoyz9d3lc0g56otw3gJ tTUFTyW0EoFtvmIl50OMC726p9azETjA3P2XJkV/D3GhBGGqgrP5uR+mRvisvq3y eGZEx1UIHv1jov47TBFR1NcckXBWw+6J9m34y9h6an9VNDCuuGwYZ8dfGAFsLrVb lGLTmgQQmyk4SexVINfOwL40KkVDVEq+X74HcPviyNHEIy66xLzMtKpL+Sf4xeuv VG3JhqAUGuRGGK48rrbpxhBbpxGp35O9RV68YrGssxfuTejSYduw5zTzzt30QIA= =cr8X -----END PGP SIGNATURE----- Merge tag 'stable/for-linus-3.16-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip Pull Xen fix from David Vrabel: "Fix BUG when trying to expand the grant table. This seems to occur often during boot with Ubuntu 14.04 PV guests" * tag 'stable/for-linus-3.16-rc7-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip: x86/xen: safely map and unmap grant frames when in atomic context
This commit is contained in:
commit
acba648dca
4 changed files with 105 additions and 58 deletions
|
|
@ -1195,18 +1195,20 @@ static int gnttab_expand(unsigned int req_entries)
|
|||
int gnttab_init(void)
|
||||
{
|
||||
int i;
|
||||
unsigned long max_nr_grant_frames;
|
||||
unsigned int max_nr_glist_frames, nr_glist_frames;
|
||||
unsigned int nr_init_grefs;
|
||||
int ret;
|
||||
|
||||
gnttab_request_version();
|
||||
max_nr_grant_frames = gnttab_max_grant_frames();
|
||||
nr_grant_frames = 1;
|
||||
|
||||
/* Determine the maximum number of frames required for the
|
||||
* grant reference free list on the current hypervisor.
|
||||
*/
|
||||
BUG_ON(grefs_per_grant_frame == 0);
|
||||
max_nr_glist_frames = (gnttab_max_grant_frames() *
|
||||
max_nr_glist_frames = (max_nr_grant_frames *
|
||||
grefs_per_grant_frame / RPP);
|
||||
|
||||
gnttab_list = kmalloc(max_nr_glist_frames * sizeof(grant_ref_t *),
|
||||
|
|
@ -1223,6 +1225,11 @@ int gnttab_init(void)
|
|||
}
|
||||
}
|
||||
|
||||
ret = arch_gnttab_init(max_nr_grant_frames,
|
||||
nr_status_frames(max_nr_grant_frames));
|
||||
if (ret < 0)
|
||||
goto ini_nomem;
|
||||
|
||||
if (gnttab_setup() < 0) {
|
||||
ret = -ENODEV;
|
||||
goto ini_nomem;
|
||||
|
|
|
|||
Loading…
Reference in a new issue