linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] firmware: vpd: Fix section enabled flag on vpd_section_destroy
@ 2018-07-23 16:48 Anton Vasilyev
  2018-07-23 17:09 ` Dmitry Torokhov
  2018-07-23 17:13 ` Guenter Roeck
  0 siblings, 2 replies; 8+ messages in thread
From: Anton Vasilyev @ 2018-07-23 16:48 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Anton Vasilyev, Dmitry Torokhov, Guenter Roeck, Samuel Holland,
	Pan Bian, linux-kernel, ldv-project

static struct ro_vpd and rw_vpd are initialized by vpd_sections_init()
in vpd_probe() based on header's ro and rw sizes.
In vpd_remove() vpd_section_destroy() performs deinitialization based
on enabled flag, which is set to true by vpd_sections_init().
This leads to call of vpd_section_destroy() on already destroyed section
for probe-release-probe-release sequence if first probe performs
ro_vpd initialization and second probe does not initialize it.

The patch adds changing enabled flag on vpd_section_destroy.

Found by Linux Driver Verification project (linuxtesting.org).

Signed-off-by: Anton Vasilyev <vasilyev@ispras.ru>
---
 drivers/firmware/google/vpd.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/firmware/google/vpd.c b/drivers/firmware/google/vpd.c
index e9db895916c3..5347c17c7108 100644
--- a/drivers/firmware/google/vpd.c
+++ b/drivers/firmware/google/vpd.c
@@ -246,6 +246,7 @@ static int vpd_section_destroy(struct vpd_section *sec)
 		sysfs_remove_bin_file(vpd_kobj, &sec->bin_attr);
 		kfree(sec->raw_name);
 		memunmap(sec->baseaddr);
+		sec->enabled = false;
 	}
 
 	return 0;
-- 
2.18.0


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

end of thread, other threads:[~2018-07-24 15:55 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-23 16:48 [PATCH] firmware: vpd: Fix section enabled flag on vpd_section_destroy Anton Vasilyev
2018-07-23 17:09 ` Dmitry Torokhov
2018-07-23 17:13 ` Guenter Roeck
2018-07-23 17:23   ` Dmitry Torokhov
2018-07-23 18:27     ` Guenter Roeck
2018-07-23 18:39       ` Dmitry Torokhov
2018-07-24 15:10         ` [PATCH v2] " Anton Vasilyev
2018-07-24 15:55           ` Guenter Roeck

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