Archive for the ‘Linux’ Category

my experience with kernel lockdown and eBFP

I’m running Ubuntu Linux on Dell Latitude 7390 and was extremely baffled when suddenly I couldn’t run any of eBPF tools. Even running as root I received this: Error creating map: ‘@curfreq’: Operation not permitted Error creating map: ‘@process_mhz’: Operation not permitted Error creating map: ‘@system_mhz’: Operation not permitted Error creating printf map: Operation not […]

Posted on March 15, 2020 at 2:09 pm by sergeyt · Permalink · Leave a comment
In: BPF, Linux

My trivial Linux kernel module in Rust

Couple of weeks ago had a chance to participate in a small gig at work that offered a chance to try Rust as a language for wringing Linux kernel module. It was a steep learning experience which made it super fun. Huge shout out to folks behind linux-kernel-module-rust framework without whom nothing would be possible. […]

Posted on February 12, 2020 at 10:56 am by sergeyt · Permalink · Leave a comment
In: Linux, Programming

python-bpfcc on Ubuntu 19.10 misses PerfEventArray due to an outdated bpfcc-tools

If you, like me, follow bcc Python Developer Tutorial, to sharpen bpf skills you might hit the same snag as I did when I was trying to implement a solution for lesson 8: Traceback (most recent call last): File “_ctypes/callbacks.c”, line 315, in ‘calling callback function’ File “/usr/lib/python2.7/dist-packages/bcc/table.py”, line 572, in raw_cb_ callback(cpu, data, size) […]

Posted on January 13, 2020 at 4:35 pm by sergeyt · Permalink · Leave a comment
In: BPF, Linux

Where GREP came from – Brian Kernighan

Posted on July 6, 2018 at 10:27 pm by sergeyt · Permalink · Leave a comment
In: Apple, FreeBSD, HP-UX, Linux, Solaris

Yandex internal CTF 2017

This year CTF at Yandex brought not only the excitement and sleepless nights but a bunch of awesome swag.

Posted on December 6, 2017 at 7:40 pm by sergeyt · Permalink · Leave a comment
In: Life, Linux, Security

No video during the flight

Don’t know what version of Linux they were running but looks like one of the following code paths triggered the issue: static int pca953x_read_regs(struct pca953x_chip *chip, int reg, u8 *val) { int ret; ret = chip->read_regs(chip, reg, val); if (ret < 0) { dev_err(&chip->client->dev, “failed reading register\n”); return ret; } return 0; } static int […]

Posted on November 13, 2017 at 10:09 am by sergeyt · Permalink · Leave a comment
In: Life, Linux

Watch “Monitorama 2016: All of Your Networking Monitoring is (probably) wrong” talk

Just came across this talk being mentioned in the comments on Hacker news and, boy, it’s absolutely amazing! Watch this hilarious talk here – Monitorama 2016: All of Your Networking Monitoring is (probably) wrong Btw, the talk is presented, presumably, by the same guy who wrote Monitoring and Tuning the Linux Networking Stack: Receiving Data […]

Posted on February 8, 2017 at 11:55 am by sergeyt · Permalink · Leave a comment
In: Linux

TIL gethostbyname*() and gethostbyaddr*() functions are obsolete

It wasn’t obvious to me until I tried to run netcat utility (aka nc) on Ubuntu 10.04 (lucid) release to check Zookeeper’s status: echo “stat” | nc zookeer_server_name 2181 zookeer_server_name: forward host lookup failed: No address associated with name It wouldn’t have been a problem had Zookeeper server used IPv4 address but it was configured […]

Posted on January 28, 2017 at 11:54 am by sergeyt · Permalink · 2 Comments
In: Linux, TIL

jbd2 is munching your disks? Use ftrace to find why.

Have you ever been wondering why jbd2 (or jbd if your are still using ext3) is sitting at the top of iotop and consuming the most of IO bandwidth? Well, it’s certainly not because it’s doing that just to drive you nuts but there is a reason. And the reason is most probably there is […]

Posted on January 27, 2017 at 11:51 am by sergeyt · Permalink · 2 Comments
In: Linux, MongoDB

Have stalled snmpd in recvfrom()? Check Recv-Q

Not so while ago I had an issue with a monitoring system that paged about SNMP checks failing on a number of servers. Quick checking here and there (logs, strace, tcpdump, etc.) revealed that snmpd had stalled in recvfrom() without sending a single packet out in response to the constant queries from our monitoring system. […]

Posted on May 14, 2016 at 9:17 pm by sergeyt · Permalink · Leave a comment
In: Linux