On 5/27/20 1:52 AM, Han Zhou wrote: > > > On Fri, May 15, 2020 at 9:25 AM Ilya Maximets <[email protected] > <mailto:[email protected]>> wrote: >> >> parse_txn() function doesn't always take ownership of the 'schema' >> passed. So, if the schema of the clustered db has same version as the >> one that already in use, parse_txn() will not use it, resulting with a >> memory leak: >> >> 7,827 (56 direct, 7,771 indirect) bytes in 1 blocks are definitely lost >> at 0x483BB1A: calloc (vg_replace_malloc.c:762) >> by 0x44AD02: xcalloc (util.c:121) >> by 0x40E70E: ovsdb_schema_create (ovsdb.c:41) >> by 0x40EA6D: ovsdb_schema_from_json (ovsdb.c:217) >> by 0x415EDD: ovsdb_storage_read (storage.c:280) >> by 0x408968: read_db (ovsdb-server.c:607) >> by 0x40733D: main_loop (ovsdb-server.c:227) >> by 0x40733D: main (ovsdb-server.c:469) >> >> While we could put ovsdb_schema_destroy() in a few places inside >> 'parse_txn()', from the users' point of view it seems better to have a >> constant argument and just clone the 'schema' if needed. The caller >> will be responsible for destroying the 'schema' it owns. >> >> CC: Ben Pfaff <[email protected] <mailto:[email protected]>> >> Fixes: 1b1d2e6daa56 ("ovsdb: Introduce experimental support for clustered >> databases.") >> Signed-off-by: Ilya Maximets <[email protected] <mailto:[email protected]>> >> --- > > Acked-by: Han Zhou <[email protected] <mailto:[email protected]>>
Thanks! Applied to master and backported down to 2.9. Best regards, Ilya Maximets. _______________________________________________ dev mailing list [email protected] https://mail.openvswitch.org/mailman/listinfo/ovs-dev
