__get_and_null
((typeof(p)) __must_check_fn((__force const volatile void *)__get_and_null(p, NULL)))
#define retain_and_null_ptr(p) ((void)__get_and_null(p, NULL))
#define take_fd(fd) __get_and_null(fd, -EBADF)
#define take_idr_id(id) __get_and_null(id, idr_null)
#define take_fd(fd) __get_and_null(fd, -EBADF)