Commit-ID: 1a9a01959bd5f2425ddc5239d5625dfbb3f63aac Gitweb: http://git.kernel.org/tip/1a9a01959bd5f2425ddc5239d5625dfbb3f63aac Author: Pekka Enberg <penberg@xxxxxxxxxx> AuthorDate: Thu, 16 Jun 2011 17:04:31 +0300 Committer: Pekka Enberg <penberg@xxxxxxxxxx> CommitDate: Thu, 16 Jun 2011 17:04:31 +0300 kvm tools: Fix 'kvm run' on 32-bit machines with >2 GB of RAM This patch fixes the following nasty 'kvm run' startup problem that's caused by 'long' and 'u64' mixup in the code: $ ./kvm run Fatal: out of memory Signed-off-by: Pekka Enberg <penberg@xxxxxxxxxx> --- tools/kvm/include/kvm/kvm.h | 2 +- tools/kvm/kvm-run.c | 4 ++-- tools/kvm/kvm.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tools/kvm/include/kvm/kvm.h b/tools/kvm/include/kvm/kvm.h index 4eeed87..7d90d35 100644 --- a/tools/kvm/include/kvm/kvm.h +++ b/tools/kvm/include/kvm/kvm.h @@ -43,7 +43,7 @@ struct kvm { int nr_disks; }; -struct kvm *kvm__init(const char *kvm_dev, unsigned long ram_size); +struct kvm *kvm__init(const char *kvm_dev, u64 ram_size); int kvm__max_cpus(struct kvm *kvm); void kvm__init_ram(struct kvm *kvm); void kvm__delete(struct kvm *kvm); diff --git a/tools/kvm/kvm-run.c b/tools/kvm/kvm-run.c index f121a2b..6ad55aa 100644 --- a/tools/kvm/kvm-run.c +++ b/tools/kvm/kvm-run.c @@ -324,8 +324,8 @@ static u64 host_ram_size(void) static u64 get_ram_size(int nr_cpus) { - long available; - long ram_size; + u64 available; + u64 ram_size; ram_size = 64 * (nr_cpus + 3); diff --git a/tools/kvm/kvm.c b/tools/kvm/kvm.c index 2c56a79..8874cf9 100644 --- a/tools/kvm/kvm.c +++ b/tools/kvm/kvm.c @@ -236,7 +236,7 @@ int kvm__max_cpus(struct kvm *kvm) return ret; } -struct kvm *kvm__init(const char *kvm_dev, unsigned long ram_size) +struct kvm *kvm__init(const char *kvm_dev, u64 ram_size) { struct kvm_pit_config pit_config = { .flags = 0, }; struct kvm *kvm; -- To unsubscribe from this list: send the line "unsubscribe linux-tip-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |