--- ./arch/i386/kernel/entry.S.warnsys	2010-01-25 14:52:25.000000000 +0300
+++ ./arch/i386/kernel/entry.S	2010-01-25 17:16:01.000000000 +0300
@@ -1076,6 +1076,54 @@ ENTRY(sys_call_table)
 	.long sys_request_key
 	.long sys_keyctl
 
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 290 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 295 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 300 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 305 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 310 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 315 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 320 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 325 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 330 */
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn
+	.long sys_ni_syscall_warn /* 335 */
+
 	.rept 500-(.-sys_call_table)/4
 		.long sys_ni_syscall
 	.endr
--- ./arch/x86_64/ia32/ia32entry.S.warnsys	2010-01-25 14:52:25.000000000 +0300
+++ ./arch/x86_64/ia32/ia32entry.S	2010-01-25 17:33:24.000000000 +0300
@@ -617,6 +617,55 @@ ia32_sys_call_table:
 	.quad sys_add_key
 	.quad sys_request_key
 	.quad sys_keyctl
+
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 290 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 295 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 300 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 305 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 310 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 315 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 320 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 325 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 330 */
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall
+	.quad quiet_ni_syscall /* 335 */
+
 	/* don't forget to change IA32_NR_syscalls */
 ia32_syscall_end:		
 	.rept IA32_NR_syscalls-(ia32_syscall_end-ia32_sys_call_table)/8
--- ./arch/x86_64/kernel/entry.S.warnsys	2010-01-25 16:50:17.000000000 +0300
+++ ./arch/x86_64/kernel/entry.S	2010-01-25 16:49:17.000000000 +0300
@@ -347,6 +347,7 @@ int_restore_rest:
 	PTREGSCALL stub_rt_sigsuspend, sys_rt_sigsuspend, %rdx
 	PTREGSCALL stub_sigaltstack, sys_sigaltstack, %rdx
 	PTREGSCALL stub_iopl, sys_iopl, %rsi
+	PTREGSCALL sys_ni_syscall_warn, sys_ni_syscall_warn_regs, %rdi
 
 ENTRY(ptregscall_common)
 	CFI_STARTPROC
--- ./include/asm-x86_64/unistd.h.warnsys	2010-01-25 16:21:18.000000000 +0300
+++ ./include/asm-x86_64/unistd.h	2010-01-25 17:32:31.000000000 +0300
@@ -570,6 +570,52 @@ __SYSCALL(__NR_add_key, sys_add_key)
 __SYSCALL(__NR_request_key, sys_request_key)
 #define __NR_keyctl		250
 __SYSCALL(__NR_keyctl, sys_keyctl)
+
+__SYSCALL(251, sys_ni_syscall_warn)
+__SYSCALL(252, sys_ni_syscall_warn)
+__SYSCALL(253, sys_ni_syscall_warn)
+__SYSCALL(254, sys_ni_syscall_warn)
+__SYSCALL(255, sys_ni_syscall_warn)
+__SYSCALL(256, sys_ni_syscall_warn)
+__SYSCALL(257, sys_ni_syscall_warn)
+__SYSCALL(258, sys_ni_syscall_warn)
+__SYSCALL(259, sys_ni_syscall_warn)
+__SYSCALL(260, sys_ni_syscall_warn)
+__SYSCALL(261, sys_ni_syscall_warn)
+__SYSCALL(262, sys_ni_syscall_warn)
+__SYSCALL(263, sys_ni_syscall_warn)
+__SYSCALL(264, sys_ni_syscall_warn)
+__SYSCALL(265, sys_ni_syscall_warn)
+__SYSCALL(266, sys_ni_syscall_warn)
+__SYSCALL(267, sys_ni_syscall_warn)
+__SYSCALL(268, sys_ni_syscall_warn)
+__SYSCALL(269, sys_ni_syscall_warn)
+__SYSCALL(270, sys_ni_syscall_warn)
+__SYSCALL(271, sys_ni_syscall_warn)
+__SYSCALL(272, sys_ni_syscall_warn)
+__SYSCALL(273, sys_ni_syscall_warn)
+__SYSCALL(274, sys_ni_syscall_warn)
+__SYSCALL(275, sys_ni_syscall_warn)
+__SYSCALL(276, sys_ni_syscall_warn)
+__SYSCALL(277, sys_ni_syscall_warn)
+__SYSCALL(278, sys_ni_syscall_warn)
+__SYSCALL(279, sys_ni_syscall_warn)
+__SYSCALL(280, sys_ni_syscall_warn)
+__SYSCALL(281, sys_ni_syscall_warn)
+__SYSCALL(282, sys_ni_syscall_warn)
+__SYSCALL(283, sys_ni_syscall_warn)
+__SYSCALL(284, sys_ni_syscall_warn)
+__SYSCALL(285, sys_ni_syscall_warn)
+__SYSCALL(286, sys_ni_syscall_warn)
+__SYSCALL(287, sys_ni_syscall_warn)
+__SYSCALL(288, sys_ni_syscall_warn)
+__SYSCALL(289, sys_ni_syscall_warn)
+__SYSCALL(290, sys_ni_syscall_warn)
+__SYSCALL(291, sys_ni_syscall_warn)
+__SYSCALL(292, sys_ni_syscall_warn)
+__SYSCALL(293, sys_ni_syscall_warn)
+__SYSCALL(294, sys_ni_syscall_warn)
+
 #define __NR_fairsched_vcpus	499
 __SYSCALL(__NR_fairsched_vcpus, sys_fairsched_vcpus)
 #define __NR_getluid		500
--- ./kernel/sys.c.warnsys	2010-01-25 16:21:18.000000000 +0300
+++ ./kernel/sys.c	2010-01-25 17:16:25.000000000 +0300
@@ -325,6 +325,36 @@ asmlinkage long sys_ni_syscall(void)
 	return -ENOSYS;
 }
 
+asmlinkage long sys_ni_syscall_warn_regs(struct pt_regs *regs)
+{
+	static unsigned long long warned = 0;
+	int bit, nr;
+
+#ifdef __i386__
+	nr = regs->orig_eax;
+	bit = nr - 289;
+#else
+	nr = regs->orig_rax;
+	bit = nr - 251;
+#endif
+	BUG_ON(bit >= 64);
+
+	if (!(warned & (1 << bit))) {
+		warned |= (1 << bit);
+		printk("Unsuported syscall %d from %s ve%d\n", nr,
+				current->comm, get_exec_env()->veid);
+	}
+
+	return -ENOSYS;
+}
+
+#ifdef __i386__
+asmlinkage long sys_ni_syscall_warn(struct pt_regs regs)
+{
+	return sys_ni_syscall_warn_regs(&regs);
+}
+#endif
+
 cond_syscall(sys_nfsservctl)
 cond_syscall(sys_quotactl)
 cond_syscall(sys_acct)
