At Fri, 23 Jan 2004 20:40:04 +1100,
Stephen Cook wrote:
> 
> 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. 

well, i'm also waiting for the response from others.
for my eyes, it's no problem to apply...


Takashi

> 
> 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
> 


-------------------------------------------------------
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