summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-03-29 03:10:25 +0000
committerMike Frysinger <vapier@gentoo.org>2005-03-29 03:10:25 +0000
commitb993f9e9b11a2c772bff8776b8ff4ab2fd656b1a (patch)
treefb0066f9c43d5861bd104709acc714abc4110e61 /sys-apps/iproute2/files
parentold (diff)
downloadgentoo-2-b993f9e9b11a2c772bff8776b8ff4ab2fd656b1a.tar.gz
gentoo-2-b993f9e9b11a2c772bff8776b8ff4ab2fd656b1a.tar.bz2
gentoo-2-b993f9e9b11a2c772bff8776b8ff4ab2fd656b1a.zip
Add patch from upstream to fix dsmark qdiscs adding #86729.
(Portage version: 2.0.51.19)
Diffstat (limited to 'sys-apps/iproute2/files')
-rw-r--r--sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r11
-rw-r--r--sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch45
2 files changed, 46 insertions, 0 deletions
diff --git a/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r1 b/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r1
new file mode 100644
index 000000000000..a358693ed666
--- /dev/null
+++ b/sys-apps/iproute2/files/digest-iproute2-2.6.11.20050310-r1
@@ -0,0 +1 @@
+MD5 d7ad6748ebf980499ae6b10c2679e99a iproute2-2.6.11-050310.tar.gz 341467
diff --git a/sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch b/sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch
new file mode 100644
index 000000000000..8bea13615479
--- /dev/null
+++ b/sys-apps/iproute2/files/iproute2-2.6.11.20050310-dsmark-qdisc.patch
@@ -0,0 +1,45 @@
+# 2005/03/20 17:19:39+01:00 tgraf at suug.ch
+# Fix netlink message alignment when the last routing attribute added
+# has a data length not aligned to RTA_ALIGNTO.
+
+http://mailman.ds9a.nl/pipermail/lartc/2005q1/015295.html
+http://bugs.gentoo.org/show_bug.cgi?id=86729
+
+--- lib/libnetlink.c
++++ lib/libnetlink.c
+@@ -491,7 +491,7 @@
+ int len = RTA_LENGTH(alen);
+ struct rtattr *rta;
+
+- if (NLMSG_ALIGN(n->nlmsg_len) + len > maxlen) {
++ if (NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len) > maxlen) {
+ fprintf(stderr, "addattr_l ERROR: message exceeded bound of %d\n",maxlen);
+ return -1;
+ }
+@@ -499,7 +499,7 @@
+ rta->rta_type = type;
+ rta->rta_len = len;
+ memcpy(RTA_DATA(rta), data, alen);
+- n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + len;
++ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + RTA_ALIGN(len);
+ return 0;
+ }
+
+@@ -539,7 +539,7 @@
+ struct rtattr *subrta;
+ int len = RTA_LENGTH(alen);
+
+- if (RTA_ALIGN(rta->rta_len) + len > maxlen) {
++ if (RTA_ALIGN(rta->rta_len) + RTA_ALIGN(len) > maxlen) {
+ fprintf(stderr,"rta_addattr_l: Error! max allowed bound %d exceeded\n",maxlen);
+ return -1;
+ }
+@@ -547,7 +547,7 @@
+ subrta->rta_type = type;
+ subrta->rta_len = len;
+ memcpy(RTA_DATA(subrta), data, alen);
+- rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
++ rta->rta_len = NLMSG_ALIGN(rta->rta_len) + RTA_ALIGN(len);
+ return 0;
+ }
+