mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	cgroup: avoid copying strings longer than the buffers
cgroup root name and file name have max length limit, we should avoid copying longer name than that to the name. tj: minor update to $SUBJ. Signed-off-by: Ma Shimiao <mashimiao.fnst@cn.fujitsu.com> Signed-off-by: Tejun Heo <tj@kernel.org>
This commit is contained in:
		
							parent
							
								
									c2f31b79d5
								
							
						
					
					
						commit
						e7fd37ba12
					
				
					 1 changed files with 3 additions and 3 deletions
				
			
		| 
						 | 
					@ -1397,7 +1397,7 @@ static char *cgroup_file_name(struct cgroup *cgrp, const struct cftype *cft,
 | 
				
			||||||
			 cgroup_on_dfl(cgrp) ? ss->name : ss->legacy_name,
 | 
								 cgroup_on_dfl(cgrp) ? ss->name : ss->legacy_name,
 | 
				
			||||||
			 cft->name);
 | 
								 cft->name);
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
		strncpy(buf, cft->name, CGROUP_FILE_NAME_MAX);
 | 
							strscpy(buf, cft->name, CGROUP_FILE_NAME_MAX);
 | 
				
			||||||
	return buf;
 | 
						return buf;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1864,9 +1864,9 @@ void init_cgroup_root(struct cgroup_root *root, struct cgroup_sb_opts *opts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	root->flags = opts->flags;
 | 
						root->flags = opts->flags;
 | 
				
			||||||
	if (opts->release_agent)
 | 
						if (opts->release_agent)
 | 
				
			||||||
		strcpy(root->release_agent_path, opts->release_agent);
 | 
							strscpy(root->release_agent_path, opts->release_agent, PATH_MAX);
 | 
				
			||||||
	if (opts->name)
 | 
						if (opts->name)
 | 
				
			||||||
		strcpy(root->name, opts->name);
 | 
							strscpy(root->name, opts->name, MAX_CGROUP_ROOT_NAMELEN);
 | 
				
			||||||
	if (opts->cpuset_clone_children)
 | 
						if (opts->cpuset_clone_children)
 | 
				
			||||||
		set_bit(CGRP_CPUSET_CLONE_CHILDREN, &root->cgrp.flags);
 | 
							set_bit(CGRP_CPUSET_CLONE_CHILDREN, &root->cgrp.flags);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue