[PATCH] Adding diversity for security

Nadav Rotem nrotem at apple.com
Wed Oct 16 18:01:53 PDT 2013


Can you try to find another solution that is less intrusive ?  I understand that protecting terminators is important but the code has many users who may not want to pay the added cost that you are adding by allowing randomization.  

On Oct 16, 2013, at 5:55 PM, Stephen James Crane <sjcrane at uci.edu> wrote:

> Hi Nadav,
> 
> I added the flag to be able to skip over inserted NOPs when traversing the MachineBasicBlock terminator list (CodeGen/MachineBasicBlock.cpp). There's probably a better way to do this, but I don't know it. Any ideas? We still wanted to insert in between terminators, since we don't want to leave anything predictably untouched.
> 
> - stephen
> 
> 
> On Wed, Oct 16, 2013 at 5:50 PM, Nadav Rotem <nrotem at apple.com> wrote:
> Hi Stephen,
> 
> Why did you need to add a new NOP flag and the isInsertedNOP function ?
> 
> Thanks,
> Nadav
> 
> 
> On Oct 16, 2013, at 5:30 PM, Stephen Crane <sjcrane at uci.edu> wrote:
> 
> >    - Replaced OpenSSL AES RNG with an MD5 HMAC_DRBG RNG
> >    - Updating test cases for new RNG
> >    - Formatting and comments for the RNG
> >
> > http://llvm-reviews.chandlerc.com/D1802
> >
> > CHANGE SINCE LAST DIFF
> >  http://llvm-reviews.chandlerc.com/D1802?vs=4930&id=4977#toc
> >
> > Files:
> >  include/llvm/CodeGen/CommandFlags.h
> >  include/llvm/CodeGen/MachineInstr.h
> >  include/llvm/MC/MCRegisterInfo.h
> >  include/llvm/Support/RandomNumberGenerator.h
> >  include/llvm/Target/TargetOptions.h
> >  lib/CodeGen/LLVMBuild.txt
> >  lib/CodeGen/MachineBasicBlock.cpp
> >  lib/CodeGen/SelectionDAG/ScheduleDAGRRList.cpp
> >  lib/LTO/LTOCodeGenerator.cpp
> >  lib/LTO/LTOModule.cpp
> >  lib/Support/CMakeLists.txt
> >  lib/Support/RandomNumberGenerator.cpp
> >  lib/Target/X86/CMakeLists.txt
> >  lib/Target/X86/NOPInsertion.cpp
> >  lib/Target/X86/X86.h
> >  lib/Target/X86/X86TargetMachine.cpp
> >  test/CodeGen/X86/nop-insert-percentage.ll
> >  test/CodeGen/X86/nop-insert.ll
> >  test/CodeGen/X86/sched-rnd-test.ll
> >  tools/llc/llc.cpp
> >  tools/llvm-lto/llvm-lto.cpp
> >  tools/lto/lto.cpp
> >  tools/opt/opt.cpp
> > <D1802.7.patch>
> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20131016/fa7d50a9/attachment.html>


More information about the llvm-commits mailing list