On Wed, Sep 23, 2026 at 02:01:08PM +0530, Aneesh Kumar K.V wrote: > I was pointed to this email thread: > > https://lore.kernel.org/all/[email protected] > > This makes a stronger case for having a CoCo shared memory allocator > that captures all these restrictions. It also means that > alloc_cc_shared_pages_node() needs: > > if (WARN_ON_ONCE(!gfpflags_allow_blocking(gfp))) > return -EINVAL; > > might_sleep();
I think gfpflags_allow_blocking() is the wrong predicate. It checks for __GFP_DIRECT_RECLAIM but we have callers like dma-buf which clear the flag (see HIGH_ORDER_GFP). ITS allocations also use GFP_NOWAIT, so they'll fail here. I'd just keep a might_sleep() in cc_make_*() and ignore gfp flags checking. Passing a no-blocking GFP flag doesn't necessarily mean the caller cannot sleep. It might also happen early enough (like its_init()) not to care - __might_resched() skips the warning if SYSTEM_BOOTING. -- Catalin
