printf("Welcome to my corner of the internet.\n");
I work as a Security Engineer at Google.
I live in Sydney Switzerland.
I am a software geek/UNIX berserker/console cowboy.
I am highly interested in computer security, C programming and the Linux kernel.
Programming languages of choice? Predominantly C and Python, although I'm very open to learning other programming languages. Perhaps I will give Go a go soon, get it?
The postings on this site are solely my own and under no circumstances do not necessarily represent my employer's positions, strategies or opinions.
I hack on the Linux kernel.
The first patch series that I authored landed in the mainline tree introduced two new event masks within the fanotify(7) API, which is one of the filesystem event notification subsystems within the Linux kernel. The event masks FAN_OPEN_EXEC and FAN_OPEN_EXEC_PERM are available since Linux 5.0 and aim to raise events to userspace applications when a marked filesystem object has been executed using either execve(2) or execveat(2) system calls.
The second patch series that I was responsible for authoring was focused on porting the legacy EXT4 direct I/O buffer_head implementation to make use of the newer iomap infrastructure. The idea behind this change was to simplify the overall direct I/O implementation within the EXT4 filesystem codebase, support the ability to handle transaction restarts and eventually implcitily make use of larger page sizes through the use of iomap infrastructure. Under some workloads i.e. O_SYNC | O_DIRECT, slight performance improvements are also achievable. Articles referring to this change can be found here and also here. This new functionality was released as part of Linux 5.5.
This is an open source project that aims to validate the reliability, robustness and stability of the Linux kernel. As a result of contributing and making changes to the Linux kernel ABI, I found myself having to write a number of system tests that support and validate the changes made to the application binary interface. In addition to writing the tests to support my very own features, I also found myself writing system tests for features being introduced by other Linux kernel developers.
This is a software project started by Steve Grubb from Red Hat which aims to solve the application whitelisting requirement when it comes to GNU/Linux systems. At present, I believe that this software package is only available on some of the newer Fedora releases and perhaps has been backported to also be available on Red Hat Enterprise Linux 8. More information about this project can be found here.
As a result of introducing changes into the Linux kernel ABI, it only made sense for those changes to be thoroughly documented and made available within the Linux man pages. I performed siginificant updates to fanotify(7), fanotify_init(2) and fanotify_mark(2) not only detailing the changes that I introduced within the fanotify API, but also working closely with other Linux kernel developers to document their features too.
You can contact me at <matthew (a) bobrowski.net>.
My pgp key can be found below, alternatively you can download it from here.
-----BEGIN PGP PUBLIC KEY BLOCK----- Version: GnuPG v2.0.22 (GNU/Linux) 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 pYEl0Ce1tums =+OKU -----END PGP PUBLIC KEY BLOCK-----