[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1e24c406-b1cb-cd03-d482-a6f95554f90d@lightbitslabs.com>
Date: Wed, 3 Apr 2019 14:13:14 -0700
From: Sagi Grimberg <sagi@...htbitslabs.com>
To: Al Viro <viro@...iv.linux.org.uk>,
Yue Haibing <yuehaibing@...wei.com>
Cc: davem@...emloft.net, willemb@...gle.com, edumazet@...gle.com,
fw@...len.de, hch@....de, pabeni@...hat.com, pctammela@...il.com,
linux-kernel@...r.kernel.org, netdev@...r.kernel.org
Subject: Re: [PATCH] iov_iter: Fix build error without CONFIG_CRYPTO
>> If CONFIG_CRYPTO is not set or set to m,
>> gcc building warn this:
>>
>> lib/iov_iter.o: In function `hash_and_copy_to_iter':
>> iov_iter.c:(.text+0x9129): undefined reference to `crypto_stats_get'
>> iov_iter.c:(.text+0x9152): undefined reference to `crypto_stats_ahash_update'
>>
>> Reported-by: Hulk Robot <hulkci@...wei.com>
>> Fixes: d05f443554b3 ("iov_iter: introduce hash_and_copy_to_iter helper")
>> Signed-off-by: YueHaibing <yuehaibing@...wei.com>
>
> I'm not sure it's the right fix; might be better to have something like
>
> size_t hash_and_copy_to_iter(const void *addr, size_t bytes, void *hashp,
> struct iov_iter *i)
> {
> #ifdef CONFIG_CRYPTO
> struct ahash_request *hash = hashp;
> struct scatterlist sg;
> size_t copied;
>
> copied = copy_to_iter(addr, bytes, i);
> sg_init_one(&sg, addr, copied);
> ahash_request_set_crypt(hash, &sg, NULL, copied);
> crypto_ahash_update(hash);
> return copied;
> #else
> return 0;
> #endif
> }
> EXPORT_SYMBOL(hash_and_copy_to_iter);
>
> instead. Objections?
Looks better to me.
Powered by blists - more mailing lists