Filesystem Filter Driver for kernel 3.5-3.18(redirfs and avflt)

Dear everyone.

I made patch program for kernel 3.5-3.17.
Tested on Kernel 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12, 3.13, 3.14, 3.15, 3.16, 3.17, 3.18

How Install…
(1)Execute CAVL installer.
(2)Download driver.tar from http://www.bondoffamily-net.com/~kinta-chan/techknow/Linux/RedirFS/DownLoad.html
(3)Replace /opt/COMODO/driver.tar
(4)Execute post_setup.sh

Additional…
When “Check for Updates” is executed, update driver.tar again before reboot.

After applying this patch, I still cannot get RedirFS modules to install. Any solution?

`Build the RedirFS kernel modules for real-time protection…

make -C /lib/modules/uname -r/build M=/tmp/driver/redirfs modules
make[1]: Entering directory /usr/src/linux-headers-3.8.0-19-generic' CC [M] /tmp/driver/redirfs/rfs_path.o CC [M] /tmp/driver/redirfs/rfs_root.o CC [M] /tmp/driver/redirfs/rfs_info.o CC [M] /tmp/driver/redirfs/rfs_file.o CC [M] /tmp/driver/redirfs/rfs_dentry.o CC [M] /tmp/driver/redirfs/rfs_inode.o CC [M] /tmp/driver/redirfs/rfs_dcache.o CC [M] /tmp/driver/redirfs/rfs_chain.o CC [M] /tmp/driver/redirfs/rfs_ops.o CC [M] /tmp/driver/redirfs/rfs_data.o CC [M] /tmp/driver/redirfs/rfs_flt.o CC [M] /tmp/driver/redirfs/rfs_sysfs.o CC [M] /tmp/driver/redirfs/rfs.o LD [M] /tmp/driver/redirfs/redirfs.o Building modules, stage 2. MODPOST 1 modules CC /tmp/driver/redirfs/redirfs.mod.o LD [M] /tmp/driver/redirfs/redirfs.ko make[1]: Leaving directory /usr/src/linux-headers-3.8.0-19-generic’
cp /tmp/driver/redirfs/Module.symvers /tmp/driver/avflt
make -C /lib/modules/uname -r/build M=/tmp/driver/avflt EXTRA_CFLAGS=-I/tmp/driver/redirfs modules
make[1]: Entering directory /usr/src/linux-headers-3.8.0-19-generic' CC [M] /tmp/driver/avflt/avflt_check.o CC [M] /tmp/driver/avflt/avflt_data.o CC [M] /tmp/driver/avflt/avflt_dev.o CC [M] /tmp/driver/avflt/avflt_mod.o CC [M] /tmp/driver/avflt/avflt_proc.o CC [M] /tmp/driver/avflt/avflt_rfs.o CC [M] /tmp/driver/avflt/avflt_sysfs.o LD [M] /tmp/driver/avflt/avflt.o Building modules, stage 2. MODPOST 1 modules CC /tmp/driver/avflt/avflt.mod.o LD [M] /tmp/driver/avflt/avflt.ko make[1]: Leaving directory /usr/src/linux-headers-3.8.0-19-generic’
make -C /lib/modules/uname -r/build M=/tmp/driver/redirfs modules_install
make[1]: Entering directory /usr/src/linux-headers-3.8.0-19-generic' INSTALL /tmp/driver/redirfs/redirfs.ko Can't read private key DEPMOD 3.8.0-19-generic make[1]: Leaving directory /usr/src/linux-headers-3.8.0-19-generic’
make -C /lib/modules/uname -r/build M=/tmp/driver/avflt EXTRA_CFLAGS=-I/tmp/driver/redirfs modules_install
make[1]: Entering directory /usr/src/linux-headers-3.8.0-19-generic' INSTALL /tmp/driver/avflt/avflt.ko Can't read private key DEPMOD 3.8.0-19-generic make[1]: Leaving directory /usr/src/linux-headers-3.8.0-19-generic’
ERROR: could not insert ‘avflt’: Invalid argument

RedirFS kernel modules installation failed.

$Stopping cmdagent: The cmdagent stopped successfully!
$Starting cmdagent: The cmdagent started successfully!
$Stopping cmgdaemon: The cmgdaemon stopped successfully!
$Starting cmgdaemon: The cmgdaemon started successfully!

COMODO Antivirus is successfully configured, you can start it from Menu or Desktop.`

