Re: [PATCH 1/3] docs/kselftests: Explain the usage of TEST_CONFIG_DEPS

2024-12-10 Thread Petr Mladek
On Thu 2024-12-05 17:17:55, Siddharth Menon wrote: > Update documentation to explain the TEST_CONFIG_DEPS flag in lib.mk. > TEST_CONFIG_DEPS is used to validate the presence of required config flags > specified in the selftest makefile before compiling or running a test. > > Signed-off-by: Siddhar

Re: [PATCH] Documentation: livepatch: Correct release locks antonym

2024-09-10 Thread Petr Mladek
On Tue 2024-09-10 17:27:42, Bagas Sanjaya wrote: > On 9/4/24 18:48, Petr Mladek wrote: > > On Tue 2024-09-03 09:47:53, Bagas Sanjaya wrote: > > > "get" doesn't properly fit as an antonym for "release" in the context > > > of locking. Correct

Re: [PATCH] Documentation: livepatch: Correct release locks antonym

2024-09-04 Thread Petr Mladek
On Tue 2024-09-03 09:47:53, Bagas Sanjaya wrote: > "get" doesn't properly fit as an antonym for "release" in the context > of locking. Correct it with "acquire". > > Signed-off-by: Bagas Sanjaya Reviewed-by: Petr Mladek The patch is trivial.

Re: [PATCH] Documentation/livepatch: Update terminology in livepatch

2024-01-11 Thread Petr Mladek
On Wed 2024-01-10 15:51:40, Marcos Paulo de Souza wrote: > On Wed, 2024-01-10 at 11:15 -0700, Jonathan Corbet wrote: > > Attreyee M writes: > > > > > Hello maintainers, > > > > > > I wanted to ask if this patch of mine is accepted as of now. > > > > You never responded to the question that is

Re: [PATCH v5] printf: add support for printing symbolic error names

2019-10-17 Thread Petr Mladek
On Wed 2019-10-16 19:31:33, Andy Shevchenko wrote: > On Wed, Oct 16, 2019 at 5:52 PM Petr Mladek wrote: > > > > On Wed 2019-10-16 16:49:41, Andy Shevchenko wrote: > > > On Tue, Oct 15, 2019 at 10:07 PM Rasmus Villemoes > > > wrote: > >

Re: [PATCH v5] printf: add support for printing symbolic error names

