Thread (49 messages) 49 messages, 6 authors, 2022-12-08

Re: [PATCH 10/13] powerpc/rtas: improve function information lookups

From: Andrew Donnellan <hidden>
Date: 2022-11-24 03:29:44

On Wed, 2022-11-23 at 13:32 -0600, Nick Child wrote:
On 11/22/22 20:51, Andrew Donnellan wrote:
quoted
On Fri, 2022-11-18 at 09:07 -0600, Nathan Lynch wrote:
quoted
+enum rtas_function_flags {
+       RTAS_FN_FLAG_BANNED_FOR_SYSCALL_ON_LE = (1 << 0),
+};
This seems to be new, what's the justification?
Seems to be a run-time replacement of:
#ifdef CONFIG_CPU_BIG_ENDIAN
        { "ibm,suspend-me", -1, -1, -1, -1, -1 },
        { "ibm,update-nodes", -1, 0, -1, -1, -1, 4096 },
        { "ibm,update-properties", -1, 0, -1, -1, -1, 4096 },
#endif

It looks to be handled logically:
+ if (IS_ENABLED(CONFIG_CPU_LITTLE_ENDIAN) &&
+           (func->flags & RTAS_FN_FLAG_BANNED_FOR_SYSCALL_ON_LE))
+               goto err;

Perhaps, also allow the addition of any future special cases
for rtas functions easier to maintain?
Makes sense, though I'm slightly confused about the original rationale
for the ifdef and why it's not being fixed in userspace.

Slightly clunky name though, something like
RTAS_FN_FLAG_SYSCALL_BE_ONLY might be less clunky?

-- 
Andrew Donnellan    OzLabs, ADL Canberra
ajd@linux.ibm.com   IBM Australia Limited
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help