History

Merge tag 'v4.20-rc1' into patchwork

Linux 4.20-rc1 * tag 'v4.20-rc1': (836 commits) Linux 4.20-rc1 sched/topology: Fix off by one bug memory_hotplug: cond_resched in __remove_pages bfs: add sanity check at bfs_fill_super() kernel/sysctl.c: remove duplicated include kernel/kexec_file.c: remove some duplicated includes mm, thp: consolidate THP gfp handling into alloc_hugepage_direct_gfpmask ocfs2: fix clusters leak in ocfs2_defrag_extent() ocfs2: dlmglue: clean up timestamp handling ocfs2: don't put and assigning null to bh allocated outside ocfs2: fix a misuse a of brelse after failing ocfs2_check_dir_entry ocfs2: don't use iocb when EIOCBQUEUED returns ocfs2: without quota support, avoid calling quota recovery ocfs2: remove ocfs2_is_o2cb_active() mm: thp: relax __GFP_THISNODE for MADV_HUGEPAGE mappings include/linux/notifier.h: SRCU: fix ctags mm: handle no memcg case in memcg_kmem_charge() properly ARM: dts: stm32: update HASH1 dmas property on stm32mp157c ARM: orion: avoid VLA in orion_mpp_conf iov_iter: Fix 9p virtio breakage ...

Mauro Carvalho Chehab committed 8 years ago

Commit 215237a2 parents df18bfd 65102231051 files · +46126 −12479Browse files

Showing the changes to include/uapi/linux (6 of 1051 files). Show all

Unified · Split

6 files
  1. include/uapi/linux/elf-em.h +1 −0
  2. include/uapi/linux/fuse.h +72 −47
  3. include/uapi/linux/keyctl.h +30 −0
  4. include/uapi/linux/perf_event.h +2 −0
  5. include/uapi/linux/vfio.h +50 −0
  6. include/uapi/linux/virtio_balloon.h +8 −0
