X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=kernel%2Farch%2Fpowerpc%2Fplatforms%2Fpowernv%2Fopal-dump.c;fp=kernel%2Farch%2Fpowerpc%2Fplatforms%2Fpowernv%2Fopal-dump.c;h=4c827826c05eb13b09f4e0cd9f9c73d6967ec9a9;hb=52f993b8e89487ec9ee15a7fb4979e0f09a45b27;hp=2ee96431f7360e1d8d63ece45520416860c62428;hpb=c189ccac5702322ed843fe17057035b7222a59b6;p=kvmfornfv.git diff --git a/kernel/arch/powerpc/platforms/powernv/opal-dump.c b/kernel/arch/powerpc/platforms/powernv/opal-dump.c index 2ee96431f..4c827826c 100644 --- a/kernel/arch/powerpc/platforms/powernv/opal-dump.c +++ b/kernel/arch/powerpc/platforms/powernv/opal-dump.c @@ -370,6 +370,7 @@ static irqreturn_t process_dump(int irq, void *data) uint32_t dump_id, dump_size, dump_type; struct dump_obj *dump; char name[22]; + struct kobject *kobj; rc = dump_read_info(&dump_id, &dump_size, &dump_type); if (rc != OPAL_SUCCESS) @@ -381,8 +382,12 @@ static irqreturn_t process_dump(int irq, void *data) * that gracefully and not create two conflicting * entries. */ - if (kset_find_obj(dump_kset, name)) + kobj = kset_find_obj(dump_kset, name); + if (kobj) { + /* Drop reference added by kset_find_obj() */ + kobject_put(kobj); return 0; + } dump = create_dump_obj(dump_id, dump_size, dump_type); if (!dump)