On Wed, 12 Sep 2018, Chen Yu wrote: > static bool hibernation_e820_mismatch(void *buf) > @@ -306,6 +307,7 @@ static bool hibernation_e820_mismatch(void *buf) > int arch_hibernation_header_save(void *addr, unsigned int max_size) > { > struct restore_data_record *rdr = addr; > + int ret = -EINVAL;
What's the point of initializing ret? > if (max_size < sizeof(struct restore_data_record)) > return -EOVERFLOW; > @@ -333,7 +335,9 @@ int arch_hibernation_header_save(void *addr, unsigned int > max_size) > > rdr->magic = RESTORE_MAGIC; > > - hibernation_e820_save(rdr->e820_digest); > + ret = hibernation_e820_save(rdr->e820_digest); > + if (ret) > + return ret; > > return 0; And what;s the point of ret at all? return hibernation_e820_save(); is effectivly the same. Thanks, tglx