Details

[Home]

Issue of the Implementation # L0348

Brief

firmware: vpd: incorrect section enabled flag on vpd_section_destroy

Detailed Description

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.

Component

linux-kernel 4.18

Accepted

https://lkml.org/lkml/2018/7/23/944
commit

Status

Fixed in kernel v4.19-rc1

[Home]