From: Kevin Wolf Date: Tue, 20 May 2014 11:30:49 +0000 (+0200) Subject: iscsi: Handle failure for potentially large allocations X-Git-Tag: v2.2.0-rc0~177^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4d5a3f888c7dbdd1bf892bab2a3fb5c1455ccc78;p=thirdparty%2Fqemu.git iscsi: Handle failure for potentially large allocations Some code in the block layer makes potentially huge allocations. Failure is not completely unexpected there, so avoid aborting qemu and handle out-of-memory situations gracefully. This patch addresses the allocations in the iscsi block driver. Signed-off-by: Kevin Wolf Acked-by: Paolo Bonzini Reviewed-by: Benoit Canet Reviewed-by: Eric Blake --- diff --git a/block/iscsi.c b/block/iscsi.c index a7bb6970acf..2c9cfc18eb0 100644 --- a/block/iscsi.c +++ b/block/iscsi.c @@ -893,7 +893,10 @@ coroutine_fn iscsi_co_write_zeroes(BlockDriverState *bs, int64_t sector_num, nb_blocks = sector_qemu2lun(nb_sectors, iscsilun); if (iscsilun->zeroblock == NULL) { - iscsilun->zeroblock = g_malloc0(iscsilun->block_size); + iscsilun->zeroblock = g_try_malloc0(iscsilun->block_size); + if (iscsilun->zeroblock == NULL) { + return -ENOMEM; + } } iscsi_co_init_iscsitask(iscsilun, &iTask);