Re: [PATCH 17/20 v1] [SCSI] mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API

2015-06-18 Thread Joe Lawrence
On 06/16/2015 01:37 AM, Sreekanth Reddy wrote: Created a thread using alloc_ordered_workqueue() API in order to process the works from firmware Work-queue sequentially instead of create_singlethread_workqueue() API. Changes in v1: No need to check for backport compatibility in the

Re: [PATCH] [RESEND] qla2xxx: prevent board_disable from running during EEH

2015-06-26 Thread Joe Lawrence
On 06/26/2015 12:33 PM, Mauricio Faria de Oliveira wrote: Commit f3ddac1918fe963bcbf8d407a3a3c0881b47248b ([SCSI] qla2xxx: Disable adapter when we encounter a PCI disconnect.) has introduced a code that disables the board, releasing some resources, when reading 0x. In case this

Re: [PATCH 17/20 v1] [SCSI] mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API

2015-06-18 Thread Joe Lawrence
On 06/18/2015 09:06 AM, Sreekanth Reddy wrote: On Thu, Jun 18, 2015 at 5:40 PM, Joe Lawrence joe.lawre...@stratus.com wrote: On 06/16/2015 01:37 AM, Sreekanth Reddy wrote: Created a thread using alloc_ordered_workqueue() API in order to process the works from firmware Work-queue sequentially

Re: [PATCH 17/20] [SCSI] mpt3sas: Use alloc_ordered_workqueue() API instead of create_singlethread_workqueue() API

2015-06-12 Thread Joe Lawrence
On 06/12/2015 05:42 AM, Sreekanth Reddy wrote: ... +#if defined(alloc_ordered_workqueue) + ioc-firmware_event_thread = alloc_ordered_workqueue( + ioc-firmware_event_name, WQ_MEM_RECLAIM); +#else + ioc-firmware_event_thread = create_singlethread_workqueue(

Re: [PATCH 1/2] mpt2sas: Refcount sas_device objects and fix unsafe list usage

2015-07-13 Thread Joe Lawrence
On 07/12/2015 12:24 AM, Calvin Owens wrote: These objects can be referenced concurrently throughout the driver, we need a way to make sure threads can't delete them out from under each other. This patch adds the refcount, and refactors the code to use it. Additionally, we cannot iterate over

Re: [Bugfix 4/5] x86/irq: Fix a race condition between vector assigning and cleanup

2015-12-01 Thread Joe Lawrence
On 11/30/2015 03:09 AM, Jiang Liu wrote: > Joe Lawrence <joe.lawre...@stratus.com> reported an use after release > issue related to x86 IRQ management code. Please refer to following > link for more information: > https://www.mail-archive.com/linux-kernel@vger.kernel.o

Re: [Bugfix 4/5] x86/irq: Fix a race condition between vector assigning and cleanup

2015-12-07 Thread Joe Lawrence
On 12/01/2015 05:46 PM, Joe Lawrence wrote: On 11/30/2015 03:09 AM, Jiang Liu wrote: Joe Lawrence <joe.lawre...@stratus.com> reported an use after release issue related to x86 IRQ management code. Please refer to following link for more information: https://www.mail-archive.com/linux-

Re: [patch 00/14] x86/irq: Plug various vector cleanup races

2016-01-04 Thread Joe Lawrence
es running the same PCI device removal and stress tests against the patchset. Thanks, Tested-by: Joe Lawrence <joe.lawre...@stratus.com> -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More major

Re: [Bugfix v2 1/5] x86/irq: Do not reuse struct apic_chip_data.old_domain as temporary buffer

2015-12-24 Thread Joe Lawrence
ang@linux.intel.com> Hi Jiang, FWIW, my overnight testing is still running okay, so for v2: Tested-by: Joe Lawrence <joe.lawre...@stratus.com> However, it looks like there will probably be a v3. -- Joe -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in

Re: irq_desc use-after-free in smp_irq_move_cleanup_interrupt

2015-11-25 Thread Joe Lawrence
On 11/25/2015 04:12 PM, Thomas Gleixner wrote: On Wed, 25 Nov 2015, Thomas Gleixner wrote: So if CPU1 gets the IPI _BEFORE_ move_in_progress is set to 0, and does not get another IPI before the next move . That has been that way forever. Duh. Working on a real fix this time. Here you go.

irq_desc use-after-free in smp_irq_move_cleanup_interrupt

2015-11-23 Thread Joe Lawrence
Hi Thomas, I've been chasing down a use-after-free on an irq_desc structure during repeated device removal testing that crashes 4.3 in smp_irq_move_cleanup_interrupt. So far I have a bunch of crashes and some data gleaned from instrumenting the kernel with trace logging. Details to follow, but

__rtc_read_alarm missing month/year field bug?

2016-06-20 Thread Joe Lawrence
_enable : no periodic_freq : 1024 batt_status : okay -- >8 -- >From d6feacf20b312c8ebfee902b8b84f68c1a82f035 Mon Sep 17 00:00:00 2001 From: Joe Lawrence <joe.lawre...@stratus.com> Date: Thu, 9 Jun 2016 14:52:28 -0400 Subject: [PATCH] rtc: check filled-in alarm values befor

