Revision bdf200731145f07a6127cb16753e2e8fdc159cf4 authored by Arnd Bergmann on 01 October 2019, 15:53:29 UTC, committed by Jens Axboe on 01 October 2019, 15:53:29 UTC
All system calls use struct __kernel_timespec instead of the old struct
timespec, but this one was just added with the old-style ABI. Change it
now to enforce the use of __kernel_timespec, avoiding ABI confusion and
the need for compat handlers on 32-bit architectures.

Any user space caller will have to use __kernel_timespec now, but this
is unambiguous and works for any C library regardless of the time_t
definition. A nicer way to specify the timeout would have been a less
ambiguous 64-bit nanosecond value, but I suppose it's too late now to
change that as this would impact both 32-bit and 64-bit users.

Fixes: 5262f567987d ("io_uring: IORING_OP_TIMEOUT support")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
1 parent 8556011
Raw File
dm-uevent.h
/* SPDX-License-Identifier: GPL-2.0-or-later */
/*
 * Device Mapper Uevent Support
 *
 * Copyright IBM Corporation, 2007
 * 	Author: Mike Anderson <andmike@linux.vnet.ibm.com>
 */
#ifndef DM_UEVENT_H
#define DM_UEVENT_H

enum dm_uevent_type {
	DM_UEVENT_PATH_FAILED,
	DM_UEVENT_PATH_REINSTATED,
};

#ifdef CONFIG_DM_UEVENT

extern int dm_uevent_init(void);
extern void dm_uevent_exit(void);
extern void dm_send_uevents(struct list_head *events, struct kobject *kobj);
extern void dm_path_uevent(enum dm_uevent_type event_type,
			   struct dm_target *ti, const char *path,
			   unsigned nr_valid_paths);

#else

static inline int dm_uevent_init(void)
{
	return 0;
}
static inline void dm_uevent_exit(void)
{
}
static inline void dm_send_uevents(struct list_head *events,
				   struct kobject *kobj)
{
}
static inline void dm_path_uevent(enum dm_uevent_type event_type,
				  struct dm_target *ti, const char *path,
				  unsigned nr_valid_paths)
{
}

#endif	/* CONFIG_DM_UEVENT */

#endif	/* DM_UEVENT_H */
back to top