(cloned to 5.7 from the 6.1 bug) +++ This bug was initially created as a clone of Bug #656835 +++ Description of problem: Jiri Slaby used stanse to find a memory leak in a failure case: Stanse found that in init_vqs, memory is leaked under certain circumstanses (the fail path order is incorrect). Fix that by checking allocations in one turn and free all of them at once if some fails (some may be NULL, but this is OK).
Testing notes: not easily testable. Was found by a static code checker and confirmed by code reading. Unlikely to happen in practice as it can happen only in very low memory conditions.
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
in kernel-2.6.18-245.el5 You can download this test kernel (or newer) from http://people.redhat.com/jwilson/el5 Detailed testing feedback is always welcomed.
Verified on 2.6.18-265.el5 1.download kernel-2.6.18-265.el5 sources code and check,The patch is applied. --snip of source code-- + if (!vqs || !io_callbacks || !io_names || !portdev->in_vqs || + !portdev->out_vqs) { err = -ENOMEM; - goto free_invqs; + goto free; } 2.#rpm -ql kernel --changelog | grep 656836 - [char] virtio_console: fix memory leak (Amit Shah) [656836] - [char] virtio_console: fix memory leak (Amit Shah) [656836] - [char] virtio_console: fix memory leak (Amit Shah) [656836] This issue has been fixed.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2011-1065.html