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]
Message-ID: <20170413005515.GA7063@roeck-us.net>
Date:   Wed, 12 Apr 2017 17:55:15 -0700
From:   Guenter Roeck <linux@...ck-us.net>
To:     "Moore, Robert" <robert.moore@...el.com>
Cc:     "Zheng, Lv" <lv.zheng@...el.com>,
        "Wysocki, Rafael J" <rafael.j.wysocki@...el.com>,
        Len Brown <lenb@...nel.org>,
        "linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
        "devel@...ica.org" <devel@...ica.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] ACPICA: Export mutex functions

On Wed, Apr 12, 2017 at 09:56:37PM +0000, Moore, Robert wrote:
> 
> 
> > -----Original Message-----
> > From: Guenter Roeck [mailto:linux@...ck-us.net]
> > Sent: Wednesday, April 12, 2017 2:23 PM
> > To: Moore, Robert <robert.moore@...el.com>
> > Cc: Zheng, Lv <lv.zheng@...el.com>; Wysocki, Rafael J
> > <rafael.j.wysocki@...el.com>; Len Brown <lenb@...nel.org>; linux-
> > acpi@...r.kernel.org; devel@...ica.org; linux-kernel@...r.kernel.org
> > Subject: Re: [PATCH] ACPICA: Export mutex functions
> > 
> > On Wed, Apr 12, 2017 at 03:29:55PM +0000, Moore, Robert wrote:
> > > The ACPICA mutex functions are based on the host OS functions, so they
> > don't really buy you anything. You should just use the native Linux
> > functions.
> > >
> > 
> > You mean they don't really acquire the requested ACPI mutex, and the
> > underlying DSDT which declares and uses the mutex just ignores if the
> > mutex was acquired by acpi_acquire_mutex() ?
> > 
> [Moore, Robert] 
> 
> OK, I understand now. Yes, these mutex interfaces are in fact intended for the purpose you mention:
> 
> * FUNCTION:    AcpiAcquireMutex
>  *
>  * PARAMETERS:  Handle              - Mutex or prefix handle (optional)
>  *              Pathname            - Mutex pathname (optional)
>  *              Timeout             - Max time to wait for the lock (millisec)
>  *
>  * RETURN:      Status
>  *
>  * DESCRIPTION: Acquire an AML mutex. This is a device driver interface to
>  *              AML mutex objects, and allows for transaction locking between
>  *              drivers and AML code. The mutex node is pointed to by
>  *              Handle:Pathname. Either Handle or Pathname can be NULL, but
>  *              not both.
> 
> 
> And yes, both the acquire and release interfaces should be exported.
> 

Puh, I am relieved ...

Thanks,
Guenter

> 
> > To clarify: You are saying that code such as
> > 
> > 	acpi_status status;
> > 
> > 	status = acpi_acquire_mutex(NULL, "\\_SB.PCI0.SBRG.SIO1.MUT0",
> > 0x10);
> > 	if (ACPI_FAILURE(status)) {
> > 		pr_err("Failed to acquire ACPI mutex\n");
> > 		return -EBUSY;
> > 	}
> > 	...
> > 
> > when used in conjunction with
> > 
> > 	...
> > 	Mutex (MUT0, 0x00)
> > 	Method (ENFG, 1, NotSerialized)
> > 	{
> > 		Acquire (MUT0, 0x0FFF)
> > 		...
> > 	}
> > 
> > doesn't really provide exclusive access to the resource(s) protected by
> > MUT0, even if acpi_acquire_mutex() returns ACPI_SUCCESS ?
> > 
> > Outch. Really ?
> > 
> > Thanks,
> > Guenter
> > 
> > >
> > > > -----Original Message-----
> > > > From: Guenter Roeck [mailto:linux@...ck-us.net]
> > > > Sent: Wednesday, April 12, 2017 8:13 AM
> > > > To: Moore, Robert <robert.moore@...el.com>; Zheng, Lv
> > > > <lv.zheng@...el.com>; Wysocki, Rafael J
> > > > <rafael.j.wysocki@...el.com>; Len Brown <lenb@...nel.org>
> > > > Cc: linux-acpi@...r.kernel.org; devel@...ica.org; linux-
> > > > kernel@...r.kernel.org; Guenter Roeck <linux@...ck-us.net>
> > > > Subject: [PATCH] ACPICA: Export mutex functions
> > > >
> > > > Mutex functions may be needed by drivers. Examples are accesses to
> > > > Super-IO SIO registers (0x2e/0x2f or 0x4e/0x4f) or Super-IO
> > > > environmental monitor registers, both which may also be accessed
> > > > through DSDT.
> > > >
> > > > Signed-off-by: Guenter Roeck <linux@...ck-us.net>
> > > > ---
> > > >  drivers/acpi/acpica/utxfmutex.c | 2 ++
> > > >  1 file changed, 2 insertions(+)
> > > >
> > > > diff --git a/drivers/acpi/acpica/utxfmutex.c
> > > > b/drivers/acpi/acpica/utxfmutex.c index c016211c35ae..5d20581f4b2f
> > > > 100644
> > > > --- a/drivers/acpi/acpica/utxfmutex.c
> > > > +++ b/drivers/acpi/acpica/utxfmutex.c
> > > > @@ -150,6 +150,7 @@ acpi_acquire_mutex(acpi_handle handle,
> > > > acpi_string pathname, u16 timeout)
> > > >  	status = acpi_os_acquire_mutex(mutex_obj->mutex.os_mutex, timeout);
> > > >  	return (status);
> > > >  }
> > > > +ACPI_EXPORT_SYMBOL(acpi_acquire_mutex)
> > > >
> > > >
> > > > /*******************************************************************
> > > > ****
> > > > ********
> > > >   *
> > > > @@ -185,3 +186,4 @@ acpi_status acpi_release_mutex(acpi_handle
> > > > handle, acpi_string pathname)
> > > >  	acpi_os_release_mutex(mutex_obj->mutex.os_mutex);
> > > >  	return (AE_OK);
> > > >  }
> > > > +ACPI_EXPORT_SYMBOL(acpi_release_mutex)
> > > > --
> > > > 2.7.4
> > >

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