 055e9dfb58
			
		
	
	055e9dfb58
	
	
	
		
			
			The kernel unconditionally pulls in a header file that defines 'current', which conflicts with the lua extension code. Signed-off-by: Felix Fietkau <nbd@nbd.name>
		
			
				
	
	
		
			119 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			119 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/extensions/LUA/xt_LUA_target.c
 | |
| +++ b/extensions/LUA/xt_LUA_target.c
 | |
| @@ -64,10 +64,10 @@ uint32_t  lua_state_refs[LUA_STATE_ARRAY
 | |
|   * XT_CONTINUE inside the *register_lua_packet_lib* function.
 | |
|   */
 | |
|  
 | |
| -spinlock_t lock = SPIN_LOCK_UNLOCKED;
 | |
| +DEFINE_SPINLOCK(lock);
 | |
|  
 | |
|  static uint32_t 
 | |
| -lua_tg(struct sk_buff *pskb, const struct xt_target_param *par)
 | |
| +lua_tg(struct sk_buff *pskb, const struct xt_action_param *par)
 | |
|  {
 | |
|  	uint32_t  verdict;
 | |
|  	lua_packet_segment *p;
 | |
| @@ -88,11 +88,11 @@ lua_tg(struct sk_buff *pskb, const struc
 | |
|  	/* push the lua_packet_segment as a parameter */
 | |
|  	p = (lua_packet_segment *)lua_newuserdata(L, sizeof(lua_packet_segment));
 | |
|  	if (pskb->mac_header)
 | |
| -		p->start = pskb->mac_header;
 | |
| +		p->start = skb_mac_header(pskb);
 | |
|  	else if (pskb->network_header)
 | |
| -		p->start = pskb->network_header;
 | |
| +		p->start = skb_network_header(pskb);
 | |
|  	else if (pskb->transport_header)
 | |
| -		p->start = pskb->transport_header;
 | |
| +		p->start = skb_transport_header(pskb);
 | |
|  	p->offset = 0;
 | |
|  	p->length = (unsigned long)pskb->tail - (unsigned long)p->start;
 | |
|  	p->changes = NULL;
 | |
| @@ -208,16 +208,16 @@ static bool load_script_into_state(uint3
 | |
|   * some workqueue initialization. So far this is done each time this function
 | |
|   * is called, subject to change.
 | |
|   */
 | |
| -static bool
 | |
| +static int
 | |
|  lua_tg_checkentry(const struct xt_tgchk_param *par)
 | |
|  {
 | |
|  	const struct xt_lua_tginfo *info = par->targinfo;
 | |
|  
 | |
|  	if (load_script_into_state(info->state_id, info->script_size, (char *)info->buf)) {
 | |
|  		lua_state_refs[info->state_id]++;
 | |
| -		return true;
 | |
| +		return 0;
 | |
|  	}
 | |
| -	return false;
 | |
| +	return -EINVAL;
 | |
|  }
 | |
|  
 | |
|  /*::*
 | |
| --- a/extensions/LUA/lua/llimits.h
 | |
| +++ b/extensions/LUA/lua/llimits.h
 | |
| @@ -8,7 +8,6 @@
 | |
|  #define llimits_h
 | |
|  
 | |
|  #include <stddef.h>
 | |
| -#include <limits.h>
 | |
|  
 | |
|  #include "lua.h"
 | |
|  
 | |
| --- a/extensions/LUA/lua/lapi.c
 | |
| +++ b/extensions/LUA/lua/lapi.c
 | |
| @@ -4,9 +4,6 @@
 | |
|  ** See Copyright Notice in lua.h
 | |
|  */
 | |
|  
 | |
| -#include <stdarg.h>
 | |
| -#include <math.h>
 | |
| -#include <assert.h>
 | |
|  #include <string.h>
 | |
|  
 | |
|  #define lapi_c
 | |
| --- a/extensions/LUA/lua/ltable.c
 | |
| +++ b/extensions/LUA/lua/ltable.c
 | |
| @@ -18,7 +18,6 @@
 | |
|  ** Hence even when the load factor reaches 100%, performance remains good.
 | |
|  */
 | |
|  
 | |
| -#include <math.h>
 | |
|  #include <string.h>
 | |
|  
 | |
|  #define ltable_c
 | |
| --- a/extensions/LUA/lua/luaconf.h
 | |
| +++ b/extensions/LUA/lua/luaconf.h
 | |
| @@ -13,8 +13,12 @@
 | |
|  #if !defined(__KERNEL__)
 | |
|  #include <limits.h>
 | |
|  #else
 | |
| +#include <linux/kernel.h>
 | |
| +
 | |
| +#undef UCHAR_MAX
 | |
| +#undef BUFSIZ
 | |
| +#undef NO_FPU
 | |
|  #define UCHAR_MAX	255
 | |
| -#define SHRT_MAX        32767
 | |
|  #define BUFSIZ 		8192
 | |
|  #define NO_FPU
 | |
|  #endif
 | |
| @@ -637,6 +641,8 @@ union luai_Cast { double l_d; long l_l;
 | |
|  */
 | |
|  #if defined(__KERNEL__)
 | |
|  #undef LUA_USE_ULONGJMP
 | |
| +#define setjmp __builtin_setjmp
 | |
| +#define longjmp __builtin_longjmp
 | |
|  #endif
 | |
|  
 | |
|  #if defined(__cplusplus)
 | |
| --- a/extensions/LUA/lua/llex.h
 | |
| +++ b/extensions/LUA/lua/llex.h
 | |
| @@ -10,6 +10,8 @@
 | |
|  #include "lobject.h"
 | |
|  #include "lzio.h"
 | |
|  
 | |
| +/* prevent conflict with definition from asm/current.h */
 | |
| +#undef current
 | |
|  
 | |
|  #define FIRST_RESERVED	257
 | |
|  
 |