diff --git a/libc/kernel/common/linux/lockd/nlm.h b/libc/kernel/common/linux/lockd/nlm.h
index d5d44fe..62f0814 100644
--- a/libc/kernel/common/linux/lockd/nlm.h
+++ b/libc/kernel/common/linux/lockd/nlm.h
@@ -7,44 +7,54 @@
  ***   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_LOCKD_NLM_H
 #define LINUX_LOCKD_NLM_H
-
 #define NLM_OFFSET_MAX ((s32) 0x7fffffff)
 #define NLM4_OFFSET_MAX ((s64) ((~(u64)0) >> 1))
-
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 enum {
  NLM_LCK_GRANTED = 0,
  NLM_LCK_DENIED = 1,
  NLM_LCK_DENIED_NOLOCKS = 2,
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  NLM_LCK_BLOCKED = 3,
  NLM_LCK_DENIED_GRACE_PERIOD = 4,
 };
-
 #define NLM_PROGRAM 100021
-
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define NLMPROC_NULL 0
 #define NLMPROC_TEST 1
 #define NLMPROC_LOCK 2
 #define NLMPROC_CANCEL 3
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define NLMPROC_UNLOCK 4
 #define NLMPROC_GRANTED 5
 #define NLMPROC_TEST_MSG 6
 #define NLMPROC_LOCK_MSG 7
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define NLMPROC_CANCEL_MSG 8
 #define NLMPROC_UNLOCK_MSG 9
 #define NLMPROC_GRANTED_MSG 10
 #define NLMPROC_TEST_RES 11
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define NLMPROC_LOCK_RES 12
 #define NLMPROC_CANCEL_RES 13
 #define NLMPROC_UNLOCK_RES 14
 #define NLMPROC_GRANTED_RES 15
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define NLMPROC_NSM_NOTIFY 16  
 #define NLMPROC_SHARE 20
 #define NLMPROC_UNSHARE 21
 #define NLMPROC_NM_LOCK 22
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define NLMPROC_FREE_ALL 23
-
 #endif
diff --git a/libc/kernel/common/linux/lockd/xdr.h b/libc/kernel/common/linux/lockd/xdr.h
index 75d0308..2bac58e 100644
--- a/libc/kernel/common/linux/lockd/xdr.h
+++ b/libc/kernel/common/linux/lockd/xdr.h
@@ -7,67 +7,75 @@
  ***   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 LOCKD_XDR_H
 #define LOCKD_XDR_H
-
 #include <linux/fs.h>
 #include <linux/nfs.h>
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #include <linux/sunrpc/xdr.h>
-
 #define NLM_MAXCOOKIELEN 32
 #define NLM_MAXSTRLEN 1024
-
 #define nlm_granted __constant_htonl(NLM_LCK_GRANTED)
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 #define nlm_lck_denied __constant_htonl(NLM_LCK_DENIED)
 #define nlm_lck_denied_nolocks __constant_htonl(NLM_LCK_DENIED_NOLOCKS)
 #define nlm_lck_blocked __constant_htonl(NLM_LCK_BLOCKED)
 #define nlm_lck_denied_grace_period __constant_htonl(NLM_LCK_DENIED_GRACE_PERIOD)
-
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct nlm_lock {
  char * caller;
  int len;
  struct nfs_fh fh;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  struct xdr_netobj oh;
  u32 svid;
  struct file_lock fl;
 };
-
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct nlm_cookie
 {
  unsigned char data[NLM_MAXCOOKIELEN];
  unsigned int len;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-
 struct nlm_args {
  struct nlm_cookie cookie;
  struct nlm_lock lock;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  u32 block;
  u32 reclaim;
  u32 state;
  u32 monitor;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  u32 fsm_access;
  u32 fsm_mode;
 };
-
 typedef struct nlm_args nlm_args;
-
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 struct nlm_res {
  struct nlm_cookie cookie;
  u32 status;
  struct nlm_lock lock;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-
 struct nlm_reboot {
  char * mon;
  int len;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
  u32 state;
  u32 addr;
  u32 vers;
  u32 proto;
+/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
 };
-
 #define NLMSVC_XDRSIZE sizeof(struct nlm_args)
-
 #endif
