lkml.org 
[lkml]   [2019]   [Apr]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] iov_iter: Fix build error without CONFIG_CRYPTO
    On Wed, Apr 03, 2019 at 05:50:31PM +0800, Yue Haibing wrote:
    > From: YueHaibing <yuehaibing@huawei.com>
    >
    > 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@huawei.com>
    > Fixes: d05f443554b3 ("iov_iter: introduce hash_and_copy_to_iter helper")
    > Signed-off-by: YueHaibing <yuehaibing@huawei.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?

    \
     
     \ /
      Last update: 2019-04-03 18:53    [W:3.218 / U:0.320 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site