Linux: fix permission op test for certain compilers
authorMarc Dionne <marc.c.dionne@gmail.com>
Sat, 14 May 2011 17:19:52 +0000 (13:19 -0400)
committerDerrick Brashear <shadow@dementia.org>
Sat, 14 May 2011 20:13:25 +0000 (13:13 -0700)
Some compilers complain that _inode is used uninitialised here.
Since this test requires -Werror, it causes the test to fail
and our permission op to be used in RCU mode, leading to lockups.

Initialise it to make the compilers happy.

Fixes a lockup seen on kernels 2.6.38+ on Gentoo and Debian.

Change-Id: Id6325e3a5a918906d547d241a39de777fb394fdc
Reviewed-on: http://gerrit.openafs.org/4654
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementia.org>

src/cf/linux-test4.m4

index 9390489..efe1b5a 100644 (file)
@@ -248,7 +248,7 @@ AC_DEFUN([LINUX_IOP_I_PERMISSION_TAKES_FLAGS], [
   AC_CHECK_LINUX_BUILD([whether inode_operations.permission takes flags],
                        [ac_cv_linux_func_i_permission_takes_flags],
                        [#include <linux/fs.h>],
-                       [struct inode _inode;
+                       [struct inode _inode = {0};
                        unsigned int flags = 0;
                        (void)_inode.i_op->permission(&_inode, 0, flags);],
                       [IOP_PERMISSION_TAKES_FLAGS],