qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 00/48] Use g_assert_not_reached instead of (g_)assert(0, false)
@ 2024-09-12  7:38 Pierrick Bouvier
  2024-09-12  7:38 ` [PATCH v2 01/48] docs/spin: replace assert(0) with g_assert_not_reached() Pierrick Bouvier
                   ` (43 more replies)
  0 siblings, 44 replies; 59+ messages in thread
From: Pierrick Bouvier @ 2024-09-12  7:38 UTC (permalink / raw)
  To: qemu-devel
  Cc: Jason Wang, Alex Bennée, Laurent Vivier, Marcelo Tosatti,
	Nicholas Piggin, Klaus Jensen, WANG Xuerui, Halil Pasic,
	Rob Herring, Michael Rolnik, Zhao Liu, Peter Maydell,
	Richard Henderson, Fabiano Rosas, Corey Minyard, Keith Busch,
	Thomas Huth, Maciej S. Szmigiero, Harsh Prateek Bora, Kevin Wolf,
	Paolo Bonzini, Jesper Devantier, Hyman Huang,
	Philippe Mathieu-Daudé, Palmer Dabbelt, qemu-s390x,
	Laurent Vivier, qemu-riscv, Richard W.M. Jones, Liu Zhiwei,
	Aurelien Jarno, Daniel P. Berrangé, Marcel Apfelbaum, kvm,
	Christian Borntraeger, Akihiko Odaki, Daniel Henrique Barboza,
	Hanna Reitz, Ani Sinha, qemu-ppc, Marc-André Lureau,
	Alistair Francis, Bin Meng, Michael S. Tsirkin, Helge Deller,
	Peter Xu, Daniel Henrique Barboza, Dmitry Fleytman,
	Nina Schoetterl-Glausch, Yanan Wang, qemu-arm, Igor Mammedov,
	Jean-Christophe Dubois, Eric Farman, Sriram Yagnaraman,
	qemu-block, Stefan Berger, Joel Stanley, Eduardo Habkost,
	David Gibson, Fam Zheng, Weiwei Li, Markus Armbruster,
	Pierrick Bouvier

This series cleans up all usages of assert/g_assert who are supposed to stop
execution of QEMU. We replace those by g_assert_not_reached().
It was suggested recently when cleaning codebase to build QEMU with gcc
and tsan: https://lore.kernel.org/qemu-devel/54bb02a6-1b12-460a-97f6-3f478ef766c6@linaro.org/.

In more, cleanup useless break and return after g_assert_not_reached();

And finally, ensure with scripts/checkpatch.pl that we don't reintroduce
(g_)assert(false) in the future.

New commits (removing return) need review.

Tested that it build warning free with gcc and clang.

v2
- align backslashes for some changes
- add summary in all commits message
- remove redundant comment

v1
https://lore.kernel.org/qemu-devel/20240910221606.1817478-1-pierrick.bouvier@linaro.org/T/#t

