CVS commit: src/sys/modules/lua

2021-08-08 Thread Rin Okuyama
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

2021-08-06 Thread Rin Okuyama
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

2017-12-26 Thread Martin Husemann
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

2017-05-20 Thread Marc Balmer
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

2017-05-20 Thread Marc Balmer
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

2017-05-11 Thread Marc Balmer
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

2017-04-16 Thread Taylor R Campbell
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

2016-05-21 Thread Guilherme Salazar
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

2015-02-06 Thread Christos Zoulas
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

2014-11-30 Thread Lourival Pereira Vieira Neto
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

2014-09-24 Thread Marc Balmer
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

2014-07-19 Thread Lourival Pereira Vieira Neto
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

2014-07-19 Thread Christos Zoulas
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

2014-07-19 Thread Christos Zoulas
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

2013-12-27 Thread Christos Zoulas
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

2013-12-03 Thread Lourival Pereira Vieira Neto
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

2013-12-02 Thread Joerg Sonnenberger
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

2013-11-23 Thread Marc Balmer
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

2013-10-31 Thread Marc Balmer
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

2013-10-18 Thread Marc Balmer
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