Thread (3 messages) 3 messages, 3 authors, 2026-01-06

Re: linux-next: manual merge of the bpf-next tree with the mm-unstable tree

From: Chen Ridong <hidden>
Date: 2026-01-06 02:44:36
Also in: bpf, linux-next, lkml


On 2026/1/6 10:15, Alexei Starovoitov wrote:
On Sun, Jan 4, 2026 at 6:04 PM Stephen Rothwell [off-list ref] wrote:
quoted
Hi all,

Today's linux-next merge of the bpf-next tree got a semantic conflict in:

  include/linux/memcontrol.h
  mm/memcontrol-v1.c
  mm/memcontrol.c

between commit:

  eb557e10dcac ("memcg: move mem_cgroup_usage memcontrol-v1.c")

from the mm-unstable tree and commit:

  99430ab8b804 ("mm: introduce BPF kfuncs to access memcg statistics and events")

from the bpf-next tree producing this build failure:

mm/memcontrol-v1.c:430:22: error: static declaration of 'mem_cgroup_usage' follows non-static declaration
  430 | static unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap)
      |                      ^~~~~~~~~~~~~~~~
In file included from mm/memcontrol-v1.c:3:
include/linux/memcontrol.h:953:15: note: previous declaration of 'mem_cgroup_usage' with type 'long unsigned int(struct mem_cgroup *, bool)' {aka 'long unsigned int(struct mem_cgroup *, _Bool)'}
  953 | unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap);
      |               ^~~~~~~~~~~~~~~~

I fixed it up (I reverted the mm-unstable tree commit) and can carry the
fix as necessary. This is now fixed as far as linux-next is concerned,
but any non trivial conflicts should be mentioned to your upstream
maintainer when your tree is submitted for merging.  You may also want
to consider cooperating with the maintainer of the conflicting tree to
minimise any particularly complex conflicts.
Hey All,

what's the proper fix here?

Roman,

looks like adding mem_cgroup_usage() to include/linux/memcontrol.h
wasn't really necessary, since kfuncs don't use it anyway?
Should we just remove that line in bpf-next?
I agree, mem_cgroup_usage() is not declared in next.

I'm wondering why there is a difference between next and bpf-next.
quoted hunk ↗ jump to hunk
Just:
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h
index 6a5d65487b70..229ac9835adb 100644
--- a/include/linux/memcontrol.h
+++ b/include/linux/memcontrol.h
@@ -950,7 +950,6 @@ static inline void mod_memcg_page_state(struct page *page,
 }

 unsigned long memcg_events(struct mem_cgroup *memcg, int event);
-unsigned long mem_cgroup_usage(struct mem_cgroup *memcg, bool swap);
 unsigned long memcg_page_state(struct mem_cgroup *memcg, int idx);
 unsigned long memcg_page_state_output(struct mem_cgroup *memcg, int item);
 bool memcg_stat_item_valid(int idx);
compiles fine.

If you agree pls send an official patch.
-- 
Best regards,
Ridong
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help