Pierrick Bouvier (48):
  docs/spin: replace assert(0) with g_assert_not_reached()
  hw/acpi: replace assert(0) with g_assert_not_reached()
  hw/arm: replace assert(0) with g_assert_not_reached()
  hw/char: replace assert(0) with g_assert_not_reached()
  hw/core: replace assert(0) with g_assert_not_reached()
  hw/net: replace assert(0) with g_assert_not_reached()
  hw/watchdog: replace assert(0) with g_assert_not_reached()
  migration: replace assert(0) with g_assert_not_reached()
  qobject: replace assert(0) with g_assert_not_reached()
  system: replace assert(0) with g_assert_not_reached()
  target/ppc: replace assert(0) with g_assert_not_reached()
  tests/qtest: replace assert(0) with g_assert_not_reached()
  tests/unit: replace assert(0) with g_assert_not_reached()
  include/hw/s390x: replace assert(false) with g_assert_not_reached()
  block: replace assert(false) with g_assert_not_reached()
  hw/hyperv: replace assert(false) with g_assert_not_reached()
  hw/net: replace assert(false) with g_assert_not_reached()
  hw/nvme: replace assert(false) with g_assert_not_reached()
  hw/pci: replace assert(false) with g_assert_not_reached()
  hw/ppc: replace assert(false) with g_assert_not_reached()
  migration: replace assert(false) with g_assert_not_reached()
  target/i386/kvm: replace assert(false) with g_assert_not_reached()
  tests/qtest: replace assert(false) with g_assert_not_reached()
  accel/tcg: remove break after g_assert_not_reached()
  block: remove break after g_assert_not_reached()
  hw/acpi: remove break after g_assert_not_reached()
  hw/gpio: remove break after g_assert_not_reached()
  hw/misc: remove break after g_assert_not_reached()
  hw/net: remove break after g_assert_not_reached()
  hw/pci-host: remove break after g_assert_not_reached()
  hw/scsi: remove break after g_assert_not_reached()
  hw/tpm: remove break after g_assert_not_reached()
  target/arm: remove break after g_assert_not_reached()
  target/riscv: remove break after g_assert_not_reached()
  tests/qtest: remove break after g_assert_not_reached()
  ui: remove break after g_assert_not_reached()
  fpu: remove break after g_assert_not_reached()
  tcg/loongarch64: remove break after g_assert_not_reached()
  include/qemu: remove return after g_assert_not_reached()
  hw/hyperv: remove return after g_assert_not_reached()
  hw/net: remove return after g_assert_not_reached()
  hw/pci: remove return after g_assert_not_reached()
  hw/ppc: remove return after g_assert_not_reached()
  migration: remove return after g_assert_not_reached()
  qobject: remove return after g_assert_not_reached()
  qom: remove return after g_assert_not_reached()
  tests/qtest: remove return after g_assert_not_reached()
  scripts/checkpatch.pl: emit error when using assert(false)

 docs/spin/aio_notify_accept.promela     |  6 +++---
 docs/spin/aio_notify_bug.promela        |  6 +++---
 include/hw/s390x/cpu-topology.h         |  2 +-
 include/qemu/pmem.h                     |  1 -
 accel/tcg/plugin-gen.c                  |  1 -
 block/qcow2.c                           |  2 +-
 block/ssh.c                             |  1 -
 hw/acpi/aml-build.c                     |  3 +--
 hw/arm/highbank.c                       |  2 +-
 hw/char/avr_usart.c                     |  2 +-
 hw/core/numa.c                          |  2 +-
 hw/gpio/nrf51_gpio.c                    |  1 -
 hw/hyperv/hyperv_testdev.c              |  7 +++----
 hw/hyperv/vmbus.c                       | 15 ++++++---------
 hw/misc/imx6_ccm.c                      |  1 -
 hw/misc/mac_via.c                       |  2 --
 hw/net/e1000e_core.c                    |  4 +---
 hw/net/i82596.c                         |  2 +-
 hw/net/igb_core.c                       |  4 +---
 hw/net/net_rx_pkt.c                     |  3 +--
 hw/net/vmxnet3.c                        |  1 -
 hw/nvme/ctrl.c                          |  8 ++++----
 hw/pci-host/gt64120.c                   |  2 --
 hw/pci/pci-stub.c                       |  6 ++----
 hw/ppc/ppc.c                            |  1 -
 hw/ppc/spapr_events.c                   |  3 +--
 hw/scsi/virtio-scsi.c                   |  1 -
 hw/tpm/tpm_spapr.c                      |  1 -
 hw/watchdog/watchdog.c                  |  2 +-
 migration/dirtyrate.c                   |  3 +--
 migration/migration-hmp-cmds.c          |  2 +-
 migration/postcopy-ram.c                | 21 +++++++--------------
 migration/ram.c                         |  8 +++-----
 qobject/qlit.c                          |  2 +-
 qobject/qnum.c                          | 12 ++++--------
 qom/object.c                            |  1 -
 system/rtc.c                            |  2 +-
 target/arm/hyp_gdbstub.c                |  1 -
 target/i386/kvm/kvm.c                   |  4 ++--
 target/ppc/dfp_helper.c                 |  8 ++++----
 target/ppc/mmu_helper.c                 |  2 +-
 target/riscv/monitor.c                  |  1 -
 tests/qtest/acpi-utils.c                |  1 -
 tests/qtest/ipmi-bt-test.c              |  2 +-
 tests/qtest/ipmi-kcs-test.c             |  4 ++--
 tests/qtest/migration-helpers.c         |  1 -
 tests/qtest/numa-test.c                 | 10 +++++-----
 tests/qtest/rtl8139-test.c              |  2 +-
 tests/unit/test-xs-node.c               |  4 ++--
 ui/qemu-pixman.c                        |  1 -
 fpu/softfloat-parts.c.inc               |  2 --
 target/riscv/insn_trans/trans_rvv.c.inc |  2 --
 tcg/loongarch64/tcg-target.c.inc        |  1 -
 scripts/checkpatch.pl                   |  3 +++
 54 files changed, 72 insertions(+), 120 deletions(-)

