hc
2023-12-11 d2ccde1c8e90d38cee87a1b0309ad2827f3fd30d
kernel/arch/ia64/lib/csum_partial_copy.c
....@@ -12,7 +12,7 @@
1212 #include <linux/types.h>
1313 #include <linux/string.h>
1414
15
-#include <linux/uaccess.h>
15
+#include <net/checksum.h>
1616
1717 /*
1818 * XXX Fixme: those 2 inlines are meant for debugging and will go away
....@@ -96,46 +96,3 @@
9696 out:
9797 return result;
9898 }
99
-
100
-/*
101
- * XXX Fixme
102
- *
103
- * This is very ugly but temporary. THIS NEEDS SERIOUS ENHANCEMENTS.
104
- * But it's very tricky to get right even in C.
105
- */
106
-extern unsigned long do_csum(const unsigned char *, long);
107
-
108
-__wsum
109
-csum_partial_copy_from_user(const void __user *src, void *dst,
110
- int len, __wsum psum, int *errp)
111
-{
112
- unsigned long result;
113
-
114
- /* XXX Fixme
115
- * for now we separate the copy from checksum for obvious
116
- * alignment difficulties. Look at the Alpha code and you'll be
117
- * scared.
118
- */
119
-
120
- if (__copy_from_user(dst, src, len) != 0 && errp)
121
- *errp = -EFAULT;
122
-
123
- result = do_csum(dst, len);
124
-
125
- /* add in old sum, and carry.. */
126
- result += (__force u32)psum;
127
- /* 32+c bits -> 32 bits */
128
- result = (result & 0xffffffff) + (result >> 32);
129
- return (__force __wsum)result;
130
-}
131
-
132
-EXPORT_SYMBOL(csum_partial_copy_from_user);
133
-
134
-__wsum
135
-csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum)
136
-{
137
- return csum_partial_copy_from_user((__force const void __user *)src,
138
- dst, len, sum, NULL);
139
-}
140
-
141
-EXPORT_SYMBOL(csum_partial_copy_nocheck);