Re: ACPICA serialized objects?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Dec 2, 2015 at 5:42 PM, Zheng, Lv <lv.zheng@xxxxxxxxx> wrote:
> Hi, Andy
>
> Sorry for the delay of reply.
>
>> From: Andy Lutomirski [mailto:luto@xxxxxxxxxx]
>> Sent: Thursday, December 3, 2015 9:29 AM
>>
>> On Wed, Dec 2, 2015 at 5:26 PM, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote:
>> > On Thu, Dec 3, 2015 at 2:22 AM, Andy Lutomirski <luto@xxxxxxxxxx> wrote:
>> >> On Wed, Dec 2, 2015 at 5:13 PM, Rafael J. Wysocki <rafael@xxxxxxxxxx>
>> wrote:
>> >>> Hi,
>> >>>
>> >>> On Thu, Dec 3, 2015 at 1:37 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx>
>> wrote:
>> >>>> [resend as plain text]
>> >>>>
>> >>>> I want to bundle up an arbitrary ACPI_OBJECT into a copyable stream of
>> >>>> bytes, is there some standard way to do this?
>> >>>>
>> >>>> I'm asking because I want to try to upstream something resembling the
>> >>>> rusty old acpi_call module to allow users with debugfs access who are
>> >>>> willing to taint their kernel to evaluate ACPI objects from userspace.
>> >>>> Presumably there would be a user tool to get object info and to
>> >>>> evaluate methods, and we could handle translation to/from strings in
>> >>>> userspace, but I still need some way to shove the data back and forth.
>> >>>
>> >>> Please don't do that, this is broken as a concept.
>> >>>
>> >>> User space has no idea whatsoever about when and it what conditions a
>> >>> given AML can be executed in the first place, so in addition to
>> >>> tainting the kernel it may just outright break things.
>> >>>
>> >>> Not to mention the possibility of confusing the kernel's reference
>> >>> counting and breaking assumptions made by it on the current state of
>> >>> things based on what AML has been already executed.
>> >>
>> >> This is something that I want as a reader of decompiled DSDTs and a
>> >> writer of drivers.  I think we could do it in a way that it doesn't
>> >> get used for evil.  For example, make it a module, taint the kernel if
>> >> it's loaded and enabled, only expose the interface if an actual *boot*
>> >> parameter allow_user_acpi_calls=1 is set, encourage distros to
>> >> seriously consider not building the module, disallow it entirely under
>> >> secure boot, etc.
>> >>
>> >> I want to use it for things like "hey, it looks like \NEXP might have
>> >> a funny value -- let's see what's there without manually figuring out
>> >> how to peek at the relevant OpRegion".
>> >
>> > So please check the debugger thing.
>> >
>> > Lv, can you please help Andy with this?
>> >
>>
>> Ooh, that's really cool!  It looks like acpidbg -b "execute \WHATEVER"
>> is *exactly* what I want.  Is there a git tree or up-to-date patchset
>> that works?  It looks like 4.4-rc3 has some but not all of the pieces
>> needed.
> [Lv Zheng]
> You can find them here:
> https://patchwork.kernel.org/project/linux-acpi/list/
> The patches are:
> [v3] ACPI / x86: introduce acpi_os_readable() support
> [v3,6/6] ACPI / debugger: Add module support for ACPI debugger
> [v3,5/6] tools/power/acpi: Add userspace AML interface support
> [v3,4/6] ACPI / debugger: Add IO interface to access debugger functionalities
> [v3,3/6] ACPICA: Debugger: Fix runtime stub issues of ACPI_DEBUGGER_EXEC using different stub mechanism
> [v3,2/6] ACPICA: Debugger: Convert some mechanisms to OSPM specific
> [v3,1/6] ACPICA: Debugger: Remove unnecessary status check
>
> It is based on linux-pm/linux-next tree.
> I'm going to send an update because to eliminate some recent introduced conflicts.
> I'll Cc you when the new version is sent out.
>
> Thanks and best regards
> -Lv
>

I finally had some time to play with the ACPI debugger, and it's
fantastic.  Thanks!

One minor feature request: have you considered adding readline or
libedit support?

--Andy
--
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux IBM ACPI]     [Linux Power Management]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]     [Linux Resources]

  Powered by Linux