@@ -643,8 +643,8 @@ nfsd_file_cache_init(void)
643643 if (!nfsd_filecache_wq )
644644 goto out ;
645645
646- nfsd_file_hashtbl = kcalloc (NFSD_FILE_HASH_SIZE ,
647- sizeof (* nfsd_file_hashtbl ), GFP_KERNEL );
646+ nfsd_file_hashtbl = kvzalloc ( array_size (NFSD_FILE_HASH_SIZE ,
647+ sizeof (* nfsd_file_hashtbl )) , GFP_KERNEL );
648648 if (!nfsd_file_hashtbl ) {
649649 pr_err ("nfsd: unable to allocate nfsd_file_hashtbl\n" );
650650 goto out_err ;
@@ -710,7 +710,7 @@ nfsd_file_cache_init(void)
710710 nfsd_file_slab = NULL ;
711711 kmem_cache_destroy (nfsd_file_mark_slab );
712712 nfsd_file_mark_slab = NULL ;
713- kfree (nfsd_file_hashtbl );
713+ kvfree (nfsd_file_hashtbl );
714714 nfsd_file_hashtbl = NULL ;
715715 destroy_workqueue (nfsd_filecache_wq );
716716 nfsd_filecache_wq = NULL ;
@@ -856,7 +856,7 @@ nfsd_file_cache_shutdown(void)
856856 fsnotify_wait_marks_destroyed ();
857857 kmem_cache_destroy (nfsd_file_mark_slab );
858858 nfsd_file_mark_slab = NULL ;
859- kfree (nfsd_file_hashtbl );
859+ kvfree (nfsd_file_hashtbl );
860860 nfsd_file_hashtbl = NULL ;
861861 destroy_workqueue (nfsd_filecache_wq );
862862 nfsd_filecache_wq = NULL ;
0 commit comments