|
@@ -1922,6 +1922,8 @@ static int cgroup_release_agent_write(struct cgroup *cgrp, struct cftype *cft,
|
|
const char *buffer)
|
|
const char *buffer)
|
|
{
|
|
{
|
|
BUILD_BUG_ON(sizeof(cgrp->root->release_agent_path) < PATH_MAX);
|
|
BUILD_BUG_ON(sizeof(cgrp->root->release_agent_path) < PATH_MAX);
|
|
|
|
+ if (strlen(buffer) >= PATH_MAX)
|
|
|
|
+ return -EINVAL;
|
|
if (!cgroup_lock_live_group(cgrp))
|
|
if (!cgroup_lock_live_group(cgrp))
|
|
return -ENODEV;
|
|
return -ENODEV;
|
|
strcpy(cgrp->root->release_agent_path, buffer);
|
|
strcpy(cgrp->root->release_agent_path, buffer);
|