Print this page
12257 resync smatch to 0.6.1-rc1-il-4

@@ -1019,22 +1019,25 @@
                         goto swap_stree;
 
                 if (parent_is_gone_var_sym(sm->name, sm->sym))
                         goto swap_stree;
 
-                if (sm->state != &locked && sm->state != &unlocked)
+                if (sm->state != &locked &&
+                    sm->state != &unlocked &&
+                    sm->state != &restore)
                         goto swap_stree;
 
-                if (sm->state == &unlocked && is_EINTR(estate_rl(return_sm->state)))
+                if ((sm->state == &unlocked || sm->state == &restore) &&
+                    is_EINTR(estate_rl(return_sm->state)))
                         goto swap_stree;
 
                 bucket = success_fail_positive(estate_rl(return_sm->state));
                 if (sm->state == &locked) {
                         add_range(&locked_lines, line, line);
                         locked_buckets[bucket] = true;
                 }
-                if (sm->state == &unlocked) {
+                if (sm->state == &unlocked || sm->state == &restore) {
                         add_range(&unlocked_lines, line, line);
                         unlocked_buckets[bucket] = true;
                 }
 swap_stree:
                 __swap_cur_stree(orig);