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

Gustavo A. R. Silva garsilva at embeddedor.com
Fri Nov 17 14:26:16 PST 2017


Quoting David Howells <dhowells at redhat.com>:

> 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.
>

I'll send a patch to remove that code.

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









More information about the linux-afs mailing list