lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Wed, 26 Feb 2014 18:43:46 +1100
From:	Stephen Rothwell <sfr@...b.auug.org.au>
To:	Andrew Morton <akpm@...ux-foundation.org>,
	Tejun Heo <tj@...nel.org>
Cc:	linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
	Michal Hocko <mhocko@...e.cz>,
	Vladimir Davydov <vdavydov@...allels.com>
Subject: linux-next: manual merge of the akpm-current tree with the cgroup
 tree

Hi Andrew,

Today's linux-next merge of the akpm-current tree got a conflict in
mm/memcontrol.c between commits e61734c55c24 ("cgroup: remove
cgroup->name") from the cgroup tree and commits a89db06ab1b4 ("memcg:
change oom_info_lock to mutex") and c78e84121972 ("memcg, slab: cleanup
memcg cache creation") from the akpm-current tree.

I fixed it up (see below) and can carry the fix as necessary (no action
is required).

-- 
Cheers,
Stephen Rothwell                    sfr@...b.auug.org.au

diff --cc mm/memcontrol.c
index d9c6ac1532e6,452f45087566..000000000000
--- a/mm/memcontrol.c
+++ b/mm/memcontrol.c
@@@ -1683,25 -1683,54 +1683,25 @@@ static void move_unlock_mem_cgroup(stru
   */
  void mem_cgroup_print_oom_info(struct mem_cgroup *memcg, struct task_struct *p)
  {
 -	/*
 -	 * protects memcg_name and makes sure that parallel ooms do not
 -	 * interleave
 -	 */
 +	/* oom_info_lock ensures that parallel ooms do not interleave */
- 	static DEFINE_SPINLOCK(oom_info_lock);
+ 	static DEFINE_MUTEX(oom_info_lock);
 -	struct cgroup *task_cgrp;
 -	struct cgroup *mem_cgrp;
 -	static char memcg_name[PATH_MAX];
 -	int ret;
  	struct mem_cgroup *iter;
  	unsigned int i;
  
  	if (!p)
  		return;
  
- 	spin_lock(&oom_info_lock);
+ 	mutex_lock(&oom_info_lock);
  	rcu_read_lock();
  
 -	mem_cgrp = memcg->css.cgroup;
 -	task_cgrp = task_cgroup(p, mem_cgroup_subsys_id);
 +	pr_info("Task in ");
 +	pr_cont_cgroup_path(task_cgroup(p, memory_cgrp_id));
 +	pr_info(" killed as a result of limit of ");
 +	pr_cont_cgroup_path(memcg->css.cgroup);
 +	pr_info("\n");
  
 -	ret = cgroup_path(task_cgrp, memcg_name, PATH_MAX);
 -	if (ret < 0) {
 -		/*
 -		 * Unfortunately, we are unable to convert to a useful name
 -		 * But we'll still print out the usage information
 -		 */
 -		rcu_read_unlock();
 -		goto done;
 -	}
  	rcu_read_unlock();
  
 -	pr_info("Task in %s killed", memcg_name);
 -
 -	rcu_read_lock();
 -	ret = cgroup_path(mem_cgrp, memcg_name, PATH_MAX);
 -	if (ret < 0) {
 -		rcu_read_unlock();
 -		goto done;
 -	}
 -	rcu_read_unlock();
 -
 -	/*
 -	 * Continues from above, so we don't need an KERN_ level
 -	 */
 -	pr_cont(" as a result of limit of %s\n", memcg_name);
 -done:
 -
  	pr_info("memory: usage %llukB, limit %llukB, failcnt %llu\n",
  		res_counter_read_u64(&memcg->res, RES_USAGE) >> 10,
  		res_counter_read_u64(&memcg->res, RES_LIMIT) >> 10,

Content of type "application/pgp-signature" skipped

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