Re: __rtc_read_alarm missing month/year field bug?

2016-06-27 Thread Joe Lawrence
On 06/20/2016 12:06 PM, Joe Lawrence wrote: > Hello Alessandro and Alexandre, > > I noticed an interesting cmos_rtc.rtc.aie_timer on a Stratus machine > running the 4.6 kernel, with an expiration time that puts the alarm way > out into next year. This is easily reproducible

PM domain change on unbound devices warning on ipmi_si unload

2016-01-27 Thread Joe Lawrence
Starting in 4.5-rc1, I noticed this warning on ipmi_si driver removal: % modprobe ipmi_si % rmmod ipmi_si bus: 'platform': driver_probe_device: matched device IPI0001:00 with driver ipmi_si bus: 'platform': really_probe: probing driver ipmi_si with device IPI0001:00 ipmi_si IPI0001:00: ipmi_si:

Re: PM domain change on unbound devices warning on ipmi_si unload

2016-01-29 Thread Joe Lawrence
On 01/29/2016 12:01 PM, Steven Rostedt wrote: > On Thu, Jan 28, 2016 at 02:13:04PM -0600, Corey Minyard wrote: >> Tomeu, you added that check in >> >> [989561de9b5112999475b406557d9c7e9e59c041] PM / Domains: add setter for >> dev.pm_domain >> >> and either something is wrong in the platform device

Re: PM domain change on unbound devices warning on ipmi_si unload

2016-02-02 Thread Joe Lawrence
On 02/02/2016 07:56 PM, Rafael J. Wysocki wrote: Does this help: https://patchwork.kernel.org/patch/8170821/ ? No more warnings on ipmi_si removal over here with that patch. Thanks, -- Joe

Re: [patch 00/14] x86/irq: Plug various vector cleanup races

2016-01-22 Thread Joe Lawrence
On 01/20/2016 03:26 AM, Borislav Petkov wrote: > ... tglx says you could also try enabling > CONFIG_DEBUG_OBJECTS and CONFIG_DEBUG_OBJECTS_TIMERS and collect full > dmesg from when the corruption happens. That might give us some more > insights as to what happens. Hi Boris, Excellent idea. With

Re: [PATCH 2/2] x86/mtrr: Refactor PAT initialization code

2016-03-19 Thread Joe Lawrence
On 03/14/2016 08:37 PM, Toshi Kani wrote: [... snip ...] >> Joe at Stratus also hit this issue but on a system where MTRR is enabled. >> He sent his report only to me as he thought it was caused by the >> ioremap_wc() changes and his driver was one that got it. In his case >> though he modified

Re: __rtc_read_alarm missing month/year field bug?

2016-07-21 Thread Joe Lawrence
On 07/19/2016, Alexandre Belloni wrote: > > Well like said in my previous mail, I don't think the rollover is the > issue here but I'm interested in knowing what conditions are leading > to endless interrupts. Hi Alexandre, Unfortunately I've switched employers so I no longer have access to the

[ppdev] sysfs warning on qemu boot

