Skip to content

Commit cea9dfb

Browse files
committed
Merge tag 'pull-error-2025-03-21' of https://repo.or.cz/qemu/armbru into staging
Error reporting patches for 2025-03-21 # -----BEGIN PGP SIGNATURE----- # # iQJGBAABCAAwFiEENUvIs9frKmtoZ05fOHC0AOuRhlMFAmfdeWkSHGFybWJydUBy # ZWRoYXQuY29tAAoJEDhwtADrkYZTeigQAJicOKRQPm5qCn/XP70k6OuvTXsU8Fw/ # FVXE3I1lE9MnUDVHe9RgY79piS7oQ/pR92QcPxTx/Kj22gSiFBgrH5q0bURZAOxR # /85DTxjVGuz3pAMhfXZ3rRyJGhX4MgPmYYXkvOyrz0cpHMR3DN9helIfdVfVtWAh # VTVEH2PKdd9I56gbi9irlfdeh/+Nb2+1swBbtpUWFthDPj7Cib+gHsrJQbRX7qSf # 0eEGVgqydfAuSLbMnD6SwCXbuJQ/mHg5+71QmSJFqthRzLHqXuUk6m6n8EXTgE6D # MEdwkhSZ6ksNEWkzBvv3lfO8WnAqH0jp+xkuDTJabJzZG17pC61B2HQRsrFxZxqU # Ftr4XDPccDc9ohX0GYwCpvfW2Y8ZLzjurc04dpSPoqIBZxAPySirWOmTbT7I6MFF # EVt4VdjwXi0jSLWeH0yq6NmpSiKDxC6kY78xvAx6Pr9QQWtCeH/sQKXQ+16IqqTf # aeM4zXUs8cWD+QULqkxp7aHJPg91zU+BQGopkmMCpCNGwnzJPajfJgCDsWHnn47z # jiuOISWS650bUL6D4GgC1l2pYVPqt3ybF6DZL0giDE6NPpIich/KA1SSVXDy3bVK # AGRMczC40GHvlDFKkLI0j5HM1HY8aYdn44skY28R/+SzyV0463u5oljcYmDe7oWC # iLtinF/DKCDa # =FJPm # -----END PGP SIGNATURE----- # gpg: Signature made Fri 21 Mar 2025 10:36:25 EDT # gpg: using RSA key 354BC8B3D7EB2A6B68674E5F3870B400EB918653 # gpg: issuer "[email protected]" # gpg: Good signature from "Markus Armbruster <[email protected]>" [full] # gpg: aka "Markus Armbruster <[email protected]>" [full] # Primary key fingerprint: 354B C8B3 D7EB 2A6B 6867 4E5F 3870 B400 EB91 8653 * tag 'pull-error-2025-03-21' of https://repo.or.cz/qemu/armbru: target/loongarch: Clean up virt_cpu_irq_init() error handling target/loongarch: Remove unnecessary temporary variable assignment hw/loongarch/virt: Eliminate error_propagate() target/loongarch: Fix error handling of KVM feature checks hw/xen: Downgrade a xen_bus_realize() non-error to warning hw/xen: Fix xen_bus_realize() error handling error: Strip trailing '\n' from an error string argument cryptodev: Fix error handling in cryptodev_lkcf_execute_task() Signed-off-by: Stefan Hajnoczi <[email protected]>
2 parents c1fc2dd + a725bc9 commit cea9dfb

File tree

6 files changed

+31
-34
lines changed

6 files changed

+31
-34
lines changed

backends/cryptodev-lkcf.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,8 @@ static void cryptodev_lkcf_execute_task(CryptoDevLKCFTask *task)
330330
cryptodev_lkcf_set_op_desc(&session->akcipher_opts, op_desc,
331331
sizeof(op_desc), &local_error) != 0) {
332332
error_report_err(local_error);
333+
status = -VIRTIO_CRYPTO_ERR;
334+
goto out;
333335
} else {
334336
key_id = add_key(KCTL_KEY_TYPE_PKEY, "lkcf-backend-priv-key",
335337
p8info, p8info_len, KCTL_KEY_RING);
@@ -346,6 +348,7 @@ static void cryptodev_lkcf_execute_task(CryptoDevLKCFTask *task)
346348
session->key, session->keylen,
347349
&local_error);
348350
if (!akcipher) {
351+
error_report_err(local_error);
349352
status = -VIRTIO_CRYPTO_ERR;
350353
goto out;
351354
}

