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