Linux v4.11: signal stuff moved to sched/signal.h

In Linux commit c3edc4010e9d102eb7b8f17d15c2ebc425fed63c, signal_struct
and other signal handling declarations were moved from sched.h to
sched/signal.h.

This breaks existing OpenAFS autoconf tests for recalc_sigpending() and
task_struct.signal->rlim, so that the OpenAFS kernel module can no
longer build.

Modify OpenAFS autoconfig tests to cope.

Reviewed-on: https://gerrit.openafs.org/12573
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Joe Gorse <jhgorse@gmail.com>
Tested-by: Joe Gorse <jhgorse@gmail.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
(cherry picked from commit ad001550949b612ff6b4899fa8da50ee58f87533)

Change-Id: I491208d77e45d45cc0089b8033892a6408da431c
Reviewed-on: https://gerrit.openafs.org/12589
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Stephan Wiesand <stephan.wiesand@desy.de>
This commit is contained in:
Mark Vitale 2017-03-23 15:10:03 -07:00 committed by Stephan Wiesand
parent 3dd5078c16
commit fbabbca365
3 changed files with 12 additions and 2 deletions

View File

@ -875,6 +875,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*)
AC_CHECK_LINUX_HEADER([key-type.h])
AC_CHECK_LINUX_HEADER([semaphore.h])
AC_CHECK_LINUX_HEADER([seq_file.h])
AC_CHECK_LINUX_HEADER([sched/signal.h])
dnl Type existence checks
AC_CHECK_LINUX_TYPE([struct vfs_path], [dcache.h])

View File

@ -158,6 +158,9 @@ struct xfs_inode_info {
# include <linux/fs.h>
# include <linux/quota.h>
# include <linux/sched.h>
# if defined(HAVE_LINUX_SCHED_SIGNAL_H)
# include <linux/sched/signal.h>
# endif
# include <linux/mm.h>
# include <linux/slab.h>
# include <linux/proc_fs.h>

View File

@ -128,7 +128,10 @@ AC_DEFUN([LINUX_EXPORTS_SYS_OPEN], [
AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE], [
AC_CHECK_LINUX_BUILD([for recalc_sigpending arg type],
[ac_cv_linux_func_recalc_sigpending_takes_void],
[#include <linux/sched.h>],
[#include <linux/sched.h>
#ifdef HAVE_LINUX_SCHED_SIGNAL_H
#include <linux/sched/signal.h>
#endif],
[recalc_sigpending();],
[RECALC_SIGPENDING_TAKES_VOID],
[define if your recalc_sigpending takes void],
@ -139,7 +142,10 @@ AC_DEFUN([LINUX_RECALC_SIGPENDING_ARG_TYPE], [
AC_DEFUN([LINUX_SCHED_STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM], [
AC_CHECK_LINUX_BUILD([for signal->rlim in struct task_struct],
[ac_cv_linux_sched_struct_task_struct_has_signal_rlim],
[#include <linux/sched.h>],
[#include <linux/sched.h>
#ifdef HAVE_LINUX_SCHED_SIGNAL_H
#include <linux/sched/signal.h>
#endif],
[struct task_struct _tsk; printk("%d\n", _tsk.signal->rlim);],
[STRUCT_TASK_STRUCT_HAS_SIGNAL_RLIM],
[define if your struct task_struct has signal->rlim],