| 
					阅读:3171回复:4
				 skb_put和NF_IP_PRE_ROUTING的问题
					1  skb_put在skb尾部填充数据,如果填充的数据长度大于skb_tailroom返回的数值,skb_put会重新分配一个足够大小的buffer么?如果不会的话,是否只能自己重新分配skb 2 我在NF_IP_PRE_ROUTING挂载了一个hook,hook保留skb的地址后返回NF_ACCEPT,skb会继续向上传递;还有一个module里的线程会使用保留的地址改变或kfree这个skb。问题是,会否和系统kfree skb冲突? | |
| 沙发#发布于:2008-03-04 16:05 
					问题1看了源代码,skb_put不能再分配buffer				 | |
| 板凳#发布于:2008-03-07 12:47 
					如果使用引用计数,不会出问题				 | |
| 
 | 
| 地板#发布于:2008-03-10 11:37 
					在hook里面kfree_skb并且返回NF_ACCEPT的确会和系统冲突,只能返回NF_STOLEN				 | |
| 地下室#发布于:2008-03-10 14:19 
					kfree_skb当然不能返回accept了,只能返回stolen. 重要是理解返回值定义。 skb你自己做了操作,当然需要返回stolen | |
| 
 | 
 
							
 
				