diff options
| -rw-r--r-- | drivers/net/wireless/Makefile | 2 | ||||
| -rw-r--r-- | drivers/net/wireless/iwlwifi/Kconfig | 6 | ||||
| -rw-r--r-- | include/net/compat.h | 3 | ||||
| -rw-r--r-- | net/can/raw.c | 21 | ||||
| -rw-r--r-- | net/compat.c | 117 | ||||
| -rw-r--r-- | net/ipv4/ip_sockglue.c | 5 | ||||
| -rw-r--r-- | net/ipv4/tcp_input.c | 3 | ||||
| -rw-r--r-- | net/ipv6/Kconfig | 2 | ||||
| -rw-r--r-- | net/ipv6/ip6mr.c | 2 | ||||
| -rw-r--r-- | net/ipv6/ipv6_sockglue.c | 5 | ||||
| -rw-r--r-- | net/mac80211/Kconfig | 4 | ||||
| -rw-r--r-- | net/sunrpc/xprt.c | 2 | ||||
| -rw-r--r-- | net/tipc/msg.h | 7 | ||||
| -rw-r--r-- | net/xfrm/xfrm_algo.c | 3 | ||||
| -rw-r--r-- | net/xfrm/xfrm_state.c | 2 |
15 files changed, 159 insertions, 25 deletions
diff --git a/drivers/net/wireless/Makefile b/drivers/net/wireless/Makefile index c2642bc1d49b..2c343aae38d4 100644 --- a/drivers/net/wireless/Makefile +++ b/drivers/net/wireless/Makefile | |||
| @@ -56,7 +56,7 @@ obj-$(CONFIG_RTL8187) += rtl8187.o | |||
| 56 | 56 | ||
| 57 | obj-$(CONFIG_ADM8211) += adm8211.o | 57 | obj-$(CONFIG_ADM8211) += adm8211.o |
| 58 | 58 | ||
| 59 | obj-$(CONFIG_IWLCORE) += iwlwifi/ | 59 | obj-$(CONFIG_IWLWIFI) += iwlwifi/ |
| 60 | obj-$(CONFIG_RT2X00) += rt2x00/ | 60 | obj-$(CONFIG_RT2X00) += rt2x00/ |
| 61 | 61 | ||
| 62 | obj-$(CONFIG_P54_COMMON) += p54/ | 62 | obj-$(CONFIG_P54_COMMON) += p54/ |
diff --git a/drivers/net/wireless/iwlwifi/Kconfig b/drivers/net/wireless/iwlwifi/Kconfig index c4e631d14bfe..9a25f550fd16 100644 --- a/drivers/net/wireless/iwlwifi/Kconfig +++ b/drivers/net/wireless/iwlwifi/Kconfig | |||
| @@ -1,6 +1,11 @@ | |||
| 1 | config IWLWIFI | ||
| 2 | bool | ||
| 3 | default n | ||
| 4 | |||
| 1 | config IWLCORE | 5 | config IWLCORE |
| 2 | tristate "Intel Wireless Wifi Core" | 6 | tristate "Intel Wireless Wifi Core" |
| 3 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL | 7 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL |
| 8 | select IWLWIFI | ||
| 4 | 9 | ||
| 5 | config IWLWIFI_LEDS | 10 | config IWLWIFI_LEDS |
| 6 | bool | 11 | bool |
| @@ -106,6 +111,7 @@ config IWL3945 | |||
| 106 | tristate "Intel PRO/Wireless 3945ABG/BG Network Connection" | 111 | tristate "Intel PRO/Wireless 3945ABG/BG Network Connection" |
| 107 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL | 112 | depends on PCI && MAC80211 && WLAN_80211 && EXPERIMENTAL |
| 108 | select FW_LOADER | 113 | select FW_LOADER |
| 114 | select IWLWIFI | ||
| 109 | ---help--- | 115 | ---help--- |
| 110 | Select to build the driver supporting the: | 116 | Select to build the driver supporting the: |
| 111 | 117 | ||
diff --git a/include/net/compat.h b/include/net/compat.h index 406db242f73a..05fa5d0254ab 100644 --- a/include/net/compat.h +++ b/include/net/compat.h | |||
| @@ -40,4 +40,7 @@ extern int put_cmsg_compat(struct msghdr*, int, int, int, void *); | |||
| 40 | 40 | ||
| 41 | extern int cmsghdr_from_user_compat_to_kern(struct msghdr *, struct sock *, unsigned char *, int); | 41 | extern int cmsghdr_from_user_compat_to_kern(struct msghdr *, struct sock *, unsigned char *, int); |
| 42 | 42 | ||
| 43 | extern int compat_mc_setsockopt(struct sock *, int, int, char __user *, int, | ||
| 44 | int (*)(struct sock *, int, int, char __user *, int)); | ||
| 45 | |||
| 43 | #endif /* NET_COMPAT_H */ | 46 | #endif /* NET_COMPAT_H */ |
diff --git a/net/can/raw.c b/net/can/raw.c index 201cbfc6b9ec..69877b8e7e9c 100644 --- a/net/can/raw.c +++ b/net/can/raw.c | |||
| @@ -435,15 +435,13 @@ static int raw_setsockopt(struct socket *sock, int level, int optname, | |||
| 435 | if (!filter) | 435 | if (!filter) |
| 436 | return -ENOMEM; | 436 | return -ENOMEM; |
| 437 | 437 | ||
| 438 | err = copy_from_user(filter, optval, optlen); | 438 | if (copy_from_user(filter, optval, optlen)) { |
| 439 | if (err) { | ||
| 440 | kfree(filter); | 439 | kfree(filter); |
| 441 | return err; | 440 | return -EFAULT; |
| 442 | } | 441 | } |
| 443 | } else if (count == 1) { | 442 | } else if (count == 1) { |
| 444 | err = copy_from_user(&sfilter, optval, optlen); | 443 | if (copy_from_user(&sfilter, optval, optlen)) |
| 445 | if (err) | 444 | return -EFAULT; |
| 446 | return err; | ||
| 447 | } | 445 | } |
| 448 | 446 | ||
| 449 | lock_sock(sk); | 447 | lock_sock(sk); |
| @@ -493,9 +491,8 @@ static int raw_setsockopt(struct socket *sock, int level, int optname, | |||
| 493 | if (optlen != sizeof(err_mask)) | 491 | if (optlen != sizeof(err_mask)) |
| 494 | return -EINVAL; | 492 | return -EINVAL; |
| 495 | 493 | ||
| 496 | err = copy_from_user(&err_mask, optval, optlen); | 494 | if (copy_from_user(&err_mask, optval, optlen)) |
| 497 | if (err) | 495 | return -EFAULT; |
| 498 | return err; | ||
| 499 | 496 | ||
| 500 | err_mask &= CAN_ERR_MASK; | 497 | err_mask &= CAN_ERR_MASK; |
| 501 | 498 | ||
| @@ -531,7 +528,8 @@ static int raw_setsockopt(struct socket *sock, int level, int optname, | |||
| 531 | if (optlen != sizeof(ro->loopback)) | 528 | if (optlen != sizeof(ro->loopback)) |
| 532 | return -EINVAL; | 529 | return -EINVAL; |
| 533 | 530 | ||
| 534 | err = copy_from_user(&ro->loopback, optval, optlen); | 531 | if (copy_from_user(&ro->loopback, optval, optlen)) |
| 532 | return -EFAULT; | ||
| 535 | 533 | ||
| 536 | break; | 534 | break; |
| 537 | 535 | ||
| @@ -539,7 +537,8 @@ static int raw_setsockopt(struct socket *sock, int level, int optname, | |||
| 539 | if (optlen != sizeof(ro->recv_own_msgs)) | 537 | if (optlen != sizeof(ro->recv_own_msgs)) |
| 540 | return -EINVAL; | 538 | return -EINVAL; |
| 541 | 539 | ||
| 542 | err = copy_from_user(&ro->recv_own_msgs, optval, optlen); | 540 | if (copy_from_user(&ro->recv_own_msgs, optval, optlen)) |
| 541 | return -EFAULT; | ||
| 543 | 542 | ||
| 544 | break; | 543 | break; |
| 545 | 544 | ||
diff --git a/net/compat.c b/net/compat.c index 80013fb69a61..01bf95d0832e 100644 --- a/net/compat.c +++ b/net/compat.c | |||
| @@ -24,6 +24,8 @@ | |||
| 24 | 24 | ||
| 25 | #include <net/scm.h> | 25 | #include <net/scm.h> |
| 26 | #include <net/sock.h> | 26 | #include <net/sock.h> |
| 27 | #include <net/ip.h> | ||
| 28 | #include <net/ipv6.h> | ||
| 27 | #include <asm/uaccess.h> | 29 | #include <asm/uaccess.h> |
| 28 | #include <net/compat.h> | 30 | #include <net/compat.h> |
| 29 | 31 | ||
| @@ -521,6 +523,121 @@ asmlinkage long compat_sys_getsockopt(int fd, int level, int optname, | |||
| 521 | } | 523 | } |
| 522 | return err; | 524 | return err; |
| 523 | } | 525 | } |
| 526 | |||
| 527 | struct compat_group_req { | ||
| 528 | __u32 gr_interface; | ||
| 529 | struct __kernel_sockaddr_storage gr_group | ||
| 530 | __attribute__ ((aligned(4))); | ||
| 531 | } __attribute__ ((packed)); | ||
| 532 | |||
| 533 | struct compat_group_source_req { | ||
| 534 | __u32 gsr_interface; | ||
| 535 | struct __kernel_sockaddr_storage gsr_group | ||
| 536 | __attribute__ ((aligned(4))); | ||
| 537 | struct __kernel_sockaddr_storage gsr_source | ||
| 538 | __attribute__ ((aligned(4))); | ||
| 539 | } __attribute__ ((packed)); | ||
| 540 | |||
| 541 | struct compat_group_filter { | ||
| 542 | __u32 gf_interface; | ||
| 543 | struct __kernel_sockaddr_storage gf_group | ||
| 544 | __attribute__ ((aligned(4))); | ||
| 545 | __u32 gf_fmode; | ||
| 546 | __u32 gf_numsrc; | ||
| 547 | struct __kernel_sockaddr_storage gf_slist[1] | ||
| 548 | __attribute__ ((aligned(4))); | ||
| 549 | } __attribute__ ((packed)); | ||
| 550 | |||
| 551 | |||
| 552 | int compat_mc_setsockopt(struct sock *sock, int level, int optname, | ||
| 553 | char __user *optval, int optlen, | ||
| 554 | int (*setsockopt)(struct sock *,int,int,char __user *,int)) | ||
| 555 | { | ||
| 556 | char __user *koptval = optval; | ||
| 557 | int koptlen = optlen; | ||
| 558 | |||
| 559 | switch (optname) { | ||
| 560 | case MCAST_JOIN_GROUP: | ||
| 561 | case MCAST_LEAVE_GROUP: | ||
| 562 | { | ||
| 563 | struct compat_group_req __user *gr32 = (void *)optval; | ||
| 564 | struct group_req __user *kgr = | ||
| 565 | compat_alloc_user_space(sizeof(struct group_req)); | ||
| 566 | u32 interface; | ||
| 567 | |||
| 568 | if (!access_ok(VERIFY_READ, gr32, sizeof(*gr32)) || | ||
| 569 | !access_ok(VERIFY_WRITE, kgr, sizeof(struct group_req)) || | ||
| 570 | __get_user(interface, &gr32->gr_interface) || | ||
| 571 | __put_user(interface, &kgr->gr_interface) || | ||
| 572 | copy_in_user(&kgr->gr_group, &gr32->gr_group, | ||
| 573 | sizeof(kgr->gr_group))) | ||
| 574 | return -EFAULT; | ||
| 575 | koptval = (char __user *)kgr; | ||
| 576 | koptlen = sizeof(struct group_req); | ||
| 577 | break; | ||
| 578 | } | ||
| 579 | case MCAST_JOIN_SOURCE_GROUP: | ||
| 580 | case MCAST_LEAVE_SOURCE_GROUP: | ||
| 581 | case MCAST_BLOCK_SOURCE: | ||
| 582 | case MCAST_UNBLOCK_SOURCE: | ||
| 583 | { | ||
| 584 | struct compat_group_source_req __user *gsr32 = (void *)optval; | ||
| 585 | struct group_source_req *kgsr = compat_alloc_user_space( | ||
| 586 | sizeof(struct group_source_req)); | ||
| 587 | u32 interface; | ||
| 588 | |||
| 589 | if (!access_ok(VERIFY_READ, gsr32, sizeof(*gsr32)) || | ||
| 590 | !access_ok(VERIFY_WRITE, kgsr, | ||
| 591 | sizeof(struct group_source_req)) || | ||
| 592 | __get_user(interface, &gsr32->gsr_interface) || | ||
| 593 | __put_user(interface, &kgsr->gsr_interface) || | ||
| 594 | copy_in_user(&kgsr->gsr_group, &gsr32->gsr_group, | ||
| 595 | sizeof(kgsr->gsr_group)) || | ||
| 596 | copy_in_user(&kgsr->gsr_source, &gsr32->gsr_source, | ||
| 597 | sizeof(kgsr->gsr_source))) | ||
| 598 | return -EFAULT; | ||
| 599 | koptval = (char __user *)kgsr; | ||
| 600 | koptlen = sizeof(struct group_source_req); | ||
| 601 | break; | ||
| 602 | } | ||
| 603 | case MCAST_MSFILTER: | ||
| 604 | { | ||
| 605 | struct compat_group_filter __user *gf32 = (void *)optval; | ||
| 606 | struct group_filter *kgf; | ||
| 607 | u32 interface, fmode, numsrc; | ||
| 608 | |||
| 609 | if (!access_ok(VERIFY_READ, gf32, sizeof(*gf32)) || | ||
| 610 | __get_user(interface, &gf32->gf_interface) || | ||
| 611 | __get_user(fmode, &gf32->gf_fmode) || | ||
| 612 | __get_user(numsrc, &gf32->gf_numsrc)) | ||
| 613 | return -EFAULT; | ||
| 614 | koptlen = optlen + sizeof(struct group_filter) - | ||
| 615 | sizeof(struct compat_group_filter); | ||
| 616 | if (koptlen < GROUP_FILTER_SIZE(numsrc)) | ||
| 617 | return -EINVAL; | ||
| 618 | kgf = compat_alloc_user_space(koptlen); | ||
| 619 | if (!access_ok(VERIFY_WRITE, kgf, koptlen) || | ||
| 620 | __put_user(interface, &kgf->gf_interface) || | ||
| 621 | __put_user(fmode, &kgf->gf_fmode) || | ||
| 622 | __put_user(numsrc, &kgf->gf_numsrc) || | ||
| 623 | copy_in_user(&kgf->gf_group, &gf32->gf_group, | ||
| 624 | sizeof(kgf->gf_group)) || | ||
| 625 | (numsrc && copy_in_user(&kgf->gf_slist, &gf32->gf_slist, | ||
| 626 | numsrc * sizeof(kgf->gf_slist[0])))) | ||
| 627 | return -EFAULT; | ||
| 628 | koptval = (char __user *)kgf; | ||
| 629 | break; | ||
| 630 | } | ||
| 631 | |||
| 632 | default: | ||
| 633 | break; | ||
| 634 | } | ||
| 635 | return setsockopt(sock, level, optname, koptval, koptlen); | ||
| 636 | } | ||
| 637 | |||
| 638 | EXPORT_SYMBOL(compat_mc_setsockopt); | ||
| 639 | |||
| 640 | |||
| 524 | /* Argument list sizes for compat_sys_socketcall */ | 641 | /* Argument list sizes for compat_sys_socketcall */ |
| 525 | #define AL(x) ((x) * sizeof(u32)) | 642 | #define AL(x) ((x) * sizeof(u32)) |
| 526 | static unsigned char nas[18]={AL(0),AL(3),AL(3),AL(3),AL(2),AL(3), | 643 | static unsigned char nas[18]={AL(0),AL(3),AL(3),AL(3),AL(2),AL(3), |
diff --git a/net/ipv4/ip_sockglue.c b/net/ipv4/ip_sockglue.c index d8adfd4972e2..4d8d95404f45 100644 --- a/net/ipv4/ip_sockglue.c +++ b/net/ipv4/ip_sockglue.c | |||
| @@ -36,6 +36,7 @@ | |||
| 36 | #include <linux/mroute.h> | 36 | #include <linux/mroute.h> |
| 37 | #include <net/route.h> | 37 | #include <net/route.h> |
| 38 | #include <net/xfrm.h> | 38 | #include <net/xfrm.h> |
| 39 | #include <net/compat.h> | ||
| 39 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) | 40 | #if defined(CONFIG_IPV6) || defined(CONFIG_IPV6_MODULE) |
| 40 | #include <net/transp_v6.h> | 41 | #include <net/transp_v6.h> |
| 41 | #endif | 42 | #endif |
| @@ -923,6 +924,10 @@ int compat_ip_setsockopt(struct sock *sk, int level, int optname, | |||
| 923 | if (level != SOL_IP) | 924 | if (level != SOL_IP) |
| 924 | return -ENOPROTOOPT; | 925 | return -ENOPROTOOPT; |
| 925 | 926 | ||
| 927 | if (optname >= MCAST_JOIN_GROUP && optname <= MCAST_MSFILTER) | ||
| 928 | return compat_mc_setsockopt(sk, level, optname, optval, optlen, | ||
| 929 | ip_setsockopt); | ||
| 930 | |||
| 926 | err = do_ip_setsockopt(sk, level, optname, optval, optlen); | 931 | err = do_ip_setsockopt(sk, level, optname, optval, optlen); |
| 927 | #ifdef CONFIG_NETFILTER | 932 | #ifdef CONFIG_NETFILTER |
| 928 | /* we need to exclude all possible ENOPROTOOPTs except default case */ | 933 | /* we need to exclude all possible ENOPROTOOPTs except default case */ |
diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c index ac9b8482f702..0298f80681f2 100644 --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c | |||
| @@ -4925,8 +4925,7 @@ step5: | |||
| 4925 | tcp_data_snd_check(sk); | 4925 | tcp_data_snd_check(sk); |
| 4926 | tcp_ack_snd_check(sk); | 4926 | tcp_ack_snd_check(sk); |
| 4927 | 4927 | ||
| 4928 | if (tcp_defer_accept_check(sk)) | 4928 | tcp_defer_accept_check(sk); |
| 4929 | return -1; | ||
| 4930 | return 0; | 4929 | return 0; |
| 4931 | 4930 | ||
| 4932 | csum_error: | 4931 | csum_error: |
diff --git a/net/ipv6/Kconfig b/net/ipv6/Kconfig index b2c9becc02e8..42814a2ec9d7 100644 --- a/net/ipv6/Kconfig +++ b/net/ipv6/Kconfig | |||
| @@ -167,7 +167,7 @@ config IPV6_SIT | |||
| 167 | Tunneling means encapsulating data of one protocol type within | 167 | Tunneling means encapsulating data of one protocol type within |
| 168 | another protocol and sending it over a channel that understands the | 168 | another protocol and sending it over a channel that understands the |
| 169 | encapsulating protocol. This driver implements encapsulation of IPv6 | 169 | encapsulating protocol. This driver implements encapsulation of IPv6 |
| 170 | into IPv4 packets. This is useful if you want to connect to IPv6 | 170 | into IPv4 packets. This is useful if you want to connect two IPv6 |
| 171 | networks over an IPv4-only path. | 171 | networks over an IPv4-only path. |
| 172 | 172 | ||
| 173 | Saying M here will produce a module called sit.ko. If unsure, say Y. | 173 | Saying M here will produce a module called sit.ko. If unsure, say Y. |
diff --git a/net/ipv6/ip6mr.c b/net/ipv6/ip6mr.c index c8c6e33d1163..2de3c464fe75 100644 --- a/net/ipv6/ip6mr.c +++ b/net/ipv6/ip6mr.c | |||
| @@ -358,7 +358,7 @@ static int pim6_rcv(struct sk_buff *skb) | |||
| 358 | if (pim->type != ((PIM_VERSION << 4) | PIM_REGISTER) || | 358 | if (pim->type != ((PIM_VERSION << 4) | PIM_REGISTER) || |
| 359 | (pim->flags & PIM_NULL_REGISTER) || | 359 | (pim->flags & PIM_NULL_REGISTER) || |
| 360 | (ip_compute_csum((void *)pim, sizeof(*pim)) != 0 && | 360 | (ip_compute_csum((void *)pim, sizeof(*pim)) != 0 && |
| 361 | (u16)csum_fold(skb_checksum(skb, 0, skb->len, 0)))) | 361 | csum_fold(skb_checksum(skb, 0, skb->len, 0)))) |
| 362 | goto drop; | 362 | goto drop; |
| 363 | 363 | ||
| 364 | /* check if the inner packet is destined to mcast group */ | 364 | /* check if the inner packet is destined to mcast group */ |
diff --git a/net/ipv6/ipv6_sockglue.c b/net/ipv6/ipv6_sockglue.c index 06de9d0e1f6b..db6fdc1498aa 100644 --- a/net/ipv6/ipv6_sockglue.c +++ b/net/ipv6/ipv6_sockglue.c | |||
| @@ -52,6 +52,7 @@ | |||
| 52 | #include <net/udp.h> | 52 | #include <net/udp.h> |
| 53 | #include <net/udplite.h> | 53 | #include <net/udplite.h> |
| 54 | #include <net/xfrm.h> | 54 | #include <net/xfrm.h> |
| 55 | #include <net/compat.h> | ||
| 55 | 56 | ||
| 56 | #include <asm/uaccess.h> | 57 | #include <asm/uaccess.h> |
| 57 | 58 | ||
| @@ -779,6 +780,10 @@ int compat_ipv6_setsockopt(struct sock *sk, int level, int optname, | |||
| 779 | if (level != SOL_IPV6) | 780 | if (level != SOL_IPV6) |
| 780 | return -ENOPROTOOPT; | 781 | return -ENOPROTOOPT; |
| 781 | 782 | ||
| 783 | if (optname >= MCAST_JOIN_GROUP && optname <= MCAST_MSFILTER) | ||
| 784 | return compat_mc_setsockopt(sk, level, optname, optval, optlen, | ||
| 785 | ipv6_setsockopt); | ||
| 786 | |||
| 782 | err = do_ipv6_setsockopt(sk, level, optname, optval, optlen); | 787 | err = do_ipv6_setsockopt(sk, level, optname, optval, optlen); |
| 783 | #ifdef CONFIG_NETFILTER | 788 | #ifdef CONFIG_NETFILTER |
| 784 | /* we need to exclude all possible ENOPROTOOPTs except default case */ | 789 | /* we need to exclude all possible ENOPROTOOPTs except default case */ |
diff --git a/net/mac80211/Kconfig b/net/mac80211/Kconfig index 520a5180a4f6..a24b459dd45a 100644 --- a/net/mac80211/Kconfig +++ b/net/mac80211/Kconfig | |||
| @@ -73,7 +73,9 @@ config MAC80211_MESH | |||
| 73 | 73 | ||
| 74 | config MAC80211_LEDS | 74 | config MAC80211_LEDS |
| 75 | bool "Enable LED triggers" | 75 | bool "Enable LED triggers" |
| 76 | depends on MAC80211 && LEDS_TRIGGERS | 76 | depends on MAC80211 |
| 77 | select NEW_LEDS | ||
| 78 | select LEDS_TRIGGERS | ||
| 77 | ---help--- | 79 | ---help--- |
| 78 | This option enables a few LED triggers for different | 80 | This option enables a few LED triggers for different |
| 79 | packet receive/transmit events. | 81 | packet receive/transmit events. |
diff --git a/net/sunrpc/xprt.c b/net/sunrpc/xprt.c index 75d748eee0eb..e1770f7ba0b3 100644 --- a/net/sunrpc/xprt.c +++ b/net/sunrpc/xprt.c | |||
| @@ -445,7 +445,7 @@ EXPORT_SYMBOL_GPL(xprt_wake_pending_tasks); | |||
| 445 | /** | 445 | /** |
| 446 | * xprt_wait_for_buffer_space - wait for transport output buffer to clear | 446 | * xprt_wait_for_buffer_space - wait for transport output buffer to clear |
| 447 | * @task: task to be put to sleep | 447 | * @task: task to be put to sleep |
| 448 | * | 448 | * @action: function pointer to be executed after wait |
| 449 | */ | 449 | */ |
| 450 | void xprt_wait_for_buffer_space(struct rpc_task *task, rpc_action action) | 450 | void xprt_wait_for_buffer_space(struct rpc_task *task, rpc_action action) |
| 451 | { | 451 | { |
diff --git a/net/tipc/msg.h b/net/tipc/msg.h index 6ad070d87702..ad487e8abcc2 100644 --- a/net/tipc/msg.h +++ b/net/tipc/msg.h | |||
| @@ -70,10 +70,9 @@ static inline void msg_set_bits(struct tipc_msg *m, u32 w, | |||
| 70 | u32 pos, u32 mask, u32 val) | 70 | u32 pos, u32 mask, u32 val) |
| 71 | { | 71 | { |
| 72 | val = (val & mask) << pos; | 72 | val = (val & mask) << pos; |
| 73 | val = htonl(val); | 73 | mask = mask << pos; |
| 74 | mask = htonl(mask << pos); | 74 | m->hdr[w] &= ~htonl(mask); |
| 75 | m->hdr[w] &= ~mask; | 75 | m->hdr[w] |= htonl(val); |
| 76 | m->hdr[w] |= val; | ||
| 77 | } | 76 | } |
| 78 | 77 | ||
| 79 | /* | 78 | /* |
diff --git a/net/xfrm/xfrm_algo.c b/net/xfrm/xfrm_algo.c index 8aa6440d689f..ac765dd9c7f5 100644 --- a/net/xfrm/xfrm_algo.c +++ b/net/xfrm/xfrm_algo.c | |||
| @@ -129,8 +129,7 @@ static struct xfrm_algo_desc aead_list[] = { | |||
| 129 | 129 | ||
| 130 | static struct xfrm_algo_desc aalg_list[] = { | 130 | static struct xfrm_algo_desc aalg_list[] = { |
| 131 | { | 131 | { |
| 132 | .name = "hmac(digest_null)", | 132 | .name = "digest_null", |
| 133 | .compat = "digest_null", | ||
| 134 | 133 | ||
| 135 | .uinfo = { | 134 | .uinfo = { |
| 136 | .auth = { | 135 | .auth = { |
diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 5dcc10b93c86..fac27ce770d5 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c | |||
| @@ -2112,7 +2112,7 @@ static void xfrm_audit_helper_pktinfo(struct sk_buff *skb, u16 family, | |||
| 2112 | iph6 = ipv6_hdr(skb); | 2112 | iph6 = ipv6_hdr(skb); |
| 2113 | audit_log_format(audit_buf, | 2113 | audit_log_format(audit_buf, |
| 2114 | " src=" NIP6_FMT " dst=" NIP6_FMT | 2114 | " src=" NIP6_FMT " dst=" NIP6_FMT |
| 2115 | " flowlbl=0x%x%x%x", | 2115 | " flowlbl=0x%x%02x%02x", |
| 2116 | NIP6(iph6->saddr), | 2116 | NIP6(iph6->saddr), |
| 2117 | NIP6(iph6->daddr), | 2117 | NIP6(iph6->daddr), |
| 2118 | iph6->flow_lbl[0] & 0x0f, | 2118 | iph6->flow_lbl[0] & 0x0f, |
