The patch write most of startup_64 logic in C.
This is preparation for 5-level paging enabling.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/kernel/head64.c | 81 -
arch/x86/kernel/head_64.S | 93
The patch write most of startup_64 logic in C.
This is preparation for 5-level paging enabling.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/kernel/head64.c | 81 -
arch/x86/kernel/head_64.S | 93 +--
2
On x86, 5-level paging enables 56-bit userspace virtual address space.
Not all user space is ready to handle wide addresses. It's known that
at least some JIT compilers use higher bits in pointers to encode their
information. It collides with valid pointers with 5-level paging and
leads to
On x86, 5-level paging enables 56-bit userspace virtual address space.
Not all user space is ready to handle wide addresses. It's known that
at least some JIT compilers use higher bits in pointers to encode their
information. It collides with valid pointers with 5-level paging and
leads to
This patch adds support for 5-level paging during early boot.
It generalizes boot for 4- and 5-level paging on 64-bit systems with
compile-time switch between them.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/boot/compressed/head_64.S | 23
Here's the fourth and the last bunch of of patches that brings initial
5-level paging enabling.
Please review and consider applying.
As Ingo requested I've tried to rewrite assembly parts of boot process
into C before bringing 5-level paging support. The only part where I
succeed is startup_64
This patch adds support for 5-level paging during early boot.
It generalizes boot for 4- and 5-level paging on 64-bit systems with
compile-time switch between them.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/boot/compressed/head_64.S | 23 ---
Here's the fourth and the last bunch of of patches that brings initial
5-level paging enabling.
Please review and consider applying.
As Ingo requested I've tried to rewrite assembly parts of boot process
into C before bringing 5-level paging support. The only part where I
succeed is startup_64
This basically restores slightly modified version of original
sync_global_pgds() which we had before folded p4d was introduced.
The only modification is protection against 'address' overflow.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/mm/init_64.c | 35
This basically restores slightly modified version of original
sync_global_pgds() which we had before folded p4d was introduced.
The only modification is protection against 'address' overflow.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/mm/init_64.c | 35 +++
With CONFIG_X86_5LEVEL=y, level 4 is no longer top level of page tables.
Let's give these variable more generic names: init_top_pgt and
early_top_pgt.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/include/asm/pgtable.h | 2 +-
With CONFIG_X86_5LEVEL=y, level 4 is no longer top level of page tables.
Let's give these variable more generic names: init_top_pgt and
early_top_pgt.
Signed-off-by: Kirill A. Shutemov
---
arch/x86/include/asm/pgtable.h | 2 +-
arch/x86/include/asm/pgtable_64.h | 4 ++--
On Tue, Apr 04, 2017 at 02:51:09PM -0700, Stephen Boyd wrote:
> On 03/26, Leo Yan wrote:
> > The debug APB clock is absent in hi6220 driver, so this patch is to add
> > support for it.
> >
> > Signed-off-by: Leo Yan
> > ---
>
> Applied to clk-next.
Thanks a lot :)
> I
On Tue, Apr 04, 2017 at 02:51:09PM -0700, Stephen Boyd wrote:
> On 03/26, Leo Yan wrote:
> > The debug APB clock is absent in hi6220 driver, so this patch is to add
> > support for it.
> >
> > Signed-off-by: Leo Yan
> > ---
>
> Applied to clk-next.
Thanks a lot :)
> I suspect we don't need a
> > diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
> > index 5f84433..0933261 100644
> > --- a/arch/powerpc/mm/mem.c
> > +++ b/arch/powerpc/mm/mem.c
> > @@ -126,14 +126,31 @@ int __weak remove_section_mapping(unsigned long
> > start, unsigned long end)
> > return -ENODEV;
> > }
>
> > diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
> > index 5f84433..0933261 100644
> > --- a/arch/powerpc/mm/mem.c
> > +++ b/arch/powerpc/mm/mem.c
> > @@ -126,14 +126,31 @@ int __weak remove_section_mapping(unsigned long
> > start, unsigned long end)
> > return -ENODEV;
> > }
>
The path_max parameter determines the max size of buffers allocated
but it should not be setable at run time. If can be used to cause an
oops
root@ubuntu:~# echo 16777216 > /sys/module/apparmor/parameters/path_max
root@ubuntu:~# cat /sys/module/apparmor/parameters/path_max
Killed
[ 122.141911]
Currently, the GPIO interface is said to Open Drain if it is Single
Ended and active LOW. Similarly, it is said as Open Source if it is
Single Ended and active HIGH.
The active HIGH/LOW is used in the interface for setting the pin
state to HIGH or LOW when enabling/disabling the interface.
In
The path_max parameter determines the max size of buffers allocated
but it should not be setable at run time. If can be used to cause an
oops
root@ubuntu:~# echo 16777216 > /sys/module/apparmor/parameters/path_max
root@ubuntu:~# cat /sys/module/apparmor/parameters/path_max
Killed
[ 122.141911]
Currently, the GPIO interface is said to Open Drain if it is Single
Ended and active LOW. Similarly, it is said as Open Source if it is
Single Ended and active HIGH.
The active HIGH/LOW is used in the interface for setting the pin
state to HIGH or LOW when enabling/disabling the interface.
In
On Thu, Apr 6, 2017 at 5:24 AM, Robin Murphy wrote:
> On 06/04/17 08:01, Frank Rowand wrote:
>> On 04/04/17 03:18, Sricharan R wrote:
>>> Size of the dma-range is calculated as coherent_dma_mask + 1
>>> and passed to arch_setup_dma_ops further. It overflows when
>>> the
On Thu, Apr 6, 2017 at 5:24 AM, Robin Murphy wrote:
> On 06/04/17 08:01, Frank Rowand wrote:
>> On 04/04/17 03:18, Sricharan R wrote:
>>> Size of the dma-range is calculated as coherent_dma_mask + 1
>>> and passed to arch_setup_dma_ops further. It overflows when
>>> the coherent_dma_mask is set
Boot parameters are written before apparmor is ready to answer whether
the user is policy_view_capable(). Setting the parameters at boot results
in an oops and failure to boot. Setting the parameters at boot is
obviously allowed so skip the permission check when apparmor is not
initialized.
While
Boot parameters are written before apparmor is ready to answer whether
the user is policy_view_capable(). Setting the parameters at boot results
in an oops and failure to boot. Setting the parameters at boot is
obviously allowed so skip the permission check when apparmor is not
initialized.
While
From: Valentin Rothberg
Add the _APPARMOR substring to reference the intended Kconfig option.
Signed-off-by: Valentin Rothberg
Signed-off-by: John Johansen
---
security/apparmor/lsm.c | 2 +-
1 file changed,
If the the field order is set to ANY in set_fmt, choose the currently
set field order. If the colorspace is set to DEFAULT, choose the current
colorspace. If any of xfer_func, ycbcr_enc or quantization are set to
DEFAULT, either choose the current setting, or the default setting for the
new
From: Valentin Rothberg
Add the _APPARMOR substring to reference the intended Kconfig option.
Signed-off-by: Valentin Rothberg
Signed-off-by: John Johansen
---
security/apparmor/lsm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/security/apparmor/lsm.c
If the the field order is set to ANY in set_fmt, choose the currently
set field order. If the colorspace is set to DEFAULT, choose the current
colorspace. If any of xfer_func, ycbcr_enc or quantization are set to
DEFAULT, either choose the current setting, or the default setting for the
new
From: kbuild test robot
security/apparmor/lib.c:132:9-10: WARNING: return of 0/1 in function
'aa_policy_init' with return type bool
Return statements in functions returning bool should use
true/false instead of 1/0.
Generated by:
From: kbuild test robot
security/apparmor/lib.c:132:9-10: WARNING: return of 0/1 in function
'aa_policy_init' with return type bool
Return statements in functions returning bool should use
true/false instead of 1/0.
Generated by: scripts/coccinelle/misc/boolreturn.cocci
Signed-off-by:
From: Nicolas Iooss
When building the kernel with clang, the compiler fails to build
security/apparmor/crypto.c with the following error:
security/apparmor/crypto.c:36:8: error: fields must have a constant
size: 'variable length array in structure' extension
From: Nicolas Iooss
When building the kernel with clang, the compiler fails to build
security/apparmor/crypto.c with the following error:
security/apparmor/crypto.c:36:8: error: fields must have a constant
size: 'variable length array in structure' extension will never be
supported
Once the loop on lines 836-853 is complete and exits normally, ent is a
pointer to the dummy list head value. The derefernces accessible from eg
the goto fail on line 860 or the various goto fail_lock's afterwards thus
seem incorrect.
Reported-by: Julia Lawall
Once the loop on lines 836-853 is complete and exits normally, ent is a
pointer to the dummy list head value. The derefernces accessible from eg
the goto fail on line 860 or the various goto fail_lock's afterwards thus
seem incorrect.
Reported-by: Julia Lawall
Signed-off-by: John Johansen
---
Hi James,
Here is the pull request for 4.12
There are no new features here, just a small set of bug fixes since
the 4.11 pull request.
Thanks,
-John
---
The following changes since commit ef933e87785f42868980f0e3af91fec313612868:
selinux: fix kernel BUG on prlimit(..., NULL, NULL)
Hi James,
Here is the pull request for 4.12
There are no new features here, just a small set of bug fixes since
the 4.11 pull request.
Thanks,
-John
---
The following changes since commit ef933e87785f42868980f0e3af91fec313612868:
selinux: fix kernel BUG on prlimit(..., NULL, NULL)
On 04/05/2017 12:32 PM, Andrew Lunn wrote:
>> +static const struct of_device_id lan9303_mdio_of_match[] = {
>> +{ .compatible = "smsc,lan9303" },
>> +{ /* sentinel */ },
>> +};
>> +MODULE_DEVICE_TABLE(of, lan9303_mdio_of_match);
>
> If i'm reading this right, i think you have the same
On 04/05/2017 12:32 PM, Andrew Lunn wrote:
>> +static const struct of_device_id lan9303_mdio_of_match[] = {
>> +{ .compatible = "smsc,lan9303" },
>> +{ /* sentinel */ },
>> +};
>> +MODULE_DEVICE_TABLE(of, lan9303_mdio_of_match);
>
> If i'm reading this right, i think you have the same
From: Matt Redfearn
Since do_IRQ is now invoked on a separate IRQ stack, we select
HAVE_IRQ_EXIT_ON_IRQ_STACK so that softirq's may be invoked directly
from irq_exit(), rather than requiring do_softirq_own_stack.
Signed-off-by: Matt Redfearn
From: Matt Redfearn
When enterring interrupt context via handle_int or except_vec_vi, switch
to the irq_stack of the current CPU if it is not already in use.
The current stack pointer is masked with the thread size and compared to
the base or the irq stack. If it does
From: Matt Redfearn
When enterring interrupt context via handle_int or except_vec_vi, switch
to the irq_stack of the current CPU if it is not already in use.
The current stack pointer is masked with the thread size and compared to
the base or the irq stack. If it does not match then the stack
From: Matt Redfearn
Since do_IRQ is now invoked on a separate IRQ stack, we select
HAVE_IRQ_EXIT_ON_IRQ_STACK so that softirq's may be invoked directly
from irq_exit(), rather than requiring do_softirq_own_stack.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
Cc: Thomas Gleixner
From: Matt Redfearn
The SAVE_SOME macro is used to save the execution context on all
exceptions.
If an exception occurs while executing user code, the stack is switched
to the kernel's stack for the current task, and register $28 is switched
to point to the
From: Matt Redfearn
The SAVE_SOME macro is used to save the execution context on all
exceptions.
If an exception occurs while executing user code, the stack is switched
to the kernel's stack for the current task, and register $28 is switched
to point to the current_thread_info, which is at the
From: Matt Redfearn
Within unwind stack, check if the stack pointer being unwound is within
the CPU's irq_stack and if so use that page rather than the task's stack
page.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
From: Matt Redfearn
Within unwind stack, check if the stack pointer being unwound is within
the CPU's irq_stack and if so use that page rather than the task's stack
page.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
Cc: Thomas Gleixner
Cc: Adam Buchbinder
Cc: Maciej W. Rozycki
From: Matt Redfearn
Allocate a per-cpu irq stack for use within interrupt handlers.
Also add a utility function on_irq_stack to determine if a given stack
pointer is within the irq stack for that cpu.
Signed-off-by: Matt Redfearn
Acked-by:
From: Matt Redfearn
Allocate a per-cpu irq stack for use within interrupt handlers.
Also add a utility function on_irq_stack to determine if a given stack
pointer is within the irq stack for that cpu.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
Cc: Thomas Gleixner
Cc: Paolo
On 04/06/2017 06:46 AM, Juergen Borleis wrote:
>>> + phy-reset-gpios = < 6 GPIO_ACTIVE_LOW>;
>>> + phy-reset-duration = <200>;
>>> +
>>> + dsa,member = <0 0>;
>>> +
>>> + ports {
>>> + #address-cells = <1>;
>>> +
On 04/06/2017 06:46 AM, Juergen Borleis wrote:
>>> + phy-reset-gpios = < 6 GPIO_ACTIVE_LOW>;
>>> + phy-reset-duration = <200>;
>>> +
>>> + dsa,member = <0 0>;
>>> +
>>> + ports {
>>> + #address-cells = <1>;
>>> +
Hi Andrew,
On Wednesday 05 April 2017 20:21:55 Andrew Lunn wrote:
> [...]
> > +SMSC/MicroChip LAN9303 three port ethernet switch
> > +-
> > +
> > +Required properties:
> > +
> > +- compatible: should be "smsc,lan9303"
> > +- #size-cells: must be 0
>
Hi Andrew,
On Wednesday 05 April 2017 20:21:55 Andrew Lunn wrote:
> [...]
> > +SMSC/MicroChip LAN9303 three port ethernet switch
> > +-
> > +
> > +Required properties:
> > +
> > +- compatible: should be "smsc,lan9303"
> > +- #size-cells: must be 0
>
On Thu 06-04-17 12:47:57, Peter Zijlstra wrote:
> On Thu, Apr 06, 2017 at 12:42:04PM +0200, Michal Hocko wrote:
>
> > Is this something dictated by usecases which rely on isolcpus or rather
> > nobody bothered to implement one scheduling domain?
>
> Its from the original use-case I suspect. It
On Thu 06-04-17 12:47:57, Peter Zijlstra wrote:
> On Thu, Apr 06, 2017 at 12:42:04PM +0200, Michal Hocko wrote:
>
> > Is this something dictated by usecases which rely on isolcpus or rather
> > nobody bothered to implement one scheduling domain?
>
> Its from the original use-case I suspect. It
Hi Andrew,
On Thursday 06 April 2017 13:59:00 Andrew Lunn wrote:
> [...]
> > > Does the MDIO bus go to the outside world? Could there be external
> > > PHYs?
> >
> > This device includes two phys (at port 1 and 2) and these
> > functions are called to detect their state.
>
> Some switches
Hi Andrew,
On Thursday 06 April 2017 13:59:00 Andrew Lunn wrote:
> [...]
> > > Does the MDIO bus go to the outside world? Could there be external
> > > PHYs?
> >
> > This device includes two phys (at port 1 and 2) and these
> > functions are called to detect their state.
>
> Some switches
On Wed, Apr 05, 2017 at 03:10:58PM +0800, Huang, Ying wrote:
> In general, kmalloc() will have less memory fragmentation than
> vmalloc(). From Dave Hansen: For example, we have a two-page data
> structure. vmalloc() takes two effectively random order-0 pages,
> probably from two different 2M
On Wed, Apr 05, 2017 at 03:10:58PM +0800, Huang, Ying wrote:
> In general, kmalloc() will have less memory fragmentation than
> vmalloc(). From Dave Hansen: For example, we have a two-page data
> structure. vmalloc() takes two effectively random order-0 pages,
> probably from two different 2M
On Wed 05-04-17 18:17:42, David Rientjes wrote:
> Setting thp defrag mode of "defer+madvise" actually sets "defer" in the
> kernel due to the name similarity and the out-of-order way the string is
> checked in defrag_store().
>
> Check the string in the correct order so that
>
On Wed 05-04-17 18:17:42, David Rientjes wrote:
> Setting thp defrag mode of "defer+madvise" actually sets "defer" in the
> kernel due to the name similarity and the out-of-order way the string is
> checked in defrag_store().
>
> Check the string in the correct order so that
>
On Thursday 06 April 2017 06:33 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Thu, Apr 06, 2017 at 09:57:09AM +0100, Jon Hunter wrote:
On 05/04/17 15:13, Laxman Dewangan wrote:
+state of the system. The configuration of pin is provided via the pinctrl
+DT node as detailed in
On Thursday 06 April 2017 06:33 PM, Thierry Reding wrote:
* PGP Signed by an unknown key
On Thu, Apr 06, 2017 at 09:57:09AM +0100, Jon Hunter wrote:
On 05/04/17 15:13, Laxman Dewangan wrote:
+state of the system. The configuration of pin is provided via the pinctrl
+DT node as detailed in
Hi Andrew,
On Wednesday 05 April 2017 19:10:01 Andrew Lunn wrote:
> [...]
> > +static int lan9303_rcv(struct sk_buff *skb, struct net_device *dev,
> > + struct packet_type *pt, struct net_device *orig_dev)
> > +{
> > + u16 *lan9303_tag;
> > + struct dsa_switch_tree *dst =
Hi Andrew,
On Wednesday 05 April 2017 19:10:01 Andrew Lunn wrote:
> [...]
> > +static int lan9303_rcv(struct sk_buff *skb, struct net_device *dev,
> > + struct packet_type *pt, struct net_device *orig_dev)
> > +{
> > + u16 *lan9303_tag;
> > + struct dsa_switch_tree *dst =
When suspending to RAM, the power to the core is cut and the register
values are lost. Save and restore more registers than just IMR.
Signed-off-by: Alexandre Belloni
---
drivers/pinctrl/pinctrl-at91-pio4.c | 34 --
1 file
When suspending to RAM, the power to the core is cut and the register
values are lost. Save and restore more registers than just IMR.
Signed-off-by: Alexandre Belloni
---
drivers/pinctrl/pinctrl-at91-pio4.c | 34 --
1 file changed, 28 insertions(+), 6
Add debug unit on Qualcomm msm8916 based platforms, including the
DragonBoard 410c board.
Signed-off-by: Leo Yan
---
arch/arm64/boot/dts/qcom/msm8916.dtsi | 32
1 file changed, 32 insertions(+)
diff --git
On 04/06/2017 08:11 AM, Smitha T Murthy wrote:
> Added V4l2 controls for HEVC encoder
>
> Signed-off-by: Smitha T Murthy
General comment: don't forget to build the pdf and check that as well.
> ---
> Documentation/media/uapi/v4l/extended-controls.rst | 391
>
Add debug unit on Qualcomm msm8916 based platforms, including the
DragonBoard 410c board.
Signed-off-by: Leo Yan
---
arch/arm64/boot/dts/qcom/msm8916.dtsi | 32
1 file changed, 32 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/msm8916.dtsi
On 04/06/2017 08:11 AM, Smitha T Murthy wrote:
> Added V4l2 controls for HEVC encoder
>
> Signed-off-by: Smitha T Murthy
General comment: don't forget to build the pdf and check that as well.
> ---
> Documentation/media/uapi/v4l/extended-controls.rst | 391
> +
> 1 file
Almost low level functions from open firmware have used const to
qualify device_node structures, so add const for device_node
parameters in of_coresight related functions.
Reviewed-by: Stephen Boyd
Signed-off-by: Leo Yan
---
Coresight includes debug module and usually the module connects with CPU
debug logic. ARMv8 architecture reference manual (ARM DDI 0487A.k) has
description for related info in "Part H: External Debug".
Chapter H7 "The Sample-based Profiling Extension" introduces several
sampling registers, e.g.
Almost low level functions from open firmware have used const to
qualify device_node structures, so add const for device_node
parameters in of_coresight related functions.
Reviewed-by: Stephen Boyd
Signed-off-by: Leo Yan
---
drivers/hwtracing/coresight/of_coresight.c | 6 +++---
Coresight includes debug module and usually the module connects with CPU
debug logic. ARMv8 architecture reference manual (ARM DDI 0487A.k) has
description for related info in "Part H: External Debug".
Chapter H7 "The Sample-based Profiling Extension" introduces several
sampling registers, e.g.
Bind debug module driver for Hi6220.
Signed-off-by: Leo Yan
---
arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 64 +++
1 file changed, 64 insertions(+)
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
Bind debug module driver for Hi6220.
Signed-off-by: Leo Yan
---
arch/arm64/boot/dts/hisilicon/hi6220.dtsi | 64 +++
1 file changed, 64 insertions(+)
diff --git a/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
b/arch/arm64/boot/dts/hisilicon/hi6220.dtsi
index
This is refactor to add function of_coresight_get_cpu(), so it's used to
retrieve CPU id for coresight component. Finally can use it as a common
function for multiple places.
Suggested-by: Mathieu Poirier
Reviewed-by: Suzuki K Poulose
This is refactor to add function of_coresight_get_cpu(), so it's used to
retrieve CPU id for coresight component. Finally can use it as a common
function for multiple places.
Suggested-by: Mathieu Poirier
Reviewed-by: Suzuki K Poulose
Signed-off-by: Leo Yan
---
From: Suzuki K Poulose
The of_get_coresight_platform_data iterates over the possible CPU nodes
to find a given cpu phandle. However it does not drop the reference
to the node pointer returned by the of_get_coresight_platform_data.
This patch also introduces another minor
From: Suzuki K Poulose
The of_get_coresight_platform_data iterates over the possible CPU nodes
to find a given cpu phandle. However it does not drop the reference
to the node pointer returned by the of_get_coresight_platform_data.
This patch also introduces another minor fix is to use
Update kernel-parameters.txt to add new parameter:
coresight_cpu_debug.enable is a knob to enable debugging at boot time.
Add detailed documentation, which contains the implementation, Mike
Leach excellent summary for "clock and power domain". At the end some
examples on how to enable the
Update kernel-parameters.txt to add new parameter:
coresight_cpu_debug.enable is a knob to enable debugging at boot time.
Add detailed documentation, which contains the implementation, Mike
Leach excellent summary for "clock and power domain". At the end some
examples on how to enable the
According to ARMv8 architecture reference manual (ARM DDI 0487A.k)
Chapter 'Part H: External debug', the CPU can integrate debug module
and it can support self-hosted debug and external debug. Especially
for supporting self-hosted debug, this means the program can access
the debug module from mmio
According to ARMv8 architecture reference manual (ARM DDI 0487A.k)
Chapter 'Part H: External debug', the CPU can integrate debug module
and it can support self-hosted debug and external debug. Especially
for supporting self-hosted debug, this means the program can access
the debug module from mmio
ARMv8 architecture reference manual (ARM DDI 0487A.k) Chapter H7 "The
Sample-based Profiling Extension" has description for sampling
registers, we can utilize these registers to check program counter
value with combined CPU exception level, secure state, etc. So this is
helpful for CPU lockup
ARMv8 architecture reference manual (ARM DDI 0487A.k) Chapter H7 "The
Sample-based Profiling Extension" has description for sampling
registers, we can utilize these registers to check program counter
value with combined CPU exception level, secure state, etc. So this is
helpful for CPU lockup
On Thu, Apr 06, 2017 at 03:12:42PM +1000, NeilBrown wrote:
> On Wed, Apr 05 2017, Matthew Wilcox wrote:
>
> > On Thu, Apr 06, 2017 at 10:02:48AM +1000, NeilBrown wrote:
> >> If you are concerned about space in 'struct address_space', just prune
> >> some wastage.
> >
> > I'm trying to (via
On Thu, Apr 06, 2017 at 03:12:42PM +1000, NeilBrown wrote:
> On Wed, Apr 05 2017, Matthew Wilcox wrote:
>
> > On Thu, Apr 06, 2017 at 10:02:48AM +1000, NeilBrown wrote:
> >> If you are concerned about space in 'struct address_space', just prune
> >> some wastage.
> >
> > I'm trying to (via
On Thu, Apr 6, 2017 at 2:04 AM, Michael Neuling wrote:
> Hi all,
>
> We are seeing the following crash (in linux-next but has been around since at
> least v4.10).
>
> [ 417.514499] Unable to handle kernel paging request for data at address
> 0x2260
> [ 417.515361]
On Thu, Apr 6, 2017 at 2:04 AM, Michael Neuling wrote:
> Hi all,
>
> We are seeing the following crash (in linux-next but has been around since at
> least v4.10).
>
> [ 417.514499] Unable to handle kernel paging request for data at address
> 0x2260
> [ 417.515361] Faulting instruction
From: Matt Redfearn
Since do_IRQ is now invoked on a separate IRQ stack, we select
HAVE_IRQ_EXIT_ON_IRQ_STACK so that softirq's may be invoked directly
from irq_exit(), rather than requiring do_softirq_own_stack.
Signed-off-by: Matt Redfearn
From: Matt Redfearn
Since do_IRQ is now invoked on a separate IRQ stack, we select
HAVE_IRQ_EXIT_ON_IRQ_STACK so that softirq's may be invoked directly
from irq_exit(), rather than requiring do_softirq_own_stack.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
Cc: Thomas Gleixner
From: Matt Redfearn
When enterring interrupt context via handle_int or except_vec_vi, switch
to the irq_stack of the current CPU if it is not already in use.
The current stack pointer is masked with the thread size and compared to
the base or the irq stack. If it does
From: Matt Redfearn
When enterring interrupt context via handle_int or except_vec_vi, switch
to the irq_stack of the current CPU if it is not already in use.
The current stack pointer is masked with the thread size and compared to
the base or the irq stack. If it does not match then the stack
From: Matt Redfearn
Allocate a per-cpu irq stack for use within interrupt handlers.
Also add a utility function on_irq_stack to determine if a given stack
pointer is within the irq stack for that cpu.
Signed-off-by: Matt Redfearn
Acked-by:
From: Matt Redfearn
Allocate a per-cpu irq stack for use within interrupt handlers.
Also add a utility function on_irq_stack to determine if a given stack
pointer is within the irq stack for that cpu.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
Cc: Thomas Gleixner
Cc: Paolo
From: Matt Redfearn
Within unwind stack, check if the stack pointer being unwound is within
the CPU's irq_stack and if so use that page rather than the task's stack
page.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
From: Matt Redfearn
The SAVE_SOME macro is used to save the execution context on all
exceptions.
If an exception occurs while executing user code, the stack is switched
to the kernel's stack for the current task, and register $28 is switched
to point to the
From: Matt Redfearn
Within unwind stack, check if the stack pointer being unwound is within
the CPU's irq_stack and if so use that page rather than the task's stack
page.
Signed-off-by: Matt Redfearn
Acked-by: Jason A. Donenfeld
Cc: Thomas Gleixner
Cc: Adam Buchbinder
Cc: Maciej W. Rozycki
From: Matt Redfearn
The SAVE_SOME macro is used to save the execution context on all
exceptions.
If an exception occurs while executing user code, the stack is switched
to the kernel's stack for the current task, and register $28 is switched
to point to the current_thread_info, which is at the
901 - 1000 of 1976 matches
Mail list logo