resource leak in /net/tap.c

Bug #1904486 reported by yuanjungong
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
QEMU
Fix Released
Undecided
Unassigned

Bug Description

Hi,there might be a resource leak in function net_init_tap in /net/tap.c. The version is 5.1.91.

 811 fd = monitor_fd_param(monitor_cur(), tap->fd, errp);
 812 if (fd == -1) {
 813 return -1;
 814 }
 815
 816 ret = qemu_try_set_nonblock(fd);
 817 if (ret < 0) {
 818 error_setg_errno(errp, -ret, "%s: Can't use file descriptor %d",
 819 name, fd);
 820 return -1;
 821 }
 822
 823 vnet_hdr = tap_probe_vnet_hdr(fd, errp);
 824 if (vnet_hdr < 0) {
 825 close(fd);
 826 return -1;
 827 }
 828
 829 net_init_tap_one(tap, peer, "tap", name, NULL,
 830 script, downscript,
 831 vhostfdname, vnet_hdr, fd, &err);
 832 if (err) {
 833 error_propagate(errp, err);
 834 return -1;
 835 }

fd should be closed before return in line 820 and line 834, similar to the implementation in line 825.

yuanjungong (yjruc)
description: updated
Revision history for this message
Alex Chen (zdchen) wrote :

hi yuanjungong,
You can send a patch to qemu-devel mailing list(https://wiki.qemu.org/MailingLists) to fix this memleak according to https://wiki.qemu.org/Contribute/SubmitAPatch.

Thanks.

Revision history for this message
Alex Chen (zdchen) wrote :

Hi yuanjungong,

If you don't have time to submit a patch, can I submit a patch to fix it?

Revision history for this message
yuanjungong (yjruc) wrote :
Revision history for this message
yuanjungong (yjruc) wrote :

Hi Alex,

Thanks for offering to help, but I submitted a patch to the maillist yesterday. Thank you again.

Revision history for this message
Peter Maydell (pmaydell) wrote :

Hi -- the patch looks good to me, but it looks like you didn't send it to qemu-devel, only to qemu-trivial. Would you mind resending it to the right list, please? (You can cc qemu-trivial if you like, but all patches have to go to the main qemu-devel list, because systems like patchew https://patchew.org/QEMU/ and also many developers only read the main list.)

Changed in qemu:
status: New → Confirmed
Revision history for this message
Peter Maydell (pmaydell) wrote :

Fix now in master for 5.2 as commit f012bec8909820390936

Changed in qemu:
status: Confirmed → Fix Committed
Revision history for this message
Thomas Huth (th-huth) wrote :

Released with QEMU v5.2.0.

Changed in qemu:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers