CVS commit: src/sys/modules/lua
Module Name:src Committed By: rin Date: Sun Aug 8 22:26:32 UTC 2021 Modified Files: src/sys/modules/lua: lua.c Log Message: Fix LIST operations, found by strictly-aligned CPUs, i.e., ARMv5 and IBM403: - Initialize LIST_HEAD. - Use LIST_FOREACH_SAFE() where necessary. To generate a diff of this commit: cvs rdiff -u -r1.26 -r1.27 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.26 src/sys/modules/lua/lua.c:1.27 --- src/sys/modules/lua/lua.c:1.26 Sat Aug 7 04:19:31 2021 +++ src/sys/modules/lua/lua.c Sun Aug 8 22:26:32 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.26 2021/08/07 04:19:31 rin Exp $ */ +/* $NetBSD: lua.c,v 1.27 2021/08/08 22:26:32 rin Exp $ */ /* * Copyright (c) 2011 - 2017 by Marc Balmer . @@ -74,8 +74,10 @@ static bool lua_bytecode_on = false; static int lua_verbose; static int lua_max_instr; -static LIST_HEAD(, lua_state) lua_states; -static LIST_HEAD(, lua_module) lua_modules; +static LIST_HEAD(, lua_state) lua_states = +LIST_HEAD_INITIALIZER(lua_states); +static LIST_HEAD(, lua_module) lua_modules = +LIST_HEAD_INITIALIZER(lua_modules); static int lua_match(device_t, cfdata_t, void *); static void lua_attach(device_t, device_t, void *); @@ -723,7 +725,7 @@ kluaL_newstate(const char *name, const c void klua_close(klua_State *K) { - struct lua_state *s; + struct lua_state *s, *ns; struct lua_softc *sc; struct lua_module *m; int error = 0; @@ -747,7 +749,7 @@ klua_close(klua_State *K) if (error) return; /* Nothing we can do... */ - LIST_FOREACH(s, _states, lua_next) + LIST_FOREACH_SAFE(s, _states, lua_next, ns) if (s->K == K) { LIST_REMOVE(s, lua_next); LIST_FOREACH(m, >lua_modules, mod_next)
CVS commit: src/sys/modules/lua
Module Name:src Committed By: rin Date: Sat Aug 7 04:19:31 UTC 2021 Modified Files: src/sys/modules/lua: lua.c Log Message: Make sure that buffers allocated by lua_alloc() are aligned to 8-byte boundaries as done by kmem_alloc(9). Fix alignment faults on armv5te; GCC emits ldrd/strd instructions for memory operands that are guaranteed to be aligned properly. Drop unnecessary __packed attribute from alloc_header_t at the same time. To generate a diff of this commit: cvs rdiff -u -r1.25 -r1.26 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.25 src/sys/modules/lua/lua.c:1.26 --- src/sys/modules/lua/lua.c:1.25 Tue Jun 29 22:40:53 2021 +++ src/sys/modules/lua/lua.c Sat Aug 7 04:19:31 2021 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.25 2021/06/29 22:40:53 dholland Exp $ */ +/* $NetBSD: lua.c,v 1.26 2021/08/07 04:19:31 rin Exp $ */ /* * Copyright (c) 2011 - 2017 by Marc Balmer . @@ -547,14 +547,18 @@ lua_require(lua_State *L) typedef struct { size_t size; -} __packed alloc_header_t; +} alloc_header_t; static void * lua_alloc(void *ud, void *ptr, size_t osize, size_t nsize) { void *nptr = NULL; - const size_t hdr_size = sizeof(alloc_header_t); + /* + * Make sure that buffers allocated by lua_alloc() are aligned to + * 8-byte boundaries as done by kmem_alloc(9). + */ + const size_t hdr_size = roundup(sizeof(alloc_header_t), 8); alloc_header_t *hdr = (alloc_header_t *) ((char *) ptr - hdr_size); if (nsize == 0) { /* freeing */
CVS commit: src/sys/modules/lua
Module Name:src Committed By: martin Date: Tue Dec 26 12:43:59 UTC 2017 Modified Files: src/sys/modules/lua: lua.c Log Message: Fix cargo cult ioctl implementation for LUAINFO: the name and desc fields are arrays, not pointers, so don't use copyoutstr on them, but instead copyin/copyout the whole array of structures. Fixes PR 52864 for me (on sparc64). To generate a diff of this commit: cvs rdiff -u -r1.23 -r1.24 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.23 src/sys/modules/lua/lua.c:1.24 --- src/sys/modules/lua/lua.c:1.23 Sat May 20 09:46:17 2017 +++ src/sys/modules/lua/lua.c Tue Dec 26 12:43:59 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.23 2017/05/20 09:46:17 mbalmer Exp $ */ +/* $NetBSD: lua.c,v 1.24 2017/12/26 12:43:59 martin Exp $ */ /* * Copyright (c) 2011 - 2017 by Marc Balmer. @@ -288,6 +288,7 @@ luaioctl(dev_t dev, u_long cmd, void *da struct pathbuf *pb; struct vattr va; struct lua_loadstate ls; + struct lua_state_info *states; int error, n; klua_State *K; @@ -307,14 +308,25 @@ luaioctl(dev_t dev, u_long cmd, void *da LIST_FOREACH(s, _states, lua_next) { if (n > info->num_states) break; -copyoutstr(s->lua_name, info->states[n].name, -MAX_LUA_NAME, NULL); -copyoutstr(s->lua_desc, info->states[n].desc, -MAX_LUA_DESC, NULL); -info->states[n].user = s->K->ks_user; n++; } info->num_states = n; + states = kmem_alloc(sizeof(*states) * n, KM_SLEEP); + if (copyin(info->states, states, sizeof(*states) * n) + == 0) { +n = 0; +LIST_FOREACH(s, _states, lua_next) { + if (n > info->num_states) + break; + strcpy(states[n].name, s->lua_name); + strcpy(states[n].desc, s->lua_desc); + states[n].user = s->K->ks_user; + n++; +} +copyout(states, info->states, +sizeof(*states) * n); +kmem_free(states, sizeof(*states) * n); + } } break; case LUACREATE:
CVS commit: src/sys/modules/lua
Module Name:src Committed By: mbalmer Date: Sat May 20 09:46:17 UTC 2017 Modified Files: src/sys/modules/lua: lua.c Log Message: always put the module on the stack To generate a diff of this commit: cvs rdiff -u -r1.22 -r1.23 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.22 src/sys/modules/lua/lua.c:1.23 --- src/sys/modules/lua/lua.c:1.22 Sat May 20 08:31:13 2017 +++ src/sys/modules/lua/lua.c Sat May 20 09:46:17 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.22 2017/05/20 08:31:13 mbalmer Exp $ */ +/* $NetBSD: lua.c,v 1.23 2017/05/20 09:46:17 mbalmer Exp $ */ /* * Copyright (c) 2011 - 2017 by Marc Balmer. @@ -514,16 +514,16 @@ lua_require(lua_State *L) if (md != NULL) LIST_FOREACH(s, _states, lua_next) if (s->K->L == L) { -LIST_FOREACH(m, >lua_modules, mod_next) - if (m == md) - return 1; - if (lua_verbose) device_printf(sc_self, "require module %s\n", md->mod_name); luaL_requiref(L, md->mod_name, md->open, 0); +LIST_FOREACH(m, >lua_modules, mod_next) + if (m == md) + return 1; + md->refcount++; LIST_INSERT_HEAD(>lua_modules, md, mod_next); return 1;
CVS commit: src/sys/modules/lua
Module Name:src Committed By: mbalmer Date: Sat May 20 08:31:13 UTC 2017 Modified Files: src/sys/modules/lua: lua.c Log Message: Only load a module if it is not already loaded in a state (much like userland Lua handles require). Fixes PR kern/52226. To generate a diff of this commit: cvs rdiff -u -r1.21 -r1.22 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.21 src/sys/modules/lua/lua.c:1.22 --- src/sys/modules/lua/lua.c:1.21 Thu May 11 07:34:27 2017 +++ src/sys/modules/lua/lua.c Sat May 20 08:31:13 2017 @@ -1,8 +1,8 @@ -/* $NetBSD: lua.c,v 1.21 2017/05/11 07:34:27 mbalmer Exp $ */ +/* $NetBSD: lua.c,v 1.22 2017/05/20 08:31:13 mbalmer Exp $ */ /* + * Copyright (c) 2011 - 2017 by Marc Balmer. * Copyright (c) 2014 by Lourival Vieira Neto . - * Copyright (c) 2011 - 2014 by Marc Balmer . * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -514,6 +514,10 @@ lua_require(lua_State *L) if (md != NULL) LIST_FOREACH(s, _states, lua_next) if (s->K->L == L) { +LIST_FOREACH(m, >lua_modules, mod_next) + if (m == md) + return 1; + if (lua_verbose) device_printf(sc_self, "require module %s\n",
CVS commit: src/sys/modules/lua
Module Name:src Committed By: mbalmer Date: Thu May 11 07:34:27 UTC 2017 Modified Files: src/sys/modules/lua: lua.c Log Message: Avoid possible null pointer dereferencing. Fixes PR kern/52225. To generate a diff of this commit: cvs rdiff -u -r1.20 -r1.21 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.20 src/sys/modules/lua/lua.c:1.21 --- src/sys/modules/lua/lua.c:1.20 Sun Apr 16 17:45:12 2017 +++ src/sys/modules/lua/lua.c Thu May 11 07:34:27 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.20 2017/04/16 17:45:12 riastradh Exp $ */ +/* $NetBSD: lua.c,v 1.21 2017/05/11 07:34:27 mbalmer Exp $ */ /* * Copyright (c) 2014 by Lourival Vieira Neto. @@ -335,10 +335,12 @@ luaioctl(dev_t dev, u_long cmd, void *da } K = kluaL_newstate(create->name, create->desc, IPL_NONE); - K->ks_user = true; if (K == NULL) return ENOMEM; + + K->ks_user = true; + if (lua_verbose) device_printf(sc->sc_dev, "state %s created\n", create->name);
CVS commit: src/sys/modules/lua
Module Name:src Committed By: riastradh Date: Sun Apr 16 17:45:12 UTC 2017 Modified Files: src/sys/modules/lua: lua.c Log Message: Can't destroy pb until we're done using it. To generate a diff of this commit: cvs rdiff -u -r1.19 -r1.20 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.19 src/sys/modules/lua/lua.c:1.20 --- src/sys/modules/lua/lua.c:1.19 Fri Jan 20 12:25:07 2017 +++ src/sys/modules/lua/lua.c Sun Apr 16 17:45:12 2017 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.19 2017/01/20 12:25:07 maya Exp $ */ +/* $NetBSD: lua.c,v 1.20 2017/04/16 17:45:12 riastradh Exp $ */ /* * Copyright (c) 2014 by Lourival Vieira Neto. @@ -401,8 +401,8 @@ luaioctl(dev_t dev, u_long cmd, void *da if (pb == NULL) return ENOMEM; NDINIT(, LOOKUP, FOLLOW | NOCHROOT, pb); -pathbuf_destroy(pb); error = vn_open(, FREAD, 0); +pathbuf_destroy(pb); if (error) { if (lua_verbose) device_printf(sc->sc_dev,
CVS commit: src/sys/modules/lua
Module Name:src Committed By: salazar Date: Sat May 21 12:39:33 UTC 2016 Modified Files: src/sys/modules/lua: lua.c Log Message: fix double require bug To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.16 src/sys/modules/lua/lua.c:1.17 --- src/sys/modules/lua/lua.c:1.16 Sat Feb 7 04:09:13 2015 +++ src/sys/modules/lua/lua.c Sat May 21 12:39:32 2016 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.16 2015/02/07 04:09:13 christos Exp $ */ +/* $NetBSD: lua.c,v 1.17 2016/05/21 12:39:32 salazar Exp $ */ /* * Copyright (c) 2014 by Lourival Vieira Neto. @@ -355,7 +355,10 @@ luaioctl(dev_t dev, u_long cmd, void *da case LUAREQUIRE: /* 'require' a module in a State */ require = data; LIST_FOREACH(s, _states, lua_next) - if (!strcmp(s->lua_name, require->state)) + if (!strcmp(s->lua_name, require->state)) { +LIST_FOREACH(m, >lua_modules, mod_next) + if (!strcmp(m->mod_name, require->module)) + return ENXIO; LIST_FOREACH(m, _modules, mod_next) if (!strcmp(m->mod_name, require->module)) { @@ -379,6 +382,7 @@ luaioctl(dev_t dev, u_long cmd, void *da mod_next); return 0; } + } return ENXIO; case LUALOAD: load = data;
CVS commit: src/sys/modules/lua
Module Name:src Committed By: christos Date: Sat Feb 7 04:09:13 UTC 2015 Modified Files: src/sys/modules/lua: lua.c Log Message: plug leak on error. Reported by: http://www.m00nbsd.net/ae123a9bae03f7dde5c6d654412daf5a.html#Report-4 To generate a diff of this commit: cvs rdiff -u -r1.15 -r1.16 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.15 src/sys/modules/lua/lua.c:1.16 --- src/sys/modules/lua/lua.c:1.15 Sun Nov 30 14:15:03 2014 +++ src/sys/modules/lua/lua.c Fri Feb 6 23:09:13 2015 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.15 2014/11/30 19:15:03 lneto Exp $ */ +/* $NetBSD: lua.c,v 1.16 2015/02/07 04:09:13 christos Exp $ */ /* * Copyright (c) 2014 by Lourival Vieira Neto ln...@netbsd.org. @@ -653,8 +653,10 @@ klua_newstate(lua_Alloc f, void *ud, con sc-sc_state = true; mutex_exit(sc-sc_state_lock); - if (error) + if (error) { + kmem_free(s, sizeof(struct lua_state)); return NULL; + } K = kmem_zalloc(sizeof(klua_State), KM_SLEEP); K-L = lua_newstate(f, ud);
CVS commit: src/sys/modules/lua
Module Name:src Committed By: lneto Date: Sun Nov 30 19:15:03 UTC 2014 Modified Files: src/sys/modules/lua: lua.c Log Message: lua(4): fixed require To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.14 src/sys/modules/lua/lua.c:1.15 --- src/sys/modules/lua/lua.c:1.14 Wed Sep 24 14:55:48 2014 +++ src/sys/modules/lua/lua.c Sun Nov 30 19:15:03 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.14 2014/09/24 14:55:48 mbalmer Exp $ */ +/* $NetBSD: lua.c,v 1.15 2014/11/30 19:15:03 lneto Exp $ */ /* * Copyright (c) 2014 by Lourival Vieira Neto ln...@netbsd.org. @@ -367,7 +367,11 @@ luaioctl(dev_t dev, u_long cmd, void *da m-mod_name, s-lua_name); klua_lock(s-K); - m-open(s-K-L); + luaL_requiref( + s-K-L, + m-mod_name, + m-open, + 1); klua_unlock(s-K); m-refcount++; LIST_INSERT_HEAD( @@ -507,7 +511,8 @@ lua_require(lua_State *L) device_printf(sc_self, require module %s\n, md-mod_name); -md-open(L); +luaL_requiref(L, md-mod_name, md-open, 0); + md-refcount++; LIST_INSERT_HEAD(s-lua_modules, md, mod_next); return 1;
CVS commit: src/sys/modules/lua
Module Name:src Committed By: mbalmer Date: Wed Sep 24 14:55:48 UTC 2014 Modified Files: src/sys/modules/lua: lua.c Log Message: whitespace, knf, comments, but no functional change To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.13 src/sys/modules/lua/lua.c:1.14 --- src/sys/modules/lua/lua.c:1.13 Fri Jul 25 08:10:40 2014 +++ src/sys/modules/lua/lua.c Wed Sep 24 14:55:48 2014 @@ -1,8 +1,8 @@ -/* $NetBSD: lua.c,v 1.13 2014/07/25 08:10:40 dholland Exp $ */ +/* $NetBSD: lua.c,v 1.14 2014/09/24 14:55:48 mbalmer Exp $ */ /* * Copyright (c) 2014 by Lourival Vieira Neto ln...@netbsd.org. - * Copyright (c) 2011, 2013 by Marc Balmer mbal...@netbsd.org. + * Copyright (c) 2011 - 2014 by Marc Balmer mbal...@netbsd.org. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -629,7 +629,7 @@ klua_mod_unregister(const char *name) klua_State * klua_newstate(lua_Alloc f, void *ud, const char *name, const char *desc, - int ipl) +int ipl) { klua_State *K; struct lua_state *s; @@ -694,6 +694,7 @@ klua_close(klua_State *K) struct lua_module *m; int error = 0; + /* XXX consider registering a handler instead of a fixed name. */ lua_getglobal(K-L, onClose); if (lua_isfunction(K-L, -1)) lua_pcall(K-L, -1, 0, 0); @@ -784,9 +785,11 @@ MODULE(MODULE_CLASS_MISC, lua, NULL); static const struct cfiattrdata luabus_iattrdata = { luabus, 0, { { NULL, NULL, 0 },} }; + static const struct cfiattrdata *const lua_attrs[] = { luabus_iattrdata, NULL }; + CFDRIVER_DECL(lua, DV_DULL, lua_attrs); extern struct cfattach lua_ca; static int lualoc[] = { @@ -794,6 +797,7 @@ static int lualoc[] = { -1, -1 }; + static struct cfdata lua_cfdata[] = { { .cf_name = lua,
CVS commit: src/sys/modules/lua
Module Name:src Committed By: lneto Date: Sat Jul 19 17:10:02 UTC 2014 Modified Files: src/sys/modules/lua: errno.h inttypes.h stdarg.h stddef.h stdlib.h Log Message: lua(4): cleaned stubs To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/modules/lua/errno.h \ src/sys/modules/lua/inttypes.h src/sys/modules/lua/stdarg.h \ src/sys/modules/lua/stddef.h src/sys/modules/lua/stdlib.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/errno.h diff -u src/sys/modules/lua/errno.h:1.1 src/sys/modules/lua/errno.h:1.2 --- src/sys/modules/lua/errno.h:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/errno.h Sat Jul 19 17:10:02 2014 @@ -1,8 +0,0 @@ -/* $NetBSD */ - -/* - * This file is a placeholder only, to allow Lua to be compiled from - * unchanged sources. - */ - -#include sys/errno.h Index: src/sys/modules/lua/inttypes.h diff -u src/sys/modules/lua/inttypes.h:1.1 src/sys/modules/lua/inttypes.h:1.2 --- src/sys/modules/lua/inttypes.h:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/inttypes.h Sat Jul 19 17:10:02 2014 @@ -1,6 +0,0 @@ -/* $NetBSD: inttypes.h,v 1.1 2013/10/16 19:44:57 mbalmer Exp $ */ - -/* - * This file is a placeholder only, to allow Lua to be compiled from - * unchanged sources. - */ Index: src/sys/modules/lua/stdarg.h diff -u src/sys/modules/lua/stdarg.h:1.1 src/sys/modules/lua/stdarg.h:1.2 --- src/sys/modules/lua/stdarg.h:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/stdarg.h Sat Jul 19 17:10:02 2014 @@ -1,8 +0,0 @@ -/* $NetBSD */ - -/* - * This file is a placeholder only, to allow Lua to be compiled from - * unchanged sources. - */ - -#include sys/stdarg.h Index: src/sys/modules/lua/stddef.h diff -u src/sys/modules/lua/stddef.h:1.1 src/sys/modules/lua/stddef.h:1.2 --- src/sys/modules/lua/stddef.h:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/stddef.h Sat Jul 19 17:10:02 2014 @@ -6,11 +6,5 @@ */ #include sys/types.h - -#ifdef _BSD_PTRDIFF_T_ -typedef _BSD_PTRDIFF_T_ ptrdiff_t; -#undef _BSD_PTRDIFF_T_ -#endif - #include sys/null.h Index: src/sys/modules/lua/stdlib.h diff -u src/sys/modules/lua/stdlib.h:1.1 src/sys/modules/lua/stdlib.h:1.2 --- src/sys/modules/lua/stdlib.h:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/stdlib.h Sat Jul 19 17:10:02 2014 @@ -1,7 +1,7 @@ /* $NetBSD */ /* - * Copyright (c) 2011, Lourival Neto ln...@netbsd.org. + * Copyright (c) 2011-2014, Lourival Neto ln...@netbsd.org. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -36,11 +36,8 @@ #include sys/param.h #include sys/kmem.h -#ifndef _LUA_INCLUDE_STDLIB -#define _LUA_INCLUDE_STDLIB - -#define realloc(ptr, nsize) kmem_alloc(nsize, KM_SLEEP) -#define free(ptr) kmem_free(ptr, osize) +#ifndef _LUA_INCLUDE_STDLIB_ +#define _LUA_INCLUDE_STDLIB_ #define exit(EXIT_FAILURE) return
CVS commit: src/sys/modules/lua
Module Name:src Committed By: christos Date: Sat Jul 19 20:15:55 UTC 2014 Modified Files: src/sys/modules/lua: Makefile Log Message: XXX: remove file that includes userland headers. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/modules/lua/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/Makefile diff -u src/sys/modules/lua/Makefile:1.8 src/sys/modules/lua/Makefile:1.9 --- src/sys/modules/lua/Makefile:1.8 Sat Jul 19 14:38:35 2014 +++ src/sys/modules/lua/Makefile Sat Jul 19 16:15:55 2014 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.8 2014/07/19 18:38:35 lneto Exp $ +# $NetBSD: Makefile,v 1.9 2014/07/19 20:15:55 christos Exp $ .include ../Makefile.inc @@ -16,7 +16,7 @@ SRCS+= lapi.c lcode.c lctype.c ldebug.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c # Lua stdlibs source code -SRCS+= lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c \ +SRCS+= lauxlib.c lbaselib.c lbitlib.c lcorolib.c \ lstrlib.c ltablib.c lutf8lib.c linit.c CPPFLAGS+= -I${S}/../external/mit/lua/dist/src \
CVS commit: src/sys/modules/lua
Module Name:src Committed By: christos Date: Sat Jul 19 20:21:52 UTC 2014 Modified Files: src/sys/modules/lua: Makefile Log Message: undo previous To generate a diff of this commit: cvs rdiff -u -r1.9 -r1.10 src/sys/modules/lua/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/Makefile diff -u src/sys/modules/lua/Makefile:1.9 src/sys/modules/lua/Makefile:1.10 --- src/sys/modules/lua/Makefile:1.9 Sat Jul 19 16:15:55 2014 +++ src/sys/modules/lua/Makefile Sat Jul 19 16:21:52 2014 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.9 2014/07/19 20:15:55 christos Exp $ +# $NetBSD: Makefile,v 1.10 2014/07/19 20:21:52 christos Exp $ .include ../Makefile.inc @@ -16,7 +16,7 @@ SRCS+= lapi.c lcode.c lctype.c ldebug.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c # Lua stdlibs source code -SRCS+= lauxlib.c lbaselib.c lbitlib.c lcorolib.c \ +SRCS+= lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c \ lstrlib.c ltablib.c lutf8lib.c linit.c CPPFLAGS+= -I${S}/../external/mit/lua/dist/src \
CVS commit: src/sys/modules/lua
Module Name:src Committed By: christos Date: Fri Dec 27 22:09:43 UTC 2013 Modified Files: src/sys/modules/lua: Makefile Log Message: Remove strncat now that it is part of the kernel anyway. To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/modules/lua/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/Makefile diff -u src/sys/modules/lua/Makefile:1.5 src/sys/modules/lua/Makefile:1.6 --- src/sys/modules/lua/Makefile:1.5 Mon Dec 2 01:07:22 2013 +++ src/sys/modules/lua/Makefile Fri Dec 27 17:09:43 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.5 2013/12/02 06:07:22 lneto Exp $ +# $NetBSD: Makefile,v 1.6 2013/12/27 22:09:43 christos Exp $ .include ../Makefile.inc @@ -42,7 +42,6 @@ SRCS+= lbaselib.c \ # Compatability code SRCS+= strcspn.c \ - strncat.c \ strpbrk.c \ strspn.c
CVS commit: src/sys/modules/lua
Module Name:src Committed By: lneto Date: Wed Dec 4 02:12:01 UTC 2013 Modified Files: src/sys/modules/lua: lua.c Log Message: fixed lua(4) alloc (nsize can be lesser than osize) To generate a diff of this commit: cvs rdiff -u -r1.5 -r1.6 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.5 src/sys/modules/lua/lua.c:1.6 --- src/sys/modules/lua/lua.c:1.5 Sat Nov 23 15:53:37 2013 +++ src/sys/modules/lua/lua.c Wed Dec 4 02:12:01 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.5 2013/11/23 15:53:37 mbalmer Exp $ */ +/* $NetBSD: lua.c,v 1.6 2013/12/04 02:12:01 lneto Exp $ */ /* * Copyright (c) 2011, 2013 by Marc Balmer mbal...@netbsd.org. @@ -515,7 +515,7 @@ lua_alloc(void *ud, void *ptr, size_t os } else { nptr = kmem_alloc(nsize, KM_SLEEP); if (ptr != NULL) { - memcpy(nptr, ptr, osize); + memcpy(nptr, ptr, osize nsize ? osize : nsize); kmem_free(ptr, osize); } }
CVS commit: src/sys/modules/lua
Module Name:src Committed By: joerg Date: Mon Dec 2 12:29:44 UTC 2013 Modified Files: src/sys/modules/lua: stdio.h Log Message: Let's use a format string, shall we? To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/modules/lua/stdio.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/stdio.h diff -u src/sys/modules/lua/stdio.h:1.1 src/sys/modules/lua/stdio.h:1.2 --- src/sys/modules/lua/stdio.h:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/stdio.h Mon Dec 2 12:29:44 2013 @@ -43,7 +43,7 @@ #define putchar(c) printf(%c, c) -#define fputs(s, f) printf(s) +#define fputs(s, f) printf(%s, s) #endif
CVS commit: src/sys/modules/lua
Module Name:src Committed By: mbalmer Date: Sat Nov 23 15:53:37 UTC 2013 Modified Files: src/sys/modules/lua: lua.c Log Message: switch from malloc(9) to kmem(9) To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.4 src/sys/modules/lua/lua.c:1.5 --- src/sys/modules/lua/lua.c:1.4 Tue Oct 29 17:35:04 2013 +++ src/sys/modules/lua/lua.c Sat Nov 23 15:53:37 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: lua.c,v 1.4 2013/10/29 17:35:04 mbalmer Exp $ */ +/* $NetBSD: lua.c,v 1.5 2013/11/23 15:53:37 mbalmer Exp $ */ /* * Copyright (c) 2011, 2013 by Marc Balmer mbal...@netbsd.org. @@ -36,9 +36,9 @@ #include sys/condvar.h #include sys/device.h #include sys/ioctl.h +#include sys/kmem.h #include sys/lock.h #include sys/lua.h -#include sys/malloc.h #include sys/module.h #include sys/mutex.h #include sys/namei.h @@ -212,7 +212,7 @@ lua_detach(device_t self, int flags) if (lua_verbose) device_printf(self, state %s destroyed\n, s-lua_name); - free(s, NULL); + kmem_free(s, sizeof(struct lua_state)); } mutex_destroy(sc-sc_lock); cv_destroy(sc-sc_inuse_cv); @@ -506,12 +506,20 @@ lua_require(lua_State *L) void * lua_alloc(void *ud, void *ptr, size_t osize, size_t nsize) { + void *nptr; + if (nsize == 0) { + nptr = NULL; if (ptr != NULL) - free(ptr, NULL); - return NULL; - } else - return realloc(ptr, nsize, ud, 0); + kmem_free(ptr, osize); + } else { + nptr = kmem_alloc(nsize, KM_SLEEP); + if (ptr != NULL) { + memcpy(nptr, ptr, osize); + kmem_free(ptr, osize); + } + } + return nptr; } static const char * @@ -556,9 +564,7 @@ lua_mod_register(const char *name, int ( LIST_FOREACH(m, lua_modules, mod_next) if (!strcmp(m-mod_name, name)) return EBUSY; - m = malloc(sizeof(struct lua_module), NULL, M_ZERO); - if (m == NULL) - return ENOMEM; + m = kmem_zalloc(sizeof(struct lua_module), KM_SLEEP); strlcpy(m-mod_name, name, LUA_MAX_MODNAME); m-open = open; m-refcount = 0; @@ -577,7 +583,7 @@ lua_mod_unregister(const char *name) if (!strcmp(m-mod_name, name)) { if (m-refcount == 0) { LIST_REMOVE(m, mod_next); -free(m, NULL); +kmem_free(m, sizeof(struct lua_module)); if (lua_verbose) device_printf(sc_self, unregistered lua module %s\n, @@ -597,10 +603,7 @@ klua_newstate(lua_Alloc f, void *ud, con struct lua_softc *sc; int error = 0; - s = malloc(sizeof(struct lua_state), NULL, M_ZERO); - if (s == NULL) - return NULL; - + s = kmem_zalloc(sizeof(struct lua_state), KM_SLEEP); sc = device_private(sc_self); mutex_enter(sc-sc_state_lock); while (sc-sc_state == true) { @@ -615,13 +618,11 @@ klua_newstate(lua_Alloc f, void *ud, con if (error) return NULL; - K = malloc(sizeof(klua_State), NULL, M_ZERO); - if (K == NULL) - goto finish; + K = kmem_zalloc(sizeof(klua_State), KM_SLEEP); K-L = lua_newstate(f, ud); K-ks_user = false; if (K-L == NULL) { - free(K, NULL); + kmem_free(K, sizeof(klua_State)); K = NULL; goto finish; } @@ -687,13 +688,13 @@ klua_close(klua_State *K) LIST_REMOVE(s, lua_next); LIST_FOREACH(m, s-lua_modules, mod_next) m-refcount--; - free(s, NULL); + kmem_free(s, sizeof(struct lua_state)); } lua_close(K-L); cv_destroy(K-ks_inuse_cv); mutex_destroy(K-ks_lock); - free(K, NULL); + kmem_free(K, sizeof(klua_State)); mutex_enter(sc-sc_state_lock); sc-sc_state = false;
CVS commit: src/sys/modules/lua
Module Name:src Committed By: mbalmer Date: Thu Oct 31 16:50:14 UTC 2013 Modified Files: src/sys/modules/lua: Makefile Log Message: fix build on arm To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/modules/lua/Makefile Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/Makefile diff -u src/sys/modules/lua/Makefile:1.1 src/sys/modules/lua/Makefile:1.2 --- src/sys/modules/lua/Makefile:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/Makefile Thu Oct 31 16:50:14 2013 @@ -1,4 +1,4 @@ -# $NetBSD: Makefile,v 1.1 2013/10/16 19:44:57 mbalmer Exp $ +# $NetBSD: Makefile,v 1.2 2013/10/31 16:50:14 mbalmer Exp $ .include ../Makefile.inc @@ -42,7 +42,8 @@ SRCS+= strcspn.c \ strpbrk.c \ strspn.c -CPPFLAGS+= -include ${.CURDIR}/luaconf.h \ - -I${S}/../external/mit/lua/dist/src +CFLAGS+= -include ${.CURDIR}/luaconf.h + +CPPFLAGS+= -I${S}/../external/mit/lua/dist/src .include bsd.kmodule.mk
CVS commit: src/sys/modules/lua
Module Name:src Committed By: mbalmer Date: Fri Oct 18 07:49:06 UTC 2013 Modified Files: src/sys/modules/lua: lua.c Log Message: fix CVS marker and copyright year To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/sys/modules/lua/lua.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. Modified files: Index: src/sys/modules/lua/lua.c diff -u src/sys/modules/lua/lua.c:1.1 src/sys/modules/lua/lua.c:1.2 --- src/sys/modules/lua/lua.c:1.1 Wed Oct 16 19:44:57 2013 +++ src/sys/modules/lua/lua.c Fri Oct 18 07:49:06 2013 @@ -1,7 +1,7 @@ -/* $NetBSD */ +/* $NetBSD: lua.c,v 1.2 2013/10/18 07:49:06 mbalmer Exp $ */ /* - * Copyright (c) 2011 by Marc Balmer mbal...@netbsd.org. + * Copyright (c) 2011, 2013 by Marc Balmer mbal...@netbsd.org. * All rights reserved. * * Redistribution and use in source and binary forms, with or without