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

David Howells dhowells at redhat.com
Fri Nov 17 14:21:47 PST 2017


Gustavo A. R. Silva <garsilva at embeddedor.com> 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.

David



More information about the linux-afs mailing list