diff options
| author | Martin Matuska <mm@FreeBSD.org> | 2022-11-16 20:25:24 +0000 |
|---|---|---|
| committer | Martin Matuska <mm@FreeBSD.org> | 2022-11-16 20:27:42 +0000 |
| commit | dbd5678dca91abcefe8d046aa2f9b66497a95ffb (patch) | |
| tree | 23c7cf5ccced42596b6f6da3c8450e86124f5248 /sys/contrib/openzfs/module/lua | |
| parent | 61b146ba43cd3886c81e79b37fdc665d6e1d74b8 (diff) | |
| parent | 2163cde450d0898b5f7bac16afb4e238485411ff (diff) | |
Diffstat (limited to 'sys/contrib/openzfs/module/lua')
| -rw-r--r-- | sys/contrib/openzfs/module/lua/lapi.c | 4 | ||||
| -rw-r--r-- | sys/contrib/openzfs/module/lua/ldo.c | 2 | ||||
| -rw-r--r-- | sys/contrib/openzfs/module/lua/setjmp/setjmp_x86_64.S | 15 |
3 files changed, 12 insertions, 9 deletions
diff --git a/sys/contrib/openzfs/module/lua/lapi.c b/sys/contrib/openzfs/module/lua/lapi.c index 726e5c2ad4bb..703cf4cc2a36 100644 --- a/sys/contrib/openzfs/module/lua/lapi.c +++ b/sys/contrib/openzfs/module/lua/lapi.c @@ -250,6 +250,8 @@ LUA_API int lua_type (lua_State *L, int idx) { LUA_API const char *lua_typename (lua_State *L, int t) { UNUSED(L); + if (t > 8 || t < 0) + return "internal_type_error"; return ttypename(t); } @@ -442,7 +444,7 @@ LUA_API const void *lua_topointer (lua_State *L, int idx) { case LUA_TTABLE: return hvalue(o); case LUA_TLCL: return clLvalue(o); case LUA_TCCL: return clCvalue(o); - case LUA_TLCF: return cast(void *, cast(size_t, fvalue(o))); + case LUA_TLCF: return cast(void *, cast(uintptr_t, fvalue(o))); case LUA_TTHREAD: return thvalue(o); case LUA_TUSERDATA: case LUA_TLIGHTUSERDATA: diff --git a/sys/contrib/openzfs/module/lua/ldo.c b/sys/contrib/openzfs/module/lua/ldo.c index 24677596de12..6bef80514ce2 100644 --- a/sys/contrib/openzfs/module/lua/ldo.c +++ b/sys/contrib/openzfs/module/lua/ldo.c @@ -452,7 +452,7 @@ int luaD_poscall (lua_State *L, StkId firstResult) { } res = ci->func; /* res == final position of 1st result */ wanted = ci->nresults; - L->ci = ci = ci->previous; /* back to caller */ + L->ci = ci->previous; /* back to caller */ /* move results to correct place */ for (i = wanted; i != 0 && firstResult < L->top; i--) setobjs2s(L, res++, firstResult++); diff --git a/sys/contrib/openzfs/module/lua/setjmp/setjmp_x86_64.S b/sys/contrib/openzfs/module/lua/setjmp/setjmp_x86_64.S index fd661d72eedf..7e13fea05dda 100644 --- a/sys/contrib/openzfs/module/lua/setjmp/setjmp_x86_64.S +++ b/sys/contrib/openzfs/module/lua/setjmp/setjmp_x86_64.S @@ -23,7 +23,15 @@ * Copyright (c) 1992, 2010, Oracle and/or its affiliates. All rights reserved. */ +#if defined(_KERNEL) && defined(__linux__) +#include <linux/linkage.h> +#endif + +#ifndef RET +#define RET ret +#endif +#undef ENTRY #define ENTRY(x) \ .text; \ .align 8; \ @@ -34,13 +42,6 @@ x: #define SET_SIZE(x) \ .size x, [.-x] - -#if defined(__linux__) && defined(CONFIG_SLS) -#define RET ret; int3 -#else -#define RET ret -#endif - /* * Setjmp and longjmp implement non-local gotos using state vectors * type label_t. |
