* [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 @ 2018-08-15 7:13 Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 1/5] qmp-shell: learn to send commands with quoted arguments Markus Armbruster ` (5 more replies) 0 siblings, 6 replies; 7+ messages in thread From: Markus Armbruster @ 2018-08-15 7:13 UTC (permalink / raw) To: qemu-devel The following changes since commit 38441756b70eec5807b5f60dad11a93a91199866: Update version for v3.0.0 release (2018-08-14 16:38:43 +0100) are available in the Git repository at: git://repo.or.cz/qemu/armbru.git tags/pull-misc-2018-08-15 for you to fetch changes up to cb9ec42f33c07cd07d2e2971422bf7636c761202: monitor: fix oob command leak (2018-08-15 08:12:57 +0200) ---------------------------------------------------------------- Miscellaneous patches for 2018-08-15 ---------------------------------------------------------------- Marc-André Lureau (4): qmp-shell: learn to send commands with quoted arguments tests: change /0.15/* tests to /qmp/* tests: fix crumple/recursive leak monitor: fix oob command leak Markus Armbruster (1): qapi: Fix some pycodestyle-3 complaints monitor.c | 2 ++ scripts/qapi/common.py | 15 +++++++++------ scripts/qapi/visit.py | 2 +- scripts/qmp/qmp-shell | 3 ++- tests/check-block-qdict.c | 1 + tests/qapi-schema/test-qapi.py | 13 +++++++------ tests/test-qmp-cmds.c | 10 +++++----- 7 files changed, 27 insertions(+), 19 deletions(-) -- 2.17.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 1/5] qmp-shell: learn to send commands with quoted arguments 2018-08-15 7:13 [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Markus Armbruster @ 2018-08-15 7:13 ` Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 2/5] tests: change /0.15/* tests to /qmp/* Markus Armbruster ` (4 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Markus Armbruster @ 2018-08-15 7:13 UTC (permalink / raw) To: qemu-devel; +Cc: Marc-André Lureau From: Marc-André Lureau <marcandre.lureau@redhat.com> Use shlex to split the CLI command, respecting quoted arguments, and also comments. This allows to call for ex: (QEMU) human-monitor-command command-line="screendump /dev/null" {"execute": "human-monitor-command", "arguments": {"command-line": "screendump /dev/null"}} Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20180326150916.9602-3-marcandre.lureau@redhat.com> Reviewed-by: Eduardo Habkost <ehabkost@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- scripts/qmp/qmp-shell | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/qmp/qmp-shell b/scripts/qmp/qmp-shell index a42306dd89..770140772d 100755 --- a/scripts/qmp/qmp-shell +++ b/scripts/qmp/qmp-shell @@ -74,6 +74,7 @@ import sys import os import errno import atexit +import shlex class QMPCompleter(list): def complete(self, text, state): @@ -219,7 +220,7 @@ class QMPShell(qmp.QEMUMonitorProtocol): < command-name > [ arg-name1=arg1 ] ... [ arg-nameN=argN ] """ - cmdargs = cmdline.split() + cmdargs = shlex.split(cmdline) # Transactional CLI entry/exit: if cmdargs[0] == 'transaction(': -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 2/5] tests: change /0.15/* tests to /qmp/* 2018-08-15 7:13 [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 1/5] qmp-shell: learn to send commands with quoted arguments Markus Armbruster @ 2018-08-15 7:13 ` Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 3/5] qapi: Fix some pycodestyle-3 complaints Markus Armbruster ` (3 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Markus Armbruster @ 2018-08-15 7:13 UTC (permalink / raw) To: qemu-devel; +Cc: Marc-André Lureau From: Marc-André Lureau <marcandre.lureau@redhat.com> Presumably 0.15 was the version it was first introduced, but qmp keeps evolving. There is no point in having that version as test prefix, 'qmp' makes more sense here. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Message-Id: <20180326150916.9602-12-marcandre.lureau@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- tests/test-qmp-cmds.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/test-qmp-cmds.c b/tests/test-qmp-cmds.c index ba41a6161e..ab414fa0c9 100644 --- a/tests/test-qmp-cmds.c +++ b/tests/test-qmp-cmds.c @@ -286,11 +286,11 @@ int main(int argc, char **argv) { g_test_init(&argc, &argv, NULL); - g_test_add_func("/0.15/dispatch_cmd", test_dispatch_cmd); - g_test_add_func("/0.15/dispatch_cmd_failure", test_dispatch_cmd_failure); - g_test_add_func("/0.15/dispatch_cmd_io", test_dispatch_cmd_io); - g_test_add_func("/0.15/dealloc_types", test_dealloc_types); - g_test_add_func("/0.15/dealloc_partial", test_dealloc_partial); + g_test_add_func("/qmp/dispatch_cmd", test_dispatch_cmd); + g_test_add_func("/qmp/dispatch_cmd_failure", test_dispatch_cmd_failure); + g_test_add_func("/qmp/dispatch_cmd_io", test_dispatch_cmd_io); + g_test_add_func("/qmp/dealloc_types", test_dealloc_types); + g_test_add_func("/qmp/dealloc_partial", test_dealloc_partial); test_qmp_init_marshal(&qmp_commands); g_test_run(); -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 3/5] qapi: Fix some pycodestyle-3 complaints 2018-08-15 7:13 [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 1/5] qmp-shell: learn to send commands with quoted arguments Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 2/5] tests: change /0.15/* tests to /qmp/* Markus Armbruster @ 2018-08-15 7:13 ` Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 4/5] tests: fix crumple/recursive leak Markus Armbruster ` (2 subsequent siblings) 5 siblings, 0 replies; 7+ messages in thread From: Markus Armbruster @ 2018-08-15 7:13 UTC (permalink / raw) To: qemu-devel Fix the following issues: common.py:873:13: E129 visually indented line with same indent as next logical line common.py:1766:5: E741 ambiguous variable name 'l' common.py:1784:1: E305 expected 2 blank lines after class or function definition, found 1 common.py:1833:1: E305 expected 2 blank lines after class or function definition, found 1 common.py:1843:1: E305 expected 2 blank lines after class or function definition, found 1 visit.py:181:18: E127 continuation line over-indented for visual indent Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20180621083551.775-1-armbru@redhat.com> [Fixup squashed in:] Message-ID: <871sd0nzw9.fsf@dusky.pond.sub.org> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> --- scripts/qapi/common.py | 15 +++++++++------ scripts/qapi/visit.py | 2 +- tests/qapi-schema/test-qapi.py | 13 +++++++------ 3 files changed, 17 insertions(+), 13 deletions(-) diff --git a/scripts/qapi/common.py b/scripts/qapi/common.py index 9230a2a3e8..02c5c6767a 100644 --- a/scripts/qapi/common.py +++ b/scripts/qapi/common.py @@ -884,12 +884,12 @@ def check_keys(expr_elem, meta, required, optional=[]): if key not in required and key not in optional: raise QAPISemError(info, "Unknown key '%s' in %s '%s'" % (key, meta, name)) - if (key == 'gen' or key == 'success-response') and value is not False: + if key in ['gen', 'success-response'] and value is not False: raise QAPISemError(info, "'%s' of %s '%s' should only use false value" % (key, meta, name)) - if (key == 'boxed' or key == 'allow-oob' or - key == 'allow-preconfig') and value is not True: + if (key in ['boxed', 'allow-oob', 'allow-preconfig'] + and value is not True): raise QAPISemError(info, "'%s' of %s '%s' should only use true value" % (key, meta, name)) @@ -1845,12 +1845,12 @@ def camel_to_upper(value): return c_fun_str new_name = '' - l = len(c_fun_str) - for i in range(l): + length = len(c_fun_str) + for i in range(length): c = c_fun_str[i] # When c is upper and no '_' appears before, do more checks if c.isupper() and (i > 0) and c_fun_str[i - 1] != '_': - if i < l - 1 and c_fun_str[i + 1].islower(): + if i < length - 1 and c_fun_str[i + 1].islower(): new_name += '_' elif c_fun_str[i - 1].isdigit(): new_name += '_' @@ -1863,6 +1863,7 @@ def c_enum_const(type_name, const_name, prefix=None): type_name = prefix return camel_to_upper(type_name) + '_' + c_name(const_name, False).upper() + if hasattr(str, 'maketrans'): c_name_trans = str.maketrans('.-', '__') else: @@ -1912,6 +1913,7 @@ def c_name(name, protect=True): return 'q_' + name return name + eatspace = '\033EATSPACE.' pointer_suffix = ' *' + eatspace @@ -1922,6 +1924,7 @@ def genindent(count): ret += ' ' return ret + indent_level = 0 diff --git a/scripts/qapi/visit.py b/scripts/qapi/visit.py index dd5034a66a..460cf12989 100644 --- a/scripts/qapi/visit.py +++ b/scripts/qapi/visit.py @@ -187,7 +187,7 @@ void visit_type_%(c_name)s(Visitor *v, const char *name, %(c_name)s **obj, Error } switch ((*obj)->type) { ''', - c_name=c_name(name)) + c_name=c_name(name)) for var in variants.variants: ret += mcgen(''' diff --git a/tests/qapi-schema/test-qapi.py b/tests/qapi-schema/test-qapi.py index f514fe71e4..cea21c773a 100644 --- a/tests/qapi-schema/test-qapi.py +++ b/tests/qapi-schema/test-qapi.py @@ -34,8 +34,8 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): if base: print(' base %s' % base.name) for m in members: - print(' member %s: %s optional=%s' % \ - (m.name, m.type.name, m.optional)) + print(' member %s: %s optional=%s' + % (m.name, m.type.name, m.optional)) self._print_variants(variants) self._print_if(ifcond) @@ -46,10 +46,11 @@ class QAPISchemaTestVisitor(QAPISchemaVisitor): def visit_command(self, name, info, ifcond, arg_type, ret_type, gen, success_response, boxed, allow_oob, allow_preconfig): - print('command %s %s -> %s' % \ - (name, arg_type and arg_type.name, ret_type and ret_type.name)) - print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' % \ - (gen, success_response, boxed, allow_oob, allow_preconfig)) + print('command %s %s -> %s' + % (name, arg_type and arg_type.name, + ret_type and ret_type.name)) + print(' gen=%s success_response=%s boxed=%s oob=%s preconfig=%s' + % (gen, success_response, boxed, allow_oob, allow_preconfig)) self._print_if(ifcond) def visit_event(self, name, info, ifcond, arg_type, boxed): -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 4/5] tests: fix crumple/recursive leak 2018-08-15 7:13 [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Markus Armbruster ` (2 preceding siblings ...) 2018-08-15 7:13 ` [Qemu-devel] [PULL 3/5] qapi: Fix some pycodestyle-3 complaints Markus Armbruster @ 2018-08-15 7:13 ` Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 5/5] monitor: fix oob command leak Markus Armbruster 2018-08-15 21:10 ` [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Peter Maydell 5 siblings, 0 replies; 7+ messages in thread From: Markus Armbruster @ 2018-08-15 7:13 UTC (permalink / raw) To: qemu-devel; +Cc: Marc-André Lureau From: Marc-André Lureau <marcandre.lureau@redhat.com> Spotted by ASAN: ================================================================= ==27907==ERROR: LeakSanitizer: detected memory leaks Direct leak of 4120 byte(s) in 1 object(s) allocated from: #0 0x7f913458ce50 in calloc (/lib64/libasan.so.5+0xeee50) #1 0x7f9133fd641d in g_malloc0 (/lib64/libglib-2.0.so.0+0x5241d) #2 0x5561c6643c95 in qdict_crumple_test_recursive /home/elmarco/src/qq/tests/check-block-qdict.c:438 #3 0x7f9133ff7c49 (/lib64/libglib-2.0.so.0+0x73c49) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20180809114417.28718-2-marcandre.lureau@redhat.com> [Screwed up in commit 2860b2b2cb8] Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- tests/check-block-qdict.c | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/check-block-qdict.c b/tests/check-block-qdict.c index 478807f839..73d3e9f574 100644 --- a/tests/check-block-qdict.c +++ b/tests/check-block-qdict.c @@ -491,6 +491,7 @@ static void qdict_crumple_test_recursive(void) empty_list_0 = qobject_to(QDict, qlist_pop(empty_list)); g_assert(empty_list_0); g_assert_cmpint(qdict_size(empty_list_0), ==, 0); + qobject_unref(empty_list_0); qobject_unref(src); qobject_unref(dst); -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [Qemu-devel] [PULL 5/5] monitor: fix oob command leak 2018-08-15 7:13 [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Markus Armbruster ` (3 preceding siblings ...) 2018-08-15 7:13 ` [Qemu-devel] [PULL 4/5] tests: fix crumple/recursive leak Markus Armbruster @ 2018-08-15 7:13 ` Markus Armbruster 2018-08-15 21:10 ` [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Peter Maydell 5 siblings, 0 replies; 7+ messages in thread From: Markus Armbruster @ 2018-08-15 7:13 UTC (permalink / raw) To: qemu-devel; +Cc: Marc-André Lureau, qemu-stable From: Marc-André Lureau <marcandre.lureau@redhat.com> Spotted by ASAN, during make check... Direct leak of 40 byte(s) in 1 object(s) allocated from: #0 0x7f8e27262c48 in malloc (/lib64/libasan.so.5+0xeec48) #1 0x7f8e26a5f3c5 in g_malloc (/lib64/libglib-2.0.so.0+0x523c5) #2 0x555ab67078a8 in qstring_from_str /home/elmarco/src/qq/qobject/qstring.c:67 #3 0x555ab67071e4 in qstring_new /home/elmarco/src/qq/qobject/qstring.c:24 #4 0x555ab6713fbf in qstring_from_escaped_str /home/elmarco/src/qq/qobject/json-parser.c:144 #5 0x555ab671738c in parse_literal /home/elmarco/src/qq/qobject/json-parser.c:506 #6 0x555ab67179c3 in parse_value /home/elmarco/src/qq/qobject/json-parser.c:569 #7 0x555ab6715123 in parse_pair /home/elmarco/src/qq/qobject/json-parser.c:306 #8 0x555ab6715483 in parse_object /home/elmarco/src/qq/qobject/json-parser.c:357 #9 0x555ab671798b in parse_value /home/elmarco/src/qq/qobject/json-parser.c:561 #10 0x555ab6717a6b in json_parser_parse_err /home/elmarco/src/qq/qobject/json-parser.c:592 #11 0x555ab4fd4dcf in handle_qmp_command /home/elmarco/src/qq/monitor.c:4257 #12 0x555ab6712c4d in json_message_process_token /home/elmarco/src/qq/qobject/json-streamer.c:105 #13 0x555ab67e01e2 in json_lexer_feed_char /home/elmarco/src/qq/qobject/json-lexer.c:323 #14 0x555ab67e0af6 in json_lexer_feed /home/elmarco/src/qq/qobject/json-lexer.c:373 #15 0x555ab6713010 in json_message_parser_feed /home/elmarco/src/qq/qobject/json-streamer.c:124 #16 0x555ab4fd58ec in monitor_qmp_read /home/elmarco/src/qq/monitor.c:4337 #17 0x555ab6559df2 in qemu_chr_be_write_impl /home/elmarco/src/qq/chardev/char.c:175 #18 0x555ab6559e95 in qemu_chr_be_write /home/elmarco/src/qq/chardev/char.c:187 #19 0x555ab6560127 in fd_chr_read /home/elmarco/src/qq/chardev/char-fd.c:66 #20 0x555ab65d9c73 in qio_channel_fd_source_dispatch /home/elmarco/src/qq/io/channel-watch.c:84 #21 0x7f8e26a598ac in g_main_context_dispatch (/lib64/libglib-2.0.so.0+0x4c8ac) Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-Id: <20180809114417.28718-4-marcandre.lureau@redhat.com> [Screwed up in commit b27314567d4] Cc: qemu-stable@nongnu.org Reviewed-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com> --- monitor.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/monitor.c b/monitor.c index 77861e96af..a1999e396c 100644 --- a/monitor.c +++ b/monitor.c @@ -4277,6 +4277,8 @@ static void handle_qmp_command(JSONMessageParser *parser, GQueue *tokens) trace_monitor_qmp_cmd_out_of_band(qobject_get_try_str(id) ?: ""); monitor_qmp_dispatch(mon, req, id); + qobject_unref(req); + qobject_unref(id); return; } -- 2.17.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 2018-08-15 7:13 [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Markus Armbruster ` (4 preceding siblings ...) 2018-08-15 7:13 ` [Qemu-devel] [PULL 5/5] monitor: fix oob command leak Markus Armbruster @ 2018-08-15 21:10 ` Peter Maydell 5 siblings, 0 replies; 7+ messages in thread From: Peter Maydell @ 2018-08-15 21:10 UTC (permalink / raw) To: Markus Armbruster; +Cc: QEMU Developers On 15 August 2018 at 08:13, Markus Armbruster <armbru@redhat.com> wrote: > The following changes since commit 38441756b70eec5807b5f60dad11a93a91199866: > > Update version for v3.0.0 release (2018-08-14 16:38:43 +0100) > > are available in the Git repository at: > > git://repo.or.cz/qemu/armbru.git tags/pull-misc-2018-08-15 > > for you to fetch changes up to cb9ec42f33c07cd07d2e2971422bf7636c761202: > > monitor: fix oob command leak (2018-08-15 08:12:57 +0200) > > ---------------------------------------------------------------- > Miscellaneous patches for 2018-08-15 > > ---------------------------------------------------------------- Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-08-15 21:11 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2018-08-15 7:13 [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 1/5] qmp-shell: learn to send commands with quoted arguments Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 2/5] tests: change /0.15/* tests to /qmp/* Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 3/5] qapi: Fix some pycodestyle-3 complaints Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 4/5] tests: fix crumple/recursive leak Markus Armbruster 2018-08-15 7:13 ` [Qemu-devel] [PULL 5/5] monitor: fix oob command leak Markus Armbruster 2018-08-15 21:10 ` [Qemu-devel] [PULL 0/5] Miscellaneous patches for 2018-08-15 Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).