Hello Edouard, I've tried your example using the HEAD kernel (2.6.23.8) on a ppc machine. As you said, it is crashing the operating system, and as I am using xmon, it shows the backtrace and the register states during the failure. IMHO there is something wrong with the message, which could be dereferencing the genl header, causing the following message "Unable to handle kernel paging request for data at address 0x00000008" I hope this helps. ... error on genlmsg_multicast -3 Failure Unable to handle kernel paging request for data at address 0x00000008 Faulting instruction address: 0xc0000000002ebe0c cpu 0x1: Vector: 300 (Data Access) at [c000000053f53500] pc: c0000000002ebe0c: .skb_dequeue+0x5c/0x94 lr: c0000000002ebdd8: .skb_dequeue+0x28/0x94 sp: c000000053f53780 msr: 8000000000009032 dar: 8 dsisr: 42000000 current = 0xc000000053a72570 paca = 0xc00000000050d480 pid = 1643, comm = syslogd enter ? for help [c000000053f53810] c0000000002efc3c .skb_recv_datagram+0xe8/0x2b8 [c000000053f538f0] c00000000037d8d4 .unix_dgram_recvmsg+0x84/0x348 [c000000053f539f0] c0000000002e443c .sock_recvmsg+0x114/0x160 [c000000053f53c00] c0000000002e5c1c .sys_recvfrom+0xec/0x170 [c000000053f53d90] c000000000309934 .compat_sys_socketcall+0x178/0x214 [c000000053f53e30] c000000000008534 syscall_exit+0x0/0x40 --- Exception: c01 (System Call) at 000000001ff500d0 SP (fff4f600) is in userspace 1:mon> t [c000000053f53810] c0000000002efc3c .skb_recv_datagram+0xe8/0x2b8 [c000000053f538f0] c00000000037d8d4 .unix_dgram_recvmsg+0x84/0x348 [c000000053f539f0] c0000000002e443c .sock_recvmsg+0x114/0x160 [c000000053f53c00] c0000000002e5c1c .sys_recvfrom+0xec/0x170 [c000000053f53d90] c000000000309934 .compat_sys_socketcall+0x178/0x214 [c000000053f53e30] c000000000008534 syscall_exit+0x0/0x40 --- Exception: c01 (System Call) at 000000001ff500d0 SP (fff4f600) is in userspace 1:mon> r R00 = 0000000000000000 R16 = 0000000020008ac8 R01 = c000000053f53780 R17 = 0000000020008ac0 R02 = c0000000005e3a60 R18 = 0000000020008aa8 R03 = 0000000000000001 R19 = 0000000020008a80 R04 = 0000000000000001 R20 = 0000000020008a7c R05 = 0000000000000000 R21 = 0000000020019dfc R06 = c000000053f53960 R22 = 0000000020019a84 R07 = 0000000000000000 R23 = c000000002df8880 R08 = 0000000000000000 R24 = 0000000000000000 R09 = 0000000000000000 R25 = c000000053f53960 R10 = c0000000481e3508 R26 = 7fffffffffffffff R11 = 0000000000000000 R27 = c000000053f53c88 R12 = 000003fe00000000 R28 = c00000005aa15c44 R13 = c00000000050d480 R29 = c00000005aa15c30 R14 = 0000000020008b1c R30 = c0000000005aabf8 R15 = 0000000020008ae0 R31 = c000000051fbe280 pc = c0000000002ebe0c .skb_dequeue+0x5c/0x94 lr = c0000000002ebdd8 .skb_dequeue+0x28/0x94 msr = 8000000000009032 cr = 24000488 ctr = c00000000037d850 xer = 0000000020000009 trap = 300 dar = 0000000000000008 dsisr = 42000000 Regards, Breno --- Breno Leitão +55 (16) 8115-3915 IBM Linux Technology Center On Mon, 2007-11-12 at 17:47 +0100, Edouard Thuleau wrote: > Hi, > > I try to use the generic netlink functionalities in a kernel module. > > I looked the doc > http://www.linux-foundation.org/en/Net:Generic_Netlink_HOWTO and the > source code of kernel/taskstats.c in the kernel. > I tried to reproduce the example of the doc (look in the attached > file) but it doesn't work. > > I work on a 2.6.23 kernel and on two different architectures, a > classic x86 pc and a armv5b board. > On the PC the genlmsg_multicast function return an error (-3) and the > system crash totally in the next 5 sec (hard reboot). > On the arm board, the genlmsg_put function return the NULL value, but > the module is unload and the system stay stable. > > Can you help me ? > Doude. > - > To unsubscribe from this list: send the line "unsubscribe linux-net" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html - To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html