mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 10:01:01 +03:00
Fix NULL pointer dereference on PaX/GRSecurity patched Linux 3.3 and later kernels
Support for PaX/GRSecurity patched kernels was developed against Linux 3.2. Unfortunately, an autotools check introduced for a Linux 3.3 API fails on PaX/GRSecurity patched kernels. This causes the module to be built against the Linux 3.2 ABI, which results in a NULL pointer dereference at runtime. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> Signed-off-by: Richard Yao <ryao@cs.stonybrook.edu> Closes #794 Closes #809
This commit is contained in:
parent
fc173c8589
commit
ed3fc80048
@ -6,11 +6,12 @@ AC_DEFUN([ZFS_AC_KERNEL_SHOW_OPTIONS], [
|
|||||||
|
|
||||||
ZFS_LINUX_TRY_COMPILE([
|
ZFS_LINUX_TRY_COMPILE([
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
],[
|
|
||||||
int (*show_options) (struct seq_file *, struct dentry *) = NULL;
|
|
||||||
struct super_operations sops __attribute__ ((unused));
|
|
||||||
|
|
||||||
sops.show_options = show_options;
|
int show_options (struct seq_file * x, struct dentry * y) { return 0; };
|
||||||
|
static struct super_operations sops __attribute__ ((unused)) = {
|
||||||
|
.show_options = show_options,
|
||||||
|
};
|
||||||
|
],[
|
||||||
],[
|
],[
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE(HAVE_SHOW_OPTIONS_WITH_DENTRY, 1,
|
AC_DEFINE(HAVE_SHOW_OPTIONS_WITH_DENTRY, 1,
|
||||||
|
18
configure
vendored
18
configure
vendored
@ -15280,14 +15280,15 @@ cat >>conftest.$ac_ext <<_ACEOF
|
|||||||
|
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
|
||||||
|
int show_options (struct seq_file * x, struct dentry * y) { return 0; };
|
||||||
|
static struct super_operations sops __attribute__ ((unused)) = {
|
||||||
|
.show_options = show_options,
|
||||||
|
};
|
||||||
|
|
||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
{
|
{
|
||||||
|
|
||||||
int (*show_options) (struct seq_file *, struct dentry *) = NULL;
|
|
||||||
struct super_operations sops __attribute__ ((unused));
|
|
||||||
|
|
||||||
sops.show_options = show_options;
|
|
||||||
|
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
@ -21807,14 +21808,15 @@ cat >>conftest.$ac_ext <<_ACEOF
|
|||||||
|
|
||||||
#include <linux/fs.h>
|
#include <linux/fs.h>
|
||||||
|
|
||||||
|
int show_options (struct seq_file * x, struct dentry * y) { return 0; };
|
||||||
|
static struct super_operations sops __attribute__ ((unused)) = {
|
||||||
|
.show_options = show_options,
|
||||||
|
};
|
||||||
|
|
||||||
int
|
int
|
||||||
main (void)
|
main (void)
|
||||||
{
|
{
|
||||||
|
|
||||||
int (*show_options) (struct seq_file *, struct dentry *) = NULL;
|
|
||||||
struct super_operations sops __attribute__ ((unused));
|
|
||||||
|
|
||||||
sops.show_options = show_options;
|
|
||||||
|
|
||||||
;
|
;
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user