Update to kernel headers v4.12.3.

Test: Built angler.
Change-Id: Icbcf4fac2334de8409b049ed7a3b4c24b4e98ce9
diff --git a/libc/kernel/uapi/linux/lightnvm.h b/libc/kernel/uapi/linux/lightnvm.h
index f589b1a..996d873 100644
--- a/libc/kernel/uapi/linux/lightnvm.h
+++ b/libc/kernel/uapi/linux/lightnvm.h
@@ -67,6 +67,9 @@
     struct nvm_ioctl_create_simple s;
   };
 };
+enum {
+  NVM_TARGET_FACTORY = 1 << 0,
+};
 struct nvm_ioctl_create {
   char dev[DISK_NAME_LEN];
   char tgttype[NVM_TTYPE_NAME_MAX];
@@ -93,6 +96,42 @@
   char dev[DISK_NAME_LEN];
   __u32 flags;
 };
+struct nvm_user_vio {
+  __u8 opcode;
+  __u8 flags;
+  __u16 control;
+  __u16 nppas;
+  __u16 rsvd;
+  __u64 metadata;
+  __u64 addr;
+  __u64 ppa_list;
+  __u32 metadata_len;
+  __u32 data_len;
+  __u64 status;
+  __u32 result;
+  __u32 rsvd3[3];
+};
+struct nvm_passthru_vio {
+  __u8 opcode;
+  __u8 flags;
+  __u8 rsvd[2];
+  __u32 nsid;
+  __u32 cdw2;
+  __u32 cdw3;
+  __u64 metadata;
+  __u64 addr;
+  __u32 metadata_len;
+  __u32 data_len;
+  __u64 ppa_list;
+  __u16 nppas;
+  __u16 control;
+  __u32 cdw13;
+  __u32 cdw14;
+  __u32 cdw15;
+  __u64 status;
+  __u32 result;
+  __u32 timeout_ms;
+};
 enum {
   NVM_INFO_CMD = 0x20,
   NVM_GET_DEVICES_CMD,
@@ -100,6 +139,9 @@
   NVM_DEV_REMOVE_CMD,
   NVM_DEV_INIT_CMD,
   NVM_DEV_FACTORY_CMD,
+  NVM_DEV_VIO_ADMIN_CMD = 0x41,
+  NVM_DEV_VIO_CMD = 0x42,
+  NVM_DEV_VIO_USER_CMD = 0x43,
 };
 #define NVM_IOCTL 'L'
 #define NVM_INFO _IOWR(NVM_IOCTL, NVM_INFO_CMD, struct nvm_ioctl_info)
@@ -108,6 +150,9 @@
 #define NVM_DEV_REMOVE _IOW(NVM_IOCTL, NVM_DEV_REMOVE_CMD, struct nvm_ioctl_remove)
 #define NVM_DEV_INIT _IOW(NVM_IOCTL, NVM_DEV_INIT_CMD, struct nvm_ioctl_dev_init)
 #define NVM_DEV_FACTORY _IOW(NVM_IOCTL, NVM_DEV_FACTORY_CMD, struct nvm_ioctl_dev_factory)
+#define NVME_NVM_IOCTL_IO_VIO _IOWR(NVM_IOCTL, NVM_DEV_VIO_USER_CMD, struct nvm_passthru_vio)
+#define NVME_NVM_IOCTL_ADMIN_VIO _IOWR(NVM_IOCTL, NVM_DEV_VIO_ADMIN_CMD, struct nvm_passthru_vio)
+#define NVME_NVM_IOCTL_SUBMIT_VIO _IOWR(NVM_IOCTL, NVM_DEV_VIO_CMD, struct nvm_user_vio)
 #define NVM_VERSION_MAJOR 1
 #define NVM_VERSION_MINOR 0
 #define NVM_VERSION_PATCHLEVEL 0