Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1724408

Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data Integrity)

From Khalid Aziz <khalid.aziz@oracle.com>
Newsgroups linux.kernel
Subject Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data Integrity)
Date 2017-08-31 18:50 +0200
Message-ID <ukAPf-81j-3@gated-at.bofh.it> (permalink)
References <ukjEK-5Jg-21@gated-at.bofh.it> <ukjOq-5Me-17@gated-at.bofh.it> <ukkAN-6iD-3@gated-at.bofh.it> <ukldw-6KE-1@gated-at.bofh.it>
Organization Oracle Corp

Show all headers | View raw


On 08/30/2017 06:09 PM, David Miller wrote:
> From: Khalid Aziz <khalid.aziz@oracle.com>
> Date: Wed, 30 Aug 2017 17:23:37 -0600
> 
>> That is an interesting idea. This would enable TSTATE_MCDE on all
>> threads of a process as soon as one thread enables it. If we consider
>> the case where the parent creates a shared memory area and spawns a
>> bunch of threads. These threads access the shared memory without ADI
>> enabled. Now one of the threads decides to enable ADI on the shared
>> memory. As soon as it does that, we enable TSTATE_MCDE across all
>> threads and since threads are all using the same TTE for the shared
>> memory, every thread becomes subject to ADI verification. If one of
>> the other threads was in the middle of accessing the shared memory, it
>> will get a sigsegv. If we did not enable TSTATE_MCDE across all
>> threads, it could have continued execution without fault. In other
>> words, updating TSTATE_MCDE across all threads will eliminate the
>> option of running some threads with ADI enabled and some not while
>> accessing the same shared memory. This could be necessary at least for
>> short periods of time before threads can communicate with each other
>> and all switch to accessing shared memory with ADI enabled using same
>> tag. Does that sound like a valid use case or am I off in the weeds
>> here?
> 
> A threaded application needs to synchronize and properly orchestrate
> access to shared memory.
> 
> When a change is made to a mappping, in this case setting ADI
> attributes, it's being done for the address space not the thread.
> 
> And the address space is shared amongst threads.
> 
> Therefore ADI is not really a per-thread property but rather
> a per-address-space property.
> 

That does make sense.

Thanks,
Khalid

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data  Integrity) Khalid Aziz <khalid.aziz@oracle.com> - 2017-08-31 00:30 +0200
  Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data  Integrity) David Miller <davem@davemloft.net> - 2017-08-31 00:40 +0200
    Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data  Integrity) Khalid Aziz <khalid.aziz@oracle.com> - 2017-08-31 01:30 +0200
      Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data  Integrity) David Miller <davem@davemloft.net> - 2017-08-31 02:10 +0200
        Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data  Integrity) Khalid Aziz <khalid.aziz@oracle.com> - 2017-08-31 18:50 +0200
  Re: [PATCH v7 9/9] sparc64: Add support for ADI (Application Data Integrity) Anthony Yznaga <anthony.yznaga@oracle.com> - 2017-09-01 07:50 +0200

csiph-web