diff options
| author | Paolo Bonzini <pbonzini@redhat.com> | 2017-02-09 18:01:23 +0300 | 
|---|---|---|
| committer | Paolo Bonzini <pbonzini@redhat.com> | 2017-02-09 18:01:23 +0300 | 
| commit | 2e751dfb5ffd20d1a31837dbc9718741df69bffe (patch) | |
| tree | 8b7e0e47cf0ef4efda0f1090f0ccbbeb17e5a085 /net/tipc/msg.c | |
| parent | a0e136d436ded817c0aade72efdefa56a00b4e5e (diff) | |
| parent | 7b6b46311a8562fb3a9e035ed6ffab6d49c28886 (diff) | |
| download | linux-2e751dfb5ffd20d1a31837dbc9718741df69bffe.tar.xz | |
Merge tag 'kvmarm-for-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/kvmarm/kvmarm into HEAD
kvmarm updates for 4.11
- GICv3 save restore
- Cache flushing fixes
- MSI injection fix for GICv3 ITS
- Physical timer emulation support
Diffstat (limited to 'net/tipc/msg.c')
| -rw-r--r-- | net/tipc/msg.c | 16 | 
1 files changed, 8 insertions, 8 deletions
| diff --git a/net/tipc/msg.c b/net/tipc/msg.c index a22be502f1bd..ab02d0742476 100644 --- a/net/tipc/msg.c +++ b/net/tipc/msg.c @@ -58,12 +58,12 @@ static unsigned int align(unsigned int i)   * NOTE: Headroom is reserved to allow prepending of a data link header.   *       There may also be unrequested tailroom present at the buffer's end.   */ -struct sk_buff *tipc_buf_acquire(u32 size) +struct sk_buff *tipc_buf_acquire(u32 size, gfp_t gfp)  {  	struct sk_buff *skb;  	unsigned int buf_size = (BUF_HEADROOM + size + 3) & ~3u; -	skb = alloc_skb_fclone(buf_size, GFP_ATOMIC); +	skb = alloc_skb_fclone(buf_size, gfp);  	if (skb) {  		skb_reserve(skb, BUF_HEADROOM);  		skb_put(skb, size); @@ -95,7 +95,7 @@ struct sk_buff *tipc_msg_create(uint user, uint type,  	struct tipc_msg *msg;  	struct sk_buff *buf; -	buf = tipc_buf_acquire(hdr_sz + data_sz); +	buf = tipc_buf_acquire(hdr_sz + data_sz, GFP_ATOMIC);  	if (unlikely(!buf))  		return NULL; @@ -261,7 +261,7 @@ int tipc_msg_build(struct tipc_msg *mhdr, struct msghdr *m,  	/* No fragmentation needed? */  	if (likely(msz <= pktmax)) { -		skb = tipc_buf_acquire(msz); +		skb = tipc_buf_acquire(msz, GFP_KERNEL);  		if (unlikely(!skb))  			return -ENOMEM;  		skb_orphan(skb); @@ -282,7 +282,7 @@ int tipc_msg_build(struct tipc_msg *mhdr, struct msghdr *m,  	msg_set_importance(&pkthdr, msg_importance(mhdr));  	/* Prepare first fragment */ -	skb = tipc_buf_acquire(pktmax); +	skb = tipc_buf_acquire(pktmax, GFP_KERNEL);  	if (!skb)  		return -ENOMEM;  	skb_orphan(skb); @@ -313,7 +313,7 @@ int tipc_msg_build(struct tipc_msg *mhdr, struct msghdr *m,  			pktsz = drem + INT_H_SIZE;  		else  			pktsz = pktmax; -		skb = tipc_buf_acquire(pktsz); +		skb = tipc_buf_acquire(pktsz, GFP_KERNEL);  		if (!skb) {  			rc = -ENOMEM;  			goto error; @@ -448,7 +448,7 @@ bool tipc_msg_make_bundle(struct sk_buff **skb,  struct tipc_msg *msg,  	if (msz > (max / 2))  		return false; -	_skb = tipc_buf_acquire(max); +	_skb = tipc_buf_acquire(max, GFP_ATOMIC);  	if (!_skb)  		return false; @@ -496,7 +496,7 @@ bool tipc_msg_reverse(u32 own_node,  struct sk_buff **skb, int err)  	/* Never return SHORT header; expand by replacing buffer if necessary */  	if (msg_short(hdr)) { -		*skb = tipc_buf_acquire(BASIC_H_SIZE + dlen); +		*skb = tipc_buf_acquire(BASIC_H_SIZE + dlen, GFP_ATOMIC);  		if (!*skb)  			goto exit;  		memcpy((*skb)->data + BASIC_H_SIZE, msg_data(hdr), dlen); | 
