Skip to contentSkip to conversation

Patch "sparc64: Delete now unused user copy fixup functions." has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Nov 19, 2016

Subsystems (2)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

sparc64: Delete now unused user copy fixup functions.

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
sparc64-delete-now-unused-user-copy-fixup-functions.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Sat Nov 19 09:52:37 CET 2016

From: "David S. Miller" <[email protected]>
Date: Mon, 24 Oct 2016 21:25:31 -0700
Subject: sparc64: Delete now unused user copy fixup functions.

From: "David S. Miller" <[email protected]>

[ Upstream commit 0fd0ff01d4c3c01e7fe69b762ee1a13236639acc ]

Now that all of the user copy routines are converted to return accurate residual lengths when an exception occurs, we no longer need the broken fixup routines.

---
 arch/sparc/include/asm/uaccess_64.h |   34 +----------------
 arch/sparc/lib/Makefile             |    2 -
 arch/sparc/lib/user_fixup.c         |   71 ------------------------------------
 3 files changed, 4 insertions(+), 103 deletions(-)
 delete mode 100644 arch/sparc/lib/user_fixup.c
arch/sparc/include/asm/uaccess_64.h +3 -31
@@ -204,58 +204,30 @@ int __get_user_bad(void);
 unsigned long __must_check ___copy_from_user(void *to,
 					     const void __user *from,
 					     unsigned long size);
-unsigned long copy_from_user_fixup(void *to, const void __user *from,
-				   unsigned long size);
 static inline unsigned long __must_check
 copy_from_user(void *to, const void __user *from, unsigned long size)
 {
-	unsigned long ret = ___copy_from_user(to, from, size);
-
-	if (unlikely(ret)) {
-		if ((long)ret < 0)
-			ret = copy_from_user_fixup(to, from, size);
-		return ret;
-	}
-
-	return ret;
+	return ___copy_from_user(to, from, size);
 }
 #define __copy_from_user copy_from_user
 
 unsigned long __must_check ___copy_to_user(void __user *to,
 					   const void *from,
 					   unsigned long size);
-unsigned long copy_to_user_fixup(void __user *to, const void *from,
-				 unsigned long size);
 static inline unsigned long __must_check
 copy_to_user(void __user *to, const void *from, unsigned long size)
 {
-	unsigned long ret = ___copy_to_user(to, from, size);
-
-	if (unlikely(ret)) {
-		if ((long)ret < 0)
-			ret = copy_to_user_fixup(to, from, size);
-		return ret;
-	}
-	return ret;
+	return ___copy_to_user(to, from, size);
 }
 #define __copy_to_user copy_to_user
 
 unsigned long __must_check ___copy_in_user(void __user *to,
 					   const void __user *from,
 					   unsigned long size);
-unsigned long copy_in_user_fixup(void __user *to, void __user *from,
-				 unsigned long size);
 static inline unsigned long __must_check
 copy_in_user(void __user *to, void __user *from, unsigned long size)
 {
-	unsigned long ret = ___copy_in_user(to, from, size);
-
-	if (unlikely(ret)) {
-		if ((long)ret < 0)
-			ret = copy_in_user_fixup(to, from, size);
-		return ret;
-	}
-	return ret;
+	return ___copy_in_user(to, from, size);
 }
 #define __copy_in_user copy_in_user
 
arch/sparc/lib/Makefile +1 -1
@@ -38,7 +38,7 @@ lib-$(CONFIG_SPARC64) +=  NG4patch.o NG4
 lib-$(CONFIG_SPARC64) += GENmemcpy.o GENcopy_from_user.o GENcopy_to_user.o
 lib-$(CONFIG_SPARC64) += GENpatch.o GENpage.o GENbzero.o
 
-lib-$(CONFIG_SPARC64) += copy_in_user.o user_fixup.o memmove.o
+lib-$(CONFIG_SPARC64) += copy_in_user.o memmove.o
 lib-$(CONFIG_SPARC64) += mcount.o ipcsum.o xor.o hweight.o ffs.o
 
 obj-$(CONFIG_SPARC64) += iomap.o
arch/sparc/lib/user_fixup.c deleted +0 -71

71 lines not on this page · raw message

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/sparc64-delete-now-unused-user-copy-fixup-functions.patch queue-4.4/net-__skb_flow_dissect-must-cap-its-return-value.patch queue-4.4/tcp-take-care-of-truncations-done-by-sk_filter.patch queue-4.4/net-clear-sk_err_soft-in-sk_clone_lock.patch queue-4.4/sparc64-convert-copy_in_user-to-accurate-exception-reporting.patch queue-4.4/sparc64-handle-extremely-large-kernel-tlb-range-flushes-more-gracefully.patch queue-4.4/sparc-handle-negative-offsets-in-arch_jump_label_transform.patch queue-4.4/sparc64-delete-__ret_efault.patch queue-4.4/dctcp-avoid-bogus-doubling-of-cwnd-after-loss.patch queue-4.4/sparc64-delete-now-unused-user-copy-assembler-helpers.patch queue-4.4/net-mangle-zero-checksum-in-skb_checksum_help.patch queue-4.4/sparc64-mm-fix-base-tsb-sizing-when-hugetlb-pages-are-used.patch queue-4.4/ip6_tunnel-clear-ip6cb-in-ip6tunnel_xmit.patch queue-4.4/sctp-assign-assoc_id-earlier-in-__sctp_connect.patch queue-4.4/sparc64-convert-ng4copy_-from-to-_user-to-accurate-exception-reporting.patch queue-4.4/ipv6-dccp-fix-out-of-bound-access-in-dccp_v6_err.patch queue-4.4/sparc64-convert-u3copy_-from-to-_user-to-accurate-exception-reporting.patch queue-4.4/sparc64-convert-ng2copy_-from-to-_user-to-accurate-exception-reporting.patch queue-4.4/sparc64-fix-illegal-relative-branches-in-hypervisor-patched-tlb-code.patch queue-4.4/sparc64-convert-gencopy_-from-to-_user-to-accurate-exception-reporting.patch queue-4.4/sparc64-convert-u1copy_-from-to-_user-to-accurate-exception-reporting.patch queue-4.4/sparc-don-t-leak-context-bits-into-thread-fault_address.patch queue-4.4/sparc64-prepare-to-move-to-more-saner-user-copy-exception-handling.patch queue-4.4/bgmac-stop-clearing-dma-receive-control-register-right-after-it-is-set.patch queue-4.4/ipv6-dccp-add-missing-bind_conflict-to-dccp_ipv6_mapped.patch queue-4.4/tcp-fix-potential-memory-corruption.patch queue-4.4/sparc64-convert-ngcopy_-from-to-_user-to-accurate-exception-reporting.patch queue-4.4/fib_trie-correct-proc-net-route-off-by-one-error.patch queue-4.4/sparc64-fix-illegal-relative-branches-in-hypervisor-patched-tlb-cross-call-code.patch queue-4.4/sparc64-handle-extremely-large-kernel-tsb-range-flushes-sanely.patch queue-4.4/sparc64-fix-instruction-count-in-comment-for-__hypervisor_flush_tlb_pending.patch queue-4.4/sparc-serial-sunhv-fix-a-double-lock-bug.patch queue-4.4/dccp-do-not-send-reset-to-already-closed-sockets.patch queue-4.4/ipv4-use-new_gw-for-redirect-neigh-lookup.patch queue-4.4/dccp-fix-out-of-bound-access-in-dccp_v4_err.patch queue-4.4/sock-fix-sendmmsg-for-partial-sendmsg.patch