[lustre-devel] [PATCH] staging: lustre: libcfs: add parens around macros args

Dan Carpenter dan.carpenter at oracle.com
Wed May 30 05:06:38 PDT 2018


On Tue, May 22, 2018 at 04:34:39PM +0300, Ivan Bornyakov wrote:
> One may call 'CFS_FAIL_TIMEOUT(id, secs + 5);' and get unexpected result
> after macro substitution, viz., 'secs + 5' will turn into
> 'secs + 5 * 1000'
> 

We actually do that in ptl_send_rpc() as well so this is a real bug.

It's sort of an interesting coincidence that the code in ptl_send_rpc()
looks almost exactly like your theoretical code:

	OBD_FAIL_TIMEOUT(OBD_FAIL_PTLRPC_DELAY_SEND, request->rq_timeout + 5);

regards,
dan carpenter




More information about the lustre-devel mailing list