diff --git a/fs/compat.c b/fs/compat.c
index fde52d40c0b6e0a9206701a7a85e0f17d3e08fee..06dad665b88fce8f412dc10303a527fefeb2278a 100644
--- a/fs/compat.c
+++ b/fs/compat.c
@@ -46,6 +46,7 @@
 #include <linux/rwsem.h>
 #include <linux/tsacct_kern.h>
 #include <linux/highmem.h>
+#include <linux/poll.h>
 #include <linux/mm.h>
 
 #include <net/sock.h>		/* siocdevprivate_ioctl */
diff --git a/fs/gfs2/locking/dlm/plock.c b/fs/gfs2/locking/dlm/plock.c
index 7365aec9511b67a62f8f75c7e351bbcc0bbf61b7..3799f19b282f06b422ecff9cc9b02b37acdd00dc 100644
--- a/fs/gfs2/locking/dlm/plock.c
+++ b/fs/gfs2/locking/dlm/plock.c
@@ -8,6 +8,7 @@
 
 #include <linux/miscdevice.h>
 #include <linux/lock_dlm_plock.h>
+#include <linux/poll.h>
 
 #include "lock_dlm.h"
 
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index 24ce0add6c54d5171986feb59b0bc8f81f2b3872..5c5a08576dcc73f8cb86b4441e0bc0152e5402c5 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -23,7 +23,6 @@
 #include <asm/types.h>
 #include <linux/spinlock.h>
 #include <linux/mm.h>
-#include <linux/poll.h>
 #include <linux/net.h>
 #include <linux/textsearch.h>
 #include <net/checksum.h>
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
index cccea051e922d32fde064630f29ffefae658dad8..bf16d98d372c512a41ef3b139e2fc65b7516d389 100644
--- a/include/net/inet_connection_sock.h
+++ b/include/net/inet_connection_sock.h
@@ -18,6 +18,7 @@
 #include <linux/compiler.h>
 #include <linux/string.h>
 #include <linux/timer.h>
+#include <linux/poll.h>
 
 #include <net/inet_sock.h>
 #include <net/request_sock.h>
diff --git a/include/net/udp.h b/include/net/udp.h
index 1548d68d45da2345b1a51c305caa95a1e6136990..1b921fa814742a6ed499e2ae11d9f3a14bfe6ed1 100644
--- a/include/net/udp.h
+++ b/include/net/udp.h
@@ -29,6 +29,7 @@
 #include <net/ip.h>
 #include <linux/ipv6.h>
 #include <linux/seq_file.h>
+#include <linux/poll.h>
 
 /**
  *	struct udp_skb_cb  -  UDP(-Lite) private variables