@@ -641,8 +641,8 @@ nfsd_file_cache_init(void)
641641 if (!nfsd_filecache_wq )
642642 goto out ;
643643
644- nfsd_file_hashtbl = kcalloc (NFSD_FILE_HASH_SIZE ,
645- sizeof (* nfsd_file_hashtbl ), GFP_KERNEL );
644+ nfsd_file_hashtbl = kvzalloc ( array_size (NFSD_FILE_HASH_SIZE ,
645+ sizeof (* nfsd_file_hashtbl )) , GFP_KERNEL );
646646 if (!nfsd_file_hashtbl ) {
647647 pr_err ("nfsd: unable to allocate nfsd_file_hashtbl\n" );
648648 goto out_err ;
@@ -709,7 +709,7 @@ nfsd_file_cache_init(void)
709709 nfsd_file_slab = NULL ;
710710 kmem_cache_destroy (nfsd_file_mark_slab );
711711 nfsd_file_mark_slab = NULL ;
712- kfree (nfsd_file_hashtbl );
712+ kvfree (nfsd_file_hashtbl );
713713 nfsd_file_hashtbl = NULL ;
714714 destroy_workqueue (nfsd_filecache_wq );
715715 nfsd_filecache_wq = NULL ;
@@ -855,7 +855,7 @@ nfsd_file_cache_shutdown(void)
855855 fsnotify_wait_marks_destroyed ();
856856 kmem_cache_destroy (nfsd_file_mark_slab );
857857 nfsd_file_mark_slab = NULL ;
858- kfree (nfsd_file_hashtbl );
858+ kvfree (nfsd_file_hashtbl );
859859 nfsd_file_hashtbl = NULL ;
860860 destroy_workqueue (nfsd_filecache_wq );
861861 nfsd_filecache_wq = NULL ;
0 commit comments