Re: [PATCH v18 0/9] Compile-time stack metadata validation

From: Ingo Molnar
Date: Sun Feb 28 2016 - 01:57:46 EST



Another thing I've noticed are _thousands_ of these warnings:

objtool: kernel/sched/core.o: preempt_schedule_irq()+0x20: function has unreachable instruction
objtool: kernel/sched/core.o: preempt_schedule_irq()+0x27: function has unreachable instruction
objtool: kernel/sched/core.o: preempt_schedule_irq()+0x2c: function has unreachable instruction
objtool: kernel/sched/core.o: preempt_schedule_irq()+0x33: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_put_page_vector()+0x171: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_put_page_vector()+0x178: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_put_page_vector()+0x17d: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_put_page_vector()+0x184: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_get_direct_page_vector()+0xe2: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_get_direct_page_vector()+0xe9: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_get_direct_page_vector()+0xee: function has unreachable instruction
objtool: net/ceph/pagevec.o: ceph_get_direct_page_vector()+0xf5: function has unreachable instruction
objtool: net/ceph/pagevec.o: zero_user_segment()+0x120: function has unreachable instruction
objtool: net/ceph/pagevec.o: zero_user_segment()+0x127: function has unreachable instruction
objtool: net/ceph/pagevec.o: zero_user_segment()+0x12c: function has unreachable instruction
objtool: net/ceph/pagevec.o: zero_user_segment()+0x133: function has unreachable instruction

that's on an x86-64 allyesconfig kernel, with objtool merged to tip:master, using
GCC 4.9.2:

gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)

Also, please prefix such warnings with the standard compiler prefix, something
like this:

kernel/sched/core.c: warning: objtool: preempt_schedule_irq()+0x20: function has unreachable instruction

so that scripts/tools monitoring new build warnings can pick them up
automatically?

Thanks,

Ingo