2019-10-16 Thread Petr Mladek
On Wed 2019-10-16 16:49:41, Andy Shevchenko wrote: > On Tue, Oct 15, 2019 at 10:07 PM Rasmus Villemoes > wrote: > > > +const char *errname(int err) > > +{ > > + const char *name = __errname(err > 0 ? err : -err); > > Looks like mine comment left unseen. > What about to simple use abs(err)

Re: [PATCH v3] printf: add support for printing symbolic error codes

2019-10-02 Thread Petr Mladek
On Sun 2019-09-29 22:09:28, Rasmus Villemoes wrote: > > On Tue 2019-09-17 08:59:59, Rasmus Villemoes wrote: > >> With my embedded hat on, I've made it possible to remove this. > >> > >> I've tested that the #ifdeffery in errcode.c is sufficient to make > >> this compile on arm, arm64, mips, powerpc

Re: [PATCH v3] printf: add support for printing symbolic error codes

2019-09-25 Thread Petr Mladek
First, I am sorry that I replay so late. I was traveling the previous two weeks and was not able to follow the discussion about this patch. I am fine with adding this feature. But I would like to do it a cleaner way, see below. On Tue 2019-09-17 08:59:59, Rasmus Villemoes wrote: > With my embedd

Re: [PATCH v2] vsprintf: introduce %dE for error constants

2019-08-30 Thread Petr Mladek
On Thu 2019-08-29 19:39:45, Uwe Kleine-König wrote: > On 8/29/19 11:09 AM, Rasmus Villemoes wrote: > > On 29/08/2019 10.27, Juergen Gross wrote: > >> On 29.08.19 10:12, Petr Mladek wrote: > >>> On Wed 2019-08-28 21:18:37, Uwe Kleine-König  wrote: > >>>&g

Re: [PATCH v2] vsprintf: introduce %dE for error constants

2019-08-29 Thread Petr Mladek
On Wed 2019-08-28 21:18:37, Uwe Kleine-König wrote: > Hello Petr, > > On 8/28/19 1:32 PM, Petr Mladek wrote: > > On Tue 2019-08-27 23:12:44, Uwe Kleine-König wrote: > >> Petr Mladek had some concerns: > >>> There are ideas to make the code even more tricky to

Re: [PATCH v2] vsprintf: introduce %dE for error constants

2019-08-28 Thread Petr Mladek
On Tue 2019-08-27 23:12:44, Uwe Kleine-König wrote: > Petr Mladek had some concerns: > > The array is long, created by cpu&paste, the index of each code > > is not obvious. > > Yeah right, the array is long. This cannot really be changed because we > have th

Re: [PATCH v1 1/2] vsprintf: introduce %dE for error constants

2019-08-26 Thread Petr Mladek
On Sun 2019-08-25 11:14:42, Uwe Kleine-König wrote: > Hello Andrew, > > On Sat, Aug 24, 2019 at 04:58:29PM -0700, Andrew Morton wrote: > > (cc printk maintainers). > > Ah, I wasn't aware there is something like them. Thanks > > > On Sun, 25 Aug 2019 01:37:23 +0200 Uwe Kleine-König > > wrote:

Re: [PATCH] docs: add extra integer types to printk-formats

2019-03-04 Thread Petr Mladek
On Sun 2019-03-03 12:36:47, Louis Taylor wrote: > A few commonly used integer types were absent from this table, so add > them. > > Link: https://github.com/ClangBuiltLinux/linux/issues/378 > Suggested-by: Nick Desaulniers > Signed-off-by: Louis Taylor > --- > Documentation/core-api/printk-form

Re: [PATCH v2 2/3] lib/vsprintf: Hash legacy clock addresses

2018-10-12 Thread Petr Mladek
in > memory. > > Avoid this leak by printing the hashed address instead. To distinguish > between clocks, a 32-bit unique identifier is as good as an actual > pointer value. > > Fixes: ad67b74d2469d9b8 ("printk: hash addresses printed with %p") > Signed-off-by:

Re: [PATCH v2 3/3] lib/vsprintf: Hash printed address for netdev bits fallback

2018-10-12 Thread Petr Mladek
the kernel > layout in memory. > > Avoid this leak by printing the hashed address instead. > Note that there are no in-tree users of the fallback. > > Fixes: ad67b74d2469d9b8 ("printk: hash addresses printed with %p") > Signed-off-by: Geert Uytterhoeven > Reviewed-by: Pet

Re: [PATCH v2 1/3] lib/vsprintf: Prepare for more general use of ptr_to_id()

2018-10-12 Thread Petr Mladek
On Thu 2018-10-11 10:42:47, Geert Uytterhoeven wrote: > - Make the ptr argument const, to avoid adding casts in future > callers, > - Move the function and its dependencies up, so it can be called from > special pointer type formatting routines. > > Signed-off-by: Geert Uytterhoeven

Re: [PATCH 3/3] lib/vsprintf: Hash printed address for netdev bits fallback

2018-10-09 Thread Petr Mladek
the kernel > layout in memory. > > Avoid this leak by printing the hashed address instead. > Note that there are no in-tree users of the fallback. > > Fixes: ad67b74d2469d9b8 ("printk: hash addresses printed with %p") > Signed-off-by: Geert Uytterhoeven Great catch! Reviewed-by: Petr Mladek Best Regards, Petr

Re: [PATCH 2/3] lib/vsprintf: Hash legacy clock addresses

2018-10-09 Thread Petr Mladek
in > memory. > > Avoid this leak by printing the hashed address instead. To distinguish > between clocks, a 32-bit unique identifier is as good as an actual > pointer value. > > Fixes: ad67b74d2469d9b8 ("printk: hash addresses printed with %p") > Signed-off-by:

Re: [PATCH 1/3] lib/vsprintf: Prepare for more general use of ptr_to_id()

2018-10-09 Thread Petr Mladek
On Mon 2018-10-08 16:37:29, Geert Uytterhoeven wrote: > Hi Andy, > > On Mon, Oct 8, 2018 at 4:25 PM Andy Shevchenko > wrote: > > On Mon, Oct 08, 2018 at 01:05:02PM +0200, Geert Uytterhoeven wrote: > > > - Make the ptr argument const, to avoid adding casts in future > > > callers, > > > > >

Re: [PATCH 2/3] printk: Add /sys/consoles/ interface

2017-11-03 Thread Petr Mladek
On Fri 2017-11-03 15:32:34, Kroah-Hartman wrote: > > > diff --git a/Documentation/ABI/testing/sysfs-consoles > > > b/Documentation/ABI/testing/sysfs-consoles > > > new file mode 100644 > > > index 000..6a1593e > > > --- /dev/null > > > +++ b/Documentation/ABI/testing/sysfs-consoles > > > @@ -0

Re: [PATCH 3/3] printk: Add ability to set loglevel via "console=" cmdline

2017-11-03 Thread Petr Mladek
On Thu 2017-09-28 17:43:57, Calvin Owens wrote: > This extends the "console=" interface to allow setting the per-console > loglevel by adding "/N" to the string, where N is the desired loglevel > expressed as a base 10 integer. Invalid values are silently ignore

Re: [PATCH 2/3] printk: Add /sys/consoles/ interface

2017-11-03 Thread Petr Mladek
On Thu 2017-09-28 17:43:56, Calvin Owens wrote: > This adds a new sysfs interface that contains a directory for each > console registered on the system. Each directory contains a single > "loglevel" file for reading and setting the per-console loglevel. > > We can let kobject destruction race with

Re: [PATCH 1/3] printk: Introduce per-console loglevel setting

2017-11-03 Thread Petr Mladek
On Thu 2017-09-28 17:43:55, Calvin Owens wrote: > This patch introduces a new per-console loglevel setting, and changes > console_unlock() to use max(global_level, per_console_level) when > deciding whether or not to emit a given log message. > diff --git a/include/linux/console.h b/include/linux/

Re: [PATCH 1/3] printk: Introduce per-console loglevel setting

2017-10-20 Thread Petr Mladek
On Thu 2017-10-19 16:40:45, Calvin Owens wrote: > On 09/28/2017 05:43 PM, Calvin Owens wrote: > >Not all consoles are created equal: depending on the actual hardware, > >the latency of a printk() call can vary dramatically. The worst examples > >are serial consoles, where it can spin for tens of mi

Re: [PATCH 3/3 v12] printk: Add monotonic, boottime, and realtime timestamps

2017-09-26 Thread Petr Mladek
c:1983:12: warning: ‘printk_time’ defined but not used [-Wunused-variable] static int printk_time; > #endif /* CONFIG_PRINTK */ > > #ifdef CONFIG_EARLY_PRINTK Otherwise that patch looks fine. With the unused variable removed, feel free to use: Reviewed-by: Petr Mladek Best Regards, Petr

Re: [PATCH 3/3 v11] printk: Add monotonic, boottime, and realtime timestamps

2017-09-15 Thread Petr Mladek
On Tue 2017-09-05 08:06:41, Prarit Bhargava wrote: > printk.time=1/CONFIG_PRINTK_TIME=1 adds a unmodified local hardware clock > timestamp to printk messages. The local hardware clock loses time each > day making it difficult to determine exactly when an issue has occurred in > the kernel log, and

Re: [PATCH 2/2 v7] printk: Add monotonic, boottime, and realtime timestamps

2017-08-23 Thread Petr Mladek
On Thu 2017-08-17 09:15:39, Prarit Bhargava wrote: > printk.time=1/CONFIG_PRINTK_TIME=1 adds a unmodified local hardware clock > timestamp to printk messages. The local hardware clock loses time each > day making it difficult to determine exactly when an issue has occurred in > the kernel log, and

Re: [PATCH 2/2 v7] printk: Add monotonic, boottime, and realtime timestamps

2017-08-22 Thread Petr Mladek
On Tue 2017-08-22 10:09:40, Prarit Bhargava wrote: > > > On 08/17/2017 11:30 AM, Mark Salyzyn wrote: > > On 08/17/2017 06:15 AM, Prarit Bhargava wrote: > >> printk.time=1/CONFIG_PRINTK_TIME=1 adds a unmodified local hardware clock > >> timestamp to printk messages. The local hardware clock loses

Re: [PATCH v3 0/4] kmod: help make deterministic

2017-06-27 Thread Petr Mladek
On Tue 2017-06-27 02:27:44, Luis R. Rodriguez wrote: > On Tue, Jun 27, 2017 at 12:44:42AM +0200, Luis R. Rodriguez wrote: > > On Mon, Jun 26, 2017 at 11:37:36PM +0200, Jessica Yu wrote: > > > +++ Kees Cook [20/06/17 17:23 -0700]: > > > > On Tue, Jun 20, 2017 at 1:56 PM, Luis R. Rodriguez > > > >

Re: [PATCH v4 4/4] kmod: throttle kmod thread limit

2017-06-26 Thread Petr Mladek
On Fri 2017-06-23 12:20:11, Luis R. Rodriguez wrote: > If we reach the limit of modprobe_limit threads running the next > request_module() call will fail. The original reason for adding > a kill was to do away with possible issues with in old circumstances > which would create a recursive series of

Re: [PATCH v3 2/4] kmod: reduce atomic operations on kmod_concurrent and simplify

2017-06-26 Thread Petr Mladek
ic_dec_if_positive() > atomic_inc() > atomic_inc() > > Suggested-by: Petr Mladek > Suggested-by: Dmitry Torokhov > Signed-off-by: Luis R. Rodriguez The change looks fine to me. The code is much easier and less hacky. Reviewed-by: Petr Mladek Best Regar

Re: [PATCH v3 4/4] kmod: throttle kmod thread limit

2017-06-26 Thread Petr Mladek
On Fri 2017-06-23 21:16:37, Luis R. Rodriguez wrote: > On Fri, Jun 23, 2017 at 07:56:11PM +0200, Luis R. Rodriguez wrote: > > On Fri, Jun 23, 2017 at 06:16:19PM +0200, Luis R. Rodriguez wrote: > > > On Thu, Jun 22, 2017 at 05:19:36PM +0200, Petr Mladek wrote: > > > &

Re: [PATCH v3 4/4] kmod: throttle kmod thread limit

2017-06-26 Thread Petr Mladek
On Fri 2017-06-23 18:16:19, Luis R. Rodriguez wrote: > On Thu, Jun 22, 2017 at 05:19:36PM +0200, Petr Mladek wrote: > > On Fri 2017-05-26 14:12:28, Luis R. Rodriguez wrote: > > > --- a/kernel/kmod.c > > > +++ b/kernel/kmod.c > > > @@ -163,14 +163,11 @@ int __

Re: [PATCH v3 4/4] kmod: throttle kmod thread limit

2017-06-22 Thread Petr Mladek
On Fri 2017-05-26 14:12:28, Luis R. Rodriguez wrote: > If we reach the limit of modprobe_limit threads running the next > request_module() call will fail. The original reason for adding > a kill was to do away with possible issues with in old circumstances > which would create a recursive series of

Re: [PATCH 5/6] kmod: preempt on kmod_umh_threads_get()

2017-05-25 Thread Petr Mladek
On Wed 2017-05-24 19:27:38, Dmitry Torokhov wrote: > On Thu, May 25, 2017 at 03:00:17AM +0200, Luis R. Rodriguez wrote: > > On Wed, May 24, 2017 at 05:45:37PM -0700, Dmitry Torokhov wrote: > > > On Thu, May 25, 2017 at 02:14:52AM +0200, Luis R. Rodriguez wrote: > > > > On Fri, May 19, 2017 at 03:27

Re: [PATCH 6/6] kmod: use simplified rate limit printk

2017-05-23 Thread Petr Mladek
> > > > Reviewed-by: Petr Mladek > > Signed-off-by: Luis R. Rodriguez > > --- > > kernel/kmod.c | 10 ++ > > 1 file changed, 2 insertions(+), 8 deletions(-) > > > > diff --git a/kernel/kmod.c b/kernel/kmod.c > > index 7ea11d

Re: [PATCH] Documentation/livepatch: remove the limitation for schedule() patching

2017-01-06 Thread Petr Mladek
_switch_to_asm() is not patchable for the reason described in > the section. But there is no __fentry__ call and I cannot imagine a > reason to do it anyway. > > Therefore, remove the paragraphs from the section. > > Signed-off-by: Miroslav Benes It is great to get a feature for

Re: [RFC 09/10] kmod: add helpers for getting kmod count and limit

2016-12-15 Thread Petr Mladek
On Thu 2016-12-08 11:49:20, Luis R. Rodriguez wrote: > This adds helpers for getting access to the kmod count and limit from > userspace. While at it, this also lets userspace fine tune the kmod > limit after boot, it uses the shiny new proc_douintvec_minmax(). > > These knobs should help userspac

Re: [RFC 06/10] kmod: provide sanity check on kmod_concurrent access

2016-12-15 Thread Petr Mladek
On Thu 2016-12-08 11:48:50, Luis R. Rodriguez wrote: > Only decrement *iff* we're possitive. Warn if we've hit > a situation where the counter is already 0 after we're done > with a modprobe call, this would tell us we have an unaccounted > counter access -- this in theory should not be possible as

Re: [RFC 04/10] kmod: provide wrappers for kmod_concurrent inc/dec

2016-12-15 Thread Petr Mladek
On Thu 2016-12-08 22:08:59, Luis R. Rodriguez wrote: > On Thu, Dec 08, 2016 at 12:29:42PM -0800, Kees Cook wrote: > > On Thu, Dec 8, 2016 at 11:48 AM, Luis R. Rodriguez > > wrote: > > > kmod_concurrent is used as an atomic counter for enabling > > > the allowed limit of modprobe calls, provide wr

Re: [RFC 07/10] kmod: use simplified rate limit printk

2016-12-14 Thread Petr Mladek
max_modprobes, module_name); I like this change. I would only be even more descriptive in which limit is reached. Something like pr_err_ratelimited("request_module: module \"%s\" reached limit (%u) of concurrent modprobe calls\n", mo

Re: [RFC 06/10] kmod: provide sanity check on kmod_concurrent access

2016-12-14 Thread Petr Mladek
On Thu 2016-12-08 11:48:50, Luis R. Rodriguez wrote: > Only decrement *iff* we're possitive. Warn if we've hit > a situation where the counter is already 0 after we're done > with a modprobe call, this would tell us we have an unaccounted > counter access -- this in theory should not be possible as

Re: [RFC 03/10] kmod: add dynamic max concurrent thread count

2016-12-14 Thread Petr Mladek
On Thu 2016-12-08 11:48:14, Luis R. Rodriguez wrote: > We currently statically limit the number of modprobe threads which > we allow to run concurrently to 50. As per Keith Owens, this was a > completely arbitrary value, and it was set in the 2.3.38 days [0] > over 16 years ago in year 2000. > > A

Re: livepatch/x86: apply alternatives and paravirt patches after relocations

2016-08-19 Thread Petr Mladek
On Thu 2016-08-18 14:03:13, Jessica Yu wrote: > +++ Petr Mladek [18/08/16 11:51 +0200]: > >On Wed 2016-08-17 20:58:29, Jessica Yu wrote: > >>Implement arch_klp_init_object_loaded() for x86, which applies > >>alternatives/paravirt patches. This fixes the order i

Re: [PATCH v3 3/3] Documentation: livepatch: add section about arch-specific code

2016-08-18 Thread Petr Mladek
uch as applying > +arch-specific sections. On x86 for example, we must apply per-object > +.altinstructions and .parainstructions sections when a target module loads. > +These sections can be prefixed with ".klp.arch.$objname." so that they can ^^^ I would p

Re: [PATCH v3 1/3] livepatch: use arch_klp_init_object_loaded() to finish arch-specific tasks

2016-08-18 Thread Petr Mladek
On Wed 2016-08-17 20:58:28, Jessica Yu wrote: > Introduce arch_klp_init_object_loaded() to complete any additional > arch-specific tasks during patching. Architecture code may override this > function. > > Signed-off-by: Jessica Yu Reviewed-by: Petr Mladek Best Regards, Petr --

Re: [PATCH v3 2/3] livepatch/x86: apply alternatives and paravirt patches after relocations

2016-08-18 Thread Petr Mladek
On Wed 2016-08-17 20:58:29, Jessica Yu wrote: > Implement arch_klp_init_object_loaded() for x86, which applies > alternatives/paravirt patches. This fixes the order in which relocations > and alternatives/paravirt patches are applied. > > Previously, if a patch module had alternatives or paravirt

Re: [PATCH] capabilities: add capability cgroup controller

2016-07-08 Thread Petr Mladek
On Thu 2016-07-07 20:27:13, Topi Miettinen wrote: > On 07/07/16 09:16, Petr Mladek wrote: > > On Sun 2016-07-03 15:08:07, Topi Miettinen wrote: > >> The attached patch would make any uses of capabilities generate audit > >> messages. It works for simple tests as

Re: [PATCH] capabilities: add capability cgroup controller

2016-07-07 Thread Petr Mladek
On Sun 2016-07-03 15:08:07, Topi Miettinen wrote: > The attached patch would make any uses of capabilities generate audit > messages. It works for simple tests as you can see from the commit > message, but unfortunately the call to audit_cgroup_list() deadlocks the > system when booting a full blow

Re: [PATCH v5 2/6] module: preserve Elf information for livepatch modules

2016-03-21 Thread Petr Mladek
On Wed 2016-03-16 15:47:04, Jessica Yu wrote: > For livepatch modules, copy Elf section, symbol, and string information > from the load_info struct in the module loader. Persist copies of the > original symbol table and string table. > > Livepatch manages its own relocation sections in order to re

Re: [PATCH v5 4/6] livepatch: reuse module loader code to write relocations

2016-03-21 Thread Petr Mladek
On Wed 2016-03-16 15:47:06, Jessica Yu wrote: > Reuse module loader code to write relocations, thereby eliminating the need > for architecture specific relocation code in livepatch. Specifically, reuse > the apply_relocate_add() function in the module loader to write relocations > instead of duplic

Re: [PATCH v6 0/8] Additional kmsg devices

2016-02-26 Thread Petr Mladek
On Fri 2016-02-26 14:22:42, Kazimierz Krosman wrote: > On 02/25/2016 10:47 PM, Tejun Heo wrote: > >I'm not sure this is the right layer to implement generic logging > >facility. > In general this patches add only one feature- possibility of adding > and deleting > new kmsg devices, so I think that

Re: [PATCH v6 3/8] kmsg: introduce additional kmsg devices support

2016-02-26 Thread Petr Mladek
On Wed 2016-02-24 12:53:16, Kazimierz Krosman wrote: > From: Marcin Niesluchowski > > kmsg device provides operations on cyclic logging buffer used mainly > by kernel but also in userspace by privileged processes. > > Additional kmsg devices keep the same log format but may be added > dynamicall

Re: [RFC PATCH v4 2/6] module: preserve Elf information for livepatch modules

2016-02-10 Thread Petr Mladek
On Wed 2016-02-03 20:11:07, Jessica Yu wrote: > diff --git a/kernel/module.c b/kernel/module.c > index 71c77ed..9c16eb2 100644 > --- a/kernel/module.c > +++ b/kernel/module.c > @@ -2676,6 +2764,23 @@ static int copy_module_from_user(const void __user > *umod, unsigned long len, > return 0; >

Re: [RFC PATCH v4 0/6] (mostly) Arch-independent livepatch

2016-02-09 Thread Petr Mladek
ion: livepatch: outline Elf format and requirements for > patch modules For the four above patches: Reviewed-by: Petr Mladek > module: preserve Elf information for livepatch modules > livepatch: reuse module loader code to write relocations These two still need some tweakin

Re: [RFC PATCH v4 4/6] livepatch: reuse module loader code to write relocations

2016-02-09 Thread Petr Mladek
On Wed 2016-02-03 20:11:09, Jessica Yu wrote: > Reuse module loader code to write relocations, thereby eliminating the need > for architecture specific relocation code in livepatch. Specifically, reuse > the apply_relocate_add() function in the module loader to write relocations > instead of duplic

Re: [RFC PATCH v4 2/6] module: preserve Elf information for livepatch modules

2016-02-09 Thread Petr Mladek
On Tue 2016-02-09 11:33:07, Jiri Kosina wrote: > On Tue, 9 Feb 2016, Petr Mladek wrote: > > > > +#ifdef CONFIG_KALLSYMS > > > + /* Make symtab and strtab available prior to module init call */ > > > + mod->num_symtab = mod->core_num_syms; > > &g

Re: [RFC PATCH v4 2/6] module: preserve Elf information for livepatch modules

2016-02-09 Thread Petr Mladek
On Wed 2016-02-03 20:11:07, Jessica Yu wrote: > For livepatch modules, copy Elf section, symbol, and string information > from the load_info struct in the module loader. Persist copies of the > original symbol table and string table. > > Livepatch manages its own relocation sections in order to re