Re: Logically dead code at fs/afs/cell.c:206

From: Gustavo A. R. Silva
Date: Fri Nov 17 2017 - 17:26:28 EST



Quoting David Howells <dhowells@xxxxxxxxxx>:

Gustavo A. R. Silva <garsilva@xxxxxxxxxxxxxx> wrote:

Today Coverity reported a "Logically dead code" issue at fs/afs/cell.c:206:

if (!excl) {
rcu_read_lock();
cell = afs_lookup_cell_rcu(net, name, namesz);
rcu_read_unlock();
if (!IS_ERR(cell)) {
if (excl) {
afs_put_cell(net, cell);
return ERR_PTR(-EEXIST);
}
goto wait_for_cell;
}
}

The problem is that when this code block is executed, the code block
starting at line 211 makes no sense, as _excl_ can never be true.

Good catch. The interior "if (excl) { ... }" statement and body needs
removing entirely. Originally the outer "if (!excl)" wrapping it wasn't
there.


I'll send a patch to remove that code.

Thanks for clarifying.
--
Gustavo A. R. Silva