mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 11:03:14 +00:00 
			
		
		
		
	 f83f1768f8
			
		
	
	
		f83f1768f8
		
	
	
	
	
		
			
			Allocate the skb for llc responses with the received packet size by using the size adjustable llc_frame_alloc. Don't allocate useless extra payload. Cleanup magic numbers. So, this fixes oops. Reported by Jim Westfall: kernel: skb_over_panic: text:c0541fc7 len:1000 put:997 head:c166ac00 data:c166ac2f tail:0xc166b017 end:0xc166ac80 dev:eth0 kernel: ------------[ cut here ]------------ kernel: kernel BUG at net/core/skbuff.c:95! Signed-off-by: Joonwoo Park <joonwpark81@gmail.com> Acked-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
		
			
				
	
	
		
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef LLC_SAP_H
 | |
| #define LLC_SAP_H
 | |
| 
 | |
| #include <asm/types.h>
 | |
| 
 | |
| /*
 | |
|  * Copyright (c) 1997 by Procom Technology,Inc.
 | |
|  * 		 2001-2003 by Arnaldo Carvalho de Melo <acme@conectiva.com.br>
 | |
|  *
 | |
|  * This program can be redistributed or modified under the terms of the
 | |
|  * GNU General Public License as published by the Free Software Foundation.
 | |
|  * This program is distributed without any warranty or implied warranty
 | |
|  * of merchantability or fitness for a particular purpose.
 | |
|  *
 | |
|  * See the GNU General Public License for more details.
 | |
|  */
 | |
| struct llc_sap;
 | |
| struct net_device;
 | |
| struct sk_buff;
 | |
| struct sock;
 | |
| 
 | |
| extern void llc_sap_rtn_pdu(struct llc_sap *sap, struct sk_buff *skb);
 | |
| extern void llc_save_primitive(struct sock *sk, struct sk_buff* skb,
 | |
| 			       unsigned char prim);
 | |
| extern struct sk_buff *llc_alloc_frame(struct sock *sk, struct net_device *dev,
 | |
| 				       u8 type, u32 data_size);
 | |
| 
 | |
| extern void llc_build_and_send_test_pkt(struct llc_sap *sap,
 | |
| 				        struct sk_buff *skb,
 | |
| 					unsigned char *dmac,
 | |
| 					unsigned char dsap);
 | |
| extern void llc_build_and_send_xid_pkt(struct llc_sap *sap,
 | |
| 				       struct sk_buff *skb,
 | |
| 				       unsigned char *dmac,
 | |
| 				       unsigned char dsap);
 | |
| #endif /* LLC_SAP_H */
 |