Re: [bug report] sunrpc: don't check for failure from mempool_alloc()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 21 2017, Dan Carpenter wrote:

> Hello NeilBrown,
>
> The patch 62b2417e84ba: "sunrpc: don't check for failure from
> mempool_alloc()" from Apr 10, 2017, leads to the following static
> checker warning:
>
> 	fs/nfs/unlink.c:111 nfs_do_call_unlink()
> 	warn: 'task' isn't an ERR_PTR
>
> fs/nfs/unlink.c
>    106  
>    107          NFS_PROTO(dir)->unlink_setup(&msg, dir);
>    108  
>    109          task_setup_data.rpc_client = NFS_CLIENT(dir);
>    110          task = rpc_run_task(&task_setup_data);
>    111          if (!IS_ERR(task))
>    112                  rpc_put_task_async(task);
>
> This code is obviously harmless, but I get a ball of new warnings today.
> I haven't published this check because it has too many false positives
> so it only affects me.

Before the patch, rpc_run_task() would never fail, but a simple
inspection of the code suggested that it might return an error pointer.
After the patch, rpc_run_task() still cannot fail, and this is now
obvious from the code.

I'll put together a patch which removes all these pointless tests for
fail, in case Trond/Anna want to apply it.  If there is any credible
chance that we might one day change rpc_run_task() so that it could
fail, then we probably shouldn't apply it..

Thanks,
NeilBrown


>
> fs/nfs/unlink.c:111 nfs_do_call_unlink() warn: 'task' isn't an ERR_PTR
> fs/nfs/pagelist.c:602 nfs_initiate_pgio() warn: 'task' isn't an ERR_PTR
> fs/nfs/write.c:1627 nfs_initiate_commit() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:976 nfs4_call_sync_sequence() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:2023 _nfs4_proc_open_confirm() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:2190 nfs4_run_open_task() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:3208 nfs4_do_close() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:5475 nfs4_proc_setclientid() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:5694 _nfs4_proc_delegreturn() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:6193 _nfs4_do_setlk() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:7169 nfs4_proc_bind_one_conn_to_session() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:7527 _nfs4_proc_exchange_id() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:7758 nfs4_proc_get_lease_time() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:8233 nfs41_proc_reclaim_complete() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:8467 nfs4_proc_layoutget() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:8585 nfs4_proc_layoutreturn() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs4proc.c:8732 nfs4_proc_layoutcommit() warn: 'task' isn't an ERR_PTR
> fs/nfs/nfs42proc.c:456 nfs42_proc_layoutstats_generic() warn: 'task' isn't an ERR_PTR
> drivers/clk/x86/clk-pmc-atom.c:342 plt_clk_probe() warn: 'data->mclk_lookup' isn't an ERR_PTR
> net/sunrpc/svc.c:1452 bc_svc_process() warn: 'task' isn't an ERR_PTR
> net/sunrpc/clnt.c:1083 rpc_call_sync() warn: 'task' isn't an ERR_PTR
> net/sunrpc/clnt.c:1113 rpc_call_async() warn: 'task' isn't an ERR_PTR
> net/sunrpc/clnt.c:2585 rpc_clnt_test_and_add_xprt() warn: 'task' isn't an ERR_PTR
> net/sunrpc/clnt.c:2632 rpc_clnt_setup_test_and_add_xprt() warn: 'task' isn't an ERR_PTR
> net/sunrpc/rpcb_clnt.c:784 rpcb_getport_async() warn: 'child' isn't an ERR_PTR
>
> regards,
> dan carpenter
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux