Re: [PATCH] staging: lustre: libcfs: add parens around macros args
From: Dan Carpenter
Date: Wed May 30 2018 - 08:07:03 EST
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