重新審視linux核心連結串列
list_for_each_entry_safe 、 list_for_each_entry
list_for_each_safe 、 list_for_each
在函式名上的差別就是前面多一個safe,大概就是安全遍歷的意思,為什麼會多出這麼一個函式,在什麼時候用合適呢
當我們用list_for_each_entry進行遍歷的時候,如果遍歷時進行刪除pos操作,就會出現ERR,這個時候就需要用帶safe的函式來完成遍歷
list_entry/container_of/offsetof 這幾個函式實現的功能,就是通過結構體的成員的相對偏移以及成員的地址,來計算結構體的首地址