lkml.org 
[lkml]   [2005]   [Aug]   [15]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateMon, 15 Aug 2005 20:12:54 +1000
FromNick Piggin <>
SubjectRe: [patch 18/39] remap_file_pages protection support: add VM_FAULT_SIGSEGV
Russell King wrote:
> On Fri, Aug 12, 2005 at 08:21:45PM +0200, blaisorblade@yahoo.it wrote:
> 
>>@@ -632,10 +632,11 @@ static inline int page_mapped(struct pag
>>  * Used to decide whether a process gets delivered SIGBUS or
>>  * just gets major/minor fault counters bumped up.
>>  */
>>-#define VM_FAULT_OOM	(-1)
>>-#define VM_FAULT_SIGBUS	0
>>-#define VM_FAULT_MINOR	1
>>-#define VM_FAULT_MAJOR	2
>>+#define VM_FAULT_OOM		(-1)
>>+#define VM_FAULT_SIGBUS		0
>>+#define VM_FAULT_MINOR		1
>>+#define VM_FAULT_MAJOR		2
>>+#define VM_FAULT_SIGSEGV	3
>> 
>> #define offset_in_page(p)	((unsigned long)(p) & ~PAGE_MASK)
>> 
> 
> 
> Please arrange for "success" values to be numerically larger than "failure"
> values.  This will avoid breaking ARM.
> 
> Is there a reason why we don't use -ve numbers for failure and +ve for
> success here?
> 

Well there is now, and that is we are now using a bit in the 2nd
byte as flags. So I had to do away with -ve numbers there entirely.

You could achieve a similar thing by using another bit in that byte
#define VM_FAULT_FAILED 0x20
and make that bit present in VM_FAULT_OOM and VM_FAULT_SIGBUS, then
do an unlikely test for that bit in your handler and branch away to
the slow path.

-- 
SUSE Labs, Novell Inc.

Send instant messages to your online friends http://au.messenger.yahoo.com 

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-08-15 12:16    [W:1.265 / U:0.630 seconds]
©2003-2008 Jasper Spaans