On Wed 29-11-17 22:34:50, Tetsuo Handa wrote:
> register_shrinker() might return -ENOMEM error since Linux 3.12.
> Call panic() as with other failure checks in this function if
> register_shrinker() failed.
>
> Signed-off-by: Tetsuo Handa <[email protected]>
Fixes: 1d3d4437eae1 ("vmscan: per-node deferred work")
> Cc: Jan Kara <[email protected]>
> Cc: Michal Hocko <[email protected]>
>From my very limited understanding of the code this looks correct.
FWIW
Reviewed-by: Michal Hocko <[email protected]>
> ---
> fs/quota/dquot.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/fs/quota/dquot.c b/fs/quota/dquot.c
> index 39f1b0b..1429f03 100644
> --- a/fs/quota/dquot.c
> +++ b/fs/quota/dquot.c
> @@ -2985,7 +2985,8 @@ static int __init dquot_init(void)
> pr_info("VFS: Dquot-cache hash table entries: %ld (order %ld,"
> " %ld bytes)\n", nr_hash, order, (PAGE_SIZE << order));
>
> - register_shrinker(&dqcache_shrinker);
> + if (register_shrinker(&dqcache_shrinker))
> + panic("Cannot register dquot shrinker");
>
> return 0;
> }
> --
> 1.8.3.1
>
--
Michal Hocko
SUSE Labs