From d6c140a771d3be4ef677a3c3eeb7dbfa7fb30378 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Sat, 9 Aug 2014 16:05:51 +0200 Subject: apic: Fix reported DFR content IA-32 SDM, Figure 10-14: Bits 27:0 are reserved as 1. Fixes Jailhouse hypervisor start with in-kernel irqchips off. Signed-off-by: Jan Kiszka Signed-off-by: Michael Tokarev --- hw/intc/apic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/intc/apic.c b/hw/intc/apic.c index ef19e5515c..03ff9e94f2 100644 --- a/hw/intc/apic.c +++ b/hw/intc/apic.c @@ -698,7 +698,7 @@ static uint32_t apic_mem_readl(void *opaque, hwaddr addr) val = s->log_dest << 24; break; case 0x0e: - val = s->dest_mode << 28; + val = (s->dest_mode << 28) | 0xfffffff; break; case 0x0f: val = s->spurious_vec; -- cgit v1.2.1 From c9cdaa3ab95031ebdb6a3cf8fdc5edadd0cb851b Mon Sep 17 00:00:00 2001 From: Fam Zheng Date: Mon, 11 Aug 2014 10:18:31 +0800 Subject: memory: Update obsolete comment about AddrRange field type We are not 64 bit any more since 08dafab4 memory: use 128-bit integers for sizes and intermediates but the comment is forgotten to be updated. Signed-off-by: Fam Zheng Signed-off-by: Michael Tokarev --- memory.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/memory.c b/memory.c index 64d7176193..dbe6675589 100644 --- a/memory.c +++ b/memory.c @@ -56,8 +56,7 @@ static void memory_init(void) typedef struct AddrRange AddrRange; /* - * Note using signed integers limits us to physical addresses at most - * 63 bits wide. They are needed for negative offsetting in aliases + * Note that signed integers are needed for negative offsetting in aliases * (large MemoryRegion::alias_offset). */ struct AddrRange { -- cgit v1.2.1 From 38a24c8b7437fc3b5df74187a58879927b66f02e Mon Sep 17 00:00:00 2001 From: Liming Wang Date: Wed, 13 Aug 2014 11:20:04 +0800 Subject: qemu-options.hx: fix a typo of chardev Change host to port. Signed-off-by: Liming Wang Reviewed-by: Gonglei Signed-off-by: Michael Tokarev --- qemu-options.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu-options.hx b/qemu-options.hx index 96516c1e23..000cccdd9b 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -1926,7 +1926,7 @@ ETEXI DEF("chardev", HAS_ARG, QEMU_OPTION_chardev, "-chardev null,id=id[,mux=on|off]\n" - "-chardev socket,id=id[,host=host],port=host[,to=to][,ipv4][,ipv6][,nodelay]\n" + "-chardev socket,id=id[,host=host],port=port[,to=to][,ipv4][,ipv6][,nodelay]\n" " [,server][,nowait][,telnet][,mux=on|off] (tcp)\n" "-chardev socket,id=id,path=path[,server][,nowait][,telnet],[mux=on|off] (unix)\n" "-chardev udp,id=id[,host=host],port=port[,localaddr=localaddr]\n" -- cgit v1.2.1 From ef9f7b587df5a896dc9f6d076f41a844db3d9761 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 16:10:25 +0800 Subject: pci-host: update obsolete reference about piix_pci.c piix_pci.c has been renamed into piix.c at commit c0907c9e6417cb959dfd9ef6873221536ec91351 update the obsolete reference. Signed-off-by: Gonglei Signed-off-by: Michael Tokarev --- hw/isa/lpc_ich9.c | 2 +- hw/pci-host/pam.c | 2 +- hw/pci-host/q35.c | 2 +- include/hw/pci-host/pam.h | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/isa/lpc_ich9.c b/hw/isa/lpc_ich9.c index b846d81990..177023bcaf 100644 --- a/hw/isa/lpc_ich9.c +++ b/hw/isa/lpc_ich9.c @@ -7,7 +7,7 @@ * VA Linux Systems Japan K.K. * Copyright (C) 2012 Jason Baron * - * This is based on piix_pci.c, but heavily modified. + * This is based on piix.c, but heavily modified. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/hw/pci-host/pam.c b/hw/pci-host/pam.c index e1e95aabcd..6abee4fd55 100644 --- a/hw/pci-host/pam.c +++ b/hw/pci-host/pam.c @@ -6,7 +6,7 @@ * VA Linux Systems Japan K.K. * Copyright (c) 2012 Jason Baron * - * Split out from piix_pci.c + * Split out from piix.c * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c index a0a3068dd5..37f228e77e 100644 --- a/hw/pci-host/q35.c +++ b/hw/pci-host/q35.c @@ -7,7 +7,7 @@ * VA Linux Systems Japan K.K. * Copyright (C) 2012 Jason Baron * - * This is based on piix_pci.c, but heavily modified. + * This is based on piix.c, but heavily modified. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/include/hw/pci-host/pam.h b/include/hw/pci-host/pam.h index a8b87b89a7..4d03e4bf18 100644 --- a/include/hw/pci-host/pam.h +++ b/include/hw/pci-host/pam.h @@ -7,7 +7,7 @@ * VA Linux Systems Japan K.K. * Copyright (c) 2012 Jason Baron * - * Split out from piix_pci.c + * Split out from piix.c * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal -- cgit v1.2.1 From 30dc600bbfe2c927440fd611d585d7a2acb42fbf Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 16:10:26 +0800 Subject: pci-host: update uncorresponding description Signed-off-by: Gonglei Signed-off-by: Michael Tokarev --- hw/pci-host/pam.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/pci-host/pam.c b/hw/pci-host/pam.c index 6abee4fd55..8272de3f28 100644 --- a/hw/pci-host/pam.c +++ b/hw/pci-host/pam.c @@ -1,5 +1,5 @@ /* - * QEMU i440FX/PIIX3 PCI Bridge Emulation + * QEMU Smram/pam logic implementation * * Copyright (c) 2006 Fabrice Bellard * Copyright (c) 2011 Isaku Yamahata -- cgit v1.2.1 From 2bb0020cf97c938f8339c76fa8a0da6353e8d27e Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:51 +0800 Subject: CODING_STYLE: Section about conditional statement Yoda conditions lack readability, and QEMU has a strict compiler configuration for checking a common mistake like "if (dev = NULL)". Make it a written rule. Signed-off-by: Gonglei Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- CODING_STYLE | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/CODING_STYLE b/CODING_STYLE index 4280945ff0..d46cfa5f65 100644 --- a/CODING_STYLE +++ b/CODING_STYLE @@ -91,3 +91,17 @@ Mixed declarations (interleaving statements and declarations within blocks) are not allowed; declarations should be at the beginning of blocks. In other words, the code should not generate warnings if using GCC's -Wdeclaration-after-statement option. + +6. Conditional statements + +When comparing a variable for (in)equality with a constant, list the +constant on the right, as in: + +if (a == 1) { + /* Reads like: "If a equals 1" */ + do_something(); +} + +Rationale: Yoda conditions (as in 'if (1 == a)') are awkward to read. +Besides, good compilers already warn users when '==' is mis-typed as '=', +even when the constant is on the right. -- cgit v1.2.1 From d0657b2aab6f2a342aae2897e41d10061a9a6992 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:52 +0800 Subject: usb: don't use 'Yoda conditions' imitate nearby code about using '!value' or 'value == NULL' Signed-off-by: Gonglei Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- hw/usb/dev-audio.c | 2 +- hw/usb/dev-mtp.c | 4 ++-- hw/usb/hcd-ehci.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/usb/dev-audio.c b/hw/usb/dev-audio.c index bfebfe90f3..7b9957b3c3 100644 --- a/hw/usb/dev-audio.c +++ b/hw/usb/dev-audio.c @@ -371,7 +371,7 @@ static void output_callback(void *opaque, int avail) return; } data = streambuf_get(&s->out.buf); - if (NULL == data) { + if (!data) { return; } AUD_write(s->out.voice, data, USBAUDIO_PACKET_SIZE); diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c index 384d4a5ac5..0820046906 100644 --- a/hw/usb/dev-mtp.c +++ b/hw/usb/dev-mtp.c @@ -832,7 +832,7 @@ static void usb_mtp_command(MTPState *s, MTPControl *c) return; } data_in = usb_mtp_get_object(s, c, o); - if (NULL == data_in) { + if (data_in == NULL) { usb_mtp_queue_result(s, RES_GENERAL_ERROR, c->trans, 0, 0, 0); return; @@ -851,7 +851,7 @@ static void usb_mtp_command(MTPState *s, MTPControl *c) return; } data_in = usb_mtp_get_partial_object(s, c, o); - if (NULL == data_in) { + if (data_in == NULL) { usb_mtp_queue_result(s, RES_GENERAL_ERROR, c->trans, 0, 0, 0); return; diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c index a00a93c3eb..448e0073dd 100644 --- a/hw/usb/hcd-ehci.c +++ b/hw/usb/hcd-ehci.c @@ -1596,7 +1596,7 @@ static EHCIQueue *ehci_state_fetchqh(EHCIState *ehci, int async) entry = ehci_get_fetch_addr(ehci, async); q = ehci_find_queue_by_qh(ehci, entry, async); - if (NULL == q) { + if (q == NULL) { q = ehci_alloc_queue(ehci, entry, async); } -- cgit v1.2.1 From 2ab5bf67b7c3fe20f1645dadddd28b1881a25c47 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:53 +0800 Subject: audio: don't use 'Yoda conditions' imitate nearby code about using '!value' or 'value == NULL' Signed-off-by: Gonglei Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- hw/audio/gus.c | 2 +- hw/audio/hda-codec.c | 3 ++- hw/audio/sb16.c | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/hw/audio/gus.c b/hw/audio/gus.c index bba6840477..4a43ce7adf 100644 --- a/hw/audio/gus.c +++ b/hw/audio/gus.c @@ -212,7 +212,7 @@ static int GUS_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) pos += copied; } - if (0 == ((mode >> 4) & 1)) { + if (((mode >> 4) & 1) == 0) { DMA_release_DREQ (s->emu.gusdma); } return dma_len; diff --git a/hw/audio/hda-codec.c b/hw/audio/hda-codec.c index cbcf521c5e..3c03ff5668 100644 --- a/hw/audio/hda-codec.c +++ b/hw/audio/hda-codec.c @@ -489,8 +489,9 @@ static int hda_audio_init(HDACodecDevice *hda, const struct desc_codec *desc) for (i = 0; i < a->desc->nnodes; i++) { node = a->desc->nodes + i; param = hda_codec_find_param(node, AC_PAR_AUDIO_WIDGET_CAP); - if (NULL == param) + if (param == NULL) { continue; + } type = (param->val & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; switch (type) { case AC_WID_AUD_OUT: diff --git a/hw/audio/sb16.c b/hw/audio/sb16.c index 60c4b3b497..bda26d0123 100644 --- a/hw/audio/sb16.c +++ b/hw/audio/sb16.c @@ -928,7 +928,7 @@ static IO_WRITE_PROTO (dsp_write) /* if (s->highspeed) */ /* break; */ - if (0 == s->needed_bytes) { + if (s->needed_bytes == 0) { command (s, val); #if 0 if (0 == s->needed_bytes) { @@ -1212,7 +1212,7 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) #endif if (till <= copy) { - if (0 == s->dma_auto) { + if (s->dma_auto == 0) { copy = till; } } @@ -1224,7 +1224,7 @@ static int SB_read_DMA (void *opaque, int nchan, int dma_pos, int dma_len) if (s->left_till_irq <= 0) { s->mixer_regs[0x82] |= (nchan & 4) ? 2 : 1; qemu_irq_raise (s->pic); - if (0 == s->dma_auto) { + if (s->dma_auto == 0) { control (s, 0); speaker (s, 0); } -- cgit v1.2.1 From 337a3e5c7d3b5a5731f6e89f055e645ae6b9f40e Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:54 +0800 Subject: isa-bus: don't use 'Yoda conditions' imitate nearby code about using '!value' or 'value == NULL' Signed-off-by: Gonglei Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- hw/isa/isa-bus.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/isa/isa-bus.c b/hw/isa/isa-bus.c index b28981bfde..cc85e538b1 100644 --- a/hw/isa/isa-bus.c +++ b/hw/isa/isa-bus.c @@ -50,7 +50,7 @@ ISABus *isa_bus_new(DeviceState *dev, MemoryRegion *address_space_io) fprintf(stderr, "Can't create a second ISA bus\n"); return NULL; } - if (NULL == dev) { + if (!dev) { dev = qdev_create(NULL, "isabus-bridge"); qdev_init_nofail(dev); } -- cgit v1.2.1 From 8108fd3e26236c14138b87e1081ec2b7b86e5132 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:55 +0800 Subject: don't use 'Yoda conditions' imitate nearby code about using '!value' or 'value == NULL' Signed-off-by: Gonglei Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- qdev-monitor.c | 2 +- qemu-char.c | 2 +- util/qemu-sockets.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/qdev-monitor.c b/qdev-monitor.c index f87f3d89cd..81a4e9b27f 100644 --- a/qdev-monitor.c +++ b/qdev-monitor.c @@ -694,7 +694,7 @@ void qmp_device_del(const char *id, Error **errp) DeviceState *dev; dev = qdev_find_recursive(sysbus_get_default(), id); - if (NULL == dev) { + if (!dev) { error_set(errp, QERR_DEVICE_NOT_FOUND, id); return; } diff --git a/qemu-char.c b/qemu-char.c index 6964a2d9fd..3dcc39adf8 100644 --- a/qemu-char.c +++ b/qemu-char.c @@ -4121,7 +4121,7 @@ void qmp_chardev_remove(const char *id, Error **errp) CharDriverState *chr; chr = qemu_chr_find(id); - if (NULL == chr) { + if (chr == NULL) { error_setg(errp, "Chardev '%s' not found", id); return; } diff --git a/util/qemu-sockets.c b/util/qemu-sockets.c index 74cf0786e5..5d38395f2d 100644 --- a/util/qemu-sockets.c +++ b/util/qemu-sockets.c @@ -732,7 +732,7 @@ int unix_connect_opts(QemuOpts *opts, Error **errp, ConnectState *connect_state = NULL; int sock, rc; - if (NULL == path) { + if (path == NULL) { error_setg(errp, "unix connect: no path specified"); return -1; } -- cgit v1.2.1 From fe8e8327f1a5e0b07e5aad9e3b5725ac2ebda415 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:56 +0800 Subject: spice: don't use 'Yoda conditions' imitate nearby code about using '!value' or 'value == NULL' Signed-off-by: Gonglei Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- ui/spice-core.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/spice-core.c b/ui/spice-core.c index 7bb91e6bad..1a2fb4b237 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c @@ -677,7 +677,7 @@ void qemu_spice_init(void) if (tls_port) { x509_dir = qemu_opt_get(opts, "x509-dir"); - if (NULL == x509_dir) { + if (!x509_dir) { x509_dir = "."; } @@ -803,7 +803,7 @@ void qemu_spice_init(void) seamless_migration = qemu_opt_get_bool(opts, "seamless-migration", 0); spice_server_set_seamless_migration(spice_server, seamless_migration); - if (0 != spice_server_init(spice_server, &core_interface)) { + if (spice_server_init(spice_server, &core_interface) != 0) { error_report("failed to initialize spice server"); exit(1); }; -- cgit v1.2.1 From 28de2f883c165ed237b49e940b10cc97292c5053 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:57 +0800 Subject: vl: don't use 'Yoda conditions' imitate nearby code about using '!value' or 'value == NULL' Signed-off-by: Gonglei Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- vl.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/vl.c b/vl.c index a8029d59d7..97831337d6 100644 --- a/vl.c +++ b/vl.c @@ -1154,7 +1154,7 @@ static int drive_init_func(QemuOpts *opts, void *opaque) static int drive_enable_snapshot(QemuOpts *opts, void *opaque) { - if (NULL == qemu_opt_get(opts, "snapshot")) { + if (qemu_opt_get(opts, "snapshot") == NULL) { qemu_opt_set(opts, "snapshot", "on"); } return 0; @@ -2506,8 +2506,9 @@ static int foreach_device_config(int type, int (*func)(const char *cmdline)) loc_push_restore(&conf->loc); rc = func(conf->cmdline); loc_pop(&conf->loc); - if (0 != rc) + if (rc) { return rc; + } } return 0; } -- cgit v1.2.1 From f7472ca4053d43c32d675517c9159017ece5d7a9 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Mon, 11 Aug 2014 21:00:58 +0800 Subject: vmxnet3: don't use 'Yoda conditions' imitate nearby code about using '!value' or 'value == NULL' Signed-off-by: Gonglei Reviewed-by: Stefan Hajnoczi Reviewed-by: Eric Blake Signed-off-by: Michael Tokarev --- hw/net/vmxnet3.c | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c index 77bea6f89f..588149d8b6 100644 --- a/hw/net/vmxnet3.c +++ b/hw/net/vmxnet3.c @@ -1009,7 +1009,7 @@ vmxnet3_indicate_packet(VMXNET3State *s) vmxnet3_dump_rx_descr(&rxd); - if (0 != ready_rxcd_pa) { + if (ready_rxcd_pa != 0) { cpu_physical_memory_write(ready_rxcd_pa, &rxcd, sizeof(rxcd)); } @@ -1020,7 +1020,7 @@ vmxnet3_indicate_packet(VMXNET3State *s) rxcd.gen = new_rxcd_gen; rxcd.rqID = RXQ_IDX + rx_ridx * s->rxq_num; - if (0 == bytes_left) { + if (bytes_left == 0) { vmxnet3_rx_update_descr(s->rx_pkt, &rxcd); } @@ -1038,16 +1038,16 @@ vmxnet3_indicate_packet(VMXNET3State *s) num_frags++; } - if (0 != ready_rxcd_pa) { + if (ready_rxcd_pa != 0) { rxcd.eop = 1; - rxcd.err = (0 != bytes_left); + rxcd.err = (bytes_left != 0); cpu_physical_memory_write(ready_rxcd_pa, &rxcd, sizeof(rxcd)); /* Flush RX descriptor changes */ smp_wmb(); } - if (0 != new_rxcd_pa) { + if (new_rxcd_pa != 0) { vmxnet3_revert_rxc_descr(s, RXQ_IDX); } @@ -1190,8 +1190,8 @@ static void vmxnet3_update_mcast_filters(VMXNET3State *s) s->mcast_list_len = list_bytes / sizeof(s->mcast_list[0]); s->mcast_list = g_realloc(s->mcast_list, list_bytes); - if (NULL == s->mcast_list) { - if (0 == s->mcast_list_len) { + if (!s->mcast_list) { + if (s->mcast_list_len == 0) { VMW_CFPRN("Current multicast list is empty"); } else { VMW_ERPRN("Failed to allocate multicast list of %d elements", @@ -1667,7 +1667,7 @@ vmxnet3_io_bar1_write(void *opaque, * memory address. We save it to temp variable and set the * shared address only after we get the high part */ - if (0 == val) { + if (val == 0) { s->device_active = false; } s->temp_shared_guest_driver_memory = val; -- cgit v1.2.1 From 3952651a75a5b211434e8b676e530d5200ac5b82 Mon Sep 17 00:00:00 2001 From: Gonglei Date: Thu, 14 Aug 2014 14:35:48 +0800 Subject: qemu-options.hx: fix typo about l2tpv3 two duplicate destport description. s/destport/srcport/, s/destination/source/ Signed-off-by: Gonglei Signed-off-by: Michael Tokarev --- qemu-options.hx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qemu-options.hx b/qemu-options.hx index 000cccdd9b..9d743e53da 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -1444,7 +1444,7 @@ DEF("net", HAS_ARG, QEMU_OPTION_net, " use 'src=' to specify source address\n" " use 'dst=' to specify destination address\n" " use 'udp=on' to specify udp encapsulation\n" - " use 'dstport=' to specify destination udp port\n" + " use 'srcport=' to specify source udp port\n" " use 'dstport=' to specify destination udp port\n" " use 'ipv6=on' to force v6\n" " L2TPv3 uses cookies to prevent misconfiguration as\n" -- cgit v1.2.1 From 3a9cbfe0096ad88d52c39f5a9d03f17251f750a5 Mon Sep 17 00:00:00 2001 From: Hu Tao Date: Fri, 15 Aug 2014 18:13:59 +0800 Subject: vl: free err err is not freed after use, thus causing memory leak. This patch fixes it. Signed-off-by: Hu Tao Cc: qemu-trivial@nongnu.org Signed-off-by: Michael Tokarev --- vl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/vl.c b/vl.c index 97831337d6..b796c67e9d 100644 --- a/vl.c +++ b/vl.c @@ -2918,6 +2918,7 @@ out: g_free(dummy); if (err) { qerror_report_err(err); + error_free(err); return -1; } return 0; -- cgit v1.2.1 From c75f3c041aff0d6192049860a8f7b4db40ec0603 Mon Sep 17 00:00:00 2001 From: Peter Crosthwaite Date: Fri, 15 Aug 2014 01:14:36 -0700 Subject: ssi: xilinx_spi: Initialise CS GPIOs as NULL To properly indicate they are unconnected. Signed-off-by: Peter Crosthwaite Signed-off-by: Michael Tokarev --- hw/ssi/xilinx_spi.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/ssi/xilinx_spi.c b/hw/ssi/xilinx_spi.c index 207f47a1c0..620573caca 100644 --- a/hw/ssi/xilinx_spi.c +++ b/hw/ssi/xilinx_spi.c @@ -329,7 +329,7 @@ static int xilinx_spi_init(SysBusDevice *sbd) s->spi = ssi_create_bus(dev, "spi"); sysbus_init_irq(sbd, &s->irq); - s->cs_lines = g_new(qemu_irq, s->num_cs); + s->cs_lines = g_new0(qemu_irq, s->num_cs); ssi_auto_connect_slaves(dev, s->cs_lines, s->spi); for (i = 0; i < s->num_cs; ++i) { sysbus_init_irq(sbd, &s->cs_lines[i]); -- cgit v1.2.1 From aa2ac1dac3d27b412e2dba4cde38724446751344 Mon Sep 17 00:00:00 2001 From: Peter Crosthwaite Date: Fri, 15 Aug 2014 01:15:10 -0700 Subject: ppc: convert g_new(qemu_irq usages to g_new0 To indicate the IRQs are initially disconnected. Signed-off-by: Peter Crosthwaite Signed-off-by: Michael Tokarev --- hw/intc/openpic.c | 2 +- hw/ppc/e500.c | 2 +- hw/ppc/mac_newworld.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/intc/openpic.c b/hw/intc/openpic.c index 028529e13d..7d1f3b9497 100644 --- a/hw/intc/openpic.c +++ b/hw/intc/openpic.c @@ -1627,7 +1627,7 @@ static void openpic_realize(DeviceState *dev, Error **errp) } for (i = 0; i < opp->nb_cpus; i++) { - opp->dst[i].irqs = g_new(qemu_irq, OPENPIC_OUTPUT_NB); + opp->dst[i].irqs = g_new0(qemu_irq, OPENPIC_OUTPUT_NB); for (j = 0; j < OPENPIC_OUTPUT_NB; j++) { sysbus_init_irq(d, &opp->dst[i].irqs[j]); } diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index 1a5b30d3ce..16c85efab5 100644 --- a/hw/ppc/e500.c +++ b/hw/ppc/e500.c @@ -583,7 +583,7 @@ static qemu_irq *ppce500_init_mpic(PPCE500Params *params, MemoryRegion *ccsr, SysBusDevice *s; int i; - mpic = g_new(qemu_irq, 256); + mpic = g_new0(qemu_irq, 256); if (kvm_enabled()) { QemuOpts *machine_opts = qemu_get_machine_opts(); diff --git a/hw/ppc/mac_newworld.c b/hw/ppc/mac_newworld.c index f5bccd2ad5..1ec4bb490b 100644 --- a/hw/ppc/mac_newworld.c +++ b/hw/ppc/mac_newworld.c @@ -346,7 +346,7 @@ static void ppc_core99_init(MachineState *machine) } } - pic = g_new(qemu_irq, 64); + pic = g_new0(qemu_irq, 64); dev = qdev_create(NULL, TYPE_OPENPIC); qdev_prop_set_uint32(dev, "model", OPENPIC_MODEL_RAVEN); -- cgit v1.2.1 From 8945c7f75419a8191f3e99b341f1a485b48af766 Mon Sep 17 00:00:00 2001 From: Peter Crosthwaite Date: Fri, 15 Aug 2014 01:15:44 -0700 Subject: intc: i8259: Convert Array allocation to g_new0 To be more array friendly and to indicate the IRQs are initially disconnected. Signed-off-by: Peter Crosthwaite Signed-off-by: Michael Tokarev --- hw/intc/i8259.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/intc/i8259.c b/hw/intc/i8259.c index d0b0c52b97..a563b82c4e 100644 --- a/hw/intc/i8259.c +++ b/hw/intc/i8259.c @@ -472,7 +472,7 @@ qemu_irq *i8259_init(ISABus *bus, qemu_irq parent_irq) ISADevice *isadev; int i; - irq_set = g_malloc(ISA_NUM_IRQS * sizeof(qemu_irq)); + irq_set = g_new0(qemu_irq, ISA_NUM_IRQS); isadev = i8259_init_chip(TYPE_I8259, bus, true); dev = DEVICE(isadev); -- cgit v1.2.1 From 2c145d7a73206afc576fea86514e892e11481dab Mon Sep 17 00:00:00 2001 From: zhanghailiang Date: Thu, 14 Aug 2014 15:29:12 +0800 Subject: l2cap: fix access to freed memory MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pointer 'ch' will be used in function 'l2cap_channel_open_req_msg' after it was previously freed in 'l2cap_channel_open'. Assigned it to NULL after it is freed. Reviewed-by: Alex Bennée Reviewed-by: Michael S. Tsirkin Signed-off-by: zhanghailiang Signed-off-by: Michael Tokarev --- hw/bt/l2cap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/bt/l2cap.c b/hw/bt/l2cap.c index 2301d6f87f..591e047781 100644 --- a/hw/bt/l2cap.c +++ b/hw/bt/l2cap.c @@ -429,7 +429,7 @@ static struct l2cap_chan_s *l2cap_channel_open(struct l2cap_instance_s *l2cap, status = L2CAP_CS_NO_INFO; } else { g_free(ch); - + ch = NULL; result = L2CAP_CR_NO_MEM; status = L2CAP_CS_NO_INFO; } -- cgit v1.2.1 From 5edbdbcdf882e4220adc7dbf433351077cd1fbbc Mon Sep 17 00:00:00 2001 From: zhanghailiang Date: Thu, 14 Aug 2014 15:29:15 +0800 Subject: ivshmem: check the value returned by fstat() The function fstat() may fail, so check its return value. Acked-by: Levente Kurusa Reviewed-by: Michael S. Tsirkin Signed-off-by: zhanghailiang Signed-off-by: Michael Tokarev --- hw/misc/ivshmem.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/hw/misc/ivshmem.c b/hw/misc/ivshmem.c index 768e5288bc..2be4b86726 100644 --- a/hw/misc/ivshmem.c +++ b/hw/misc/ivshmem.c @@ -324,7 +324,11 @@ static int check_shm_size(IVShmemState *s, int fd) { struct stat buf; - fstat(fd, &buf); + if (fstat(fd, &buf) < 0) { + fprintf(stderr, "ivshmem: exiting: fstat on fd %d failed: %s\n", + fd, strerror(errno)); + return -1; + } if (s->ivshmem_size > buf.st_size) { fprintf(stderr, -- cgit v1.2.1