The 'access_permitted' helper is used in the gup-fast path and goes
beyond the simple _PAGE_RW check to also:
* validate that the mapping is writable from a protection keys
standpoint
* validate that the pte has _PAGE_USER set since all fault paths where
pte_write is must be referencing user-
The 'access_permitted' helper is used in the gup-fast path and goes
beyond the simple _PAGE_RW check to also:
* validate that the mapping is writable from a protection keys
standpoint
* validate that the pte has _PAGE_USER set since all fault paths where
pmd_write is must be referencing user-
The 'access_permitted' helper is used in the gup-fast path and goes
beyond the simple _PAGE_RW check to also:
* validate that the mapping is writable from a protection keys
standpoint
* validate that the pte has _PAGE_USER set since all fault paths where
pud_write is must be referencing user-
Currently only get_user_pages_fast() can safely handle the writable gup
case due to its use of pud_access_permitted() to check whether the pud
entry is writable. In the gup slow path pud_write() is used instead of
pud_access_permitted() and to date it has been unimplemented, just calls
BUG_ON().
Andrew,
Here is a new version to the pud_write() fix [1], and some follow-on
patches to use the '_access_permitted' helpers in fault and
get_user_pages() paths where we are checking if the thread has access to
write. I explicitly omit conversions for places where the kernel is
checking the _PAGE_R
Add tests for read-only to read-write conversions of dax mappings and
for the gup slow path where the initial fault is a write fault. The
gup-slow-path write fault path has been broken for the pud case since it
was introduced upstream.
Cc: Dave Jiang
Signed-off-by: Dan Williams
---
test/dax-pmd
The size for mmap needs to be aligned to the region alignment. Add helper
funciton to determine the actual size to be mmap'd.
Signed-off-by: Dave Jiang
---
daxctl/io.c | 23 ++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/daxctl/io.c b/daxctl/io.c
index 2f
On Fri, Nov 10, 2017 at 8:42 AM, Jeff Moyer wrote:
> Dan Williams writes:
>
>>> I don't know, is it impossible to make this work w/o yanking out -lpmem?
>>
>> My preference would be that allthe pmem_memcpy* routines move to
>> libndctl since it is the lower level library. Arrange for nvml to
>>
Dan Williams writes:
>> I don't know, is it impossible to make this work w/o yanking out -lpmem?
>
> My preference would be that allthe pmem_memcpy* routines move to
> libndctl since it is the lower level library. Arrange for nvml to
> depend on libdnctl for this in addition to the other libndct
On Fri, Nov 10, 2017 at 7:31 AM, Jeff Moyer wrote:
> Oliver writes:
>
>> On Fri, Nov 10, 2017 at 1:40 AM, wrote:
>>> From: Łukasz Plewa
>>>
>>> The next version of libpmem will depend on libndctl - as daxctl
>>> depends on libpmem, it will make building packages inconvenient.
>>> This patch re
Oliver writes:
> On Fri, Nov 10, 2017 at 1:40 AM, wrote:
>> From: Łukasz Plewa
>>
>> The next version of libpmem will depend on libndctl - as daxctl
>> depends on libpmem, it will make building packages inconvenient.
>> This patch replaces libpmem calls with intrinsic functions what
>> allows
原邮件信息 -
发件人:井庇
收件人: ;
发送时间:2017-11-10 19:04:55
国际贸易离岸操作、国际避税暨离岸金融税务贸易筹划
课程背景
进出口企业为什么应当选择国际贸易离岸业务?为什么说全球贸易的绝大部分来自于离岸操作的运营结果?这其中到底隐含着什么样的诀窍?
除了不断地降低企业的运营和采购成本外,还有没有其他方法降低企业的国际运营成本?国际企业为什么要把总部设在国际离岸港?
面对全球的税务稽查以及越来越严格国内税收与海关监管,您的企业还有什么办法来降低国际运营的税务成本?究竟应怎样运营离岸税收筹划?如何通过跨国离岸操作来规
On Tue, Oct 31, 2017 at 04:22:56PM -0700, Dan Williams wrote:
> Add hashed waitqueue infrastructure to wait for ZONE_DEVICE pages to
> drop their reference counts and be considered idle for DMA. This
> facility will be used for filesystem callbacks / wakeups when DMA to a
> DAX mapped range of a fi
> + struct {
> + /*
> + * ZONE_DEVICE pages are never on an lru or handled by
> + * a slab allocator, this points to the hosting device
> + * page map.
> + */
> +
On Tue, Oct 31, 2017 at 04:22:46PM -0700, Dan Williams wrote:
> Combine the now three use cases of page-idle callbacks for ZONE_DEVICE
> memory into a common selectable symbol.
Very sparse changelog. I understand the Kconfig bit, but it also seems to
introduce new static key functionality that is
> +DEFINE_MUTEX(devmap_lock);
static?
> +#if IS_ENABLED(CONFIG_FS_DAX)
> +static void generic_dax_pagefree(struct page *page, void *data)
> +{
> +}
> +
> +struct dax_device *fs_dax_claim_bdev(struct block_device *bdev, void *owner)
> +{
> + struct dax_device *dax_dev;
> + struct dev_pagem
16 matches
Mail list logo