diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
index c413afbe0b9c8948e827d62dc8e6aa9feeccea93..50f6f6a094cfef10972ae7de60439ad518a6469c 100644
--- a/include/linux/skbuff.h
+++ b/include/linux/skbuff.h
@@ -1494,8 +1494,8 @@ extern __wsum	       skb_checksum(const struct sk_buff *skb, int offset,
 				    int len, __wsum csum);
 extern int	       skb_copy_bits(const struct sk_buff *skb, int offset,
 				     void *to, int len);
-extern int	       skb_store_bits(const struct sk_buff *skb, int offset,
-				      void *from, int len);
+extern int	       skb_store_bits(struct sk_buff *skb, int offset,
+				      const void *from, int len);
 extern __wsum	       skb_copy_and_csum_bits(const struct sk_buff *skb,
 					      int offset, u8 *to, int len,
 					      __wsum csum);
diff --git a/net/core/skbuff.c b/net/core/skbuff.c
index c7a1b24b73748d2b1bd368975d845cf8988526e5..6b50d58cce1e613a776dd9a978297cb6de56be34 100644
--- a/net/core/skbuff.c
+++ b/net/core/skbuff.c
@@ -1129,7 +1129,7 @@ int skb_copy_bits(const struct sk_buff *skb, int offset, void *to, int len)
  *	traversing fragment lists and such.
  */
 
-int skb_store_bits(const struct sk_buff *skb, int offset, void *from, int len)
+int skb_store_bits(struct sk_buff *skb, int offset, const void *from, int len)
 {
 	int i, copy;
 	int start = skb_headlen(skb);