lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1464018848-4303-1-git-send-email-pmladek@suse.com>
Date:	Mon, 23 May 2016 17:54:06 +0200
From:	Petr Mladek <pmladek@...e.com>
To:	jpoimboe@...hat.com, mbenes@...e.cz, jeyu@...hat.com,
	jikos@...nel.org, jslaby@...e.cz
Cc:	live-patching@...r.kernel.org, linux-kernel@...r.kernel.org,
	huawei.libin@...wei.com, minfei.huang@...oo.com,
	Petr Mladek <pmladek@...e.com>
Subject: [RFC PATCH  0/2] livepatch: Avoid possible race when releasing the patch

There was a long discussion about a possible race with sysfs, kobjects
when removing an unused livepatch, see
https://lkml.kernel.org/g/%3C1462190242-24731-1-git-send-email-mbenes@suse.cz%3E

This patch set tries to implement what looked the most preferred solution
from the discussion. I did my best to keep the patch definition simple.
But I am not super happy with the result.

I send the current state before I spent even more time on different
approaches.

I personally think that we might get better result if we declare
some limited structures, define them statically and then copy all
data into the final structures in a single call. I did not implement
this because it was weird on the first look but I am not sure now.

But even more I would prefer the solution with the completion.
It is already used by the module framework. It does not look
that hacky to me after all.

See the comments in the second patch for more details.


This patch set has been tested against linux-next.


Petr Mladek (2):
  livepatch: Extend the livepatch-sample patch
  livepatch: Use kobjects the right way

 include/linux/livepatch.h            |  70 +++++--
 kernel/livepatch/core.c              | 355 +++++++++++++++++++++++------------
 samples/livepatch/livepatch-sample.c | 159 +++++++++++++---
 3 files changed, 425 insertions(+), 159 deletions(-)

-- 
1.8.5.6

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