diff --git a/debian/changelog b/debian/changelog index e79a3cb26..ce1498940 100644 --- a/debian/changelog +++ b/debian/changelog @@ -36,7 +36,41 @@ linux-2.6 (2.6.38-4) UNRELEASED; urgency=low - nfsd4: fix oops on lock failure For the complete list of changes, see: http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.38.3 - * Add stable 2.6.38.4-rc1 + * Add stable 2.6.38.4, including: + - vm: fix vm_pgoff wrap in stack expansion + - cifs: always do is_path_accessible check in cifs_mount + - cifs: check for private_data before trying to put it + - sn9c102: world-wirtable sysfs files + - UBIFS: restrict world-writable debugfs files + - vm: fix mlock() on stack guard page + - UBIFS: fix assertion warnings + - perf: Fix task context scheduling + - fib: add rtnl locking in ip_fib_net_exit + - l2tp: fix possible oops on l2tp_eth module unload + - ipv6: Fix duplicate /proc/sys/net/ipv6/neigh directory entries. + - net_sched: fix ip_tos2prio + - pppoe: drop PPPOX_ZOMBIEs in pppoe_flush_dev + - xfrm: Refcount destination entry on xfrm_lookup + - vlan: should take into account needed_headroom + - bridge: Reset IPCB when entering IP stack on NF_FORWARD + - futex: Set FLAGS_HAS_TIMEOUT during futex_wait restart setup + - oom-kill: remove boost_dying_task_prio() + - UBIFS: fix oops when R/O file-system is fsync'ed + - sched: Fix erroneous all_pinned logic + - vmscan: all_unreclaimable() use zone->all_unreclaimable as a name + - next_pidmap: fix overflow condition + - proc: do proper range check on readdir offset + - [powerpc] Fix oops if scan_dispatch_log is called too early + - USB: EHCI: unlink unused QHs when the controller is stopped + - USB: fix formatting of SuperSpeed endpoints in /proc/bus/usb/devices + - USB: xhci - fix math in xhci_get_endpoint_interval() + - USB: xhci - also free streams when resetting devices + - USB: Fix unplug of device with active streams + - Bluetooth: Fix HCI_RESET command synchronization + - bridge: reset IPCB in br_parse_ip_options + - ip: ip_options_compile() resilient to NULL skb route + For the complete list of changes, see: + http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.38.4 * [s390] pfault: fix token handling (Closes: #622570) -- Ben Hutchings Fri, 08 Apr 2011 00:59:57 +0100 diff --git a/debian/patches/bugfix/all/stable/2.6.38.4-rc1.patch b/debian/patches/bugfix/all/stable/2.6.38.4.patch similarity index 98% rename from debian/patches/bugfix/all/stable/2.6.38.4-rc1.patch rename to debian/patches/bugfix/all/stable/2.6.38.4.patch index fb826a485..d5e0ca3bf 100644 --- a/debian/patches/bugfix/all/stable/2.6.38.4-rc1.patch +++ b/debian/patches/bugfix/all/stable/2.6.38.4.patch @@ -10,6 +10,8 @@ index f1bc3dc..80540e3 100644 L: stable@kernel.org S: Maintained +diff --git a/Makefile b/Makefile +index e47e39e..e712243 100644 diff --git a/arch/arm/kernel/hw_breakpoint.c b/arch/arm/kernel/hw_breakpoint.c index 44b84fe..7e9a0c7 100644 --- a/arch/arm/kernel/hw_breakpoint.c @@ -3247,10 +3249,24 @@ index 030a002..f61eb2e 100644 hopopt = (u8 *)(ip6h + 1); diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c -index 4b5b66d..49d50ea 100644 +index 4b5b66d..333bcaa 100644 --- a/net/bridge/br_netfilter.c +++ b/net/bridge/br_netfilter.c -@@ -741,6 +741,9 @@ static unsigned int br_nf_forward_ip(unsigned int hook, struct sk_buff *skb, +@@ -249,11 +249,9 @@ static int br_parse_ip_options(struct sk_buff *skb) + goto drop; + } + +- /* Zero out the CB buffer if no options present */ +- if (iph->ihl == 5) { +- memset(IPCB(skb), 0, sizeof(struct inet_skb_parm)); ++ memset(IPCB(skb), 0, sizeof(struct inet_skb_parm)); ++ if (iph->ihl == 5) + return 0; +- } + + opt->optlen = iph->ihl*4 - sizeof(struct iphdr); + if (ip_options_compile(dev_net(dev), opt, skb)) +@@ -741,6 +739,9 @@ static unsigned int br_nf_forward_ip(unsigned int hook, struct sk_buff *skb, nf_bridge->mask |= BRNF_PKT_TYPE; } @@ -3280,6 +3296,37 @@ index 1d2cdd4..8725e78 100644 kfree(net->ipv4.fib_table_hash); } +diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c +index 1906fa3..b0413e3 100644 +--- a/net/ipv4/ip_options.c ++++ b/net/ipv4/ip_options.c +@@ -329,7 +329,7 @@ int ip_options_compile(struct net *net, + pp_ptr = optptr + 2; + goto error; + } +- if (skb) { ++ if (rt) { + memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4); + opt->is_changed = 1; + } +@@ -371,7 +371,7 @@ int ip_options_compile(struct net *net, + goto error; + } + opt->ts = optptr - iph; +- if (skb) { ++ if (rt) { + memcpy(&optptr[optptr[2]-1], &rt->rt_spec_dst, 4); + timeptr = (__be32*)&optptr[optptr[2]+3]; + } +@@ -603,7 +603,7 @@ int ip_options_rcv_srr(struct sk_buff *skb) + unsigned long orefdst; + int err; + +- if (!opt->srr) ++ if (!opt->srr || !rt) + return 0; + + if (skb->pkt_type != PACKET_HOST) diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 6ed6603..fabfe81 100644 --- a/net/ipv4/route.c diff --git a/debian/patches/series/4 b/debian/patches/series/4 index d80b4b512..87f98714b 100644 --- a/debian/patches/series/4 +++ b/debian/patches/series/4 @@ -11,6 +11,6 @@ + bugfix/all/stable/2.6.38.3.patch + debian/ALSA-Restore-snd_pcm_lib_mmap_noncached.patch - bugfix/sparc/sparc-Fix-.size-directive-for-do_int_load.patch -+ bugfix/all/stable/2.6.38.4-rc1.patch ++ bugfix/all/stable/2.6.38.4.patch + debian/lib-strict_strto-Avoid-ABI-change.patch + bugfix/s390/S390-pfault-fix-token-handling.patch