Message ID | 20170708004054.GA27142@amitoj-Inspiron-3542 (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Fri, 2017-07-07 at 20:40 -0400, Amitoj Kaur Chawla wrote: > Conditionally calling kfree()/vfree() can be replaced by a call to > kvfree() which handles both kmalloced memory and vmalloced memory. [] > diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c [] > @@ -2029,10 +2029,7 @@ void *sh_css_calloc(size_t N, size_t size) > > void sh_css_free(void *ptr) > { > - if (is_vmalloc_addr(ptr)) > - vfree(ptr); > - else > - kfree(ptr); > + kvfree(ptr); > } Why not just get rid of sh_css_free and use kvfree directly? Why not get rid of all the sh_css_<alloc/free> functions?
diff --git a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c index 73c7658..1b0708f 100644 --- a/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c +++ b/drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c @@ -2029,10 +2029,7 @@ void *sh_css_calloc(size_t N, size_t size) void sh_css_free(void *ptr) { - if (is_vmalloc_addr(ptr)) - vfree(ptr); - else - kfree(ptr); + kvfree(ptr); } /* For Acceleration API: Flush FW (shared buffer pointer) arguments */
Conditionally calling kfree()/vfree() can be replaced by a call to kvfree() which handles both kmalloced memory and vmalloced memory. The Coccinelle semantic patch used to make the change is as follows: //<smpl> @@ expression a; @@ - if(...) { vfree(a); } - else { kfree(a); } + kvfree(a); @@ expression a; @@ - if(...) { kfree(a); } - else { vfree(a); } + kvfree(a); // </smpl> Signed-off-by: Amitoj Kaur Chawla <amitoj1606@gmail.com> --- drivers/staging/media/atomisp/pci/atomisp2/css2400/sh_css.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-)