lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Fri, 14 Jun 2019 22:19:02 +0000
From:   Dexuan Cui <decui@...rosoft.com>
To:     Michael Kelley <mikelley@...rosoft.com>,
        "linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
        "rjw@...ysocki.net" <rjw@...ysocki.net>,
        "lenb@...nel.org" <lenb@...nel.org>,
        "robert.moore@...el.com" <robert.moore@...el.com>,
        "erik.schmauss@...el.com" <erik.schmauss@...el.com>,
        Russell King <rmk+kernel@....linux.org.uk>,
        Russ Dill <Russ.Dill@...com>,
        Sebastian Capella <sebastian.capella@...aro.org>,
        Pavel Machek <pavel@....cz>,
        Lorenzo Pieralisi <lorenzo.pieralisi@....com>
CC:     "linux-hyperv@...r.kernel.org" <linux-hyperv@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        KY Srinivasan <kys@...rosoft.com>,
        Stephen Hemminger <sthemmin@...rosoft.com>,
        Haiyang Zhang <haiyangz@...rosoft.com>,
        Sasha Levin <Alexander.Levin@...rosoft.com>,
        "olaf@...fle.de" <olaf@...fle.de>,
        "apw@...onical.com" <apw@...onical.com>,
        "jasowang@...hat.com" <jasowang@...hat.com>,
        vkuznets <vkuznets@...hat.com>,
        "marcelo.cerri@...onical.com" <marcelo.cerri@...onical.com>
Subject: RE: [PATCH] ACPI: PM: Export the function
 acpi_sleep_state_supported()

> -----Original Message-----
> From: Michael Kelley <mikelley@...rosoft.com>
> Sent: Friday, June 14, 2019 1:48 PM
> To: Dexuan Cui <decui@...rosoft.com>; linux-acpi@...r.kernel.org;
> rjw@...ysocki.net; lenb@...nel.org; robert.moore@...el.com;
> erik.schmauss@...el.com
> Cc: linux-hyperv@...r.kernel.org; linux-kernel@...r.kernel.org; KY Srinivasan
> <kys@...rosoft.com>; Stephen Hemminger <sthemmin@...rosoft.com>;
> Haiyang Zhang <haiyangz@...rosoft.com>; Sasha Levin
> <Alexander.Levin@...rosoft.com>; olaf@...fle.de; apw@...onical.com;
> jasowang@...hat.com; vkuznets <vkuznets@...hat.com>;
> marcelo.cerri@...onical.com
> Subject: RE: [PATCH] ACPI: PM: Export the function
> acpi_sleep_state_supported()
> 
> From: Dexuan Cui <decui@...rosoft.com>  Sent: Friday, June 14, 2019 11:19
> AM
> >
> > In a Linux VM running on Hyper-V, when ACPI S4 is enabled, the balloon
> > driver (drivers/hv/hv_balloon.c) needs to ask the host not to do memory
> > hot-add/remove.
> >
> > So let's export acpi_sleep_state_supported() for the hv_balloon driver.
> > This might also be useful to the other drivers in the future.
> >
> > Signed-off-by: Dexuan Cui <decui@...rosoft.com>
> > ---
> >  drivers/acpi/sleep.c    | 3 ++-
> >  include/acpi/acpi_bus.h | 2 ++
> >  2 files changed, 4 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/acpi/sleep.c b/drivers/acpi/sleep.c
> > index a34deccd7317..69755411e008 100644
> > --- a/drivers/acpi/sleep.c
> > +++ b/drivers/acpi/sleep.c
> > @@ -79,7 +79,7 @@ static int acpi_sleep_prepare(u32 acpi_state)
> >  	return 0;
> >  }
> >
> > -static bool acpi_sleep_state_supported(u8 sleep_state)
> > +bool acpi_sleep_state_supported(u8 sleep_state)
> >  {
> >  	acpi_status status;
> >  	u8 type_a, type_b;
> > @@ -89,6 +89,7 @@ static bool acpi_sleep_state_supported(u8 sleep_state)
> >  		|| (acpi_gbl_FADT.sleep_control.address
> >  			&& acpi_gbl_FADT.sleep_status.address));
> >  }
> > +EXPORT_SYMBOL_GPL(acpi_sleep_state_supported);
> >
> >  #ifdef CONFIG_ACPI_SLEEP
> >  static u32 acpi_target_sleep_state = ACPI_STATE_S0;
> > diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
> > index 31b6c87d6240..5b102e7bbf25 100644
> > --- a/include/acpi/acpi_bus.h
> > +++ b/include/acpi/acpi_bus.h
> > @@ -651,6 +651,8 @@ static inline int acpi_pm_set_bridge_wakeup(struct
> device *dev,
> > bool enable)
> >  }
> >  #endif
> >
> > +bool acpi_sleep_state_supported(u8 sleep_state);
> > +
> >  #ifdef CONFIG_ACPI_SLEEP
> >  u32 acpi_target_system_state(void);
> >  #else
> > --
> > 2.19.1
> 
> It seems that sleep.c isn't built when on the ARM64 architecture.  Using
> acpi_sleep_state_supported() directly in hv_balloon.c will be problematic
> since hv_balloon.c needs to be architecture independent when the
> Hyper-V ARM64 support is added.  If that doesn't change, a per-architecture
> wrapper will be needed to give hv_balloon.c the correct information.  This
> may affect whether acpi_sleep_state_supported() needs to be exported vs.
> just removing the "static".   I'm not sure what the best approach is.
> 
> Michael

+ some ARM experts who worked on arch/arm/kernel/hibernate.c.

drivers/acpi/sleep.c is only built if ACPI_SYSTEM_POWER_STATES_SUPPORT
is defined, but it looks this option is not defined on ARM.

It looks ARM does not support the ACPI S4 state, then how do we know 
if an ARM host supports hibernation or not?

Thanks,
-- Dexuan

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