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

Remote bug watches

Bug watches keep track of this bug in other bug trackers.