include/uapi/linux/elf-em.h+1−0
@@ -41,6 +41,7 @@ · 40 unmodified lines
41#define EM_TILEPRO 188 /* Tilera TILEPro */41#define EM_TILEPRO 188 /* Tilera TILEPro */
42#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */42#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */
43#define EM_TILEGX 191 /* Tilera TILE-Gx */43#define EM_TILEGX 191 /* Tilera TILE-Gx */
44#define EM_RISCV 243 /* RISC-V */
44#define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */45#define EM_BPF 247 /* Linux BPF - in-kernel virtual machine */
45#define EM_FRV 0x5441 /* Fujitsu FR-V */46#define EM_FRV 0x5441 /* Fujitsu FR-V */
46 47
include/uapi/linux/fuse.h+72−47
@@ -116,6 +116,12 @@ · 115 unmodified lines
116 *116 *
117 * 7.27117 * 7.27
118 * - add FUSE_ABORT_ERROR118 * - add FUSE_ABORT_ERROR
119 *
120 * 7.28
121 * - add FUSE_COPY_FILE_RANGE
122 * - add FOPEN_CACHE_DIR
123 * - add FUSE_MAX_PAGES, add max_pages to init_out
124 * - add FUSE_CACHE_SYMLINKS
119 */125 */
120 126
121#ifndef _LINUX_FUSE_H127#ifndef _LINUX_FUSE_H
@@ -151,7 +157,7 @@ · 29 unmodified lines
151#define FUSE_KERNEL_VERSION 7157#define FUSE_KERNEL_VERSION 7
152 158
153/** Minor version number of this interface */159/** Minor version number of this interface */
154#define FUSE_KERNEL_MINOR_VERSION 27160#define FUSE_KERNEL_MINOR_VERSION 28
155 161
156/** The node ID of the root inode */162/** The node ID of the root inode */
157#define FUSE_ROOT_ID 1163#define FUSE_ROOT_ID 1
@@ -219,10 +225,12 @@ struct fuse_file_lock { · 61 unmodified lines
219 * FOPEN_DIRECT_IO: bypass page cache for this open file225 * FOPEN_DIRECT_IO: bypass page cache for this open file
220 * FOPEN_KEEP_CACHE: don't invalidate the data cache on open226 * FOPEN_KEEP_CACHE: don't invalidate the data cache on open
221 * FOPEN_NONSEEKABLE: the file is not seekable227 * FOPEN_NONSEEKABLE: the file is not seekable
228 * FOPEN_CACHE_DIR: allow caching this directory
222 */229 */
223#define FOPEN_DIRECT_IO (1 << 0)230#define FOPEN_DIRECT_IO (1 << 0)
224#define FOPEN_KEEP_CACHE (1 << 1)231#define FOPEN_KEEP_CACHE (1 << 1)
225#define FOPEN_NONSEEKABLE (1 << 2)232#define FOPEN_NONSEEKABLE (1 << 2)
233#define FOPEN_CACHE_DIR (1 << 3)
226 234
227/**235/**
228 * INIT request/reply flags236 * INIT request/reply flags
@@ -249,6 +257,8 @@ struct fuse_file_lock { · 20 unmodified lines
249 * FUSE_HANDLE_KILLPRIV: fs handles killing suid/sgid/cap on write/chown/trunc257 * FUSE_HANDLE_KILLPRIV: fs handles killing suid/sgid/cap on write/chown/trunc
250 * FUSE_POSIX_ACL: filesystem supports posix acls258 * FUSE_POSIX_ACL: filesystem supports posix acls
251 * FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED259 * FUSE_ABORT_ERROR: reading the device after abort returns ECONNABORTED
260 * FUSE_MAX_PAGES: init_out.max_pages contains the max number of req pages
261 * FUSE_CACHE_SYMLINKS: cache READLINK responses
252 */262 */
253#define FUSE_ASYNC_READ (1 << 0)263#define FUSE_ASYNC_READ (1 << 0)
254#define FUSE_POSIX_LOCKS (1 << 1)264#define FUSE_POSIX_LOCKS (1 << 1)
@@ -272,6 +282,8 @@ struct fuse_file_lock { · 17 unmodified lines
272#define FUSE_HANDLE_KILLPRIV (1 << 19)282#define FUSE_HANDLE_KILLPRIV (1 << 19)
273#define FUSE_POSIX_ACL (1 << 20)283#define FUSE_POSIX_ACL (1 << 20)
274#define FUSE_ABORT_ERROR (1 << 21)284#define FUSE_ABORT_ERROR (1 << 21)
285#define FUSE_MAX_PAGES (1 << 22)
286#define FUSE_CACHE_SYMLINKS (1 << 23)
275 287
276/**288/**
277 * CUSE INIT request/reply flags289 * CUSE INIT request/reply flags
@@ -337,53 +349,54 @@ struct fuse_file_lock { · 59 unmodified lines
337#define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)349#define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)
338 350
339enum fuse_opcode {351enum fuse_opcode {
340 FUSE_LOOKUP = 1,352 FUSE_LOOKUP = 1,
341 FUSE_FORGET = 2, /* no reply */353 FUSE_FORGET = 2, /* no reply */
342 FUSE_GETATTR = 3,354 FUSE_GETATTR = 3,
343 FUSE_SETATTR = 4,355 FUSE_SETATTR = 4,
344 FUSE_READLINK = 5,356 FUSE_READLINK = 5,
345 FUSE_SYMLINK = 6,357 FUSE_SYMLINK = 6,
346 FUSE_MKNOD = 8,358 FUSE_MKNOD = 8,
347 FUSE_MKDIR = 9,359 FUSE_MKDIR = 9,
348 FUSE_UNLINK = 10,360 FUSE_UNLINK = 10,
349 FUSE_RMDIR = 11,361 FUSE_RMDIR = 11,
350 FUSE_RENAME = 12,362 FUSE_RENAME = 12,
351 FUSE_LINK = 13,363 FUSE_LINK = 13,
352 FUSE_OPEN = 14,364 FUSE_OPEN = 14,
353 FUSE_READ = 15,365 FUSE_READ = 15,
354 FUSE_WRITE = 16,366 FUSE_WRITE = 16,
355 FUSE_STATFS = 17,367 FUSE_STATFS = 17,
356 FUSE_RELEASE = 18,368 FUSE_RELEASE = 18,
357 FUSE_FSYNC = 20,369 FUSE_FSYNC = 20,
358 FUSE_SETXATTR = 21,370 FUSE_SETXATTR = 21,
359 FUSE_GETXATTR = 22,371 FUSE_GETXATTR = 22,
360 FUSE_LISTXATTR = 23,372 FUSE_LISTXATTR = 23,
361 FUSE_REMOVEXATTR = 24,373 FUSE_REMOVEXATTR = 24,
362 FUSE_FLUSH = 25,374 FUSE_FLUSH = 25,
363 FUSE_INIT = 26,375 FUSE_INIT = 26,
364 FUSE_OPENDIR = 27,376 FUSE_OPENDIR = 27,
365 FUSE_READDIR = 28,377 FUSE_READDIR = 28,
366 FUSE_RELEASEDIR = 29,378 FUSE_RELEASEDIR = 29,
367 FUSE_FSYNCDIR = 30,379 FUSE_FSYNCDIR = 30,
368 FUSE_GETLK = 31,380 FUSE_GETLK = 31,
369 FUSE_SETLK = 32,381 FUSE_SETLK = 32,
370 FUSE_SETLKW = 33,382 FUSE_SETLKW = 33,
371 FUSE_ACCESS = 34,383 FUSE_ACCESS = 34,
372 FUSE_CREATE = 35,384 FUSE_CREATE = 35,
373 FUSE_INTERRUPT = 36,385 FUSE_INTERRUPT = 36,
374 FUSE_BMAP = 37,386 FUSE_BMAP = 37,
375 FUSE_DESTROY = 38,387 FUSE_DESTROY = 38,
376 FUSE_IOCTL = 39,388 FUSE_IOCTL = 39,
377 FUSE_POLL = 40,389 FUSE_POLL = 40,
378 FUSE_NOTIFY_REPLY = 41,390 FUSE_NOTIFY_REPLY = 41,
379 FUSE_BATCH_FORGET = 42,391 FUSE_BATCH_FORGET = 42,
380 FUSE_FALLOCATE = 43,392 FUSE_FALLOCATE = 43,
381 FUSE_READDIRPLUS = 44,393 FUSE_READDIRPLUS = 44,
382 FUSE_RENAME2 = 45,394 FUSE_RENAME2 = 45,
383 FUSE_LSEEK = 46,395 FUSE_LSEEK = 46,
396 FUSE_COPY_FILE_RANGE = 47,
384 397
385 /* CUSE specific operations */398 /* CUSE specific operations */
386 CUSE_INIT = 4096,399 CUSE_INIT = 4096,
387};400};
388 401
389enum fuse_notify_code {402enum fuse_notify_code {
@@ -610,7 +623,9 @@ struct fuse_init_out { · 220 unmodified lines
610 uint16_t congestion_threshold;623 uint16_t congestion_threshold;
611 uint32_t max_write;624 uint32_t max_write;
612 uint32_t time_gran;625 uint32_t time_gran;
613 uint32_t unused[9];626 uint16_t max_pages;
627 uint16_t padding;
628 uint32_t unused[8];
614};629};
615 630
616#define CUSE_INIT_INFO_MAX 4096631#define CUSE_INIT_INFO_MAX 4096
@@ -792,4 +807,14 @@ struct fuse_lseek_out { · 175 unmodified lines
792 uint64_t offset;807 uint64_t offset;
793};808};
794 809
810struct fuse_copy_file_range_in {
811 uint64_t fh_in;
812 uint64_t off_in;
813 uint64_t nodeid_out;
814 uint64_t fh_out;
815 uint64_t off_out;
816 uint64_t len;
817 uint64_t flags;
818};
819
795#endif /* _LINUX_FUSE_H */820#endif /* _LINUX_FUSE_H */
include/uapi/linux/keyctl.h+30−0
@@ -61,6 +61,11 @@ · 60 unmodified lines
61#define KEYCTL_INVALIDATE 21 /* invalidate a key */61#define KEYCTL_INVALIDATE 21 /* invalidate a key */
62#define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */62#define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */
63#define KEYCTL_DH_COMPUTE 23 /* Compute Diffie-Hellman values */63#define KEYCTL_DH_COMPUTE 23 /* Compute Diffie-Hellman values */
64#define KEYCTL_PKEY_QUERY 24 /* Query public key parameters */
65#define KEYCTL_PKEY_ENCRYPT 25 /* Encrypt a blob using a public key */
66#define KEYCTL_PKEY_DECRYPT 26 /* Decrypt a blob using a public key */
67#define KEYCTL_PKEY_SIGN 27 /* Create a public key signature */
68#define KEYCTL_PKEY_VERIFY 28 /* Verify a public key signature */
64#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */69#define KEYCTL_RESTRICT_KEYRING 29 /* Restrict keys allowed to link to a keyring */
65 70
66/* keyctl structures */71/* keyctl structures */
@@ -82,4 +87,29 @@ struct keyctl_kdf_params { · 15 unmodified lines
82 __u32 __spare[8];87 __u32 __spare[8];
83};88};
84 89
90#define KEYCTL_SUPPORTS_ENCRYPT 0x01
91#define KEYCTL_SUPPORTS_DECRYPT 0x02
92#define KEYCTL_SUPPORTS_SIGN 0x04
93#define KEYCTL_SUPPORTS_VERIFY 0x08
94
95struct keyctl_pkey_query {
96 __u32 supported_ops; /* Which ops are supported */
97 __u32 key_size; /* Size of the key in bits */
98 __u16 max_data_size; /* Maximum size of raw data to sign in bytes */
99 __u16 max_sig_size; /* Maximum size of signature in bytes */
100 __u16 max_enc_size; /* Maximum size of encrypted blob in bytes */
101 __u16 max_dec_size; /* Maximum size of decrypted blob in bytes */
102 __u32 __spare[10];
103};
104
105struct keyctl_pkey_params {
106 __s32 key_id; /* Serial no. of public key to use */
107 __u32 in_len; /* Input data size */
108 union {
109 __u32 out_len; /* Output buffer size (encrypt/decrypt/sign) */
110 __u32 in2_len; /* 2nd input data size (verify) */
111 };
112 __u32 __spare[7];
113};
114
85#endif /* _LINUX_KEYCTL_H */115#endif /* _LINUX_KEYCTL_H */
include/uapi/linux/perf_event.h+2−0
@@ -646,10 +646,12 @@ struct perf_event_mmap_page { · 645 unmodified lines
646 *646 *
647 * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events647 * PERF_RECORD_MISC_MMAP_DATA - PERF_RECORD_MMAP* events
648 * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event648 * PERF_RECORD_MISC_COMM_EXEC - PERF_RECORD_COMM event
649 * PERF_RECORD_MISC_FORK_EXEC - PERF_RECORD_FORK event (perf internal)
649 * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events650 * PERF_RECORD_MISC_SWITCH_OUT - PERF_RECORD_SWITCH* events
650 */651 */
651#define PERF_RECORD_MISC_MMAP_DATA (1 << 13)652#define PERF_RECORD_MISC_MMAP_DATA (1 << 13)
652#define PERF_RECORD_MISC_COMM_EXEC (1 << 13)653#define PERF_RECORD_MISC_COMM_EXEC (1 << 13)
654#define PERF_RECORD_MISC_FORK_EXEC (1 << 13)
653#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13)655#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13)
654/*656/*
655 * These PERF_RECORD_MISC_* flags below are safely reused657 * These PERF_RECORD_MISC_* flags below are safely reused
include/uapi/linux/vfio.h+50−0
@@ -303,6 +303,56 @@ struct vfio_region_info_cap_type { · 302 unmodified lines
303#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)303#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)
304#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)304#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)
305 305
306#define VFIO_REGION_TYPE_GFX (1)
307#define VFIO_REGION_SUBTYPE_GFX_EDID (1)
308
309/**
310 * struct vfio_region_gfx_edid - EDID region layout.
311 *
312 * Set display link state and EDID blob.
313 *
314 * The EDID blob has monitor information such as brand, name, serial
315 * number, physical size, supported video modes and more.
316 *
317 * This special region allows userspace (typically qemu) set a virtual
318 * EDID for the virtual monitor, which allows a flexible display
319 * configuration.
320 *
321 * For the edid blob spec look here:
322 * https://en.wikipedia.org/wiki/Extended_Display_Identification_Data
323 *
324 * On linux systems you can find the EDID blob in sysfs:
325 * /sys/class/drm/${card}/${connector}/edid
326 *
327 * You can use the edid-decode ulility (comes with xorg-x11-utils) to
328 * decode the EDID blob.
329 *
330 * @edid_offset: location of the edid blob, relative to the
331 * start of the region (readonly).
332 * @edid_max_size: max size of the edid blob (readonly).
333 * @edid_size: actual edid size (read/write).
334 * @link_state: display link state (read/write).
335 * VFIO_DEVICE_GFX_LINK_STATE_UP: Monitor is turned on.
336 * VFIO_DEVICE_GFX_LINK_STATE_DOWN: Monitor is turned off.
337 * @max_xres: max display width (0 == no limitation, readonly).
338 * @max_yres: max display height (0 == no limitation, readonly).
339 *
340 * EDID update protocol:
341 * (1) set link-state to down.
342 * (2) update edid blob and size.
343 * (3) set link-state to up.
344 */
345struct vfio_region_gfx_edid {
346 __u32 edid_offset;
347 __u32 edid_max_size;
348 __u32 edid_size;
349 __u32 max_xres;
350 __u32 max_yres;
351 __u32 link_state;
352#define VFIO_DEVICE_GFX_LINK_STATE_UP 1
353#define VFIO_DEVICE_GFX_LINK_STATE_DOWN 2
354};
355
306/*356/*
307 * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped357 * The MSIX mappable capability informs that MSIX data of a BAR can be mmapped
308 * which allows direct access to non-MSIX registers which happened to be within358 * which allows direct access to non-MSIX registers which happened to be within
include/uapi/linux/virtio_balloon.h+8−0
@@ -34,15 +34,23 @@ · 33 unmodified lines
34#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */34#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */
35#define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */35#define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */
36#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */36#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */
37#define VIRTIO_BALLOON_F_FREE_PAGE_HINT 3 /* VQ to report free pages */
38#define VIRTIO_BALLOON_F_PAGE_POISON 4 /* Guest is using page poisoning */
37 39
38/* Size of a PFN in the balloon interface. */40/* Size of a PFN in the balloon interface. */
39#define VIRTIO_BALLOON_PFN_SHIFT 1241#define VIRTIO_BALLOON_PFN_SHIFT 12
40 42
43#define VIRTIO_BALLOON_CMD_ID_STOP 0
44#define VIRTIO_BALLOON_CMD_ID_DONE 1
41struct virtio_balloon_config {45struct virtio_balloon_config {
42 /* Number of pages host wants Guest to give up. */46 /* Number of pages host wants Guest to give up. */
43 __u32 num_pages;47 __u32 num_pages;
44 /* Number of pages we've actually got in balloon. */48 /* Number of pages we've actually got in balloon. */
45 __u32 actual;49 __u32 actual;
50 /* Free page report command id, readonly by guest */
51 __u32 free_page_report_cmd_id;
52 /* Stores PAGE_POISON if page poisoning is in use */
53 __u32 poison_val;
46};54};
47 55
48#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */56#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t