On Wed, 13 Jul 2022, Hyeonggon Yoo wrote: > > Why return 0 if there is an error and why bother the callers with these > > checks. BUG()? > > I thought BUG should be used when there is no other solution. Spurios returns of 0 that the caller has to check for is a solution? > > I guess this is an error since the order-0 page cannot come from slab > > allocations. > > comment in ksize() says: > "The caller must guarantee that objp points to a valid object > previously allocated with either kmalloc() or kmem_cache_alloc()." > > It should not be used on order-0 page that is not allocated from slab. No? I guess we would need to check. Code could exist that does this. Getting a 0 size would be surprising too here. BUG()? Or WARN() and return PAGE_SIZE.