| .. | .. |
|---|
| 35 | 35 | */ |
|---|
| 36 | 36 | |
|---|
| 37 | 37 | __wsum |
|---|
| 38 | | -csum_partial_copy_nocheck(const void *src, void *dst, int len, __wsum sum); |
|---|
| 38 | +csum_partial_copy_nocheck(const void *src, void *dst, int len); |
|---|
| 39 | 39 | |
|---|
| 40 | 40 | __wsum |
|---|
| 41 | | -csum_partial_copy_from_user(const void __user *src, void *dst, int len, __wsum sum, int *err_ptr); |
|---|
| 41 | +csum_partial_copy_from_user(const void __user *src, void *dst, int len); |
|---|
| 42 | + |
|---|
| 43 | +#define _HAVE_ARCH_COPY_AND_CSUM_FROM_USER |
|---|
| 44 | +#define _HAVE_ARCH_CSUM_AND_COPY |
|---|
| 45 | +static inline |
|---|
| 46 | +__wsum csum_and_copy_from_user(const void __user *src, void *dst, int len) |
|---|
| 47 | +{ |
|---|
| 48 | + if (!access_ok(src, len)) |
|---|
| 49 | + return 0; |
|---|
| 50 | + |
|---|
| 51 | + return csum_partial_copy_from_user(src, dst, len); |
|---|
| 52 | +} |
|---|
| 42 | 53 | |
|---|
| 43 | 54 | /* |
|---|
| 44 | 55 | * Fold a partial checksum without adding pseudo headers |
|---|