imq / linuximq

Pseudo-driver for the intermediate queue device.

Home Page:https://imq.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lockdep workaround for recursive transmit lock usage

haegar opened this issue · comments

(Using imq on a 4.4.x kernel currently, but problem exists also for 3.16.x, and most likely everything since at least that)

When compiling the kernel with lockdep support, and using one IMQ device for incoming traffic and another for outgoing, lockdep thinks the IMQ transmit would be taken recursively, making it scream - but in reality only one transmit lock from each participating imq device is taken, not the same one multiple times.

Included patch works around this problem by marking them with lockdep_set_novalidate_class().

linux-imq-lockdep.diff.txt