Re: SUNRPC: Checking a kmemdup() call in xdr_netobj_dup()
>> https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/sunrpc/xdr.h?id=1c0cc5f1ae5ee5a6913704c0d75a6e99604ee30a#n167 >> https://elixir.bootlin.com/linux/v5.4-rc2/source/include/linux/sunrpc/xdr.h#L167 >> >> How do you think about to improve it? > > On a quick check--I see five xdr_netobj_dup callers, and all of them > check whether dst->data is NULL. Your information is appropriate. https://elixir.bootlin.com/linux/v5.4-rc2/ident/xdr_netobj_dup Such a Linux source code cross reference can point out that the function “xdr_netobj_dup” is used only within the source file “fs/nfsd/nfs4state.c” so far. > Sounds like a false positive for your tool? This depends on the software development view you would prefer here. The desired null pointer checks are just not performed by the mentioned (inline) function itself. I imagine then that a dedicated macro might help to stress software design constraints. Regards, Markus
Re: SUNRPC: Checking a kmemdup() call in xdr_netobj_dup()
On Sat, Oct 12, 2019 at 08:20:04PM +0200, Markus Elfring wrote: > I tried another script for the semantic patch language out. > This source code analysis approach points out that the implementation > of the function “xdr_netobj_dup” contains still an unchecked call > of the function “kmemdup”. > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/sunrpc/xdr.h?id=1c0cc5f1ae5ee5a6913704c0d75a6e99604ee30a#n167 > https://elixir.bootlin.com/linux/v5.4-rc2/source/include/linux/sunrpc/xdr.h#L167 > > How do you think about to improve it? On a quick check--I see five xdr_netobj_dup callers, and all of them check whether dst->data is NULL. Sounds like a false positive for your tool? --b.
SUNRPC: Checking a kmemdup() call in xdr_netobj_dup()
Hello, I tried another script for the semantic patch language out. This source code analysis approach points out that the implementation of the function “xdr_netobj_dup” contains still an unchecked call of the function “kmemdup”. https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/include/linux/sunrpc/xdr.h?id=1c0cc5f1ae5ee5a6913704c0d75a6e99604ee30a#n167 https://elixir.bootlin.com/linux/v5.4-rc2/source/include/linux/sunrpc/xdr.h#L167 How do you think about to improve it? Regards, Markus