• T
    dm/verity_fec: Use GFP aware reed solomon init · eb366989
    Thomas Gleixner 提交于
    Allocations from the rs_pool can invoke init_rs() from the mempool
    allocation callback. This is problematic in fec_alloc_bufs() which invokes
    mempool_alloc() with GFP_NOIO to prevent a swap deadlock because init_rs()
    uses GFP_KERNEL allocations.
    
    Switch it to init_rs_gfp() and invoke it with the gfp_t flags which are
    handed in from the allocator.
    
    Note: This is not a problem today because the rs control struct is shared
    between the instances and its created when the mempool is initialized. But
    the upcoming changes which switch to a rs_control struct per instance to
    embed decoder buffers will trigger the swap vs. GFP_KERNEL issue.
    Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
    Cc: Mike Snitzer <snitzer@redhat.com>
    Cc: Alasdair Kergon <agk@redhat.com>
    Cc: Neil Brown <neilb@suse.com>
    Signed-off-by: NKees Cook <keescook@chromium.org>
    eb366989
dm-verity-fec.c 20.5 KB