Re: [GIT PULL] cgroup fixes for v5.6-rc5
From: Linus Torvalds
Date: Tue Mar 10 2020 - 18:14:35 EST
On Tue, Mar 10, 2020 at 7:41 AM Tejun Heo <tj@xxxxxxxxxx> wrote:
>
> * Empty release_agent handling fix.
Pulled. However, I gagged a bit when I saw the code:
if (!pathbuf || !agentbuf || !strlen(agentbuf))
yeah, I really hope that the compiler is smart enough to just optimize
that, but we shouldn't assume that the compiler is that smart.
The proper way to test for "empty string" is to just check the first
character for NUL:
if (!pathbuf || !agentbuf || !*agentbuf)
which doesn't require the compiler to have a pattern for "oh, I can
test for a zero strlen without actually calling strlen".
Also, wouldn't it be nice to test for the empty string before you even
bother to kstrdup() it? Even before you
Finally, shouldn't we technically hold the release_agent_path_lock
while looking at it?
Small details, and I've taken the pull, but the lack of locking does
seem to be an actual (if perhaps fairly theoretical) bug, no?
Linus