Posts
22
Following
21
Followers
24
Kernel livepatching, beer, squash

After almost one year I finally published a new post on my personal blog, this time to talking about the work we at SUSE have done to the kernel livepatch selftests.

The post details the process of moving code from lib/livepatch to livepatch selftests, the problems found in the process, and sheds some light on Kbuild recursive Makefile calls.

Enjoy!

https://mpdesouza.com/blog/kbuild-livepatch-selftests/

0
5
2
This looks interesting - datamash

https://www.gnu.org/software/datamash/
0
0
0
Edited 28 days ago

Stick the following in your ~/.gitconfig to make `git branch` sort by most recently committed (thanks to @wingo for this one!):

[branch]
sort = -committerdate

1
10
2

Interesting post from @vegard about backdooring linux kernel in a sneaky way by abusing the build process, and about potential mitigations. I do agree that that the fundamental issues are quite tricky to solve. https://www.openwall.com/lists/oss-security/2024/04/17/3

2
12
3
Daylight savings time defeats Vorsprung durch Technik
0
0
1
Linux is now a CNA: http://www.kroah.com/log/blog/2024/02/13/linux-is-a-cna/

This has taken a long time, I'd like to thank all the groups that helped, and especially the CVE group themselves. Our application was a bit different than other groups, but they understood that this is important for security overall.
7
86
127
Snow play
0
0
1
Basil pesto makes for a pretty good compression algorithm.
0
0
0
Edited 1 year ago
Squash, Coding, & Robotics Camp?! I wonder if I could have claimed a continuing education expense with the employer 😁

https://www.hisawyer.com/marketplace/activity-set/474691
0
0
0
Do we still say WYSIWYG, or am I just paranoid I'll date myself using it around the kids?
0
0
0
Arrays in bash are the same "turn around now" warning that objects were in Perl.
0
0
0
From my first programming book, Learning Commodore 64 BASIC. More like 34 years later and I still have fun throwing my (or Kilroy's) name up on the screen.

https://archive.org/details/LearningCommodore64Basic
0
0
2
Hmm, GitLab offers some interesting emoji suggestions to spice up a merge request. Can it sort by controversial 🔥 ?
0
0
0

TIL: gcc’s -H flag to untangle header files

While backporting upstream patches to an older distro kernel:

  f6ac18fafcf6 sched: Improve try_invoke_on_locked_down_task()
  9b3c4ab3045e sched,rcu: Rework try_invoke_on_locked_down_task()
  00619f7c650e sched,livepatch: Use task_call_func()
  8850cb663b5c sched: Simplify wake_up_*idle*()
  5de62ea84abd sched,livepatch: Use wake_up_if_idle()

I ran into compilation error:

  kernel/livepatch/transition.c:434:33: error: implicit declaration of function ‘wake_up_if_idle’

A closer look at the upstream commits shows (“sched,livepatch: Use task_call_func()”) removed “../sched/sched.h” from kernel/livepatch/transition.c. wake_up_if_idle() is defined in include/linux/sched/idle.h so there is probably a connection – but how does this even build upstream and how to untangle the rat’s nest of kernel includes?

Enter gcc and the -H flag.

I rebuilt the upstream kernel kernel/livepatch/transition.o with V=1 and snarfed its gcc compilation line. Pasted into the terminal, added -H, and gcc generates a long header file stack. The header of interest was six includes deep:

  . ./include/linux/cpu.h
  .. ./include/linux/node.h
  ... ./include/linux/device.h
  .... ./include/linux/energy_model.h
  ..... ./include/linux/sched/topology.h
  ...... ./include/linux/sched/idle.h

Moving back to my distro kernel, its device.h did not include energy_model.h (introduced upstream by 1bc138c62295 (“PM / EM: add support for other devices than CPUs in Energy Model”).

Mystery solved and a new trick to remember for a future problem.

0
5
6
A brisk disc session between meetings.
0
0
0

Had to verify. And yes. Kernighan and Ritchie really did this. TIL :)

0
1
0
Obligatory #introduction: linux kernel livepatch for Red Hat kpatch by day, squash player and Philly sports fan by night. Reverb > distortion, pilsner > IPA, and other opinions.
0
1
6
Show older