注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

火车的家

Put first thing first

 
 
 

日志

 
 

2016.05.28 __builtin_return_address的用法  

2016-05-28 22:00:39|  分类: linux kernel |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

__builtin_return_address(0)返回当前函数的上层调用函数的return地址。例如,下面代码可以获取vmalloc的调用函数的return地址。

 void *vmalloc(unsigned long size)
 {
-       return __vmalloc_node_flags(size, NUMA_NO_NODE,
-                                   GFP_KERNEL | __GFP_HIGHMEM);
+/*
+        return __vmalloc_node_flags(size, NUMA_NO_NODE,
+                                    GFP_KERNEL | __GFP_HIGHMEM);
+*/
+        void * ret = __vmalloc_node_flags(size, NUMA_NO_NODE,
+                                    GFP_KERNEL | __GFP_HIGHMEM);
+
+        qeexo_vmalloc_track(ret, (long )__builtin_return_address(0));
+
+        return ret;
 }
  评论这张
 
阅读(131)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017