Messages in this thread | | | From | Andrey Konovalov <> | Date | Thu, 18 Feb 2021 19:52:26 +0100 | Subject | Re: [PATCH] kcov: Remove kcov include from sched.h and move it to its users. |
| |
On Thu, Feb 18, 2021 at 6:31 PM Sebastian Andrzej Siewior <bigeasy@linutronix.de> wrote: > > The recent addition of in_serving_softirq() to kconv.h results in > compile failure on PREEMPT_RT because it requires > task_struct::softirq_disable_cnt. This is not available if kconv.h is > included from sched.h. > > It is not needed to include kconv.h from sched.h. All but the net/ user > already include the kconv header file. > > Move the include of the kconv.h header from sched.h it its users. > Additionally include sched.h from kconv.h to ensure that everything > task_struct related is available. > > Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> > --- > include/linux/kcov.h | 1 + > include/linux/sched.h | 1 - > net/core/skbuff.c | 1 + > net/mac80211/iface.c | 1 + > net/mac80211/rx.c | 1 + > 5 files changed, 4 insertions(+), 1 deletion(-) > > diff --git a/include/linux/kcov.h b/include/linux/kcov.h > index 4e3037dc12048..55dc338f6bcdd 100644 > --- a/include/linux/kcov.h > +++ b/include/linux/kcov.h > @@ -2,6 +2,7 @@ > #ifndef _LINUX_KCOV_H > #define _LINUX_KCOV_H > > +#include <linux/sched.h> > #include <uapi/linux/kcov.h> > > struct task_struct; > diff --git a/include/linux/sched.h b/include/linux/sched.h > index 7337630326751..183e9d90841cb 100644 > --- a/include/linux/sched.h > +++ b/include/linux/sched.h > @@ -14,7 +14,6 @@ > #include <linux/pid.h> > #include <linux/sem.h> > #include <linux/shm.h> > -#include <linux/kcov.h> > #include <linux/mutex.h> > #include <linux/plist.h> > #include <linux/hrtimer.h> > diff --git a/net/core/skbuff.c b/net/core/skbuff.c > index 785daff48030d..e64d0a2e21c31 100644 > --- a/net/core/skbuff.c > +++ b/net/core/skbuff.c > @@ -60,6 +60,7 @@ > #include <linux/prefetch.h> > #include <linux/if_vlan.h> > #include <linux/mpls.h> > +#include <linux/kcov.h> > > #include <net/protocol.h> > #include <net/dst.h> > diff --git a/net/mac80211/iface.c b/net/mac80211/iface.c > index b31417f40bd56..39943c33abbfa 100644 > --- a/net/mac80211/iface.c > +++ b/net/mac80211/iface.c > @@ -15,6 +15,7 @@ > #include <linux/if_arp.h> > #include <linux/netdevice.h> > #include <linux/rtnetlink.h> > +#include <linux/kcov.h> > #include <net/mac80211.h> > #include <net/ieee80211_radiotap.h> > #include "ieee80211_i.h" > diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c > index 972895e9f22dc..3527b17f235a8 100644 > --- a/net/mac80211/rx.c > +++ b/net/mac80211/rx.c > @@ -17,6 +17,7 @@ > #include <linux/etherdevice.h> > #include <linux/rcupdate.h> > #include <linux/export.h> > +#include <linux/kcov.h> > #include <linux/bitops.h> > #include <net/mac80211.h> > #include <net/ieee80211_radiotap.h> > -- > 2.30.0
Acked-by: Andrey Konovalov <andreyknvl@google.com>
| |