On Tue, 13 Mar 2018 18:25:58 +0530
Ravi Bangoria <ravi.bango...@linux.vnet.ibm.com> wrote:
> -static inline struct map_info *free_map_info(struct map_info *info)
> +static inline struct uprobe_map_info *
> +uprobe_free_map_info(struct uprobe_map_info *info)
>  {
> -     struct map_info *next = info->next;
> +     struct uprobe_map_info *next = info->next;
>       kfree(info);
>       return next;
>  }
>  
> -static struct map_info *
> -build_map_info(struct address_space *mapping, loff_t offset, bool 
> is_register)
> +static struct uprobe_map_info *
> +uprobe_build_map_info(struct address_space *mapping, loff_t offset,

Also, as these functions have side effects (like you need to perform a
mmput(info->mm), you need to add kerneldoc type comments to these
functions, explaining how to use them.

When you upgrade a function from static to use cases outside the file,
it requires documenting that function for future users.

-- Steve


> +                   bool is_register)
>  {
>       unsigned long pgoff = offset >> PAGE_SHIFT;
>       struct vm_area_struct *vma;
> -     struct map_info *curr = NULL;
> -     struct map_info *prev = NULL;
> -     struct map_info *info;
> +     struct uprobe_map_info *curr = NULL;
> +     struct uprobe_map_info *prev = NULL;
> +     struct uprobe_map_info *info;
>       int more = 0;
>  
>   again:
> @@ -729,7 +731,7 @@ static inline struct map_info *free_map_info(struct 
> map_info *info)
>                        * Needs GFP_NOWAIT to avoid i_mmap_rwsem recursion 
> through
>                        * reclaim. This is optimistic, no harm done if it 
> fails.
>                        */
> -                     prev = kmalloc(sizeof(struct map_info),
> +                     prev = kmalloc(sizeof(struct uprobe_map_info),
>                                       GFP_NOWAIT | __GFP_NOMEMALLOC | 
> __GFP_NOWARN);
>                       if (prev)
>                               prev->next = NULL;
> @@ -762,7 +764,7 @@ static inline struct map_info *free_map_info(struct 
> map_info *info)
>       }
>  
>       do {
> -             info = kmalloc(sizeof(struct map_info), GFP_KERNEL);
> +             info = kmalloc(sizeof(struct uprobe_map_info), GFP_KERNEL);
>               if (!info) {
>                       curr = ERR_PTR(-ENOMEM);
>                       goto out;
> @@ -774,7 +776,7 @@ static inline struct map_info *free_map_info(struct 
> map_info *info)
>       goto again;
>   out:
>       while (prev)
> -             prev = free_map_info(prev);
> +             prev = uprobe_free_map_info(prev);
>       return curr;
>  }
>  
> @@ -782,11 +784,11 @@ static inline struct map_info *free_map_info(struct 
> map_info *info)
>  register_for_each_vma(struct uprobe *uprobe, struct uprobe_consumer *new)
>  {
>       bool is_register = !!new;
> -     struct map_info *info;
> +     struct uprobe_map_info *info;
>       int err = 0;
>  
>       percpu_down_write(&dup_mmap_sem);
> -     info = build_map_info(uprobe->inode->i_mapping,
> +     info = uprobe_build_map_info(uprobe->inode->i_mapping,
>                                       uprobe->offset, is_register);
>       if (IS_ERR(info)) {
>               err = PTR_ERR(info);
> @@ -825,7 +827,7 @@ static inline struct map_info *free_map_info(struct 
> map_info *info)
>               up_write(&mm->mmap_sem);
>   free:
>               mmput(mm);
> -             info = free_map_info(info);
> +             info = uprobe_free_map_info(info);
>       }
>   out:
>       percpu_up_write(&dup_mmap_sem);
--
To unsubscribe from this list: send the line "unsubscribe linux-doc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to