-- 
2.39.2



^ permalink raw reply	[flat|nested] 59+ messages in thread

end of thread, other threads:[~2024-09-19  2:03 UTC | newest]

Thread overview: 59+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-12  7:38 [PATCH v2 00/48] Use g_assert_not_reached instead of (g_)assert(0, false) Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 01/48] docs/spin: replace assert(0) with g_assert_not_reached() Pierrick Bouvier
2024-09-12 16:14   ` Paolo Bonzini
2024-09-12 18:15     ` Richard Henderson
2024-09-12  7:38 ` [PATCH v2 02/48] hw/acpi: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 03/48] hw/arm: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 04/48] hw/char: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 05/48] hw/core: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 06/48] hw/net: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 07/48] hw/watchdog: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 08/48] migration: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 09/48] qobject: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 10/48] system: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 11/48] target/ppc: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 12/48] tests/qtest: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 13/48] tests/unit: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 14/48] include/hw/s390x: replace assert(false) " Pierrick Bouvier
2024-09-12 11:59   ` Philippe Mathieu-Daudé
2024-09-12 12:12     ` Peter Maydell
2024-09-12 15:35   ` Eric Farman
2024-09-12  7:38 ` [PATCH v2 15/48] block: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 16/48] hw/hyperv: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 17/48] hw/net: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 18/48] hw/nvme: " Pierrick Bouvier
2024-09-12  8:27   ` Klaus Jensen
2024-09-12  7:38 ` [PATCH v2 19/48] hw/pci: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 20/48] hw/ppc: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 21/48] migration: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 22/48] target/i386/kvm: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 23/48] tests/qtest: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 24/48] accel/tcg: remove break after g_assert_not_reached() Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 25/48] block: " Pierrick Bouvier
2024-09-12  7:38 ` [PATCH v2 26/48] hw/acpi: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 27/48] hw/gpio: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 28/48] hw/misc: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 29/48] hw/net: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 30/48] hw/pci-host: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 31/48] hw/scsi: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 32/48] hw/tpm: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 33/48] target/arm: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 34/48] target/riscv: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 35/48] tests/qtest: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 36/48] ui: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 37/48] fpu: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 38/48] tcg/loongarch64: " Pierrick Bouvier
2024-09-12  7:39 ` [PATCH v2 39/48] include/qemu: remove return " Pierrick Bouvier
2024-09-12 18:03   ` Richard Henderson
2024-09-12  7:39 ` [PATCH v2 40/48] hw/hyperv: " Pierrick Bouvier
2024-09-12 18:05   ` Richard Henderson
2024-09-12  7:39 ` [PATCH v2 41/48] hw/net: " Pierrick Bouvier
2024-09-12 18:10   ` Richard Henderson
2024-09-12  7:39 ` [PATCH v2 42/48] hw/pci: " Pierrick Bouvier
2024-09-12 18:11   ` Richard Henderson
2024-09-12  7:39 ` [PATCH v2 43/48] hw/ppc: " Pierrick Bouvier
2024-09-12  8:02   ` Cédric Le Goater
2024-09-12 18:13   ` Richard Henderson
2024-09-13  1:37 ` [PATCH v2 00/48] Use g_assert_not_reached instead of (g_)assert(0, false) Xingtao Yao (Fujitsu) via
2024-09-18 21:48   ` Pierrick Bouvier
2024-09-19  2:01     ` Xingtao Yao (Fujitsu) via

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).