The compilation is a normal.

May previously seen.
I was resolved by uninstalling and reinstalling COMODO.
Please wait…

Tried uninstalling and reinstalling CAVL, reapplied driver patch and still encountering the same error.

Result that I tested


(1)Check for Updates (=rollback driver)
(2)post_install.sh
(3)reboot
(4)replace driver.tar (=patch version)
(5)post_install.sh
=>FATAL: Error inserting avflt (/lib/modules/3.9.0-rc8-test/extra/avflt.ko): Invalid argument
=>RedirFS kernel modules installation failed.

Perhaps the same state…
But “Can’t read private key” in my environment has not occurred.

(6)reboot
(7)post_install.sh

No error(s) in my environ…

(8)Diagnostics & Fix problems.
(9)reboot
(10)Diagnostics

No problems…

A little mystery…

Kinta-Japan,thanks for your patch!I’m using Ubuntu 13.04 32 bit ,and patch works.Thanks again!

Just to point out that Kinta-Japan’s patch isn’t needed for Ubuntu 12.04.2 with kernel 3.5 (at least not on my 32 bit systems).

It would be good to see Comodo build on his work and release a patch themselves.

Dear maglin.

That is right.
Kernel 3.5 also works with standard drivers.
But, warning is displayed at compile time.
I have fixes it.

what about kernel 3.9 and 3.10?

I checked 3.9 at 10th May(0.11 EXPERIMENTAL-2).

I am from Afghanistan
i am Noob in Ubantu so Guys can You help me in this case .

How Install…
(1)How to Execute CAVL installer.??? Please
(2)Download driver.tar from http://www.bondoffamily-net.com/~kinta-chan/techknow/Linux/RedirFS/DownLoad.html i download this already

how can we Replace that (3)Replace /opt/COMODO/driver.tar
(4) and how can we Excute this .Execute post_setup.sh

Thank you SO Much GUys .

Works perfectly on LMDE 64 bit :slight_smile:

Afghanbro

(1)How to Execute CAVL installer.??? Please

Download installer package from 5 Best Antivirus for Linux 2022 | Linux Antivirus.
Using a terminal and enter the following.
sudo dpkg-i cav-xxxxxxxx.deb[Enter]

how can we Replace that (3)Replace /opt/COMODO/driver.tar
Using a terminal and enter the following.
cd /opt/COMODO[Enter]
sudo mv driver.tar driver.org[Enter]
sudo cp [Download path]/driver.tar .[Enter]

(4) and how can we Excute this .Execute post_setup.sh
Using a terminal and enter the following.
cd /opt/COMODO[Enter]
sudo ./post_setup.sh[Enter]

Released redirfs 0.11E9+avflt 0.6C stable version.

STABLE:redirfs 0.11E9+avflt 0.6C
Support kernel 3.15 or lower.

BETA:redirfs 0.11E10C+avflt 0.6D
Support kernel 3.17 or lower.

http://www.bondoffamily-net.com/~kinta-chan/techknow/Linux/RedirFS/DownLoad.html

I have the same issue, but am using kernel 3.10.40.
I keep getting the failure when I run post_setup.sh
I originally downloaded the latest x86_64 rpm from the web site. I am running Mageia3 which is a fedora like rpm system so this should work.
I then downloaded the driver.tar for 3.13 kernels or lower from DownLoad

I then copied the new driver.tar into the appropriate folder (/opt/COMODO) after renaming the original driver.tar file.
I then reran post_setup.sh but still got the error message:

modprobe: ERROR: could not insert ‘avflt’: Invalid argument

RedirFS kernel modules installation failed.

And when I run the diagnostic the missing avflt is reported as a problem.

Do I need that module? What can I do to resolve this?

Thank you

Dear leon244

Please try…

reboot
cd /opt/COMODO
sudo ./post_setup.sh
Diagnostics & Fix problems.
reboot

the site itself says its not longer supported or updated, theres another similar one being developed but in the early stages and unstable