hw/loongarch/virt.c

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -328,7 +328,6 @@ static void virt_cpu_irq_init(LoongArchVirtMachineState *lvms)
328328
MachineClass *mc = MACHINE_GET_CLASS(ms);
329329
const CPUArchIdList *possible_cpus;
330330
CPUState *cs;
331-
Error *err = NULL;
332331

333332
/* cpu nodes */
334333
possible_cpus = mc->possible_cpu_arch_ids(ms);
@@ -338,8 +337,10 @@ static void virt_cpu_irq_init(LoongArchVirtMachineState *lvms)
338337
continue;
339338
}
340339

341-
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->ipi), DEVICE(cs), &err);
342-
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->extioi), DEVICE(cs), &err);
340+
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->ipi), DEVICE(cs),
341+
&error_abort);
342+
hotplug_handler_plug(HOTPLUG_HANDLER(lvms->extioi), DEVICE(cs),
343+
&error_abort);
343344
}
344345
}
345346

@@ -860,30 +861,29 @@ static void virt_cpu_pre_plug(HotplugHandler *hotplug_dev,
860861
LoongArchCPU *cpu = LOONGARCH_CPU(dev);
861862
CPUState *cs = CPU(dev);
862863
CPUArchId *cpu_slot;
863-
Error *err = NULL;
864864
LoongArchCPUTopo topo;
865865
int arch_id;
866866

867867
if (lvms->acpi_ged) {
868868
if ((cpu->thread_id < 0) || (cpu->thread_id >= ms->smp.threads)) {
869-
error_setg(&err,
869+
error_setg(errp,
870870
"Invalid thread-id %u specified, must be in range 1:%u",
871871
cpu->thread_id, ms->smp.threads - 1);
872-
goto out;
872+
return;
873873
}
874874

875875
if ((cpu->core_id < 0) || (cpu->core_id >= ms->smp.cores)) {
876-
error_setg(&err,
876+
error_setg(errp,
877877
"Invalid core-id %u specified, must be in range 1:%u",
878878
cpu->core_id, ms->smp.cores - 1);
879-
goto out;
879+
return;
880880
}
881881

882882
if ((cpu->socket_id < 0) || (cpu->socket_id >= ms->smp.sockets)) {
883-
error_setg(&err,
883+
error_setg(errp,
884884
"Invalid socket-id %u specified, must be in range 1:%u",
885885
cpu->socket_id, ms->smp.sockets - 1);
886-
goto out;
886+
return;
887887
}
888888

889889
topo.socket_id = cpu->socket_id;
@@ -892,11 +892,11 @@ static void virt_cpu_pre_plug(HotplugHandler *hotplug_dev,
892892
arch_id = virt_get_arch_id_from_topo(ms, &topo);
893893
cpu_slot = virt_find_cpu_slot(ms, arch_id);
894894
if (CPU(cpu_slot->cpu)) {
895-
error_setg(&err,
895+
error_setg(errp,
896896
"cpu(id%d=%d:%d:%d) with arch-id %" PRIu64 " exists",
897897
cs->cpu_index, cpu->socket_id, cpu->core_id,
898898
cpu->thread_id, cpu_slot->arch_id);
899-
goto out;
899+
return;
900900
}
901901
} else {
902902
/* For cold-add cpu, find empty cpu slot */
@@ -912,33 +912,24 @@ static void virt_cpu_pre_plug(HotplugHandler *hotplug_dev,
912912
cpu->env.address_space_iocsr = &lvms->as_iocsr;
913913
cpu->phy_id = cpu_slot->arch_id;
914914
cs->cpu_index = cpu_slot - ms->possible_cpus->cpus;
915-
numa_cpu_pre_plug(cpu_slot, dev, &err);
916-
out:
917-
if (err) {
918-
error_propagate(errp, err);
919-
}
915+
numa_cpu_pre_plug(cpu_slot, dev, errp);
920916
}
921917

922918
static void virt_cpu_unplug_request(HotplugHandler *hotplug_dev,
923919
DeviceState *dev, Error **errp)
924920
{
925921
LoongArchVirtMachineState *lvms = LOONGARCH_VIRT_MACHINE(hotplug_dev);
926-
Error *err = NULL;
927922
LoongArchCPU *cpu = LOONGARCH_CPU(dev);
928923
CPUState *cs = CPU(dev);
929924

930925
if (cs->cpu_index == 0) {
931-
error_setg(&err, "hot-unplug of boot cpu(id%d=%d:%d:%d) not supported",
926+
error_setg(errp, "hot-unplug of boot cpu(id%d=%d:%d:%d) not supported",
932927
cs->cpu_index, cpu->socket_id,
933928
cpu->core_id, cpu->thread_id);
934-
error_propagate(errp, err);
935929
return;
936930
}
937931

938-
hotplug_handler_unplug_request(HOTPLUG_HANDLER(lvms->acpi_ged), dev, &err);
939-
if (err) {
940-
error_propagate(errp, err);
941-
}
932+
hotplug_handler_unplug_request(HOTPLUG_HANDLER(lvms->acpi_ged), dev, errp);
942933
}
943934

944935
static void virt_cpu_unplug(HotplugHandler *hotplug_dev,

hw/xen/xen-bus.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -353,10 +353,10 @@ static void xen_bus_realize(BusState *bus, Error **errp)
353353
xs_node_watch(xenbus->xsh, node, key, xen_bus_backend_changed,
354354
xenbus, &local_err);
355355
if (local_err) {
356-
/* This need not be treated as a hard error so don't propagate */
357-
error_reportf_err(local_err,
358-
"failed to set up '%s' enumeration watch: ",
359-
type[i]);
356+
warn_reportf_err(local_err,
357+
"failed to set up '%s' enumeration watch: ",
358+
type[i]);
359+
local_err = NULL;
360360
}
361361

362362
g_free(node);

net/vmnet-common.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ ssize_t vmnet_receive_common(NetClientState *nc,
9494

9595
if_status = vmnet_write(s->vmnet_if, &packet, &pkt_cnt);
9696
if (if_status != VMNET_SUCCESS) {
97-
error_report("vmnet: write error: %s\n",
97+
error_report("vmnet: write error: %s",
9898
vmnet_status_map_str(if_status));
9999
return -1;
100100
}

target/loongarch/kvm/kvm.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1081,7 +1081,6 @@ int kvm_arch_init_vcpu(CPUState *cs)
10811081
int ret;
10821082
Error *local_err = NULL;
10831083

1084-
ret = 0;
10851084
qemu_add_vm_change_state_handler(kvm_loongarch_vm_stage_change, cs);
10861085

10871086
if (!kvm_get_one_reg(cs, KVM_REG_LOONGARCH_DEBUG_INST, &val)) {
@@ -1091,29 +1090,34 @@ int kvm_arch_init_vcpu(CPUState *cs)
10911090
ret = kvm_cpu_check_lsx(cs, &local_err);
10921091
if (ret < 0) {
10931092
error_report_err(local_err);
1093+
return ret;
10941094
}
10951095

10961096
ret = kvm_cpu_check_lasx(cs, &local_err);
10971097
if (ret < 0) {
10981098
error_report_err(local_err);
1099+
return ret;
10991100
}
11001101

11011102
ret = kvm_cpu_check_lbt(cs, &local_err);
11021103
if (ret < 0) {
11031104
error_report_err(local_err);
1105+
return ret;
11041106
}
11051107

11061108
ret = kvm_cpu_check_pmu(cs, &local_err);
11071109
if (ret < 0) {
11081110
error_report_err(local_err);
1111+
return ret;
11091112
}
11101113

11111114
ret = kvm_cpu_check_pv_features(cs, &local_err);
11121115
if (ret < 0) {
11131116
error_report_err(local_err);
1117+
return ret;
11141118
}
11151119

1116-
return ret;
1120+
return 0;
11171121
}
11181122

11191123
static bool loongarch_get_lbt(Object *obj, Error **errp)

target/loongarch/tcg/tlb_helper.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -543,7 +543,7 @@ target_ulong helper_lddir(CPULoongArchState *env, target_ulong base,
543543
target_ulong level, uint32_t mem_idx)
544544
{
545545
CPUState *cs = env_cpu(env);
546-
target_ulong badvaddr, index, phys, ret;
546+
target_ulong badvaddr, index, phys;
547547
uint64_t dir_base, dir_width;
548548

549549
if (unlikely((level == 0) || (level > 4))) {
@@ -571,8 +571,7 @@ target_ulong helper_lddir(CPULoongArchState *env, target_ulong base,
571571
get_dir_base_width(env, &dir_base, &dir_width, level);
572572
index = (badvaddr >> dir_base) & ((1 << dir_width) - 1);
573573
phys = base | index << 3;
574-
ret = ldq_phys(cs->as, phys) & TARGET_PHYS_MASK;
575-
return ret;
574+
return ldq_phys(cs->as, phys) & TARGET_PHYS_MASK;
576575
}
577576

578577
void helper_ldpte(CPULoongArchState *env, target_ulong base, target_ulong odd,

0 commit comments

Comments
 (0)