On Tue, Jul 19, 2016 at 11:37 PM, Bjorn Helgaas <helgaas@xxxxxxxxxx> wrote: > On Mon, Jun 06, 2016 at 05:25:33PM +0300, Andy Shevchenko wrote: >> When assign new PCI platform PM operations check for all mandatory fields to >> prevent NULL pointer dereference. >> >> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> >> --- >> drivers/pci/pci.c | 4 ++-- >> 1 file changed, 2 insertions(+), 2 deletions(-) >> >> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c >> index c8b4dbd..badbddc 100644 >> --- a/drivers/pci/pci.c >> +++ b/drivers/pci/pci.c >> @@ -530,8 +530,8 @@ static const struct pci_platform_pm_ops *pci_platform_pm; >> >> int pci_set_platform_pm(const struct pci_platform_pm_ops *ops) >> { >> - if (!ops->is_manageable || !ops->set_state || !ops->choose_state >> - || !ops->sleep_wake) >> + if (!ops->is_manageable || !ops->set_state || !ops->choose_state || >> + !ops->sleep_wake || !ops->run_wake || !ops->need_resume) >> return -EINVAL; > > This looks OK to me. platform_pci_run_wake() and > platform_pci_need_resume() assume that if pci_platform_pm is set, > pci_platform_pm->run_wake and pci_platform_pm->need_resume are valid > function pointers. This is analogous to what we already do for > ops->is_manageable, etc. > > Rafael, do you want to take this or should I? > >> pci_platform_pm = ops; >> return 0; >> -- I can take it. Thanks, Rafael -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html