Re: [PATCH v10 1/1] efi: a misc char interface for user to update efi firmware

From: Matt Fleming
Date: Thu Jan 21 2016 - 07:35:57 EST


On Mon, 21 Dec, at 05:04:11PM, Bryan O'Donoghue wrote:
> > +static int efi_capsule_open(struct inode *inode, struct file *file)
> > +{
> > + struct capsule_info *cap_info;
> > +
> > + cap_info = kzalloc(sizeof(*cap_info), GFP_KERNEL);
> > + if (!cap_info)
> > + return -ENOMEM;
> > +
> > + file->private_data = cap_info;
> > +
> > + return 0;
> > +}
>
> You have a memory leak here don't you ?
>
> if I do
> for (i = 0; i < N; i++) {
> fd = open(/dev/your_node);
> close(fd);
> }
>
> You'll leak that kzalloc...

Nope, it gets freed in efi_capsule_release(). Though the code does
leak cap_info->pages if a capsule is successfully submitted to the
firmware.