提交 45ed344c 编写于 作者: L Linus Torvalds

Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6

...@@ -1811,8 +1811,7 @@ make_entry(struct lec_priv *priv, unsigned char *mac_addr) ...@@ -1811,8 +1811,7 @@ make_entry(struct lec_priv *priv, unsigned char *mac_addr)
{ {
struct lec_arp_table *to_return; struct lec_arp_table *to_return;
to_return = (struct lec_arp_table *) kmalloc(sizeof(struct lec_arp_table), to_return = kmalloc(sizeof(struct lec_arp_table), GFP_ATOMIC);
GFP_ATOMIC);
if (!to_return) { if (!to_return) {
printk("LEC: Arp entry kmalloc failed\n"); printk("LEC: Arp entry kmalloc failed\n");
return NULL; return NULL;
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
#include <linux/netfilter_bridge/ebtables.h> #include <linux/netfilter_bridge/ebtables.h>
#include <linux/netfilter_bridge/ebt_stp.h> #include <linux/netfilter_bridge/ebt_stp.h>
#include <linux/etherdevice.h>
#include <linux/module.h> #include <linux/module.h>
#define BPDU_TYPE_CONFIG 0 #define BPDU_TYPE_CONFIG 0
......
...@@ -944,7 +944,7 @@ static int do_replace(void __user *user, unsigned int len) ...@@ -944,7 +944,7 @@ static int do_replace(void __user *user, unsigned int len)
if (countersize) if (countersize)
memset(newinfo->counters, 0, countersize); memset(newinfo->counters, 0, countersize);
newinfo->entries = (char *)vmalloc(tmp.entries_size); newinfo->entries = vmalloc(tmp.entries_size);
if (!newinfo->entries) { if (!newinfo->entries) {
ret = -ENOMEM; ret = -ENOMEM;
goto free_newinfo; goto free_newinfo;
...@@ -1146,7 +1146,7 @@ int ebt_register_table(struct ebt_table *table) ...@@ -1146,7 +1146,7 @@ int ebt_register_table(struct ebt_table *table)
if (!newinfo) if (!newinfo)
return -ENOMEM; return -ENOMEM;
newinfo->entries = (char *)vmalloc(table->table->entries_size); newinfo->entries = vmalloc(table->table->entries_size);
if (!(newinfo->entries)) if (!(newinfo->entries))
goto free_newinfo; goto free_newinfo;
......
...@@ -158,7 +158,7 @@ int dev_mc_add(struct net_device *dev, void *addr, int alen, int glbl) ...@@ -158,7 +158,7 @@ int dev_mc_add(struct net_device *dev, void *addr, int alen, int glbl)
int err = 0; int err = 0;
struct dev_mc_list *dmi, *dmi1; struct dev_mc_list *dmi, *dmi1;
dmi1 = (struct dev_mc_list *)kmalloc(sizeof(*dmi), GFP_ATOMIC); dmi1 = kmalloc(sizeof(*dmi), GFP_ATOMIC);
spin_lock_bh(&dev->xmit_lock); spin_lock_bh(&dev->xmit_lock);
for (dmi = dev->mc_list; dmi != NULL; dmi = dmi->next) { for (dmi = dev->mc_list; dmi != NULL; dmi = dmi->next) {
......
...@@ -457,7 +457,7 @@ void divert_frame(struct sk_buff *skb) ...@@ -457,7 +457,7 @@ void divert_frame(struct sk_buff *skb)
unsigned char *skb_data_end = skb->data + skb->len; unsigned char *skb_data_end = skb->data + skb->len;
/* Packet is already aimed at us, return */ /* Packet is already aimed at us, return */
if (!compare_ether_addr(eth, skb->dev->dev_addr)) if (!compare_ether_addr(eth->h_dest, skb->dev->dev_addr))
return; return;
/* proto is not IP, do nothing */ /* proto is not IP, do nothing */
......
...@@ -975,7 +975,7 @@ static void igmpv3_add_delrec(struct in_device *in_dev, struct ip_mc_list *im) ...@@ -975,7 +975,7 @@ static void igmpv3_add_delrec(struct in_device *in_dev, struct ip_mc_list *im)
* for deleted items allows change reports to use common code with * for deleted items allows change reports to use common code with
* non-deleted or query-response MCA's. * non-deleted or query-response MCA's.
*/ */
pmc = (struct ip_mc_list *)kmalloc(sizeof(*pmc), GFP_KERNEL); pmc = kmalloc(sizeof(*pmc), GFP_KERNEL);
if (!pmc) if (!pmc)
return; return;
memset(pmc, 0, sizeof(*pmc)); memset(pmc, 0, sizeof(*pmc));
...@@ -1155,7 +1155,7 @@ void ip_mc_inc_group(struct in_device *in_dev, u32 addr) ...@@ -1155,7 +1155,7 @@ void ip_mc_inc_group(struct in_device *in_dev, u32 addr)
} }
} }
im = (struct ip_mc_list *)kmalloc(sizeof(*im), GFP_KERNEL); im = kmalloc(sizeof(*im), GFP_KERNEL);
if (!im) if (!im)
goto out; goto out;
...@@ -1476,7 +1476,7 @@ static int ip_mc_add1_src(struct ip_mc_list *pmc, int sfmode, ...@@ -1476,7 +1476,7 @@ static int ip_mc_add1_src(struct ip_mc_list *pmc, int sfmode,
psf_prev = psf; psf_prev = psf;
} }
if (!psf) { if (!psf) {
psf = (struct ip_sf_list *)kmalloc(sizeof(*psf), GFP_ATOMIC); psf = kmalloc(sizeof(*psf), GFP_ATOMIC);
if (!psf) if (!psf)
return -ENOBUFS; return -ENOBUFS;
memset(psf, 0, sizeof(*psf)); memset(psf, 0, sizeof(*psf));
...@@ -1659,7 +1659,7 @@ int ip_mc_join_group(struct sock *sk , struct ip_mreqn *imr) ...@@ -1659,7 +1659,7 @@ int ip_mc_join_group(struct sock *sk , struct ip_mreqn *imr)
err = -ENOBUFS; err = -ENOBUFS;
if (count >= sysctl_igmp_max_memberships) if (count >= sysctl_igmp_max_memberships)
goto done; goto done;
iml = (struct ip_mc_socklist *)sock_kmalloc(sk,sizeof(*iml),GFP_KERNEL); iml = sock_kmalloc(sk,sizeof(*iml),GFP_KERNEL);
if (iml == NULL) if (iml == NULL)
goto done; goto done;
...@@ -1823,8 +1823,7 @@ int ip_mc_source(int add, int omode, struct sock *sk, struct ...@@ -1823,8 +1823,7 @@ int ip_mc_source(int add, int omode, struct sock *sk, struct
if (psl) if (psl)
count += psl->sl_max; count += psl->sl_max;
newpsl = (struct ip_sf_socklist *)sock_kmalloc(sk, newpsl = sock_kmalloc(sk, IP_SFLSIZE(count), GFP_KERNEL);
IP_SFLSIZE(count), GFP_KERNEL);
if (!newpsl) { if (!newpsl) {
err = -ENOBUFS; err = -ENOBUFS;
goto done; goto done;
...@@ -1907,8 +1906,8 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf, int ifindex) ...@@ -1907,8 +1906,8 @@ int ip_mc_msfilter(struct sock *sk, struct ip_msfilter *msf, int ifindex)
goto done; goto done;
} }
if (msf->imsf_numsrc) { if (msf->imsf_numsrc) {
newpsl = (struct ip_sf_socklist *)sock_kmalloc(sk, newpsl = sock_kmalloc(sk, IP_SFLSIZE(msf->imsf_numsrc),
IP_SFLSIZE(msf->imsf_numsrc), GFP_KERNEL); GFP_KERNEL);
if (!newpsl) { if (!newpsl) {
err = -ENOBUFS; err = -ENOBUFS;
goto done; goto done;
......
...@@ -621,7 +621,7 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval, ...@@ -621,7 +621,7 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
err = -ENOBUFS; err = -ENOBUFS;
break; break;
} }
msf = (struct ip_msfilter *)kmalloc(optlen, GFP_KERNEL); msf = kmalloc(optlen, GFP_KERNEL);
if (msf == 0) { if (msf == 0) {
err = -ENOBUFS; err = -ENOBUFS;
break; break;
...@@ -778,7 +778,7 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval, ...@@ -778,7 +778,7 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
err = -ENOBUFS; err = -ENOBUFS;
break; break;
} }
gsf = (struct group_filter *)kmalloc(optlen,GFP_KERNEL); gsf = kmalloc(optlen,GFP_KERNEL);
if (gsf == 0) { if (gsf == 0) {
err = -ENOBUFS; err = -ENOBUFS;
break; break;
...@@ -798,7 +798,7 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval, ...@@ -798,7 +798,7 @@ int ip_setsockopt(struct sock *sk, int level, int optname, char __user *optval,
goto mc_msf_out; goto mc_msf_out;
} }
msize = IP_MSFILTER_SIZE(gsf->gf_numsrc); msize = IP_MSFILTER_SIZE(gsf->gf_numsrc);
msf = (struct ip_msfilter *)kmalloc(msize,GFP_KERNEL); msf = kmalloc(msize,GFP_KERNEL);
if (msf == 0) { if (msf == 0) {
err = -ENOBUFS; err = -ENOBUFS;
goto mc_msf_out; goto mc_msf_out;
......
...@@ -762,7 +762,7 @@ static struct ip_conntrack_helper pptp = { ...@@ -762,7 +762,7 @@ static struct ip_conntrack_helper pptp = {
.help = conntrack_pptp_help .help = conntrack_pptp_help
}; };
extern void __exit ip_ct_proto_gre_fini(void); extern void ip_ct_proto_gre_fini(void);
extern int __init ip_ct_proto_gre_init(void); extern int __init ip_ct_proto_gre_init(void);
/* ip_conntrack_pptp initialization */ /* ip_conntrack_pptp initialization */
......
...@@ -309,7 +309,10 @@ int __init ip_ct_proto_gre_init(void) ...@@ -309,7 +309,10 @@ int __init ip_ct_proto_gre_init(void)
return ip_conntrack_protocol_register(&gre); return ip_conntrack_protocol_register(&gre);
} }
void __exit ip_ct_proto_gre_fini(void) /* This cannot be __exit, as it is invoked from ip_conntrack_helper_pptp.c's
* init() code on errors.
*/
void ip_ct_proto_gre_fini(void)
{ {
struct list_head *pos, *n; struct list_head *pos, *n;
......
...@@ -549,7 +549,7 @@ int ipv6_setsockopt(struct sock *sk, int level, int optname, ...@@ -549,7 +549,7 @@ int ipv6_setsockopt(struct sock *sk, int level, int optname,
retv = -ENOBUFS; retv = -ENOBUFS;
break; break;
} }
gsf = (struct group_filter *)kmalloc(optlen,GFP_KERNEL); gsf = kmalloc(optlen,GFP_KERNEL);
if (gsf == 0) { if (gsf == 0) {
retv = -ENOBUFS; retv = -ENOBUFS;
break; break;
......
...@@ -449,8 +449,7 @@ int ip6_mc_source(int add, int omode, struct sock *sk, ...@@ -449,8 +449,7 @@ int ip6_mc_source(int add, int omode, struct sock *sk,
if (psl) if (psl)
count += psl->sl_max; count += psl->sl_max;
newpsl = (struct ip6_sf_socklist *)sock_kmalloc(sk, newpsl = sock_kmalloc(sk, IP6_SFLSIZE(count), GFP_ATOMIC);
IP6_SFLSIZE(count), GFP_ATOMIC);
if (!newpsl) { if (!newpsl) {
err = -ENOBUFS; err = -ENOBUFS;
goto done; goto done;
...@@ -535,8 +534,8 @@ int ip6_mc_msfilter(struct sock *sk, struct group_filter *gsf) ...@@ -535,8 +534,8 @@ int ip6_mc_msfilter(struct sock *sk, struct group_filter *gsf)
goto done; goto done;
} }
if (gsf->gf_numsrc) { if (gsf->gf_numsrc) {
newpsl = (struct ip6_sf_socklist *)sock_kmalloc(sk, newpsl = sock_kmalloc(sk, IP6_SFLSIZE(gsf->gf_numsrc),
IP6_SFLSIZE(gsf->gf_numsrc), GFP_ATOMIC); GFP_ATOMIC);
if (!newpsl) { if (!newpsl) {
err = -ENOBUFS; err = -ENOBUFS;
goto done; goto done;
...@@ -768,7 +767,7 @@ static void mld_add_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im) ...@@ -768,7 +767,7 @@ static void mld_add_delrec(struct inet6_dev *idev, struct ifmcaddr6 *im)
* for deleted items allows change reports to use common code with * for deleted items allows change reports to use common code with
* non-deleted or query-response MCA's. * non-deleted or query-response MCA's.
*/ */
pmc = (struct ifmcaddr6 *)kmalloc(sizeof(*pmc), GFP_ATOMIC); pmc = kmalloc(sizeof(*pmc), GFP_ATOMIC);
if (!pmc) if (!pmc)
return; return;
memset(pmc, 0, sizeof(*pmc)); memset(pmc, 0, sizeof(*pmc));
...@@ -1937,7 +1936,7 @@ static int ip6_mc_add1_src(struct ifmcaddr6 *pmc, int sfmode, ...@@ -1937,7 +1936,7 @@ static int ip6_mc_add1_src(struct ifmcaddr6 *pmc, int sfmode,
psf_prev = psf; psf_prev = psf;
} }
if (!psf) { if (!psf) {
psf = (struct ip6_sf_list *)kmalloc(sizeof(*psf), GFP_ATOMIC); psf = kmalloc(sizeof(*psf), GFP_ATOMIC);
if (!psf) if (!psf)
return -ENOBUFS; return -ENOBUFS;
memset(psf, 0, sizeof(*psf)); memset(psf, 0, sizeof(*psf));
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
#include <linux/module.h> #include <linux/module.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <linux/if_ether.h> #include <linux/if_ether.h>
#include <linux/etherdevice.h>
#include <linux/netfilter_ipv6/ip6t_mac.h> #include <linux/netfilter_ipv6/ip6t_mac.h>
#include <linux/netfilter_ipv6/ip6_tables.h> #include <linux/netfilter_ipv6/ip6_tables.h>
......
...@@ -67,6 +67,9 @@ ...@@ -67,6 +67,9 @@
#include <linux/proc_fs.h> #include <linux/proc_fs.h>
#include <linux/seq_file.h> #include <linux/seq_file.h>
/* Socket used for sending RSTs and ACKs */
static struct socket *tcp6_socket;
static void tcp_v6_send_reset(struct sk_buff *skb); static void tcp_v6_send_reset(struct sk_buff *skb);
static void tcp_v6_reqsk_send_ack(struct sk_buff *skb, struct request_sock *req); static void tcp_v6_reqsk_send_ack(struct sk_buff *skb, struct request_sock *req);
static void tcp_v6_send_check(struct sock *sk, int len, static void tcp_v6_send_check(struct sock *sk, int len,
...@@ -611,7 +614,7 @@ static void tcp_v6_send_reset(struct sk_buff *skb) ...@@ -611,7 +614,7 @@ static void tcp_v6_send_reset(struct sk_buff *skb)
if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) {
if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) { if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) {
ip6_xmit(NULL, buff, &fl, NULL, 0); ip6_xmit(tcp6_socket->sk, buff, &fl, NULL, 0);
TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); TCP_INC_STATS_BH(TCP_MIB_OUTSEGS);
TCP_INC_STATS_BH(TCP_MIB_OUTRSTS); TCP_INC_STATS_BH(TCP_MIB_OUTRSTS);
return; return;
...@@ -675,7 +678,7 @@ static void tcp_v6_send_ack(struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32 ...@@ -675,7 +678,7 @@ static void tcp_v6_send_ack(struct sk_buff *skb, u32 seq, u32 ack, u32 win, u32
if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) { if (!ip6_dst_lookup(NULL, &buff->dst, &fl)) {
if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) { if (xfrm_lookup(&buff->dst, &fl, NULL, 0) >= 0) {
ip6_xmit(NULL, buff, &fl, NULL, 0); ip6_xmit(tcp6_socket->sk, buff, &fl, NULL, 0);
TCP_INC_STATS_BH(TCP_MIB_OUTSEGS); TCP_INC_STATS_BH(TCP_MIB_OUTSEGS);
return; return;
} }
...@@ -1600,8 +1603,21 @@ static struct inet_protosw tcpv6_protosw = { ...@@ -1600,8 +1603,21 @@ static struct inet_protosw tcpv6_protosw = {
void __init tcpv6_init(void) void __init tcpv6_init(void)
{ {
int err;
/* register inet6 protocol */ /* register inet6 protocol */
if (inet6_add_protocol(&tcpv6_protocol, IPPROTO_TCP) < 0) if (inet6_add_protocol(&tcpv6_protocol, IPPROTO_TCP) < 0)
printk(KERN_ERR "tcpv6_init: Could not register protocol\n"); printk(KERN_ERR "tcpv6_init: Could not register protocol\n");
inet6_register_protosw(&tcpv6_protosw); inet6_register_protosw(&tcpv6_protosw);
err = sock_create_kern(PF_INET6, SOCK_RAW, IPPROTO_TCP, &tcp6_socket);
if (err < 0)
panic("Failed to create the TCPv6 control socket.\n");
tcp6_socket->sk->sk_allocation = GFP_ATOMIC;
/* Unhash it so that IP input processing does not even
* see it, we do not wish this socket to see incoming
* packets.
*/
tcp6_socket->sk->sk_prot->unhash(tcp6_socket->sk);
} }
...@@ -82,8 +82,7 @@ struct ias_object *irias_new_object( char *name, int id) ...@@ -82,8 +82,7 @@ struct ias_object *irias_new_object( char *name, int id)
IRDA_DEBUG( 4, "%s()\n", __FUNCTION__); IRDA_DEBUG( 4, "%s()\n", __FUNCTION__);
obj = (struct ias_object *) kmalloc(sizeof(struct ias_object), obj = kmalloc(sizeof(struct ias_object), GFP_ATOMIC);
GFP_ATOMIC);
if (obj == NULL) { if (obj == NULL) {
IRDA_WARNING("%s(), Unable to allocate object!\n", IRDA_WARNING("%s(), Unable to allocate object!\n",
__FUNCTION__); __FUNCTION__);
...@@ -348,8 +347,7 @@ void irias_add_integer_attrib(struct ias_object *obj, char *name, int value, ...@@ -348,8 +347,7 @@ void irias_add_integer_attrib(struct ias_object *obj, char *name, int value,
IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;); IRDA_ASSERT(obj->magic == IAS_OBJECT_MAGIC, return;);
IRDA_ASSERT(name != NULL, return;); IRDA_ASSERT(name != NULL, return;);
attrib = (struct ias_attrib *) kmalloc(sizeof(struct ias_attrib), attrib = kmalloc(sizeof(struct ias_attrib), GFP_ATOMIC);
GFP_ATOMIC);
if (attrib == NULL) { if (attrib == NULL) {
IRDA_WARNING("%s: Unable to allocate attribute!\n", IRDA_WARNING("%s: Unable to allocate attribute!\n",
__FUNCTION__); __FUNCTION__);
...@@ -385,8 +383,7 @@ void irias_add_octseq_attrib(struct ias_object *obj, char *name, __u8 *octets, ...@@ -385,8 +383,7 @@ void irias_add_octseq_attrib(struct ias_object *obj, char *name, __u8 *octets,
IRDA_ASSERT(name != NULL, return;); IRDA_ASSERT(name != NULL, return;);
IRDA_ASSERT(octets != NULL, return;); IRDA_ASSERT(octets != NULL, return;);
attrib = (struct ias_attrib *) kmalloc(sizeof(struct ias_attrib), attrib = kmalloc(sizeof(struct ias_attrib), GFP_ATOMIC);
GFP_ATOMIC);
if (attrib == NULL) { if (attrib == NULL) {
IRDA_WARNING("%s: Unable to allocate attribute!\n", IRDA_WARNING("%s: Unable to allocate attribute!\n",
__FUNCTION__); __FUNCTION__);
...@@ -420,8 +417,7 @@ void irias_add_string_attrib(struct ias_object *obj, char *name, char *value, ...@@ -420,8 +417,7 @@ void irias_add_string_attrib(struct ias_object *obj, char *name, char *value,
IRDA_ASSERT(name != NULL, return;); IRDA_ASSERT(name != NULL, return;);
IRDA_ASSERT(value != NULL, return;); IRDA_ASSERT(value != NULL, return;);
attrib = (struct ias_attrib *) kmalloc(sizeof( struct ias_attrib), attrib = kmalloc(sizeof( struct ias_attrib), GFP_ATOMIC);
GFP_ATOMIC);
if (attrib == NULL) { if (attrib == NULL) {
IRDA_WARNING("%s: Unable to allocate attribute!\n", IRDA_WARNING("%s: Unable to allocate attribute!\n",
__FUNCTION__); __FUNCTION__);
......
...@@ -1237,7 +1237,7 @@ static int packet_mc_add(struct sock *sk, struct packet_mreq_max *mreq) ...@@ -1237,7 +1237,7 @@ static int packet_mc_add(struct sock *sk, struct packet_mreq_max *mreq)
goto done; goto done;
err = -ENOBUFS; err = -ENOBUFS;
i = (struct packet_mclist *)kmalloc(sizeof(*i), GFP_KERNEL); i = kmalloc(sizeof(*i), GFP_KERNEL);
if (i == NULL) if (i == NULL)
goto done; goto done;
......
...@@ -411,7 +411,7 @@ config NET_EMATCH_META ...@@ -411,7 +411,7 @@ config NET_EMATCH_META
tristate "Metadata" tristate "Metadata"
depends on NET_EMATCH depends on NET_EMATCH
---help--- ---help---
Say Y here if you want to be ablt to classify packets based on Say Y here if you want to be able to classify packets based on
metadata such as load average, netfilter attributes, socket metadata such as load average, netfilter attributes, socket
attributes and routing decisions. attributes and routing decisions.
......
...@@ -92,7 +92,6 @@ ...@@ -92,7 +92,6 @@
#include <linux/rtnetlink.h> #include <linux/rtnetlink.h>
#include <linux/skbuff.h> #include <linux/skbuff.h>
#include <net/pkt_cls.h> #include <net/pkt_cls.h>
#include <config/net/ematch/stack.h>
static LIST_HEAD(ematch_ops); static LIST_HEAD(ematch_ops);
static DEFINE_RWLOCK(ematch_mod_lock); static DEFINE_RWLOCK(ematch_mod_lock);
......
...@@ -1287,7 +1287,7 @@ static sctp_cookie_param_t *sctp_pack_cookie(const struct sctp_endpoint *ep, ...@@ -1287,7 +1287,7 @@ static sctp_cookie_param_t *sctp_pack_cookie(const struct sctp_endpoint *ep,
- (bodysize % SCTP_COOKIE_MULTIPLE); - (bodysize % SCTP_COOKIE_MULTIPLE);
*cookie_len = headersize + bodysize; *cookie_len = headersize + bodysize;
retval = (sctp_cookie_param_t *)kmalloc(*cookie_len, GFP_ATOMIC); retval = kmalloc(*cookie_len, GFP_ATOMIC);
if (!retval) { if (!retval) {
*cookie_len = 0; *cookie_len = 0;
......
...@@ -860,7 +860,7 @@ SCTP_STATIC int sctp_setsockopt_bindx(struct sock* sk, ...@@ -860,7 +860,7 @@ SCTP_STATIC int sctp_setsockopt_bindx(struct sock* sk,
return -EFAULT; return -EFAULT;
/* Alloc space for the address array in kernel memory. */ /* Alloc space for the address array in kernel memory. */
kaddrs = (struct sockaddr *)kmalloc(addrs_size, GFP_KERNEL); kaddrs = kmalloc(addrs_size, GFP_KERNEL);
if (unlikely(!kaddrs)) if (unlikely(!kaddrs))
return -ENOMEM; return -ENOMEM;
...@@ -1150,7 +1150,7 @@ SCTP_STATIC int sctp_setsockopt_connectx(struct sock* sk, ...@@ -1150,7 +1150,7 @@ SCTP_STATIC int sctp_setsockopt_connectx(struct sock* sk,
return -EFAULT; return -EFAULT;
/* Alloc space for the address array in kernel memory. */ /* Alloc space for the address array in kernel memory. */
kaddrs = (struct sockaddr *)kmalloc(addrs_size, GFP_KERNEL); kaddrs = kmalloc(addrs_size, GFP_KERNEL);
if (unlikely(!kaddrs)) if (unlikely(!kaddrs))
return -ENOMEM; return -ENOMEM;
......
...@@ -993,7 +993,7 @@ static int sock_fasync(int fd, struct file *filp, int on) ...@@ -993,7 +993,7 @@ static int sock_fasync(int fd, struct file *filp, int on)
if (on) if (on)
{ {
fna=(struct fasync_struct *)kmalloc(sizeof(struct fasync_struct), GFP_KERNEL); fna = kmalloc(sizeof(struct fasync_struct), GFP_KERNEL);
if(fna==NULL) if(fna==NULL)
return -ENOMEM; return -ENOMEM;
} }
......
...@@ -94,7 +94,7 @@ rpcauth_init_credcache(struct rpc_auth *auth, unsigned long expire) ...@@ -94,7 +94,7 @@ rpcauth_init_credcache(struct rpc_auth *auth, unsigned long expire)
struct rpc_cred_cache *new; struct rpc_cred_cache *new;
int i; int i;
new = (struct rpc_cred_cache *)kmalloc(sizeof(*new), GFP_KERNEL); new = kmalloc(sizeof(*new), GFP_KERNEL);
if (!new) if (!new)
return -ENOMEM; return -ENOMEM;
for (i = 0; i < RPC_CREDCACHE_NR; i++) for (i = 0; i < RPC_CREDCACHE_NR; i++)
......
...@@ -70,7 +70,7 @@ unx_create_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags) ...@@ -70,7 +70,7 @@ unx_create_cred(struct rpc_auth *auth, struct auth_cred *acred, int flags)
dprintk("RPC: allocating UNIX cred for uid %d gid %d\n", dprintk("RPC: allocating UNIX cred for uid %d gid %d\n",
acred->uid, acred->gid); acred->uid, acred->gid);
if (!(cred = (struct unx_cred *) kmalloc(sizeof(*cred), GFP_KERNEL))) if (!(cred = kmalloc(sizeof(*cred), GFP_KERNEL)))
return ERR_PTR(-ENOMEM); return ERR_PTR(-ENOMEM);
atomic_set(&cred->uc_count, 1); atomic_set(&cred->uc_count, 1);
......
...@@ -118,7 +118,7 @@ rpc_new_client(struct rpc_xprt *xprt, char *servname, ...@@ -118,7 +118,7 @@ rpc_new_client(struct rpc_xprt *xprt, char *servname,
goto out_err; goto out_err;
err = -ENOMEM; err = -ENOMEM;
clnt = (struct rpc_clnt *) kmalloc(sizeof(*clnt), GFP_KERNEL); clnt = kmalloc(sizeof(*clnt), GFP_KERNEL);
if (!clnt) if (!clnt)
goto out_err; goto out_err;
memset(clnt, 0, sizeof(*clnt)); memset(clnt, 0, sizeof(*clnt));
...@@ -225,7 +225,7 @@ rpc_clone_client(struct rpc_clnt *clnt) ...@@ -225,7 +225,7 @@ rpc_clone_client(struct rpc_clnt *clnt)
{ {
struct rpc_clnt *new; struct rpc_clnt *new;
new = (struct rpc_clnt *)kmalloc(sizeof(*new), GFP_KERNEL); new = kmalloc(sizeof(*new), GFP_KERNEL);
if (!new) if (!new)
goto out_no_clnt; goto out_no_clnt;
memcpy(new, clnt, sizeof(*new)); memcpy(new, clnt, sizeof(*new));
......
...@@ -32,7 +32,7 @@ svc_create(struct svc_program *prog, unsigned int bufsize) ...@@ -32,7 +32,7 @@ svc_create(struct svc_program *prog, unsigned int bufsize)
int vers; int vers;
unsigned int xdrsize; unsigned int xdrsize;
if (!(serv = (struct svc_serv *) kmalloc(sizeof(*serv), GFP_KERNEL))) if (!(serv = kmalloc(sizeof(*serv), GFP_KERNEL)))
return NULL; return NULL;
memset(serv, 0, sizeof(*serv)); memset(serv, 0, sizeof(*serv));
serv->sv_name = prog->pg_name; serv->sv_name = prog->pg_name;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册