on Kernel 3.17

WARNING: CPU: 0 PID: 919 at fs/namei.c:4156 vfs_rename+0x713/0x740()

Now testing…Please be patient.

After putting the modified driver.tar file into /opt/COMODO/ and running ‘sudo /opt/COMODO/post_setup.sh’, I get through the license, Y to accept, blank for email address, and leave language at the default of 8. I hit enter and the setup script fails at Lines 415 and 416 with…


Build the RedirFS kernel modules for real-time protection...

/opt/COMODO/post_setup.sh: line 415: make: command not found
/opt/COMODO/post_setup.sh: line 416: make: command not found
modprobe: FATAL: Module redirfs not found.

RedirFS kernel modules installation failed.

$Stopping cmdagent: The cmdagent stopped successfully!
$Starting cmdagent: The cmdagent started successfully!
The cmgdaemon is not running!
$Starting cmgdaemon: The cmgdaemon started successfully!

COMODO Antivirus is successfully configured, you can start it from Menu or Desktop.

I am using Ubuntu MATE 14.04.1 LTS with kernel 3.13.40. I have this installed on another computer and COMODO and the modified driver.tar worked just fine.

EDIT…

I came up with a fix…

https://forums.comodo.com/comodo-antivirus-for-linux-cavl/how-to-install-cavl-on-ubuntu-14041-lts-and-derivatives-t108315.0.html

Hello,
my system:
LinunxMint 17 Qiana Cinnamon with the Kernel 3.13.0-46

The Kernel 3.13.0.-45 also functioned every time of the Kernelupdate.
Now, unfortunately, no more. The new driver.tar from 28. Feb.15 also without success.
The second start and explain from sudo/opt/COMODO/post_setup.sh and diagnostic also without success.

Only one backward step on Kernel 3.13.0.-45 helps?

greets from old good germany ! :slight_smile:

My terminal Issue:

Please select the language[number,default:8]: 11

Build the RedirFS kernel modules for real-time protection...

make -C /lib/modules/`uname -r`/build M=/tmp/driver/redirfs modules
make[1]: Verzeichnis »/usr/src/linux-headers-3.13.0-46-generic« wird betreten
  CC [M]  /tmp/driver/redirfs/rfs_path.o
  CC [M]  /tmp/driver/redirfs/rfs_root.o
  CC [M]  /tmp/driver/redirfs/rfs_info.o
  CC [M]  /tmp/driver/redirfs/rfs_file.o
  CC [M]  /tmp/driver/redirfs/rfs_dentry.o
  CC [M]  /tmp/driver/redirfs/rfs_inode.o
  CC [M]  /tmp/driver/redirfs/rfs_dcache.o
In file included from include/linux/nodemask.h:93:0,
                 from include/linux/mount.h:14,
                 from /tmp/driver/redirfs/rfs.h:29,
                 from /tmp/driver/redirfs/rfs_dcache.c:26:
/tmp/driver/redirfs/rfs_dcache.c: In function ‘rfs_dcache_get_subs_kernel’:
/tmp/driver/redirfs/rfs.h:102:75: error: ‘union <anonymous>’ has no member named ‘d_child’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                                                           ^
include/linux/kernel.h:793:29: note: in definition of macro ‘container_of’
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                             ^
include/linux/list.h:362:2: note: in expansion of macro ‘list_entry’
  list_entry((ptr)->next, type, member)
  ^
