diff --git a/libc/kernel/common/linux/msg.h b/libc/kernel/common/linux/msg.h
index 254f1e9..41c21af 100644
--- a/libc/kernel/common/linux/msg.h
+++ b/libc/kernel/common/linux/msg.h
@@ -7,62 +7,70 @@
  ***   structures, and macros generated from the original header, and thus,
  ***   contains no copyrightable information.
  ***
+ ***   To edit the content of this header, modify the corresponding
+ ***   source file (e.g. under external/kernel-headers/original/) then
+ ***   run bionic/libc/kernel/tools/update_all.py
+ ***
+ ***   Any manual change here will be lost the next time this script will
+ ***   be run. You've been warned!
+ ***
  ****************************************************************************
  ****************************************************************************/
 #ifndef _LINUX_MSG_H
 #define _LINUX_MSG_H
-
 #include <linux/ipc.h>
-
 #define MSG_STAT 11
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define MSG_INFO 12
-
 #define MSG_NOERROR 010000  
 #define MSG_EXCEPT 020000  
-
 struct msqid_ds {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct ipc_perm msg_perm;
  struct msg *msg_first;
  struct msg *msg_last;
  __kernel_time_t msg_stime;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __kernel_time_t msg_rtime;
  __kernel_time_t msg_ctime;
  unsigned long msg_lcbytes;
  unsigned long msg_lqbytes;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  unsigned short msg_cbytes;
  unsigned short msg_qnum;
  unsigned short msg_qbytes;
  __kernel_ipc_pid_t msg_lspid;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  __kernel_ipc_pid_t msg_lrpid;
 };
-
 #include <asm/msgbuf.h>
-
 struct msgbuf {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  long mtype;
  char mtext[1];
 };
-
 struct msginfo {
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  int msgpool;
  int msgmap;
  int msgmax;
  int msgmnb;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  int msgmni;
  int msgssz;
  int msgtql;
  unsigned short msgseg;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-
 #define MSGMNI 16    
 #define MSGMAX 8192    
 #define MSGMNB 16384    
-
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define MSGPOOL (MSGMNI*MSGMNB/1024)  
 #define MSGTQL MSGMNB  
 #define MSGMAP MSGMNB  
 #define MSGSSZ 16  
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define __MSGSEG ((MSGPOOL*1024)/ MSGSSZ)  
 #define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff)
-
 #endif
