From: Jag Raman Date: Fri, 23 Jun 2017 18:58:33 +0000 (-0400) Subject: sparc64: mdesc: use __GFP_REPEAT action modifier for VM allocation X-Git-Tag: v4.13-rc1~93^2~2^2~7 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=0ab2fcd69dbf1dad27a7cee0f608b48690134ced;p=karo-tx-linux.git sparc64: mdesc: use __GFP_REPEAT action modifier for VM allocation During MDESC handle allocation, use the __GFP_REPEAT flag instead of __GFP_NOFAIL. If memory is not available, the caller expects a NULL pointer instead of waiting until memory is allocated. Signed-off-by: Jagannathan Raman Reviewed-by: Liam Merwick Reviewed-by: Shannon Nelson Signed-off-by: David S. Miller --- diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c index 72aca731657f..f0249691d000 100644 --- a/arch/sparc/kernel/mdesc.c +++ b/arch/sparc/kernel/mdesc.c @@ -205,12 +205,10 @@ static struct mdesc_handle *mdesc_kmalloc(unsigned int mdesc_size) handle_size = (sizeof(struct mdesc_handle) - sizeof(struct mdesc_hdr) + mdesc_size); + base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_REPEAT); + if (!base) + return NULL; - /* - * Allocation has to succeed because mdesc update would be missed - * and such events are not retransmitted. - */ - base = kmalloc(handle_size + 15, GFP_KERNEL | __GFP_NOFAIL); addr = (unsigned long)base; addr = (addr + 15UL) & ~15UL; hp = (struct mdesc_handle *) addr;