Page 1 of 1

grsecurity-3.1-4.4.2 breaks reiser4

PostPosted: Thu Feb 25, 2016 4:36 pm
by magiknight
Patching linux-4.4.2 with grsecurity-3.1-4.4.2-201602182048.patch will prevent reiser4-for-4.4.0 from compiling.

Code: Select all
  LD      fs/reiser4/built-in.o
  CC [M]  fs/reiser4/debug.o
  CC [M]  fs/reiser4/jnode.o
  CC [M]  fs/reiser4/znode.o
Function z_hash_init is missing from the size_overflow hash table +z_hash_init+fndecl+2+57122+
  CC [M]  fs/reiser4/key.o
  CC [M]  fs/reiser4/pool.o
Function reiser4_init_pool is missing from the size_overflow hash table +reiser4_init_pool+fndecl+2+5637+
Function obj_size is missing from the size_overflow hash table +obj_size+reiser4_pool+0+28346+
  CC [M]  fs/reiser4/tree_mod.o
  CC [M]  fs/reiser4/estimate.o
  CC [M]  fs/reiser4/carry.o
Function init_carry_pool is missing from the size_overflow hash table +init_carry_pool+fndecl+1+4938+
  CC [M]  fs/reiser4/carry_ops.o
  CC [M]  fs/reiser4/lock.o
  CC [M]  fs/reiser4/tree.o
  CC [M]  fs/reiser4/context.o
  CC [M]  fs/reiser4/tap.o
  CC [M]  fs/reiser4/coord.o
  CC [M]  fs/reiser4/block_alloc.o
  CC [M]  fs/reiser4/txnmgr.o
  CC [M]  fs/reiser4/kassign.o
  CC [M]  fs/reiser4/flush.o
  CC [M]  fs/reiser4/wander.o
  CC [M]  fs/reiser4/eottl.o
  CC [M]  fs/reiser4/search.o
Function nr_slots is missing from the size_overflow hash table +nr_slots+cbk_cache+0+18968+
  CC [M]  fs/reiser4/page_cache.o
  CC [M]  fs/reiser4/seal.o
  CC [M]  fs/reiser4/dscale.o
  CC [M]  fs/reiser4/flush_queue.o
  CC [M]  fs/reiser4/ktxnmgrd.o
  CC [M]  fs/reiser4/blocknrset.o
  CC [M]  fs/reiser4/super.o
  CC [M]  fs/reiser4/super_ops.o
  CC [M]  fs/reiser4/fsdata.o
Function d_cursor_hash_init is missing from the size_overflow hash table +d_cursor_hash_init+fndecl+2+7992+
  CC [M]  fs/reiser4/export_ops.o
fs/reiser4/export_ops.c: In function ‘reiser4_decode_fh’:
fs/reiser4/export_ops.c:77:8: note: found mismatched struct pointer types: ‘char’ and ‘struct dentry’

   addr = (char *)d;
        ^
fs/reiser4/export_ops.c:80:2: note: found mismatched struct pointer types: ‘struct dentry’ and ‘char’

  return (void *)addr;
  ^
  CC [M]  fs/reiser4/oid.o
  CC [M]  fs/reiser4/tree_walk.o
  CC [M]  fs/reiser4/inode.o
  CC [M]  fs/reiser4/vfs_ops.o
  CC [M]  fs/reiser4/as_ops.o
  CC [M]  fs/reiser4/entd.o
  CC [M]  fs/reiser4/readahead.o
  CC [M]  fs/reiser4/status_flags.o
  CC [M]  fs/reiser4/init_super.o
  CC [M]  fs/reiser4/safe_link.o
  CC [M]  fs/reiser4/blocknrlist.o
  CC [M]  fs/reiser4/discard.o
  CC [M]  fs/reiser4/checksum.o
  CC [M]  fs/reiser4/plugin/plugin.o
  CC [M]  fs/reiser4/plugin/plugin_set.o
Function ps_hash_init is missing from the size_overflow hash table +ps_hash_init+fndecl+2+34882+
  CC [M]  fs/reiser4/plugin/node/node.o
  CC [M]  fs/reiser4/plugin/object.o
  CC [M]  fs/reiser4/plugin/cluster.o
  CC [M]  fs/reiser4/plugin/txmod.o
  CC [M]  fs/reiser4/plugin/inode_ops.o
  CC [M]  fs/reiser4/plugin/inode_ops_rename.o
  CC [M]  fs/reiser4/plugin/file_ops.o
  CC [M]  fs/reiser4/plugin/file_ops_readdir.o
  CC [M]  fs/reiser4/plugin/file_plugin_common.o
fs/reiser4/plugin/file_plugin_common.c: In function ‘wire_get_common’:
fs/reiser4/plugin/file_plugin_common.c:487:10: note: found mismatched struct pointer types: ‘struct dentry’ and ‘struct inode’

   dentry = (void *)inode;
          ^
  CC [M]  fs/reiser4/plugin/file/file.o
fs/reiser4/plugin/file/file.c: In function ‘release_unix_file’:
fs/reiser4/plugin/file/file.c:2314:44: error: invalid operands to binary == (have ‘atomic_t’ and ‘int’)
   if (file->f_path.dentry->d_lockref.count == 1 &&
                                            ^
scripts/Makefile.build:258: recipe for target 'fs/reiser4/plugin/file/file.o' failed
make[2]: *** [fs/reiser4/plugin/file/file.o] Error 1
scripts/Makefile.build:403: recipe for target 'fs/reiser4' failed
make[1]: *** [fs/reiser4] Error 2
Makefile:949: recipe for target 'fs' failed
make: *** [fs] Error 2


These don't appear when just applying the reiser4-for-4.4.0 patch.

Re: grsecurity-3.1-4.4.2 breaks reiser4

PostPosted: Thu Feb 25, 2016 5:32 pm
by PaX Team
out-of-tree code needs a proper port to grsecurity.