Skip to content

Commit 307e0c5

Browse files
leotimmins1974akpm00
authored andcommitted
liveupdate: propagate file deserialization failures
luo_session_deserialize() ignored the return value from luo_file_deserialize(). As a result, a session could be left partially restored even though the /dev/liveupdate open path treats deserialization failures as fatal. Propagate the error so a failed file deserialization aborts session deserialization instead of silently continuing. Link: https://lkml.kernel.org/r/[email protected] Link: https://lkml.kernel.org/r/[email protected] Fixes: 16cec0d ("liveupdate: luo_session: add ioctls for file preservation") Signed-off-by: Leo Timmins <[email protected]> Reviewed-by: Pasha Tatashin <[email protected]> Reviewed-by: Pratyush Yadav <[email protected]> Cc: Mike Rapoport <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
1 parent f58df56 commit 307e0c5

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

kernel/liveupdate/luo_session.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -558,8 +558,13 @@ int luo_session_deserialize(void)
558558
}
559559

560560
scoped_guard(mutex, &session->mutex) {
561-
luo_file_deserialize(&session->file_set,
562-
&sh->ser[i].file_set_ser);
561+
err = luo_file_deserialize(&session->file_set,
562+
&sh->ser[i].file_set_ser);
563+
}
564+
if (err) {
565+
pr_warn("Failed to deserialize files for session [%s] %pe\n",
566+
session->name, ERR_PTR(err));
567+
return err;
563568
}
564569
}
565570

0 commit comments

Comments
 (0)