All of lore.kernel.org
 help / color / mirror / Atom feed
From: Frederik Deweerdt <deweerdt@free.fr>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org, jorge@laser.satlink.net,
	agulbra@nvg.unit.no
Subject: [-mm patch] make csum_and_copy_from_user arch independent (was Re: 2.6.21-mm2)
Date: Fri, 11 May 2007 10:27:38 +0200	[thread overview]
Message-ID: <20070511082738.GA23560@slug> (raw)
In-Reply-To: <20070509012322.199f292b.akpm@linux-foundation.org>

On Wed, May 09, 2007 at 01:23:22AM -0700, Andrew Morton wrote:
> 
> ftp://ftp.kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.21/2.6.21-mm2/
> 

ERROR: "csum_partial_copy_from_user" [net/rxrpc/af-rxrpc.ko] undefined!

Linking on ARM fails because albeit a generic csum_and_copy_from_user()
function is provided in the case ! _HAVE_ARCH_COPY_AND_CSUM_FROM_USER, the
generic function uses csum_partial_copy_from_user() which is i386 only.

The following patch uses copy_from_user() followed by csum_partial()
to make the function platform independent.

Regards,
Frederik

Signed-off-by: Frederik Deweerdt <frederik.deweerdt@gmail.com>

diff --git a/include/net/checksum.h b/include/net/checksum.h
index 1242461..2eebb95 100644
--- a/include/net/checksum.h
+++ b/include/net/checksum.h
@@ -30,13 +30,16 @@ static inline
 __wsum csum_and_copy_from_user (const void __user *src, void *dst,
 				      int len, __wsum sum, int *err_ptr)
 {
-	if (access_ok(VERIFY_READ, src, len))
-		return csum_partial_copy_from_user(src, dst, len, sum, err_ptr);
+	if (access_ok(VERIFY_READ, src, len)) {
+		if (copy_from_user(dst, src, len))
+			return -EFAULT;
+		return csum_partial(dst, len, sum);
+	}
 
 	if (len)
 		*err_ptr = -EFAULT;
 
-	return sum;
+	return (__force __wsum)-1; /* invalid checksum */
 }
 #endif
 

  parent reply	other threads:[~2007-05-11  8:29 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-09  8:23 2.6.21-mm2 Andrew Morton
2007-05-09 14:57 ` 2.6.21-mm2 - Kconfig horkage Valdis.Kletnieks
2007-05-09 17:07   ` Christoph Lameter
2007-05-09 17:16     ` Valdis.Kletnieks
2007-05-09 18:36       ` Christoph Lameter
2007-05-09 16:08 ` 2.6.21-mm2 - 100% CPU on ksoftirqd/1 Valdis.Kletnieks
2007-05-09 17:31   ` Andrew Morton
2007-05-09 18:12   ` Jeremy Fitzhardinge
2007-05-09 20:13     ` Valdis.Kletnieks
2007-05-11  2:52   ` Valdis.Kletnieks
2007-05-09 16:51 ` 2.6.21-mm2 - hanging with initcall_debug and netconsole Valdis.Kletnieks
2007-05-09 17:37   ` Andrew Morton
2007-05-10 11:29 ` 2.6.21-mm2 -- compat_core_sys_select() kmalloc(0) Andy Whitcroft
2007-05-10 11:48 ` 2.6.21-mm2 -- powerpc missing kset Andy Whitcroft
2007-05-10 11:48   ` Andy Whitcroft
2007-05-10 12:16   ` Stephen Rothwell
2007-05-10 12:16     ` Stephen Rothwell
2007-05-10 15:48     ` Randy Dunlap
2007-05-10 15:48       ` Randy Dunlap
2007-05-10 23:45       ` Stephen Rothwell
2007-05-10 12:21 ` ixp4xx compile error (was Re: 2.6.21-mm2) Frederik Deweerdt
2007-05-10 12:45   ` Frederik Deweerdt
2007-05-10 12:56     ` Dmitry Torokhov
2007-05-10 16:11 ` 2.6.21-mm2 Marc Dietrich
2007-05-10 19:22   ` 2.6.21-mm2 Andrew Morton
2007-05-10 20:40     ` 2.6.21-mm2 Marc Dietrich
2007-05-11  8:27 ` Frederik Deweerdt [this message]
2007-05-11  8:33   ` [-mm patch] make csum_and_copy_from_user arch independent (was Re: 2.6.21-mm2) Andrew Morton
2007-05-11  9:14   ` [-mm patch] make csum_and_copy_from_user arch independent David Miller
2007-05-11 13:56     ` Frederik Deweerdt
2007-05-11 17:04       ` Russell King
2007-05-11 18:03 ` 2.6.21-mm2 boot failure, raid autodetect, bd_set_size+0xb/0x80 thunder7
2007-05-11 18:18   ` Andrew Morton
2007-05-11 18:53     ` thunder7
2007-05-15  3:25 ` 2.6.21-mm2 - CONFIG_STATISTIC and Intel PowerTOP Valdis.Kletnieks
2007-05-15 14:25   ` Martin Peschke

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070511082738.GA23560@slug \
    --to=deweerdt@free.fr \
    --cc=agulbra@nvg.unit.no \
    --cc=akpm@linux-foundation.org \
    --cc=jorge@laser.satlink.net \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.