2016-11-09 Thread Joe Lawrence
Hi Sudip, I hit a sysfs_warn_dup inside QEMU running 4.9.0-rc4 (I suspect earlier versions as well, but this is the first upstream I've run in a while). This warning looks like something the kernel test robot ran into a few months ago: http://marc.info/?t=14726777333=1=2 I'm running

Re: [ppdev] sysfs warning on qemu boot

2016-11-09 Thread Joe Lawrence
On 11/09/2016 12:04 PM, Sudip Mukherjee wrote: > Hi Joe, > > On 09/11/16 16:00, Joe Lawrence wrote: >> Hi Sudip, >> >> I hit a sysfs_warn_dup inside QEMU running 4.9.0-rc4 (I suspect earlier >> versions as well, but this is the first upstream I've run in a w

Re: [ppdev] sysfs warning on qemu boot

2016-11-11 Thread Joe Lawrence
On 11/11/2016 04:14 PM, Sudip Mukherjee wrote: > Hi Joe, > > On Wednesday 09 November 2016 06:41 PM, Joe Lawrence wrote: >> On 11/09/2016 12:04 PM, Sudip Mukherjee wrote: >>> Hi Joe, >>> >>> On 09/11/16 16:00, Joe Lawrence wrote: >>>> Hi Sudip

[PATCH] livepatch/module: print notice of TAINT_LIVEPATCH

2017-01-12 Thread Joe Lawrence
Add back the "tainting kernel with TAINT_LIVEPATCH" kernel log message that commit 2992ef29ae01 ("livepatch/module: make TAINT_LIVEPATCH module-specific") dropped. Now that it's a module-specific taint flag, include the module name. Signed-off-by: Joe Lawrence <

Re: [PATCH v4] livepatch: introduce shadow variable API

2017-08-16 Thread Joe Lawrence
On 08/16/2017 08:43 AM, Miroslav Benes wrote: > >> [ ... snip ... ] > > There is a comment above about locking and we do not take the spinlock > here. That could surprise someone. So I'd keep only klp_shadow_add() > comment, because there it is strictly needed. It depends on the context in >

[PATCH v4] livepatch: introduce shadow variable API

2017-08-14 Thread Joe Lawrence
or example modules that demonstrate shadow variables. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Documentation/livepatch/shadow-vars.txt | 215 + include/linux/livepatch.h | 10 + kernel/livepatch/Makefile | 2 +- kernel/li

[PATCH v4] livepatch: shadow variables

2017-08-14 Thread Joe Lawrence
(), klp_shadow_set(), klp_shadow_add() - add "caller should hold lock" comments - Documentation - remove unnecessary klp_shadow_get() call in use-case - s/its shadow variable lifetimes/their shadow variables lifetimes/ Joe Lawrence (1): livepatch: introduce shadow variable API Doc

Re: [PATCH v3] livepatch: introduce shadow variable API

2017-08-10 Thread Joe Lawrence
On Thu, Aug 10, 2017 at 04:40:05PM +0200, Miroslav Benes wrote: > > It generally looks ok. Only few questions below... > > [...] > > > +In-flight parent objects > > + > > + ps_lock = klp_shadow_get_or_attach(sta, PS_LOCK, > > + _lock_fallback,

Re: [PATCH v3] livepatch: introduce shadow variable API

2017-08-14 Thread Joe Lawrence
On 08/11/2017 12:35 PM, Josh Poimboeuf wrote: > On Fri, Jul 28, 2017 at 01:25:22PM -0400, Joe Lawrence wrote: >> Add exported API for livepatch modules: >> >> klp_shadow_get() >> klp_shadow_attach() >> klp_shadow_get_or_attach() >> klp_shadow_up

Re: [PATCH v2 1/1] livepatch: add (un)patch callbacks

2017-08-14 Thread Joe Lawrence
On 08/11/2017 04:44 PM, Josh Poimboeuf wrote: > On Tue, Aug 08, 2017 at 03:36:07PM -0400, Joe Lawrence wrote: >> +++ b/Documentation/livepatch/callbacks.txt >> @@ -0,0 +1,75 @@ >> +(Un)patching Callbacks >> +== >> + >> +Livepatch

Re: [PATCH v2 1/2] livepatch: introduce shadow variable API

2017-07-07 Thread Joe Lawrence
On Fri, Jun 30, 2017 at 09:49:46PM +0800, kbuild test robot wrote: > Date: Fri, 30 Jun 2017 21:49:46 +0800 > From: kbuild test robot <l...@intel.com> > To: Joe Lawrence <joe.lawre...@redhat.com> > Cc: kbuild-...@01.org, live-patch...@vger.kernel.org, > linux-kernel@vger

Re: [PATCH] livepatch: add (un)patch hooks

2017-07-14 Thread Joe Lawrence
On Thu, Jul 13, 2017 at 08:46:40PM -0500, Josh Poimboeuf wrote: > Date: Thu, 13 Jul 2017 20:46:40 -0500 > From: Josh Poimboeuf <jpoim...@redhat.com> > To: Joe Lawrence <joe.lawre...@redhat.com> > Cc: live-patch...@vger.kernel.org, linux-kernel@vger.kernel.org, Jessica Yu &g

[PATCH] livepatch hooks, revisted

2017-07-12 Thread Joe Lawrence
ing, going). A new Documentation/ file is provided as well as a contrived sample module and livepatch demo to demonstrate the callbacks. The example is about as simple as possible, but could be further embellished to resemble a real-world livepatch fix if desired. Thanks, Joe Lawrence (1): livepatc

[PATCH] livepatch: add (un)patch hooks

2017-07-12 Thread Joe Lawrence
target and the livepatch module needs to execute code after the target is loaded, but before its module_init code is run. The patch-hook executes right before patching objects and the unpatch-hook executes right after unpatching objects. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.

Re: [PATCH v2 1/2] livepatch: introduce shadow variable API

2017-07-18 Thread Joe Lawrence
On Mon, Jul 17, 2017 at 05:29:41PM +0200, Miroslav Benes wrote: > > On Wed, 28 Jun 2017, Joe Lawrence wrote: > > > +Brief API summary > > +- > > + [ ... snip ...] > > +* klp_shadow_detach() - detach and free all <*, num> shadow variabl

Re: [PATCH v2 2/2] livepatch: add shadow variable sample programs

2017-07-18 Thread Joe Lawrence
On Tue, Jul 18, 2017 at 04:47:45PM +0200, Petr Mladek wrote: > Date: Tue, 18 Jul 2017 16:47:45 +0200 > From: Petr Mladek <pmla...@suse.com> > To: Joe Lawrence <joe.lawre...@redhat.com> > Cc: live-patch...@vger.kernel.org, linux-kernel@vger.kernel.org, Josh > Poi

Re: [PATCH v2 1/2] livepatch: introduce shadow variable API

2017-07-18 Thread Joe Lawrence
On Tue, Jul 18, 2017 at 03:00:47PM +0200, Petr Mladek wrote: > Date: Tue, 18 Jul 2017 15:00:47 +0200 > From: Petr Mladek <pmla...@suse.com> > To: Miroslav Benes <mbe...@suse.cz> > Cc: Josh Poimboeuf <jpoim...@redhat.com>, Joe Lawrence > <joe.lawre...@redhat

Re: [PATCH v2 1/2] livepatch: introduce shadow variable API

2017-07-20 Thread Joe Lawrence
On 07/20/2017 10:45 AM, Miroslav Benes wrote: > > + * > + * Note: allocates @new_size space for shadow variable data and copies > + * @new_size bytes from @new_data into the shadow varaible's own > @new_data > + * space. If @new_data is NULL, @new_size is still allocated,

Re: [PATCH v2 1/2] livepatch: introduce shadow variable API

2017-07-21 Thread Joe Lawrence
On 07/21/2017 05:13 AM, Petr Mladek wrote: > On Thu 2017-07-20 16:30:37, Joe Lawrence wrote: >> Going back to existing kpatch use-cases, since we paired shadow variable >> creation to their parent object creation, -EEXIST was never an issue. I >> think we concocted one pr

Re: [PATCH] livepatch: add (un)patch hooks

2017-07-27 Thread Joe Lawrence
On 07/20/2017 12:17 AM, Josh Poimboeuf wrote: > - The pre-patch and pre-unpatch hooks can be run before the > patching/unpatching process begins. Hi Josh, By "(un)patching process" are you referring to the klp_patch at large or each klp_object? ie, would all klp_objects execute their hooks

Re: [PATCH] livepatch: add (un)patch hooks

2017-07-19 Thread Joe Lawrence
On 07/17/2017 11:51 AM, Petr Mladek wrote: > On Wed 2017-07-12 10:10:00, Joe Lawrence wrote: >> When the livepatch core executes klp_(un)patch_object, call out to a >> livepatch-module specified array of callback hooks. These hooks provide >> a notification mechanism for l

Re: [PATCH v2 1/2] livepatch: introduce shadow variable API

2017-07-20 Thread Joe Lawrence
On 07/18/2017 08:45 AM, Petr Mladek wrote: > On Wed 2017-06-28 11:37:26, Joe Lawrence wrote: >> diff --git a/Documentation/livepatch/shadow-vars.txt >> b/Documentation/livepatch/shadow-vars.txt >> new file mode 100644 >> index ..7f28982e6b1c >> ---

[PATCH v2 2/2] livepatch: add shadow variable sample programs

2017-06-28 Thread Joe Lawrence
Add sample livepatch modules to demonstrate the shadow variable API. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Reviewers -- it's probably easier to grok reading livepatch-shadow-mod.c *before* the two livepatch modules, livepatch-shadow-

[PATCH v2 1/2] livepatch: introduce shadow variable API

2017-06-28 Thread Joe Lawrence
s intended to be used by livepatch modules seeking to emulate additions to data structure definitions. See Documentation/livepatch/shadow-vars.txt for a summary of the new shadow variable API, including a few common use cases. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Documen

[PATCH v2 0/2] livepatch: add shadow variable API

2017-06-28 Thread Joe Lawrence
e code is easier to follow than the periodic kernel messages logged. Suggestions welcome. Joe Lawrence (2): livepatch: introduce shadow variable API livepatch: add shadow variable sample programs Documentation/livepatch/shadow-vars.txt | 156 + include/linux/livepatch.h

[PATCH v3] livepatch: introduce shadow variable API

2017-07-28 Thread Joe Lawrence
or exmaple modules that demonstrate shadow variables. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Documentation/livepatch/shadow-vars.txt | 217 + include/linux/livepatch.h | 10 + kernel/livepatch/Makefile | 2 +- kernel/li

[PATCH v3] livepatch: shadow variables

2017-07-28 Thread Joe Lawrence
erhaul usage/comments, drop the verbose dmesg logs Joe Lawrence (1): livepatch: introduce shadow variable API Documentation/livepatch/shadow-vars.txt | 217 + include/linux/livepatch.h | 10 + kernel/livepatch/Makefile | 2 +- kernel/livepa

Re: [PATCH] livepatch: add (un)patch hooks

2017-07-28 Thread Joe Lawrence
On 07/27/2017 05:36 PM, Josh Poimboeuf wrote: > On Thu, Jul 27, 2017 at 04:43:58PM -0400, Joe Lawrence wrote: >> On 07/20/2017 12:17 AM, Josh Poimboeuf wrote: >>> - The post-patch and post-unpatch hooks will need to be run from either >>> klp_complete_transition()

[PATCH v2 1/1] livepatch: add (un)patch callbacks

2017-08-08 Thread Joe Lawrence
include modification of global data and registration of newly available services/handlers. See Documentation/livepatch/callback.txt for details. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Documentation/livepatch/callbacks.txt| 75 +++ include/linux/livep

[PATCH v2 0/1] add (un)patch callbacks

2017-08-08 Thread Joe Lawrence
() and klp_module_coming/going() - reduce callbacks from a list to a single per-klp_object instance - revamp the sample callback demo - revamp documentation Feedback appreciated as always. Joe Lawrence (1): livepatch: add (un)patch callbacks Documentation/livepatch/callbacks.txt| 75

Re: [PATCH v4] livepatch: introduce shadow variable API

2017-08-18 Thread Joe Lawrence
On 08/17/2017 10:05 AM, Petr Mladek wrote: > On Mon 2017-08-14 16:02:43, Joe Lawrence wrote: >> [ ... snip ... ] >> +/* Allocate a new shadow variable for use inside the lock below */ >> +new_shadow = kzalloc(size + sizeof(*new_shadow), gfp_flags); > > We sh

[PATCH v3] livepatch: add (un)patch callbacks

2017-08-16 Thread Joe Lawrence
include modification of global data and registration of newly available services/handlers. See Documentation/livepatch/callback.txt for details. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Documentation/livepatch/callbacks.txt| 87 include/linux/livep

[PATCH v3] add (un)patch callbacks

2017-08-16 Thread Joe Lawrence
ed [ 102.977392] % rmmod samples/livepatch/livepatch-callbacks-demo.ko Part 1: Livepatch is loaded first, so vmlinux callbacks run Part 2: The livepatch's pre-patch-callback is setup to now return -ENODEV Part 3: When a targetted module is loaded, the pre-patch-callback returns -ENODEV an

Re: [PATCH v4] livepatch: introduce shadow variable API

2017-08-17 Thread Joe Lawrence
On 08/17/2017 10:05 AM, Petr Mladek wrote: > On Mon 2017-08-14 16:02:43, Joe Lawrence wrote: >> Add exported API for livepatch modules: >> >> klp_shadow_get() >> klp_shadow_attach() >> klp_shadow_get_or_attach() >> klp_shadow_up

Re: [PATCH v4] livepatch: introduce shadow variable API

2017-08-18 Thread Joe Lawrence
On 08/18/2017 10:04 AM, Petr Mladek wrote: > On Fri 2017-08-18 15:44:29, Nicolai Stange wrote: >> Joe Lawrence <joe.lawre...@redhat.com> writes: >> >> >>> + >>> +/** >>> + * klp_shadow_get() - retrieve a shadow variable data pointe

Re: [PATCH v4] livepatch: introduce shadow variable API

2017-08-18 Thread Joe Lawrence
On 08/17/2017 10:05 AM, Petr Mladek wrote: > On Mon 2017-08-14 16:02:43, Joe Lawrence wrote: >> [ ... snip ... ] >> diff --git a/samples/livepatch/livepatch-shadow-fix1.c >> b/samples/livepatch/livepatch-shadow-fix1.c >> new file mode 100644 >> index 00

Re: [PATCH 1/3] livepatch: introduce shadow variable API

2017-06-12 Thread Joe Lawrence
On 06/09/2017 02:34 PM, Josh Poimboeuf wrote: > On Fri, Jun 09, 2017 at 11:36:27AM -0400, Joe Lawrence wrote: >> On 06/08/2017 12:49 PM, Josh Poimboeuf wrote: >>> On Thu, Jun 01, 2017 at 02:25:24PM -0400, Joe Lawrence wrote: >>>> Add three exported API for livep

Re: [PATCH 0/3] livepatch: add shadow variable API

2017-06-01 Thread Joe Lawrence
On 06/01/2017 04:05 PM, Jiri Kosina wrote: > On Thu, 1 Jun 2017, Joe Lawrence wrote: > >> This patchset is a simplified livepatch port of kpatch's "shadow" >> variable API [1]. The kpatch project has successfully employed such >> shadow variables to impleme

[PATCH 0/3] livepatch: add shadow variable API

2017-06-01 Thread Joe Lawrence
aster/kmod/core/shadow.c Joe Lawrence (3): livepatch: introduce shadow variable API livepatch: add shadow variable documentation livepatch: add shadow variable sample program Documentation/livepatch/shadow-vars.txt | 175 include/linux/livepatch.h

[PATCH 2/3] livepatch: add shadow variable documentation

2017-06-01 Thread Joe Lawrence
Document the new shadow variable API, including a few common use cases. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Documentation/livepatch/shadow-vars.txt | 175 1 file changed, 175 insertions(+) create mode 100644 Documentation/livepatch/

[PATCH 1/3] livepatch: introduce shadow variable API

2017-06-01 Thread Joe Lawrence
new shadow fields to existing data structures. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- include/linux/livepatch.h | 4 ++ kernel/livepatch/Makefile | 2 +- kernel/livepatch/shadow.c | 115 ++ 3 files changed, 120 insertions(+), 1 del

[PATCH 3/3] livepatch: add shadow variable sample program

2017-06-01 Thread Joe Lawrence
Modify the sample livepatch to demonstrate the shadow variable API. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- samples/livepatch/livepatch-sample.c | 39 +++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/samples/livepatch/liv

Re: [PATCH 1/3] livepatch: introduce shadow variable API

2017-06-09 Thread Joe Lawrence
On 06/08/2017 12:49 PM, Josh Poimboeuf wrote: > On Thu, Jun 01, 2017 at 02:25:24PM -0400, Joe Lawrence wrote: >> Add three exported API for livepatch modules: >> >> void *klp_shadow_attach(void *obj, char *var, gfp_t gfp, void *data); >> void klp_shadow_detach(void

Re: [PATCH 3/3] livepatch: add shadow variable sample program

2017-06-14 Thread Joe Lawrence
On 06/14/2017 10:21 AM, Petr Mladek wrote: > On Thu 2017-06-01 14:25:26, Joe Lawrence wrote: >> Modify the sample livepatch to demonstrate the shadow variable API. >> >> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> >> --- >> sa

Re: [PATCH 3/3] livepatch: add shadow variable sample program

2017-06-13 Thread Joe Lawrence
On 06/13/2017 07:00 AM, Miroslav Benes wrote: > On Thu, 1 Jun 2017, Joe Lawrence wrote: > >> Modify the sample livepatch to demonstrate the shadow variable API. >> >> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> >> --- >>

Re: [PATCH 0/3] livepatch: add shadow variable API

2017-06-13 Thread Joe Lawrence
On 06/13/2017 06:19 AM, Miroslav Benes wrote: >> If you are referring to stacking livepatches ... to be honest I hadn't >> thought of that scenario. In that case, we might be able to get away >> with pushing something like this into the hash: >> >> klp #1: klp_shadow_attach(ptr, "shadow_var",

Re: [PATCH 3/3] livepatch: add shadow variable sample program

2017-06-09 Thread Joe Lawrence
On 06/09/2017 02:38 PM, Josh Poimboeuf wrote: > On Thu, Jun 01, 2017 at 02:25:26PM -0400, Joe Lawrence wrote: >> [ ... snip ... ] >> @@ -99,6 +130,12 @@ static int livepatch_init(void) >> >> static void livepatch_exit(void) >> {

Re: [PATCH] livepatch: __klp_shadow_get_or_alloc() is local to shadow.c

2017-09-15 Thread Joe Lawrence
alloc(void *obj, unsigned long id, void > *data, > size_t size, gfp_t gfp_flags, bool warn_on_exist) > { > struct klp_shadow *new_shadow; > -- > 1.8.5.6 Acked-by: Joe Lawrence <joe.lawre...@redhat.com> Thanks for cleaning this up, Jiri. Also thanks to Miroslav, Petr, Nicolai and Josh for the patchset reviews! -- Joe

Re: [PATCH RFC 2/3] pipe: protect pipe_max_size access with a mutex

2017-09-15 Thread Joe Lawrence
On 09/14/2017 07:09 PM, Mikulas Patocka wrote: > On Tue, 5 Sep 2017, Joe Lawrence wrote: >> pipe_max_size is assigned directly via procfs sysctl: >> >> static struct ctl_table fs_table[] = { >> ... >> { >>

Re: [PATCH RFC 2/3] pipe: protect pipe_max_size access with a mutex

2017-09-19 Thread Joe Lawrence
On 09/14/2017 07:09 PM, Mikulas Patocka wrote: > On Tue, 5 Sep 2017, Joe Lawrence wrote: > >> pipe_max_size is assigned directly via procfs sysctl: >> >> static struct ctl_table fs_table[] = { >> ... >> { >>

Re: [PATCH RFC 2/3] pipe: protect pipe_max_size access with a mutex

2017-09-19 Thread Joe Lawrence
On 09/19/2017 03:53 AM, Mikulas Patocka wrote: > On Fri, 15 Sep 2017, Joe Lawrence wrote: > [ ... snip ... ] >> Hi Mikulas, >> >> I'm not strong when it comes to memory barriers, but one of the >> side-effects of using the mutex is that pipe_set_size() and &g

Re: [RFC] livepatch: unpatch all klp_objects if klp_module_coming fails

2017-09-20 Thread Joe Lawrence
On Wed, Sep 20, 2017 at 01:19:05PM +0200, Miroslav Benes wrote: > On Wed, 13 Sep 2017, Joe Lawrence wrote: > > > Hi Miroslav, > > Hi, > > sorry for the late response. I'm also travelling now and we have SUSECon > conference next week, so just a quick answer.

[RFC] livepatch: unpatch all klp_objects if klp_module_coming fails

2017-09-13 Thread Joe Lawrence
atch-callbacks-demo3.ko % rmmod samples/livepatch/livepatch-callbacks-demo2.ko % rmmod samples/livepatch/livepatch-callbacks-demo.ko -->8-- -->8-- -->8-- -->8-- -->8-- -->8-- -->8-- -->8-- -->8-- -->8-- >From b80b90cb54b498d2b1165d409ce4b0ca47610b36 Mon Sep 17 00

Re: [PATCH RFC 0/3] A few round_pipe_size() and pipe-max-size fixups

2017-09-14 Thread Joe Lawrence
On 09/14/2017 12:57 PM, Randy Dunlap wrote: > On 09/14/17 06:26, Michael Kerrisk (man-pages) wrote: >> Hello Joe, >> >> On 5 September 2017 at 16:44, Joe Lawrence <joe.lawre...@redhat.com> wrote: >>> While backporting Michael's "pipe: fix limit hand

[PATCH v3 3/4] pipe: add proc_dopipe_max_size() to safely assign pipe_max_size

2017-10-10 Thread Joe Lawrence
ng the new value from the user buffer, verifying bounds, and calling round_pipe_size() with a single assignment to pipe_max_size. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 18 +++---

[PATCH v3 1/4] pipe: match pipe_max_size data type with procfs

2017-10-10 Thread Joe Lawrence
s/fs/pipe-max-size -2147483648 Use unsigned operations on this variable to avoid such negative values. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 2 +- kernel/sysctl.c | 2 +- 2 files changed, 2 i

[PATCH v3 4/4] sysctl: check for UINT_MAX before unsigned int min/max

2017-10-10 Thread Joe Lawrence
ented above. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- kernel/sysctl.c | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/kernel/sysctl.c b/kernel/sysctl.c index 30b01b22014d..a04907158

[PATCH v3 0/4] A few round_pipe_size() and pipe-max-size fixups

2017-10-10 Thread Joe Lawrence
inconsistencies in do_proc_douintvec_minmax_conv() and do_proc_dopipe_max_size_conv(). Joe Lawrence (4): pipe: match pipe_max_size data type with procfs pipe: avoid round_pipe_size() nr_pages overflow on 32-bit pipe: add proc_dopipe_max_size() to safely assign pipe_max_size sysctl: check for

Re: Questions about commit "ipc/shm: Fix shmat mmap nil-page protection"

2017-10-10 Thread Joe Lawrence
On 09/25/2017 05:44 PM, Andrea Arcangeli wrote: > Hello, > > On Mon, Sep 25, 2017 at 03:38:07PM -0400, Joe Lawrence wrote: >> Hi Davidlohr, >> >> I was looking into backporting commit 95e91b831f87 ("ipc/shm: Fix shmat >> mmap nil-page protection") to

[PATCH v3 2/4] pipe: avoid round_pipe_size() nr_pages overflow on 32-bit

2017-10-10 Thread Joe Lawrence
n == 0 and updates its callers to handle accordingly. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/fs/pipe.c b/fs/pipe.c index

Re: [PATCH v3 0/4] A few round_pipe_size() and pipe-max-size fixups

2017-10-16 Thread Joe Lawrence
On 10/10/2017 02:04 PM, Joe Lawrence wrote: > While backporting Michael's "pipe: fix limit handling" patchset to a > distro-kernel, Mikulas noticed that current upstream pipe limit handling > contains a few problems: > > 1 - procfs signed wrap: echo'ing a large number

[PATCH v6 3/3] livepatch: add transition notices

2017-10-13 Thread Joe Lawrence
as the above messages. Suggested-by: Josh Poimboeuf <jpoim...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> Acked-by: Miroslav Benes <mbe...@suse.cz> --- kernel/livepatch/transition.c | 18 +- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git

[PATCH v6 2/3] livepatch: move transition "complete" notice into klp_complete_transition()

2017-10-13 Thread Joe Lawrence
transition() and into klp_complete_transition(). Suggested-by: Josh Poimboeuf <jpoim...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> Acked-by: Miroslav Benes <mbe...@suse.cz> Reviewed-by: Petr Mladek <pmla...@suse.com> --- kernel/livepatch/transition.c | 6 +++--- 1 file cha

[PATCH v6 1/3] livepatch: add (un)patch callbacks

2017-10-13 Thread Joe Lawrence
include modification of global data and registration of newly available services/handlers. See Documentation/livepatch/callbacks.txt for details and samples/livepatch/ for examples. Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- Documentation/livepatch/callbacks.txt

[PATCH v6 0/3] livepatch callbacks

2017-10-13 Thread Joe Lawrence
ist to a single per-klp_object instance - revamp the sample callback demo - revamp documentation Joe Lawrence (3): livepatch: add (un)patch callbacks livepatch: move transition "complete" notice into klp_complete_transition() livepatch: add transition notices Documentation/livepatch/

Re: [PATCH v4 1/3] livepatch: add (un)patch callbacks

2017-08-29 Thread Joe Lawrence
On 08/29/2017 11:49 AM, Josh Poimboeuf wrote: > On Fri, Aug 25, 2017 at 03:10:00PM -0400, Joe Lawrence wrote: >> +Test 6 >> +-- >> + >> +Test a scenario where a vmlinux pre-patch callback returns a non-zero >> +status (ie, failure): >> + >> +- lo

[PATCH RFC 1/3] pipe: avoid round_pipe_size() nr_pages overflow on 32-bit

2017-09-05 Thread Joe Lawrence
size value, and update callers to handle accordingly. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 18 -- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/fs/pipe.c b/fs/pipe

[PATCH RFC 2/3] pipe: protect pipe_max_size access with a mutex

2017-09-05 Thread Joe Lawrence
Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 28 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/fs/pipe.c b/fs/pipe.c index fa28910b3c59..33bb11b0d78e 100644 --- a/fs/

[PATCH RFC 3/3] pipe: match pipe_max_size data type with procfs

2017-09-05 Thread Joe Lawrence
s/fs/pipe-max-size -2147483648 Use unsigned operations on this variable to avoid such negative values. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 2 +- kernel/sysctl.c | 2 +- 2 files changed, 2 i

[PATCH RFC 0/3] A few round_pipe_size() and pipe-max-size fixups

2017-09-05 Thread Joe Lawrence
ue. Patch 3 - procfs signed wrap Before: % echo 2147483647 >/proc/sys/fs/pipe-max-size % cat /proc/sys/fs/pipe-max-size -2147483648 After: % echo 2147483647 >/proc/sys/fs/pipe-max-size % cat /proc/sys/fs/pipe-max-size 2147483648 Joe Lawrence (3): pipe: avoid round

Re: [PATCH v5 1/3] livepatch: add (un)patch callbacks

2017-09-13 Thread Joe Lawrence
On 09/13/2017 03:29 AM, Miroslav Benes wrote: > On Tue, 12 Sep 2017, Josh Poimboeuf wrote: > >> On Tue, Sep 12, 2017 at 06:05:44PM -0400, Joe Lawrence wrote: >>> On Tue, Sep 12, 2017 at 11:48:48AM -0400, Joe Lawrence wrote: >>> I've re-read this a few times,

Re: [PATCH v5 1/3] livepatch: add (un)patch callbacks

2017-09-12 Thread Joe Lawrence
On Tue, Sep 12, 2017 at 11:48:48AM -0400, Joe Lawrence wrote: > On 09/12/2017 04:53 AM, Miroslav Benes wrote: > >> @@ -871,13 +882,27 @@ int klp_module_coming(struct module *mod) > >>pr_notice("applying patch '%s' to l

Re: [PATCH v6] livepatch: introduce shadow variable API

2017-09-12 Thread Joe Lawrence
On 09/12/2017 12:20 PM, Josh Poimboeuf wrote: > On Thu, Aug 31, 2017 at 04:37:41PM -0400, Joe Lawrence wrote: >> +void *__klp_shadow_get_or_alloc(void *obj, unsigned long id, void *data, >> + size_t size, gfp_t gfp_flags, bool warn_on_exist) >> +{ >

Re: [PATCH v5 1/3] livepatch: add (un)patch callbacks

2017-09-12 Thread Joe Lawrence
On 09/12/2017 04:53 AM, Miroslav Benes wrote: > >> diff --git a/Documentation/livepatch/callbacks.txt >> b/Documentation/livepatch/callbacks.txt >> ... >> +Each callback action is optional, omitting one does not preclude >> +specifying any other. Typical use cases however, pare a pre-patch with

Re: [PATCH] livepatch: Small shadow variable documentation fixes

2017-09-25 Thread Joe Lawrence
*sta) + hw->sta_data_size, gfp); > > /* Attach a corresponding shadow variable, then initialize it */ > - ps_lock = klp_shadow_alloc(sta, PS_LOCK, NULL, sizeof(ps_lock), gfp); > + ps_lock = klp_shadow_alloc(sta, PS_LOCK, NULL, sizeof(*ps_lock), gfp); > if (!

Re: [PATCH v5 1/3] livepatch: add (un)patch callbacks

2017-09-26 Thread Joe Lawrence
On 09/26/2017 10:49 AM, Petr Mladek wrote: > On Thu 2017-08-31 10:53:51, Joe Lawrence wrote: >> diff --git a/kernel/livepatch/core.c b/kernel/livepatch/core.c >> index b9628e43c78f..aca62c4b8616 100644 >> --- a/kernel/livepatch/core.c >> +++ b/kernel/livepatch/core.c &

Re: [PATCH v5 3/3] livepatch: add transition notices

2017-09-27 Thread Joe Lawrence
On 09/27/2017 07:49 AM, Petr Mladek wrote: > On Thu 2017-08-31 10:53:53, Joe Lawrence wrote: >> Log a few kernel debug messages at the beginning of the following livepatch >> transition functions: >> >> klp_complete_transition() >> klp_cancel_tran

[PATCH] livepatch: unpatch all klp_objects if klp_module_coming fails

2017-09-28 Thread Joe Lawrence
objects fails to patch, klp_module_coming()'s error path needs to unpatch and cleanup any kernel objects that were already patched by a previous patch. Reported-by: Miroslav Benes <mbe...@suse.cz> Suggested-by: Petr Mladek <pmla...@suse.com> Signed-off-by: Joe Lawrence <joe.lawr

[PATCH 3/3] pipe: add proc_dopipe_max_size() to safely assign pipe_max_size

2017-09-26 Thread Joe Lawrence
ng the new value from the user buffer, verifying bounds, and calling round_pipe_size() with a single assignment to pipe_max_size. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 16 ++---

[PATCH 2/3] pipe: avoid round_pipe_size() nr_pages overflow on 32-bit

2017-09-26 Thread Joe Lawrence
n == 0 and updates its callers to handle accordingly. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 17 +++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/fs/pipe.c b/fs/pipe.c index

[PATCH 1/3] pipe: match pipe_max_size data type with procfs

2017-09-26 Thread Joe Lawrence
s/fs/pipe-max-size -2147483648 Use unsigned operations on this variable to avoid such negative values. Reported-by: Mikulas Patocka <mpato...@redhat.com> Signed-off-by: Joe Lawrence <joe.lawre...@redhat.com> --- fs/pipe.c | 2 +- kernel/sysctl.c | 2 +- 2 files changed, 2 i

  1   2   3   4   5   6   7   >