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.

Reply via email to