The function css_alloc never return NULL, it may return normal pointer or
error codes that made by ERR_PTR, so !css is always false, we need use
IS_ERR to check it, and if this is true, we should use ERR_CAST handle it.
Signed-off-by: Xiongwei Song <[email protected]>
---
kernel/cgroup/cgroup.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/kernel/cgroup/cgroup.c b/kernel/cgroup/cgroup.c
index adac5b91d2b8..a442fd9ad744 100644
--- a/kernel/cgroup/cgroup.c
+++ b/kernel/cgroup/cgroup.c
@@ -4728,10 +4728,8 @@ static struct cgroup_subsys_state *css_create(struct cgroup *cgrp,
lockdep_assert_held(&cgroup_mutex);
css = ss->css_alloc(parent_css);
- if (!css)
- css = ERR_PTR(-ENOMEM);
if (IS_ERR(css))
- return css;
+ return ERR_CAST(css);
init_and_link_css(css, ss, cgrp);
--
2.15.1
Hello,
On Mon, Jan 22, 2018 at 09:38:51PM +0800, Xiongwei Song wrote:
> The function css_alloc never return NULL, it may return normal pointer or
It's a calling a controller implemented method. I'd much rather keep
the extra protection.
> error codes that made by ERR_PTR, so !css is always false, we need use
> IS_ERR to check it, and if this is true, we should use ERR_CAST handle it.
It's of the same type. Why would it need casting?
Thanks.
--
tejun
> On 22 Jan 2018, at 11:55 PM, Tejun Heo <[email protected]> wrote:
>
> Hello,
>
> On Mon, Jan 22, 2018 at 09:38:51PM +0800, Xiongwei Song wrote:
>> The function css_alloc never return NULL, it may return normal pointer or
>
> It's a calling a controller implemented method. I'd much rather keep
> the extra protection.
>
>> error codes that made by ERR_PTR, so !css is always false, we need use
>> IS_ERR to check it, and if this is true, we should use ERR_CAST handle it.
>
> It's of the same type. Why would it need casting?
Okay, Thanks for your comment.
Apologies for the noise.
Thanks
Xiongwei
>
> Thanks.
>
> --
> tejun