From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Dan Carpenter <dan.carpenter@oracle.com>
Cc: linux-remoteproc@vger.kernel.org
Subject: Re: [bug report] rpmsg: Handle invalid parameters in public API
Date: Mon, 13 Feb 2017 08:58:08 -0800 [thread overview]
Message-ID: <20170213165808.GP27837@minitux> (raw)
In-Reply-To: <20170211084030.GA18105@mwanda>
On Sat 11 Feb 00:40 PST 2017, Dan Carpenter wrote:
> Hello Bjorn Andersson,
>
> The patch 93e9324431c9: "rpmsg: Handle invalid parameters in public
> API" from Oct 18, 2016, leads to the following static checker warning:
>
> drivers/rpmsg/rpmsg_core.c:421 rpmsg_dev_probe()
> error: 'ept' dereferencing possible ERR_PTR()
>
> drivers/rpmsg/rpmsg_core.c
> 60 * Drivers should provide their @rpdev channel (so the new endpoint would belong
> 61 * to the same remote processor their channel belongs to), an rx callback
> 62 * function, an optional private data (which is provided back when the
> 63 * rx callback is invoked), and an address they want to bind with the
> 64 * callback. If @addr is RPMSG_ADDR_ANY, then rpmsg_create_ept will
> 65 * dynamically assign them an available rpmsg address (drivers should have
> 66 * a very good reason why not to always use RPMSG_ADDR_ANY here).
> 67 *
> 68 * Returns a pointer to the endpoint on success, or NULL on error.
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> 69 */
> 70 struct rpmsg_endpoint *rpmsg_create_ept(struct rpmsg_device *rpdev,
> 71 rpmsg_rx_cb_t cb, void *priv,
> 72 struct rpmsg_channel_info chinfo)
> 73 {
> 74 if (WARN_ON(!rpdev))
> 75 return ERR_PTR(-EINVAL);
>
> The callers aren't expecting error pointers. I could filter out this
> one because Smatch knows it's impossible for that caller because rpdev
> isn't NULL, but I feel like this should really return NULL.
>
I think it would make sense to report an ERR_PTR() from
rpmsg_create_ept(), but that's not what's currently expected.
I applied a patch, correcting the return value, to linux-next.
Thanks,
Bjorn
next prev parent reply other threads:[~2017-02-13 16:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-11 8:40 [bug report] rpmsg: Handle invalid parameters in public API Dan Carpenter
2017-02-13 16:58 ` Bjorn Andersson [this message]
2017-02-14 7:28 ` Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20170213165808.GP27837@minitux \
--to=bjorn.andersson@linaro.org \
--cc=dan.carpenter@oracle.com \
--cc=linux-remoteproc@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.