Showing error 1775

User: Jiri Slaby
Error type: Invalid Pointer Dereference
Error type description: A pointer which is invalid is being dereferenced
File location: net/sunrpc/clnt.c
Line in file: 530
Project: Linux Kernel
Project version: 2.6.28
Tools: Smatch (1.59)
Entered: 2013-09-10 20:24:52 UTC


Source:

 500EXPORT_SYMBOL_GPL(rpc_bind_new_program);
 501
 502/*
 503 * Default callback for async RPC calls
 504 */
 505static void
 506rpc_default_callback(struct rpc_task *task, void *data)
 507{
 508}
 509
 510static const struct rpc_call_ops rpc_default_ops = {
 511        .rpc_call_done = rpc_default_callback,
 512};
 513
 514/**
 515 * rpc_run_task - Allocate a new RPC task, then run rpc_execute against it
 516 * @task_setup_data: pointer to task initialisation data
 517 */
 518struct rpc_task *rpc_run_task(const struct rpc_task_setup *task_setup_data)
 519{
 520        struct rpc_task *task, *ret;
 521
 522        task = rpc_new_task(task_setup_data);
 523        if (task == NULL) {
 524                rpc_release_calldata(task_setup_data->callback_ops,
 525                                task_setup_data->callback_data);
 526                ret = ERR_PTR(-ENOMEM);
 527                goto out;
 528        }
 529
 530        if (task->tk_status != 0) {
 531                ret = ERR_PTR(task->tk_status);
 532                rpc_put_task(task);
 533                goto out;
 534        }
 535        atomic_inc(&task->tk_count);
 536        rpc_execute(task);
 537        ret = task;
 538out:
 539        return ret;
 540}
Show full sources