#ifndef IPV4_H #define IPV4_H #include #include "built_in.h" struct ipv4hdr { #if defined(__LITTLE_ENDIAN_BITFIELD) __extension__ uint8_t h_ihl:4, h_version:4; #elif defined (__BIG_ENDIAN_BITFIELD) __extension__ uint8_t h_version:4, h_ihl:4; #else # error "Please fix " #endif uint8_t h_tos; uint16_t h_tot_len; uint16_t h_id; uint16_t h_frag_off; uint8_t h_ttl; uint8_t h_protocol; uint16_t h_check; uint32_t h_saddr; uint32_t h_daddr; } __packed; #endif /* IPV4_H */ p:///git.distanz.ch/cgit.cgi/linux/net-next.git' title='net-next.git Git repository'/>
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Zhong <zhong@linux.vnet.ibm.com>2016-09-19 14:43:52 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2016-09-19 15:36:16 -0700
commit9bb627be47a574b764e162e8513d5db78d49e7f5 (patch)
tree3d5ba54acea02ab5c1d44161cf239b6273d451f6
parent3be7988674ab33565700a37b210f502563d932e6 (diff)
mem-hotplug: don't clear the only node in new_node_page()
Commit 394e31d2ceb4 ("mem-hotplug: alloc new page from a nearest neighbor node when mem-offline") introduced new_node_page() for memory hotplug. In new_node_page(), the nid is cleared before calling __alloc_pages_nodemask(). But if it is the only node of the system, and the first round allocation fails, it will not be able to get memory from an empty nodemask, and will trigger oom. The patch checks whether it is the last node on the system, and if it is, then don't clear the nid in the nodemask. Fixes: 394e31d2ceb4 ("mem-hotplug: alloc new page from a nearest neighbor node when mem-offline") Link: http://lkml.kernel.org/r/1473044391.4250.19.camel@TP420 Signed-off-by: Li Zhong <zhong@linux.vnet.ibm.com> Reported-by: John Allen <jallen@linux.vnet.ibm.com> Acked-by: Vlastimil Babka <vbabka@suse.cz> Cc: Xishi Qiu <qiuxishi@huawei.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>