On Thu, 27 Jul 2023 at 16:07, Peter Maydell <[email protected]> wrote: > > In block/iscsi.c we use a raw malloc() call, which is unusual > given the project standard is to use the glib memory allocation > functions. Document why we do so, to avoid it being converted > to g_malloc() by mistake. > > Signed-off-by: Peter Maydell <[email protected]> > --- > There aren't many uses of raw malloc() in the codebase > other than third-party library sourcecode. Mostly we have > a comment noting when we're doing it deliberately. > --- > block/iscsi.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/block/iscsi.c b/block/iscsi.c > index 34f97ab6460..5640c8b5657 100644 > --- a/block/iscsi.c > +++ b/block/iscsi.c > @@ -1058,6 +1058,7 @@ static BlockAIOCB *iscsi_aio_ioctl(BlockDriverState *bs, > return NULL; > } > > + /* Must use malloc(): this is freed via scsi_free_scsi_task() */ > acb->task = malloc(sizeof(struct scsi_task)); > if (acb->task == NULL) { > error_report("iSCSI: Failed to allocate task for scsi command. %s",
The other option here would be to use scsi_create_task(), if we're OK with requiring libiscsi 1.13 or better (that's 9 years old at this point, so should be OK...) thanks -- PMM
