From: Keir Fraser Date: Wed, 18 Jun 2008 08:38:11 +0000 (+0100) Subject: minios: fix gnttab allocation boundary X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~14192^2~52 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=030c31dd18ad7dc1c71d6502c577762e467cdb92;p=xen.git minios: fix gnttab allocation boundary The gnttab_sem is already fed during initialization's put_free_entry loop. Signed-off-by: Samuel Thibault --- diff --git a/extras/mini-os/gnttab.c b/extras/mini-os/gnttab.c index d94c28b815..18fd87e29c 100644 --- a/extras/mini-os/gnttab.c +++ b/extras/mini-os/gnttab.c @@ -35,7 +35,7 @@ static grant_ref_t gnttab_list[NR_GRANT_ENTRIES]; #ifdef GNT_DEBUG static char inuse[NR_GRANT_ENTRIES]; #endif -static __DECLARE_SEMAPHORE_GENERIC(gnttab_sem, NR_GRANT_ENTRIES); +static __DECLARE_SEMAPHORE_GENERIC(gnttab_sem, 0); static void put_free_entry(grant_ref_t ref) @@ -60,6 +60,7 @@ get_free_entry(void) down(&gnttab_sem); local_irq_save(flags); ref = gnttab_list[0]; + BUG_ON(ref < NR_RESERVED_ENTRIES || ref >= NR_GRANT_ENTRIES); gnttab_list[0] = gnttab_list[ref]; #ifdef GNT_DEBUG BUG_ON(inuse[ref]);