On Tue, Feb 19, 2013 at 11:55:14AM +0100, Jacek Konieczny wrote: > Hi, > > I have recently upgraded my development cluster from 3.6.x to 3.7.1 > kernel and clvmd stopped working (all locking operation result in 'Invalid > argument'). I have traced the problem to this call: > > write(8, > "\6\0\0\0\0\0\0\0\1\0\0\0\1\1\0\0\5@\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320\307\351\326\277\177\0\0\20\17\36\331\277\177\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\313\351\326\277\177\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0Hlk5NeaVF0qhDF20RBq61EZaIj5yyUJgWxxs4ntZedP34Rj3E2wadZfVwtOcvpKb", > 184) = -1 EINVAL (Invalid argument) > > Kernel sources show only a few conditions which can result in the EINVAL error > and the one introduced by the 'dlm: check the maximum size of a request from > user' patch seemed suspicious to me. > > The commit: > http://git.kernel.org/?p=linux/kernel/git/teigland/linux-dlm.git;a=commitdiff;h=2b75bc9121e54e22537207b47b71373bcb0be41c > > Should a 64-bit kernel really refuse requests using the 64-bit > dlm_write_request struct when compiled with CONFIG_COMPAT on? > > To verify my suspicions I have compiled the 3.7.9 with a little patch > dropping > the '(count > sizeof(struct dlm_write_request32) + DLM_RESNAME_MAXLEN)' check, > which solved the problem for me. > > The patch will follow, though I am still not sure this is the solution.
Hi, the fix is already upstream: d4b0bcf32b946590afd29e202d6a399b84fe6c67 Dave