I hope I don't sound to persistent but I am just wondering when this patch is going to 
be merged or if there is anything I can do to help speed it up.  Such as any changes 
to the patch etc.

Thanks
Stephen
--

--------- Original Message ---------

DATE: Mon, 12 Jan 2004 15:03:54
From: Takashi Iwai <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Cc: 

>At Mon, 12 Jan 2004 12:27:23 +1100,
>Stephen Cook wrote:
>> 
>> [1  <text/plain; us-ascii (7bit)>]
>> As you may be currently aware alsa-lib (libasound) does not work very well when 
>> using it under a kernel that has the Pax (http://pax.grsecurity.net) or Grsecurity 
>> (http://www.grsecurity.net) Patch.
>> 
>> The problem is because there is a function in a function (trampoline) - So gcc 
>> generates code that conflicts with pax.  Also there is a text-relocation problem.
>> 
>> So I helped create patch that will fix these problems so alsa will be more usable 
>> on a Pax/Grsecurity machine (no chpax work arounds and more security).  Currently 
>> this patch is included in alsa-lib-1.0.1 in Gentoo so it is undergoing large scale 
>> testing.  For my part I have 2 machines running with Pax and this alsa-lib patch 
>> and I have had no problems :)
>> 
>> The code is a work around so if you know of a better way to do it please tell me.
>
>i think this funciton-in-function is too dependent on gcc, too, and
>would like to get rid of it.  the patch looks fine for me.
>or, we can add ifdef if someone still wants to keep the original
>style.
>
>comments?
>
>
>Takashi
>
>
>> 
>> 
>> 
>> 
>> 
>> ____________________________________________________________
>> Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
>> http://login.mail.lycos.com/r/referral?aid=27005
>> [2 alsa-lib-1.0.1-notextrel-notrampoline.patch <text/plain; us-ascii (7bit)>]
>> diff -Nru alsa-lib-1.0.0rc2-original/src/control/hcontrol.c 
>> alsa-lib-1.0.0rc2/src/control/hcontrol.c
>> --- alsa-lib-1.0.0rc2-original/src/control/hcontrol.c        Mon Oct 13 08:06:46 
>> 2003
>> +++ alsa-lib-1.0.0rc2/src/control/hcontrol.c Sat Dec 20 13:48:32 2003
>> @@ -48,6 +48,7 @@
>>  #include <string.h>
>>  #include <fcntl.h>
>>  #include <sys/ioctl.h>
>> +#include <pthread.h>
>>  #ifndef DOC_HIDDEN
>>  #define __USE_GNU
>>  #endif
>> @@ -409,17 +410,26 @@
>>      return 0;
>>  }
>>  
>> +static snd_hctl_t *compare_hctl;
>> +static int hctl_compare(const void *a, const void *b) {
>> +    return compare_hctl->compare(*(const snd_hctl_elem_t * const *) a,
>> +                         *(const snd_hctl_elem_t * const *) b);
>> +}
>> +
>>  static void snd_hctl_sort(snd_hctl_t *hctl)
>>  {
>>      unsigned int k;
>> -    int compar(const void *a, const void *b) {
>> -            return hctl->compare(*(const snd_hctl_elem_t * const *) a,
>> -                                 *(const snd_hctl_elem_t * const *) b);
>> -    }
>> +    static pthread_mutex_t sync_lock = PTHREAD_MUTEX_INITIALIZER;
>> +
>>      assert(hctl);
>>      assert(hctl->compare);
>>      INIT_LIST_HEAD(&hctl->elems);
>> -    qsort(hctl->pelems, hctl->count, sizeof(*hctl->pelems), compar);
>> +
>> +    pthread_mutex_lock(&sync_lock);
>> +    compare_hctl = hctl;
>> +    qsort(hctl->pelems, hctl->count, sizeof(*hctl->pelems), hctl_compare);
>> +    pthread_mutex_unlock(&sync_lock);
>> +
>>      for (k = 0; k < hctl->count; k++)
>>              list_add_tail(&hctl->pelems[k]->list, &hctl->elems);
>>  }
>> diff -Nru alsa-lib-1.0.0rc2-original/src/pcm/pcm_direct.c 
>> alsa-lib-1.0.0rc2/src/pcm/pcm_direct.c
>> --- alsa-lib-1.0.0rc2-original/src/pcm/pcm_direct.c  Fri Oct 17 09:53:06 2003
>> +++ alsa-lib-1.0.0rc2/src/pcm/pcm_direct.c   Sat Dec 20 13:49:22 2003
>> @@ -98,7 +98,6 @@
>>  
>>  int snd_pcm_direct_shm_create_or_connect(snd_pcm_direct_t *dmix)
>>  {
>> -    static int snd_pcm_direct_shm_discard(snd_pcm_direct_t *dmix);
>>      struct shmid_ds buf;
>>      int ret = 0;
>>      
>
>
>-------------------------------------------------------
>This SF.net email is sponsored by: Perforce Software.
>Perforce is the Fast Software Configuration Management System offering
>advanced branching capabilities and atomic changes on 50+ platforms.
>Free Eval! http://www.perforce.com/perforce/loadprog.html
>_______________________________________________
>Alsa-devel mailing list
>[EMAIL PROTECTED]
>https://lists.sourceforge.net/lists/listinfo/alsa-devel
>



____________________________________________________________
Get advanced SPAM filtering on Webmail or POP Mail ... Get Lycos Mail!
http://login.mail.lycos.com/r/referral?aid=27005


-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to