include/linux/list.h:446:13: note: in expansion of macro ‘list_first_entry’
  for (pos = list_first_entry(head, typeof(*pos), member); \
             ^
/tmp/driver/redirfs/rfs.h:102:41: note: in expansion of macro ‘list_for_each_entry’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                         ^
/tmp/driver/redirfs/rfs_dcache.c:87:2: note: in expansion of macro ‘rfs_for_each_d_child’
  rfs_for_each_d_child(dentry, &dir->d_subdirs) {
  ^
include/linux/kernel.h:793:48: warning: initialization from incompatible pointer type [enabled by default]
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
include/linux/list.h:351:2: note: in expansion of macro ‘container_of’
  container_of(ptr, type, member)
  ^
include/linux/list.h:362:2: note: in expansion of macro ‘list_entry’
  list_entry((ptr)->next, type, member)
  ^
include/linux/list.h:446:13: note: in expansion of macro ‘list_first_entry’
  for (pos = list_first_entry(head, typeof(*pos), member); \
             ^
/tmp/driver/redirfs/rfs.h:102:41: note: in expansion of macro ‘list_for_each_entry’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                         ^
/tmp/driver/redirfs/rfs_dcache.c:87:2: note: in expansion of macro ‘rfs_for_each_d_child’
  rfs_for_each_d_child(dentry, &dir->d_subdirs) {
  ^
In file included from include/linux/compiler-gcc.h:106:0,
                 from include/linux/compiler.h:54,
                 from include/uapi/linux/stddef.h:1,
                 from include/linux/stddef.h:4,
                 from /usr/src/linux-headers-3.13.0-46-generic/include/uapi/linux/posix_types.h:4,
                 from include/uapi/linux/types.h:13,
                 from include/linux/types.h:5,
                 from include/linux/mount.h:12,
                 from /tmp/driver/redirfs/rfs.h:29,
                 from /tmp/driver/redirfs/rfs_dcache.c:26:
include/linux/compiler-gcc4.h:14:34: error: ‘union <anonymous>’ has no member named ‘d_child’
 #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
                                  ^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
 #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
                               ^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
  (type *)( (char *)__mptr - offsetof(type,member) );})
                             ^
include/linux/list.h:351:2: note: in expansion of macro ‘container_of’
  container_of(ptr, type, member)
  ^
include/linux/list.h:362:2: note: in expansion of macro ‘list_entry’
  list_entry((ptr)->next, type, member)
  ^
include/linux/list.h:446:13: note: in expansion of macro ‘list_first_entry’
  for (pos = list_first_entry(head, typeof(*pos), member); \
             ^
/tmp/driver/redirfs/rfs.h:102:41: note: in expansion of macro ‘list_for_each_entry’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                         ^
/tmp/driver/redirfs/rfs_dcache.c:87:2: note: in expansion of macro ‘rfs_for_each_d_child’
  rfs_for_each_d_child(dentry, &dir->d_subdirs) {
  ^
In file included from include/linux/mount.h:13:0,
                 from /tmp/driver/redirfs/rfs.h:29,
                 from /tmp/driver/redirfs/rfs_dcache.c:26:
/tmp/driver/redirfs/rfs.h:102:75: error: ‘union <anonymous>’ has no member named ‘d_child’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                                                           ^
include/linux/list.h:447:13: note: in definition of macro ‘list_for_each_entry’
       &pos->member != (head);     \
             ^
/tmp/driver/redirfs/rfs_dcache.c:87:2: note: in expansion of macro ‘rfs_for_each_d_child’
  rfs_for_each_d_child(dentry, &dir->d_subdirs) {
  ^
In file included from include/linux/nodemask.h:93:0,
                 from include/linux/mount.h:14,
                 from /tmp/driver/redirfs/rfs.h:29,
                 from /tmp/driver/redirfs/rfs_dcache.c:26:
/tmp/driver/redirfs/rfs.h:102:75: error: ‘union <anonymous>’ has no member named ‘d_child’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                                                           ^
include/linux/kernel.h:793:29: note: in definition of macro ‘container_of’
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                             ^
include/linux/list.h:392:2: note: in expansion of macro ‘list_entry’
  list_entry((pos)->member.next, typeof(*(pos)), member)
  ^
include/linux/list.h:448:13: note: in expansion of macro ‘list_next_entry’
       pos = list_next_entry(pos, member))
             ^
/tmp/driver/redirfs/rfs.h:102:41: note: in expansion of macro ‘list_for_each_entry’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                         ^
/tmp/driver/redirfs/rfs_dcache.c:87:2: note: in expansion of macro ‘rfs_for_each_d_child’
  rfs_for_each_d_child(dentry, &dir->d_subdirs) {
  ^
/tmp/driver/redirfs/rfs.h:102:75: error: ‘union <anonymous>’ has no member named ‘d_child’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                                                           ^
include/linux/kernel.h:793:49: note: in definition of macro ‘container_of’
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                 ^
include/linux/list.h:392:2: note: in expansion of macro ‘list_entry’
  list_entry((pos)->member.next, typeof(*(pos)), member)
  ^
include/linux/list.h:448:13: note: in expansion of macro ‘list_next_entry’
       pos = list_next_entry(pos, member))
             ^
/tmp/driver/redirfs/rfs.h:102:41: note: in expansion of macro ‘list_for_each_entry’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                         ^
/tmp/driver/redirfs/rfs_dcache.c:87:2: note: in expansion of macro ‘rfs_for_each_d_child’
  rfs_for_each_d_child(dentry, &dir->d_subdirs) {
  ^
In file included from include/linux/compiler-gcc.h:106:0,
                 from include/linux/compiler.h:54,
                 from include/uapi/linux/stddef.h:1,
                 from include/linux/stddef.h:4,
                 from /usr/src/linux-headers-3.13.0-46-generic/include/uapi/linux/posix_types.h:4,
                 from include/uapi/linux/types.h:13,
                 from include/linux/types.h:5,
                 from include/linux/mount.h:12,
                 from /tmp/driver/redirfs/rfs.h:29,
                 from /tmp/driver/redirfs/rfs_dcache.c:26:
include/linux/compiler-gcc4.h:14:34: error: ‘union <anonymous>’ has no member named ‘d_child’
 #define __compiler_offsetof(a,b) __builtin_offsetof(a,b)
                                  ^
include/linux/stddef.h:17:31: note: in expansion of macro ‘__compiler_offsetof’
 #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER)
                               ^
include/linux/kernel.h:794:29: note: in expansion of macro ‘offsetof’
  (type *)( (char *)__mptr - offsetof(type,member) );})
                             ^
include/linux/list.h:351:2: note: in expansion of macro ‘container_of’
  container_of(ptr, type, member)
  ^
include/linux/list.h:392:2: note: in expansion of macro ‘list_entry’
  list_entry((pos)->member.next, typeof(*(pos)), member)
  ^
include/linux/list.h:448:13: note: in expansion of macro ‘list_next_entry’
       pos = list_next_entry(pos, member))
             ^
/tmp/driver/redirfs/rfs.h:102:41: note: in expansion of macro ‘list_for_each_entry’
 #define rfs_for_each_d_child(pos, head) list_for_each_entry(pos, head, d_u.d_child)
                                         ^
/tmp/driver/redirfs/rfs_dcache.c:87:2: note: in expansion of macro ‘rfs_for_each_d_child’
  rfs_for_each_d_child(dentry, &dir->d_subdirs) {
  ^
make[2]: *** [/tmp/driver/redirfs/rfs_dcache.o] Fehler 1
make[1]: *** [_module_/tmp/driver/redirfs] Fehler 2
make[1]: Verzeichnis »/usr/src/linux-headers-3.13.0-46-generic« wird verlassen
make: *** [all] Fehler 2
make -C /lib/modules/`uname -r`/build M=/tmp/driver/redirfs modules_install
make[1]: Verzeichnis »/usr/src/linux-headers-3.13.0-46-generic« wird betreten
  DEPMOD  3.13.0-46-generic
make[1]: Verzeichnis »/usr/src/linux-headers-3.13.0-46-generic« wird verlassen
make -C /lib/modules/`uname -r`/build M=/tmp/driver/avflt EXTRA_CFLAGS=-I/tmp/driver/redirfs modules_install
make[1]: Verzeichnis »/usr/src/linux-headers-3.13.0-46-generic« wird betreten
  DEPMOD  3.13.0-46-generic
make[1]: Verzeichnis »/usr/src/linux-headers-3.13.0-46-generic« wird verlassen
modprobe: FATAL: Module redirfs not found.

RedirFS kernel modules installation failed.

$Stopping cmdagent: The cmdagent stopped successfully!
$Starting cmdagent: The cmdagent started successfully!
$Stopping cmgdaemon: The cmgdaemon stopped successfully!
$Starting cmgdaemon: The cmgdaemon started successfully!

COMODO Antivirus is successfully configured, you can start it from Menu or Desktop.