Dear netfilter list. I would like to ask you about a strange issue. I wrote a software that communicates with kernel space via the netlink socket. A data structure of 212 byte (+16 byte of netlink header) used to travel from user to kernel space and viceversa without any problem. Inside kernel space, socket buffer is allocated with alloc_skb together with GFP_ATOMIC flag. Since a couple of fields in the structure have changed from __u32 source_ip to __u32 source_ip[50]; and equivalently __u32 dest_ip became __u32 dest_ip[50]; __u16 sport; -> __u16 sport[50]; __u16 dport; -> __u16 dport[50]; kernel began to crash, reporting, among other messages "scheduling while atomic". The data structure is now grown up to 788bytes (+16 netlink header). I introduced in the functions responsible of netlink communication some printks reporting the value of in_atomic(); while with little data structures I always read in_atomic() == 0, in the same actions, but with the bigger data structure, sometimes i read in_atomic() == 1 Is there a possible reason for this behaviour? If yes, how should the behaviour be corrected? Thanks in advance. Giacomo, Italy. -- Giacomo S. http://www.giacomos.it - - - - - - - - - - - - - - - - - - - - - - * Aprile 2008: iqfire-wall, un progetto open source che implementa un filtro di pacchetti di rete per Linux, e` disponibile per il download qui: http://sourceforge.net/projects/ipfire-wall * Informazioni e pagina web ufficiale: http://www.giacomos.it/iqfire/index.html - - - - - - - - - - - - - - - - - - - - - - . '' `. : :' : `. ` ' `- Debian GNU/Linux -- The power of freedom http://www.debian.org -- To unsubscribe from this list: send the line "unsubscribe netfilter-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html