* updating it.  No write barriers are needed here, provided
         * we only update the current CPU's SLB shadow buffer.
         */
-       p->save_area[index].esid = 0;
-       p->save_area[index].vsid = cpu_to_be64(mk_vsid_data(ea, ssize, flags));
-       p->save_area[index].esid = cpu_to_be64(mk_esid_data(ea, ssize, index));
+       WRITE_ONCE(p->save_area[index].esid, 0);
+       WRITE_ONCE(p->save_area[index].vsid, cpu_to_be64(mk_vsid_data(ea, ssize, flags)));
+       WRITE_ONCE(p->save_area[index].esid, cpu_to_be64(mk_esid_data(ea, ssize, index)));
 }
 
 static inline void slb_shadow_clear(enum slb_index index)
 {
-       get_slb_shadow()->save_area[index].esid = 0;
+       WRITE_ONCE(get_slb_shadow()->save_area[index].esid, 0);
 }
 
 static inline void create_shadowed_slbe(unsigned long ea, int ssize,