linux/net/compat.c
<<
>>
Prefs
   1/*
   2 * 32bit Socket syscall emulation. Based on arch/sparc64/kernel/sys_sparc32.c.
   3 *
   4 * Copyright (C) 2000           VA Linux Co
   5 * Copyright (C) 2000           Don Dugger <n0ano@valinux.com>
   6 * Copyright (C) 1999           Arun Sharma <arun.sharma@intel.com>
   7 * Copyright (C) 1997,1998      Jakub Jelinek (jj@sunsite.mff.cuni.cz)
   8 * Copyright (C) 1997           David S. Miller (davem@caip.rutgers.edu)
   9 * Copyright (C) 2000           Hewlett-Packard Co.
  10 * Copyright (C) 2000           David Mosberger-Tang <davidm@hpl.hp.com>
  11 * Copyright (C) 2000,2001      Andi Kleen, SuSE Labs
  12 */
  13
  14#include <linux/kernel.h>
  15#include <linux/gfp.h>
  16#include <linux/fs.h>
  17#include <linux/types.h>
  18#include <linux/file.h>
  19#include <linux/icmpv6.h>
  20#include <linux/socket.h>
  21#include <linux/syscalls.h>
  22#include <linux/filter.h>
  23#include <linux/compat.h>
  24#include <linux/security.h>
  25
  26#include <net/scm.h>
  27#include <net/sock.h>
  28#include <net/ip.h>
  29#include <net/ipv6.h>
  30#include <asm/uaccess.h>
  31#include <net/compat.h>
  32
  33static inline int iov_from_user_compat_to_kern(struct iovec *kiov,
  34                                          struct compat_iovec __user *uiov32,
  35                                          int niov)
  36{
  37        int tot_len = 0;
  38
  39        while (niov > 0) {
  40                compat_uptr_t buf;
  41                compat_size_t len;
  42
  43                if (get_user(len, &uiov32->iov_len) ||
  44                    get_user(buf, &uiov32->iov_base))
  45                        return -iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43              ef="net/compat.c#L37" i4="L3746lass="line" name="L43">  43      4 int get_user(( = 0;
  45
(( = 0;
  43     a>      4 while (  43<5a>      5         compat_uptr_t(  42<5a>      5         compat_size_tiov_base))
(  42<5a>
compat_size_tiov_base))
(  42<5a>      5         if (->  42<5a>      5             >compat_size_t  42<5 * Copyrig-  42<5        5ef="net/compat.c#L37" i5="L3756f="+code=EGA}="line" name="L42">  42<5a>      5 int iov_baen = 0;
  43    5a>
  42<5a>      5 while (  43<6a>      6         s="srefmsghde=buf" class="sref">s="srefmsghderef">iovec *,
u"sref">compat_iovec  *uiov32,
  45<6a>      6           37<6a>
compat_uptr_t buf;
uu  43    6a>      6         if (  14<6a>      6             uu"refof(2,
  44<6 * Copyri6-, &uiov32->iov_base))
  44<6 * Copyrig="L3766f="+code=EGAULT  *, &iov_base))
uiov32->iov_base))
  44<6a>      6 int , &uiov32->iov_base))
  44<6a>
, &iov_base))
uiov32->iov_base))
  44<6a>      6 while (, &uiov32->iov_base))
  44<7a>      7         , &iov_base))
uiov32->iov_base))
  44<7a>      7         , &iov_base))
uiov32->iov_base))
  45<7a>
iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    7a>      7         if (iov_base))
(  42<7a>      7             iov_base))
(  42<7 * Copyri7-iov_base))
(  42<7 * Copyri7="L3776f="+code=EGA>iov_bass="line" name="L38">  38<7 * Copyriglen" 77f="+}="line" name="L42">  42<7a>
  39<7a>      7 while (  13<8a>      8         s="srefef="+ref">iovec *,
u"sref">compat_ioveckiov,
="line" name="L13">  13<8a>      8         compat_iovec,
uot_len = 0;
  45<8a>
  37<8a>      8         if ( = 0;
  38<8a>      8               39<8 * Copyri8-(iov_base))
  37<8 * Copyri8="L3786f="+code=EGAULT lassget_user((  37<8 * Copyri8len" 87_user" class="sref">r" classot_len = 0;
(k_addeclass="selet/compat.c#L38m">k_addeclass="sel/a>, &iov_base))
="line" name="L13">  13<8 * Copyrig"L39"88f="+code=EGAULT class="sref"""""""""""""""""""""""""""""""user(iov_base))
="line" name="L13">  13<8a>      8 while ((  42<9a>      9         (  45<9a>      9         iov_baen = 0;
  42<9a>
  42<9a>      9         if (->iov_base))
(  42<9a>      9               42<9 * Copyri9-iov_base))
(  42<9 * Copyri9="L3796lass="line" name="L43">  43<9 * Copyri9len" 97_user" classen = 0;
(iov_from_user_compat_to_kern(struct ,
="line" name="L13">  13<9 * Copyri9"L39"98f="+code=EGAULT class="sref""""""""""""""""""">iovec *__user *uiov32) > 0) {
iov_base))
="line" name="L13">  13<9 * Copyrigiov" 99_user" class="srclass="sref""""""""""""""""""" > 0) {
iov_base))
  19 * Copyrigcompigc_user" classget_user(  45<10a> * Copyri01ompig_size_t" class="sref">compat_size_tiov_base))
(  19 */  43<10a>
iov_baen = 0;
  43    10a>#includ0e <  42<10a>#includ0e <  26<10a>#includ0e <  13<10a>#includ0e < = 0;
,
compat_size_t>,
u"refof(compat_iovec  45<10a>#includ0e <  39<10a>#includ0e < = 0;
,
  11 * Copyriight 11c_user" class((voidr *uiov32)((charr *uiov32)(,
 = 0;
"refof(iovec *  45<1/a> * Copyrig1ompiC) 200cdefef=aen = 0;
,
  11 */
,
"refof(iovec * = 0;
,
  45<1/a>
 = 0;
,
  11#includde <,
"refof(iovec *,
  45<1/a>#includde <  26<1/a>#includde < = 0;
,
  11#includde <,
iov_base))
   11#includde < * *uiov32)((,
iov_base))
  11#includde < * *uiov32)user(  45<1/a>#inclu1de <  45<1/a>,
u,
u,
  11#inclu1de <>,
   11
,
  11#includde <iov_base))
  11#includef="net/compat.c#L26" id1="L2612ef="+code=EGAUL((charr2)(,
iov_base))
  45<1/a>#inclu1de <  43<1/a>#inclu1de <inline int   *uiov32,
"ovec *,
="line" name="L13">  13<1/a>#inclu1de < * *uiov32,
uot_len = 0;
  45<1/a>#includde <  37<1/a>#inclu1de < *uiov32 *bu/a>,L=c charr *uiov32),
 = 0;
,
  43    1/a>#inclu1de <,
bu/a>,L+ 1 - (charr *uiov32),
iov_base))
  19
iov_base))
  19
>iov_baen = 0;
  42<1/a>      1                        1     1      struct <>iov_ba(iovec * *uiov32)user(bu+code=len" clas>bu/a>,s="line" name="L42">  42<1/a>#includ                        1     1      }="line" name="L42">  42<1/a>{
  43<1/a>      1  int   13#inclu1ef="net/compat.c#L39" id1="L3913) 1997           David S. Millthus placed S.) of cmsg   13#includ  while (  13      1            13<1/a>      1          "ovec *,
u"sref">compat_iovec,
="line" name="L13">  13<1/a>
uot_len = 0;
  19      1          if (  37<1/a>      1               * *uiov32,
  42<1/a>      1                  return1 -msghde=buf" class="srsmsghderef"a>,
u>,
  42<1/a>{
 *len;
  42<1/a>      14 int  = 0;
(u,
  42<1/a>#inclu14f="net/compat.c#L39" id14"L39148f="+code=EGAot_len = 0;
))code=EGAULT class="sre49f3" class="line" name="L43">  43    1 a>      14 while (  43<15a>      15         (  38<15a>      15         ( *)user(  38<15a>
(,
  43    15a>      15         if ( > 0) {
(  37<15a>      15             get_user(len, &uiov32->iov_base))
  19 * Copyri1g-  43    15        15ef="net/compat.c#L37" i15="L3156lass="line" name="L43">  43<15a>      15 int   13<15a>
,
u,
u,
  19      15 while (iov_base))code=EGAUINVAL=buf" class="srUINVALline" name="L43">  43    16a>      16           45<16a>      16         compat_size_t,
 = 0;
"refof(2,
  45<16a>
 = 0;
"refof(iovec *  43    16a>      16         if (-> = 0;
->  43    16a>      16             >compat_size_t(  42<16 * Copyri16->compat_size_t(,
u,
u,
  42<16a>#includee <  42<16a>      16 int (  45<16a>
iov_base))code=EGAUINVAL=buf" class="srUINVALline" name="L43">  43    16a>      16 while (  43<17a>      17           10      17           10
  10      17         if (  10      17               13<17 * Copyri17-((  19 * Copyri17="L3176f="+code=EGAULT lass,
(,
cuser(u,
  42<17 * Copyri1glen"177_user" classget_user((  42<17a>
iov_base))code=EGAUNOBUFS=buf" class="srUNOBUFSline" name="L43">  43    17a>      17 while (  43<18a>      18           13<18a>      18         ,
u0>cuser(  42<18a>
(,
  43    18a>      18         if ( > 0) {
(  37<18a>      18             get_user(, &uiov32->iov_base))
  19 * Copyri18-  43    18 * Copyri18="L3186f="+code=EGAULT lassget_!,
u,
u,
  19 * Copyri18len"187_user" class="sref">r" classgoto e))code=EGAUinvalet/compat.c#L38Uinvalline" name="L43">  43    18a>
 * Copyri1g"L39188f="+code=EGAULT clas>compat_size_t,
 = 0;
"refof(2,
  45<18a>      18 while ( = 0;
"refof(iovec *  43    19a>      19          = 0;
( = 0;
->  19      19         ))code=EGAUinvalet/compat.c#L38Uinvalline" name="L43">  43    19a>
(iov_base))
(  42<19a>      19         if (-> = 0;
->  43    19a>      19             get_user(, &iov_base))
uiov32->iov_base))
  44<19 * Copyri19-->, &iov_base))
uiov32->iov_base))
  44<19 * Copyri19="L3196f="+code=EGAULT lassef">->, &,
="line" name="L13">  13<19 * Copyri19len"197_user" class="sref">r" classLT lassef">->,
="line" name="L13">  13<19a>
 * Copyri19"L39198f="+code=EGAULT class="sref"""""""""""">,
 = 0;
"refof(2,
  19      1aass="comment"> * Copyri1giov"199_user" class="srclass="sref"goto e))code=EGAUfaul"+code=len" clasUfaul"line" name="L43">  43    20a> * Copyr2gcomp20ocket="line" name="L45">  45<20a> * Copyr201omp2g_size_t" class="sref">,1998      Jakub Jeli/* Advance.L13" class="line" name="L13">  13<20a> */( *)_(charr2),
 = 0;
  43    20a>
->(,
u,
u,
    204>
    205>
 * Copyri205omp2gclass="line" name="L26">  26<20a>#inclu20e <iov_basu id=".L13" class="line" name="L13">  13<207>#inclu20ass="comment"> * Copyri207omp207_user" classen = 0;
iov_base))
(  42<20a>#inclu20e < = 0;
iov_base))
(  42<209>#inclu20ass="comment"> * Copyri209omp209_user" class>iov_bass="line" name="L38">  38<2aa> * Copyr2ight 21ocket="line" name="L45">  45<2/a> * Copyr2g1omp2C) 200e))code=EGAUinvalet/compat.c#L38Uinvalline:="line" name="L45">  45<2/a> */
))code=EGAUINVAL=buf" class="srUINVALline" name="L43">  43    2/a>
  45<2/4>
 *)user(  19<2/a>#inclu2de <>compat_size_t,
cuser(cuser(  42<2/a>#inclu2de <iov_ba,
  42<2/7>#inclu2de <  42<2aa>#inclu2de <  39<2aa>#inclu2de < = 0;
"ovec *,
uot_len = 0;
uot_len = 0;
uot_len = 0;
,
  19<2/a>#inclu2de <  37<2/a> *tpat.c#L34" id="L>tpref"s="line" name="L42">  42<2/a>#inclu2de < * *  42<2/a>
 * *uiov32,
 * *uiov32)sen = 0;
iov_base))
  42<2/4>
 * *  42<2/a>#inclu2ef="net/compat.c#L26" id2="L2622ef="+code=EGAot_len = 0;
  42<2/a>#inclu2de <  43<2/a>#inclu2de <(( = 0;
iov_base))
  37<2/a>#inclu2de < = 0;
iov_base))
(  42<2/a>#inclu2de <  13<2/a>#inclu2de <  42<2/a>#inclu2de <  42<2/a>#inclu2ef="net/compat.c#L33" id2="L33232size_t" clasget_user(( = 0;
(  37<2/a>
iovec * *  42<2/a>      2                        2     23t_user" class="sref">>compat_size_t<>tpat.c#L34" id="L>tpref".,
(iov_base))
  42<2/a>#inclu2                        2     23ef="+code=EGAULT ef">>compat_size_t<>tpat.c#L34" id="L>tpref".,
(iov_base))
  42<2/a>#inclu2ref="net/compat.c#L37" i2d="L3236f="+code=EGAULT lass,
->tpat.c#L34" id="L>tpref"s="line" name="L42">  42<2/a>      2  int  = 0;
tpat.c#L34" id="L>tpref"ls="line" name="L42">  42<2aa>#inclu2ef="net/compat.c#L39" id2="L39238_user" class}="line" name="L42">  42<2/a>#inclu2  while (((  42<2/a>      2          ( = 0;
(  37<2/a>      2           = 0;
((  42<2/a>#inclu2ef="net/compat.c#L43" id2="L43242size_t" class="sref"ot_len = 0;
  42<2/a>      2          if (iovec *(  42<2/a>      2              fors>-> = 0;
 = 0;
 = 0;
  37<2/a>#inclu2                  return2 -tset/compat.c#L38>tssize[en = 0;
( = 0;
  42<2/a>#inclu2 ef="net/compat.c#L37" i24="L3246f="+code=EGAULT lassef">ct  *( = 0;
  42<2/a>      24 int   42<2/a>#inclu24f="net/compat.c#L39" id24"L39248f="+code=EGAULT clasen = 0;
->tset/compat.c#L38>tssizes="line" name="L42">  42<2/a>#inclu24 while (tset/compat.c#L38>tssize[0]) * en = 0;
  42<25a>      25           42<25a>      25           42<25a>
(,
  42<25a>      25         if (iov_base))
  37<25a>      25             en = 0;
iov_base))
(  42<25 * Copyri2g-(iov_base))
  42<25a>#inclu25ef="net/compat.c#L37" i25="L3256f="+code=EGA}="line" name="L42">  42<25a>      25 int  = 0;
(  42<25a>#inclu25f="net/compat.c#L39" id25"L39258_user" classen = 0;
(  42<25a>#inclu25 while ( = 0;
(  42<26a>      26           45<26a>      26          = 0;
,
uiov32->u"refofsen = 0;
  19<26a>
iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    26a>      26         if (,
,
cuser(cuser( *  19<26a>      26             >iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    26 * Copyri26-(,
  43    26a>#inclu2ee <iov_base))
  43    26a>      26 int  = 0;
(iov_base))
  42<26a>
 = 0;
iov_base))
(  42<26a>#inclu26 while ( = 0;
iov_base))
(  42<27a>      27         iov_bass="line" name="L38">  38<27a>      27           42<27a>
  42<27a>      27         if (("ovec *,
u"sref">compat_iovec,
  42<27a>      27               37<27 * Copyri27-  *uiov32,
 * *uiov32)sen = 0;
iov_base))
  38<27a>#inclu27ass="comment"> * Copyri27="L3276f="+code=EGAot_len = 0;
 = 0;
iov_base))
 *  43    27 * Copyri2glen"277_user" classgt_len = 0;
(iov_base))
iov_base))
  42<27a>
(iov_base))
iov_base))
  42<27a>#inclu27 while ( = 0;
uiov32,
buref"s="line" name="L42">  42<28a>      28          = 0;
cuser(  42<28a>      28           42<28a>
(  42<28a>      28         if (en = 0;
(  42<28a>      28               42<28 * Copyri28-cuser(bu+code=len" clascmf>buref"L=c gt_len = 0;
uiov32)sen = 0;
,
 = 0;
 = 0;
 = 0;
cuser(bu+code=len" clascmf>buref"++las="line" name="L37">  37<28 * Copyri28="L3286f="+code=EGAULT lassgt_len = 0;
  42<28 * Copyri28len"287_user" class="sref">en = 0;
(,
 = 0;
  43    28a>
 * Copyri2g"L39288f="+code=EGAULT clasget_user(  42<28a>#inclu28 while (  43    29a>      29          = 0;
(,
 = 0;
iov_base))
  43    29a>      29          = 0;
  43    29a>
(  45<29a>      29         if (s="sref break" name="L43">  43    29a>      29             en = 0;
(  42<29 * Copyri29-(,
cuser(bu+code=len" clascmf>buref")" name="L43">  43    29 * Copyri29="L3296f="+code=EGAULT lassget_user(  37<29 * Copyri29len"297_user" class="sref">r" classuser(,
  43    29a>
 * Copyri29"L39298f="+code=EGAULT class="sref"break" name="L43">  43    29a>#inclu2aass="comment"> * Copyri2giov"299_user" class="srclas}="line" name="L42">  42<30a> * Copyr3gcomp30_uptr_t" class="sref"e,1998      Jakub Jeli/* Bump the leage c7ut_land instl/sythe filt.L13" class="line" name="L13">  13<30a> * Copyr301omp3g_size_t" class="sref">ser(,
 = 0;
  43    30a> */(,
cuser( = 0;
  43    303>  42<304>  42<305>
 * Copyri305omp305_user" classget_user(  37<30a>#inclu30e < = 0;
(,
  43    307>#inclu30ass="comment"> * Copyri307omp307_user" class="sref">en = 0;
(,
uiov32->iov_base))
  43    308>#inclu30ass="comment"> * Copyri308omp308f="+code=EGAULT clasget_!  42<309>#inclu30ass="comment"> * Copyri309omp309_user" class="srclass="sref en = 0;
(,
uiov32->iov_base))
  43    3aa> * Copyr3ight 31_uptr_t" class="sref"get_!  42<3/a> * Copyr3g1omp31_size_t" class="sref" s======en = 0;
(,
uiov32->iov_base))
  43    3aa> */
  37<3/a>
s="sref en = 0;
(,
  43    3/4>
s="sref en = 0;
iov_base))
(  42<3/a>#inclu3de <s="sref en = 0;
iov_base))
(  42<3/a>#inclu3de <  42<3/7>#inclu3de <  42<3/8>#inclu3de <( = 0;
  42<3/9>#inclu3de <iov_base))
(  42<3/a>#inclu3de <  45<3/a>  13<3/a>#inclu3de <  13<3/a>
  10<3/4>
  13<3/a>#inclu3ef="net/compat.c#L26" id3="L2632ef="+code=EGA,
,
  42<3/a>#inclu3de <  42<3/a>#inclu3de <  42<3/8>#inclu3de <  13<3/9>#inclu3de <  10<3/a>#inclu3de <  13<3/a>#inclu3de <   37<3/a>#inclu3ef="net/compat.c#L33" id3="L33332size_t" clasa> *  42<3/a>
 * = 0;
  13<3/4>
  42<3/a>#inclu3                        3     33class="line" name="L26">  26<3/a>#inclu3ref="net/compat.c#L37" i3d="L3336f="+staticsgt_len = 0;
"sref">compat_iovecuot_len = 0;
uot_len = 0;
="line" name="L26">  26<3/a>#inclu3  int uiov32,
uunsigneduot_len = 0;
  42<3aa>#inclu3ef="net/compat.c#L39" id3="L39338_uses="line" name="L37">  37<3/9>#inclu3  while ( *uiov32,
 *uiov32)user(  42<3/a>      3          compat_iovecuiov32,
(_clact/compat.c#L45" s _clactref">"refof(iovec *  43    3/a>      3          (buref"s="line" name="L42">  42<3/a>#inclu3ef="net/compat.c#L43" id3="L43342size_t" clasa> *  42<3/a>      3          if (  42<3/4>
,
cuser(  44<3/a>#inclu3                  return3 -,
cuser( *  44<3/a>#inclu3 ef="net/compat.c#L37" i34="L3346f="+code=EGAULT ,
, &->iov_base))
  44<3/a>#inclu34 int , &buref", iov32->iov_base))
  44<3/a>#inclu34f="net/compat.c#L39" id34"L39348f="+code=EGAULT ,
->iov_base))
  44<3/9>#inclu34 while (bu+code=len" clasc=bu/a>, &buref"), iov32->iov_base))
  42<35a>      35         iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    35a>      35           42<35a>
iov_ba,
,
uen = 0;
uen = 0;
 (charr,
uiov32),
  42<35a>      35         if (s="sref " clas"refof(iovec *  43    35a>      35               42<35 * Copyri3g-  26<35a>#inclu35ef="net/compat.c#L37" i35="L3356f="+staticsgt_len = 0;
"sref">compat_iovecuot_len = 0;
="line" name="L26">  26<35a>#inclu35 int  = 0;
scharr,
uiov32,
uunsigneduot_len = 0;
  42<35a>#inclu35f="net/compat.c#L39" id35"L39358_uses="line" name="L37">  37<35a>#inclu35 while ( *uiov32,
 *uiov32)user(  42<36a>      36         compat_iovec  42<36a>      36           42<36a>
 = 0;
  42<36a>      36         if (  42<36a>      36              = 0;
  42<36 * Copyri36->iov_base))code=EGAUINVAL=buf" class="srUINVALline" name="L43">  43    36a>#inclu3ee <,
cuser(  44<36a>      36 int , &->iov_base))
  44<36a>#inclu36f="net/compat.c#L39" id36"L39368f="+code=EGAULT ,
, &->iov_base))
  42<36a>#inclu36 while (  43    37a>      37         (, )" name="L43">  43    37a>      37           43    37a>
,
uen = 0;
uen = 0;
 (charr*)iov32->  43    37a>      37         if ( *  43    37a>      37               42<37 * Copyri37-  42<37a>#inclu37ass="comment"> * Copyri37="L3376lass}="line" name="L42">  42<37 * Copyri3glen"377_use="line" name="L42">  42<37a>
"sref">compat_iovecuot_len = 0;
uot_len = 0;
="line" name="L26">  26<37a>#inclu37 while (uiov32,
uunsigneduot_len = 0;
  42<38a>      38           37<38a>      38          = 0;
(  42<38a>
iov_ba,
,
uen = 0;
uen = 0;
="line" name="L42">  42<38a>      38         if (>>>>>>>>>>>>>>>>>>>>>>>>>>>>,
uen = 0;
  42<38a>      38              = 0;
( = 0;
(  42<38 * Copyri38->iov_baen = 0;
,
uen = 0;
uen = 0;
>,
uen = 0;
  42<38a>#inclu38ass="comment"> * Copyri38="L3386lass="line" name="L43">  43<38 * Copyri38len"387_user" class>iov_ba,
,
uen = 0;
uen = 0;
 ,
uen = 0;
  42<38a>
 * Copyri3g"L39388f="+}="line" name="L42">  42<38a>#inclu38 while (  42<39a>      39          = 0;
 gt_len = 0;
cot_len = 0;
uot_len = 0;
="line" name="L26">  26<39a>      39         uiov32,
uunsigneduot_len = 0;
  42<39a>
  37<39a>      39         if ( = 0;
  42<39a>      39             compat_iovec,
ciov32->  42<39 * Copyri39-  26<39 * Copyri39="L3396f="+code=EGAget_,
  37<39 * Copyri39len"397_user" class="sref">,
,
uen = 0;
uen = 0;
  42<39a>
 * Copyri39"L39398f="+code=EGAULT clasget_user(  37<39a>#inclu3aass="comment"> * Copyri3giov"399_user" class="srclas="sref">,
,
  42<40a> * Copyr4gcomp40_uptr_t" class="sref"r" class>iov_ba,
  42<40a> * Copyr401omp4g_size_t" class="sref"}="line" name="L42">  42<40a> */  42<403>get_user((  42<404>s="sref en = 0;
,
uen = 0;
="line" name="L42">  42<405> * Copyri405omp40ef="+code=EGAULT ef">r" class="sref">s="sref en = 0;
 ,
uen = 0;
  42<40a>#inclu40e <iov_base))
iov_base))
   42<407>#inclu40ass="comment"> * Copyri407omp407_user" class="sref">s="sref en = 0;
iov_base))
iov_base))
 ,
uen = 0;
="line" name="L42">  42<408>#inclu40ass="comment"> * Copyri408omp408f="+code=EGAULT clasr" class="sref">s="sref en = 0;
 ,
uen = 0;
  42<409>#inclu40ass="comment"> * Copyri409omp409_user" class="srclaselse="line" name="L42">  42<4aa> * Copyr4ight 41_uptr_t" class="sref"s="sref en = 0;
iov_base))
iov_base))
,
uen = 0;
="line" name="L42">  42<4/a> * Copyr4g1omp41_size_t" class="sref" s======="sref">s="sref en = 0;
 ,
uen = 0;
  42<4aa> */
,
  42<4/a>
  42<4/4>
iov_ba,
  42<4/a>#inclu4de <  42<4/a>#inclu4de <  43<4/7>#inclu4de <"sref">compat_iovecuot_len = 0;
uot_len = 0;
="line" name="L26">  26<4/8>#inclu4de <uiov32,
ugt_len = 0;
uiov32,
  42<4/9>#inclu4de <  37<4/a>#inclu4de <compat_iovec   *uiov32,
  42<4/a>compat_iovec  42<4/a>#inclu4de <  42<4/a>
 = 0;
  42<4/4>
  42<4/a>#inclu4ef="net/compat.c#L26" id4="L2642ef="+code=EGA,
 *uiov32) ,
  42<4/a>#inclu4de <, &  42<4/a>#inclu4de <>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    4/8>#inclu4de <(  42<4/9>#inclu4de <  43    4/a>#inclu4de <  43    4/a>(, )" name="L43">  43    4/a>#inclu4ef="net/compat.c#L33" id4="L33432size_t" clasa> *  43    4/a>
 *,
uen = 0;
uen = 0;
 (charr*) iov32->->  43    4/4>
 *  43    4/a>#inclu4                        4     43class="line" name="L26">  26<4/a>#inclu4ref="net/compat.c#L37" i4d="L3436f="+code=EGAget_!  37<4/a>#inclu4  int ("refof(2,
  44<4aa>#inclu4ef="net/compat.c#L39" id4="L39438f="+code=EGAULT clasr" c!,
cuser(  44<4/9>#inclu4  while ( *->iov_base))
  44<4/a>      4          ->iov_base))
  42<4/a>      4           = 0;
))code=EGAULT class="sre49f3" class="line" name="L43">  43    4/a>#inclu4ef="net/compat.c#L43" id4="L43442size_t" clas}="line" name="L42">  42<4/a>      4          if (iov_ba,
  42<4/4>
  42<4/a>#inclu4                  return4 -  26<4/a>#inclu4 ef="net/compat.c#L37" i44="L3446f="+staticsgt_len = 0;
 "sref">compat_iovecuot_len = 0;
uot_len = 0;
="line" name="L26">  26<4/a>#inclu44 int uiov32,
ugt_len = 0;
uiov32,
  42<4/a>#inclu44f="net/compat.c#L39" id44"L39448_uses="line" name="L37">  37<4/9>#inclu44 while ( = 0;
( = 0;
(  42<45a>      45         iov_baen = 0;
,
uen = 0;
uen = 0;
 ,
uen = 0;
  42<45a>      45         iov_ba,
,
uen = 0;
uen = 0;
 ,
uen = 0;
  42<45a>#inclu45f="net/compat.c#L43" id45"L43452size}="line" name="L42">  42<45a>      45         if (  42<45a>      45              "sref">compat_iovecu"sref">compat_iovecuiov32,
stampet/compat.c#L38uf">stampref")="line" name="L42">  42<45a>#inclu4aass="comment"> * Copyri4g-  37<45a>#inclu45ef="net/compat.c#L37" i45="L3456f="+code=EGA"sref">compat_iovec   *uiov32,
  37<45a>#inclu45 int  *uiov32) ,
stampet/compat.c#L38uf">stampref"s="line" name="L42">  42<45a>#inclu45f="net/compat.c#L39" id45"L39458f="+code=EGAgt_len = 0;
))code=EGAUNOENlass="sre49f3" clNOENlref"s="line" name="L42">  42<459>#inclu45 while ( *  42<46a>      46           45<46a>      46         ,
uuser(  42<46a>
,
uuser(  42<46a>      46         if ( *,
iov_base))
  42<46a>      46              = 0;
  42<46a>#inclu46ass="comment"> * Copyri46->iov_ba,
  42<46a>#inclu4ee <  37<46a>      46 int iov_base))
  43    46a>#inclu46f="net/compat.c#L39" id46"L39468f="+code=EGAULT lassa> *,
iov_base))
  42<469>#inclu46 while (  42<47a>      47           42<47a>      47          = 0;
,
uiov32->tvref">iov_base))
  44<47a>
,
->tvref">iov_base))
  42<47a>      47         if (en = 0;
))code=EGAULT class="sre49f3" class="line" name="L43">  43    47a>      47             iov_ba,
  42<47 * Copyri47-  42<47a>#inclu47ass="comment"> * Copyri47="L3476lasse))code=EGAUXPORT_SYMBOL=buf" class="srUXPORT_SYMBOLref">,
   42<47 * Copyri4glen"477_use="line" name="L42">  42<47a>
 "sref">compat_iovecu"sref">compat_iovecuiov32,
stampet/compat.c#L38uf">stampref")="line" name="L42">  42<47a>#inclu47 while (  37<48a>      48         compat_iovec   *uiov32,
  37<48a>      48          *  *uiov32) ,
stampet/compat.c#L38uf">stampref"s="line" name="L42">  42<48a>
 = 0;
))code=EGAUNOENlass="sre49f3" clNOENlref"s="line" name="L42">  42<48a>      48         if (compat_iovec  42<48a>      48               42<48 * Copyri48-,
uuser(  42<48a>#inclu48ass="comment"> * Copyri48="L3486f="+code=EGAULT lass,
,
uuser(  42<48 * Copyri48len"487_user" class,
,
iov_base))
  42<48a>
 * Copyri4g"L39488f="+code=EGAget_user(  42<48a>#inclu48 while (  42<49a>      49         (  37<49a>      49         iov_base))
  43    49a>
,
iov_base))
  42<49a>      49         if (  42<49a>      49              *  42<49 * Copyri49-,
uiov32->tvref">iov_base))
  44<49 * Copyri49="L3496f="+code=EGAULT lass_t" clasa> *,
uiov32->tvref">iov_base))
  42<49 * Copyri49len"497_user" class="sref">,
))code=EGAULT class="sre49f3" class="line" name="L43">  43    49a>
 * Copyri49"L39498f="+code=EGA>iov_ba,
  42<49a>#inclu4aass="comment"> * Copyri4giov"499_use}="line" name="L42">  42<50a> * Copyr5gcomp50_uptr,
   42<50a> * Copyr501omp50_size="line" name="L42">  42<50a> */gt_len = 0;
cot_len = 0;
uot_len = 0;
="line" name="L26">  26<503>>>>>>>>>>>>>>>>>charr,
uiov32,
ugt_len = 0;
uiov32,
  42<504>  37<505> * Copyri505omp50ef="+code=EGAot_len = 0;
  42<50a>#inclu50e <compat_iovec,
ciov32->  42<507>#inclu50ass="comment"> * Copyri507omp507_use="line" name="L42">  42<508>#inclu50ass="comment"> * Copyri508omp508f="+code=EGAget_user(  37<509>#inclu50ass="comment"> * Copyri509omp509_user" class="srclas,
(,
uen = 0;
uen = 0;
  42<5aa> * Copyr5ight 51_uptr_t" class="sref"get_user(  37<5/a> * Copyr5g1omp51_size_t" class="sref" s======,
,
  42<5aa> */
iov_ba,
  42<5/a>
}="line" name="L42">  42<5/4>
  42<5/a>#inclu5de <get_user((  42<5/a>#inclu5de < *,
uen = 0;
="line" name="L42">  42<5/7>#inclu5de < * ,
uen = 0;
  42<5/8>#inclu5de <iov_base))
iov_base))
   42<5/9>#inclu5de <,
iov_base))
iov_base))
 ,
uen = 0;
="line" name="L42">  42<5/a>#inclu5de < * ,
uen = 0;
  42<5/a>  42<5/a>#inclu5de <iov_base))
iov_base))
,
uen = 0;
="line" name="L42">  42<5/a>
>>>>>>>>>>>>>>>>_t" clasa> * ,
uen = 0;
  42<5/4>
,
,
  42<5/a>#inclu5ef="net/compat.c#L26" id5="L2652ef="+code=EGA}="line" name="L42">  42<5/a>#inclu5de <iov_ba,
  42<5/a>#inclu5de <  42<5/8>#inclu5de <  42<5/9>#inclu5de <   37<5/a>#inclu5de <  42<5/a>compat_iovec  42<5/a>#inclu5ef="net/compat.c#L33" id5="L33532size_t" class="sref"compat_iovec,
4)))" name="L43">  43    5/a>
 *  42<5/4>
  42<5/a>#inclu5                        5     53classiovec *  37<5/a>#inclu5ref="net/compat.c#L37" i5d="L3536f="+code=EGA,
  42<5/a>#inclu5  int compat_iovec  42<5/8>#inclu5ef="net/compat.c#L39" id5="L39538f="+code=EGAULT clascompat_iovec,
4)))" name="L43">  43    5/9>#inclu5  while ( *  42<5/a>      5          ,
4)))" name="L43">  43    5/a>      5            42<5/a>#inclu5ef="net/compat.c#L43" id5="L4354ref="="line" name="L42">  42<5/a>      5          if (   37<5/4>
 *  42<5/a>#inclu5                  return5 - *  42<5/a>#inclu5 ef="net/compat.c#L37" i54="L3546f="+code=EGAULT lass,
4)))" name="L43">  43    5/a>#inclu54 int   42<5/8>#inclu54f="net/compat.c#L39" id54"L39548_user" class,
  42<5/9>#inclu54 while ( *  42<55a>      55         4)))" name="L43">  43    55a>      55           42<55a>#inclu55f="net/compat.c#L43" id55"L4355ref="="line" name="L42">  42<55a>      55         if ( *  42<554>
s="sref "refof(iovec *  42<55a>#inclu5aass="comment"> * Copyri5g-  26<55a>#inclu55ef="net/compat.c#L37" i55="L3556lass="line" name="L43">  43<55a>#inclu55 int  = 0;
 "sref">compat_iovecuot_len = 0;
uot_len = 0;
="line" name="L26">  26<55a>#inclu55f="net/compat.c#L39" id55"L39558f="+code=EGAcharr,
uiov32,
uunsigneduot_len = 0;
="line" name="L26">  26<559>#inclu55 while ("sref">compat_iovecuot_>uot_>ucharr,
uiov32>uunsigneduot_))="line" name="L42">  42<56a>      56           37<56a>      56         uiov333332,
  42<56a>
  42<56a>      56         if (  42<56a>      56              = 0;
  37<56a>#inclu56ass="comment"> * Copyri56-  37<56a>#inclu5ee <  37<56a>#inclu56 int   37<56a>#inclu56f="net/compat.c#L39" id56"L39568f="+code=EGAULT lassiovec *uiov32,
  42<569>#inclu56 while (uiov32,
  42<57a>      57          _spac7et/compat.c#L38> _spac7ref">"refof(iovec *  43    57a>      57           42<57a>
  42<57a>      57         if (get_!,
uen = 0;
  44<57a>      57             s="s!,
cuser( *  44<57a>#inclu57ass="comment"> * Copyri57-ref",
,
ciov32->iov_base))
  44<57a>#inclu57ass="comment"> * Copyri57="L3576f="+code=EGAULT lass_t" a> *ciov32->iov_base))
  44<57a>#inclu5aass="comment"> * Copyri5glen"577_user" class_t"         a> *iov_base))
iov_base))
  44<57a>#inclu57f="net/compat.c#L39" id57"L39578f="+code=EGAULT clasr" ccccccccccccc"refof(compat_ioveciov_base))
  42<57a>#inclu57 while (>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    58a>      58         uiov32),
  43    58a>      58          *  43    58a>
  43    58a>      58         if (  42<58a>      58              *  37<58 * Copyri58-  37<58a>#inclu58ass="comment"> * Copyri58="L3586f="+code=EGAcas *  37<58a>#inclu58ass="comment"> * Copyri58len"587_user" classcas *  37<58a>#inclu5aass="comment"> * Copyri5g"L39588f="+code=EGAs="line" name="L37">  37<58a>#inclu58 while ( uiov32,
  42<59a>      59          *uiov32,
_spac7et/compat.c#L38> _spac7ref">="line" name="L42">  42<59a>      59          *  43    59a>
  42<59a>      59         if (  42<59a>      59             get_!,
uen = 0;
  44<59 * Copyri59-ref"!,
cuser(="line" name="L44">  44<59 * Copyri59="L3596f="+code=EGAULT lass_t" clasirefof(iovec *  44<59a>#inclu59ass="comment"> * Copyri59len"597_user" class="sref">ref",
,
ciov32->iov_base))
  44<59a>#inclu59ass="comment"> * Copyri59"L39598f="+code=EGAULT clasr" ca> *ciov32->iov_base))
  44<59a>#inclu5aass="comment"> * Copyri5giov"599_user" class="srclas="sra> *iov_base))
iov_base))
  44<60a> * Copyr6gcomp60_uptr_t" class="sref"s="s            "refof(compat_ioveciov_base))
  44<60a> * Copyr601omp60_size_t" class="sref"s="sa> *iov_base))
iov_base))
  44<602>iov_base))
  42<603>>>>>>>>>>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    604>,
uiov32),
  43    605> * Copyri605omp60ef="+code=EGAULT ef">,
 *  43    606> * Copyri606omp606f="+code=EGAULT lassbreak" name="L43">  43    607>#inclu60ass="comment"> * Copyri607omp607_user" class}="line" name="L42">  42<608>#inclu60ass="comment"> * Copyri608omp608f="+code=EGAcas *  37<609>#inclu60ass="comment"> * Copyri609omp609_user" classs="line" name="L37">  37<6aa> * Copyr6ight 61_uptr_t" class="sref"iovec *uiov32,
  42<6/a> * Copyr6g1omp61_size_t" class="sref"iovec *uiov32,
  42<6/2> */
cuser(cuser(  42<6/a>
  42<6/4>
get_!,
uen = 0;
uen = 0;
  44<6/a>#inclu6de <ref",
,
ciov32->iov_base))
  44<6/6>,
ciov32->iov_base))
  44<6/7>#inclu6de <,
ciov32->iov_base))
  42<6/8>#inclu6de <iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    6/9>#inclu6de < *  43    6/a>#inclu6de < *  43    6/a> *,
  42<6/a>#inclu6de <iov_base))code=EGAUINVAL=buf" class="srUINVALline" name="L43">  43    6/a>
,
_spac7et/compat.c#L38> _spac7ref">,
  43    6/4>
get_!,
cuser(cuser(  44<6/a>#inclu6ef="net/compat.c#L26" id6="L2662ef="+code=EGAULT ef">ref",
ciov32->iov_base))
  44<6/a>#inclu6de < *ciov32->iov_base))
  44<6/a>#inclu6de <ciov32->iov_base))
  44<6/8>#inclu6de < *iov_base))
iov_base))
  44<6/9>#inclu6de <>>>>>>>>"refof(compat_ioveciov_base))
  44<6/a>#inclu6de < *iov_base))
iov_base))
  44<6/a> *"refof(compat_ioveciov_base))
  42<6/a>#inclu6ef="net/compat.c#L33" id6="L33632size_t" class="sref"_t" clas>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    6/a>
,
uiov32),
  42<6/4>
break" name="L43">  43    6/a>#inclu6                        6     63ef="+code=EGA}="line" name="L42">  42<6/a>#inclu6ref="net/compat.c#L37" i6d="L3636lass="line" name="L43">  43<6/a>#inclu6  int   37<6/8>#inclu6ef="net/compat.c#L39" id6="L39638f="+code=EGAULT clasbreak" name="L43">  43    6/9>#inclu6  while (  42<6/a>      6          iov_ba,
,
uen = 0;
uen = 0;
cuser(cuser(  43    6/a>      6            43    6/a>#inclu6ef="net/compat.c#L43" id6="L4364ref=",
,
  43    6/a>
  42<6/4>
"sref">compat_iovecuot_len = 0;
uot_len = 0;
="line" name="L26">  26<6/a>#inclu6                  return6 -uiov32,
ugt_len = 0;
uiov32,
="line" name="L26">  26<6/a>#inclu6 ef="net/compat.c#L37" i64="L3646f="+code=EGAot_l(2,
"sref">compat_iovecuot_>uot_>ucharr,
uiov32>ugt_len = 0;
uiov32))="line" name="L42">  42<6/a>#inclu64 int   37<6/8>#inclu64f="net/compat.c#L39" id64"L39648_user" classiovec *uiov32,
  42<6/9>#inclu64 while ( *uiov32,
  42<65a>      65          = 0;
uiov3333332,
  42<65a>      65         cuser(cuser(  42<65a>#inclu65f="net/compat.c#L43" id65"L43652size_t" clasot_l,
s,
s,
  42<65a>      65         if (  42<654>
  42<65a>#inclu6aass="comment"> * Copyri6g->iov_ba,
,
uen = 0;
uen = 0;
cuser(uen = 0;
  42<65a>#inclu65ef="net/compat.c#L37" i65="L3656lass="line" name="L43">  43<65a>#inclu65 int _spac7et/compat.c#L38> _spac7ref">"refof(2,
  43    65a>#inclu65f="net/compat.c#L39" id65"L39658f="+code=EGAget_!,
uen = 0;
 "refof(2,
  44<659>#inclu65 while (,
s,
  44<66a>      66         iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    66a>      66           43    66a>#inclu66f="net/compat.c#L43" id66"L43662size_t" clas/* adjust mpa for pad */  43    66a>      66         if (  43    66a>      66               42<66a>#inclu66ass="comment"> * Copyri66- *0))="line" name="L44">  44<66a>#inclu6ee <  43    66a>#inclu66 int   42<66a>#inclu66f="net/compat.c#L39" id66"L39668f="+code=EGAget_!,
cuser( "refof(2,
  44<669>#inclu66 while (s,
  44<67a>      67         iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    67a>      67           43    67a>
/* have to allow spac7 for previous > _spac7, too */  43    67a>      67         if (_spac7et/compat.c#L38> _spac7ref">,
  43    67a>      67               42<67a>#inclu67ass="comment"> * Copyri67-,
uen = 0;
uen = 0;
  44<67a>#inclu67ass="comment"> * Copyri67="L3676f="+code=EGAULT en = 0;
,
ciov32->iov_base))
  44<67a>#inclu6aass="comment"> * Copyri6glen"677_user" class_t" en = 0;
,
ciov32->iov_base))
  44<67a>#inclu67f="net/compat.c#L39" id67"L39678f="+code=EGAULT en = 0;
,
ciov32->iov_base))
  44<679>#inclu67 while (ciov32->iov_base))
  44<68a>      68         ciov32->iov_base))
  44<68a>      68         ciov32->iov_base))
  44<68a>
 py_infode=uiov32" class="> py_infode=/a>, iov32->iov_base))
iov_base))
iov_base))
  44<68a>      68         if (>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    68a>      68               42<68 * Copyri68-,
uen = 0;
uen = 0;
c(charr,
uiov32),
cuser(  43    68a>#inclu68ass="comment"> * Copyri68="L3686f="+code=EGAget_,
  44<68a>#inclu68ass="comment"> * Copyri68len"687_user" class_t"     >iov_ba,
  42<68a>#inclu6aass="comment"> * Copyri6g"L39688f="+="line" name="L42">  42<689>#inclu68 while (,
uen = 0;
 "refof(2,
  44<69a>      69         ,
s,
  44<69a>      69         iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    69a>
  42<69a>      69         if ("refof(2,
  43    69a>      69               42<69 * Copyri69-,
cuser( "refof(2,
  44<69 * Copyri69="L3696f="+code=EGAULT en = 0;
s,
  44<69a>#inclu69ass="comment"> * Copyri69len"697_user" class="sref">>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    69a>#inclu69ass="comment"> * Copyri69"L39698f="+="line" name="L42">  42<69a>#inclu6aass="comment"> * Copyri6giov"699_user" classget_!,
uen = 0;
cuser(  44<70a> * Copyr7gcomp70_uptr_t" class="s!,
cuser(uen = 0;
  44<701>,
ciov32->iov_base))
  44<702>,
ciov32->iov_base))
  44<703>,
ciov32->iov_base))
  44<704>ciov32->iov_base))
  44<705> * Copyri705omp70ef="+code=EGAULT en = 0;
ciov32->iov_base))
  44<706> * Copyri706omp706f="+code=EGAULT en = 0;
ciov32->iov_base))
  42<707>#inclu70ass="comment"> * Copyri707omp707_user" class="sref">>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    708>#inclu70ass="comment"> * Copyri708omp708f="+code=EGAget_&  37<709>#inclu70ass="comment"> * Copyri709omp709_user" class="srclasgt_len = 0;
 pympat.c#L42" id="L4> pympaline" name="L43">  43    7aa> * Copyr7ight 71_uptr name="L43">  43    7a1> * Copyr7g1omp71_size_t" class="sref",
0)" name="L43">  43    7a2> */
"refof(compat_ioveciov_base))
  43    7a3>get_,
  43    7a4>s="sref",
  43    7a5>get_,
iov_base))
iov_base))
  42<7/6>>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    7/7>#inclu7de <  42<7/8>#inclu7de <iov_ba,
  42<7/9>#inclu7de <  42<7/a>#inclu7de <,
  43    7/a>  43    7/a>#inclu7de <  42<7/a>
/* Argument list>"refs for >   43    7/4>
,
,
"refof(compat_iovec  42<7/a>#inclu7ef="net/compat.c#L26" id7="L2672ef="+static unsigneducharr,
  37<7/a>#inclu7de <0)>uen = 0;
3)>uen = 0;
3)>uen = 0;
3)>uen = 0;
2)>uen = 0;
3)>="line" name="L37">  37<7/7>#inclu7de <3)>uen = 0;
3)>uen = 0;
4)>uen = 0;
4)>uen = 0;
4)>uen = 0;
6)>="line" name="L37">  37<7/8>#inclu7de < = 0;
6)>uen = 0;
2)>uen = 0;
5)>uen = 0;
5)>uen = 0;
3)>uen = 0;
3)>="line" name="L37">  37<7/9>#inclu7de < = 0;
4)>uen = 0;
5)>uen = 0;
4)="line" name="L42">  42<7/a>#inclu7de <  43    7/a>  43    7/a>#inclu7ef="net/compat.c#L33" id7="L3373ref="="line" name="L42">  42<7/a>
 gt_len = 0;
 "ovec *uiov32,
 = 0;
  43    7/4>
  37<7/a>#inclu7                        7     73ef="+code=EGA>iov_ba,
en = 0;
 >"sref">compat_iovecuiov32),
 = 0;
  43    7/a>#inclu7ref="net/compat.c#L37" i7d="L3736lass}="line" name="L42">  42<7/a>#inclu7  int   42<7/8>#inclu7ef="net/compat.c#L39" id7="L39738f="+ gt_len = 0;
 "ovec *uiov32,
  42<7/9>#inclu7  while (>>>>>>>>>>>>unsigneduen = 0;
sunsignedugt_len = 0;
  43    7/a>      7            37<7/a>      7          iov_ba,
en = 0;
 >"sref">compat_iovecuiov32),
 = 0;
="line" name="L37">  37<7/a>#inclu7ef="net/compat.c#L43" id7="L43742size_t" class="sref"_t" clasclas  en = 0;
  43    7/a>
  42<7/4>
  42<7/a>#inclu7                  return7 - gt_len = 0;
 "ovec *uiov32,
 = 0;
  43    7/a>#inclu7 ef="net/compat.c#L37" i74="L3746f="+s="line" name="L37">  37<7/a>#inclu74 int en = 0;
 >"sref">compat_iovecuiov32),
 = 0;
  43    7/8>#inclu74f="net/compat.c#L39" id74"L39748_use}="line" name="L42">  42<7/9>#inclu74 while (  42<75a>      75          gt_len = 0;
 void en = 0;
uiov32,
 = 0;
sunsigneduen = 0;
  43    75a>      75           37<75a>#inclu75f="net/compat.c#L43" id75"L43752size_t" clas>iov_ba,
en = 0;
 ,
 = 0;
sen = 0;
  43    75a>      75         if (  42<754>
  42<75a>#inclu7aass="comment"> * Copyri7g- gt_len = 0;
 void en = 0;
uiov32,
 = 0;
="line" name="L42">  42<75a>#inclu75ef="net/compat.c#L37" i75="L3756f="+code=EGAULT lass_t" ef">>>>>>>>>>>>>unsigneduen = 0;
 "ovec * = 0;
uiov32,
  42<75a>#inclu75 int  = 0;
uiov32,
  43    758>#inclu75f="net/compat.c#L39" id75"L39758f="+s="line" name="L37">  37<759>#inclu75 while (iov_ba,
en = 0;
 ,
 = 0;
sen = 0;
sen = 0;
  43    76a>      76           42<76a>      76           43    76a>#inclu76f="net/compat.c#L43" id76"L4376ref=",
 gt_len = 0;
 "ovec *uiov32,
  42<76a>      76         if (_t" ef">>>>>>>>>>>>>unsigneduen = 0;
sunsignedugt_len = 0;
  42<764>
s="sref""""""""""""""ovec *  = 0;
uiov32,
  43    76a>#inclu76ass="comment"> * Copyri76-  37<76a>#inclu7ee <  43    76a>#inclu76 int  * = 0;
  43    768>#inclu76f="net/compat.c#L39" id76"L39768f="+="line" name="L42">  42<769>#inclu76 while (  43    77a>      77         iov_ba,
en = 0;
 >"sref">compat_iovecuiov32),
 = 0;
="line" name="L37">  37<77a>      77          = 0;
sen = 0;
  43    77a>
  42<77a>      77         if ( iov32->  43    774>
>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    77a>#inclu77ass="comment"> * Copyri77-  43    77a>#inclu77ass="comment"> * Copyri77="L3776f="+code=EGA,
en = 0;
 >"sref">compat_iovecuiov32),
 = 0;
="line" name="L37">  37<77a>#inclu7aass="comment"> * Copyri7glen"777_user" class_t" "s="sref"clasr" cccccccen = 0;
siov32->  43    778>#inclu77f="net/compat.c#L39" id77"L39778f="+code=EGAget_&  iov32->  43    779>#inclu77 while (  43    78a>      78           43    78a>      78         iov_ba,
  43    78a>
  42<78a>      78         if (  42<78a>      78             gt_len = 0;
uen = 0;
uiov32,
  43    78 * Copyri78-  37<78a>#inclu78ass="comment"> * Copyri78="L3786f="+code=EGAgt_len = 0;
iocode=__user" cl>iof="+" name="L43">  43    78a>#inclu78ass="comment"> * Copyri78len"787_user" class,
  43    788>#inclu7aass="comment"> * Copyri7g"L39788f="+code=EGAen = 0;
sen = 0;
  43    789>#inclu78 while (  42<79a>      79          *(  43    79a>      79         iov_base))code=EGAUINVAL=buf" class="srUINVALline" name="L43">  43    79a>
en = 0;
sen = 0;
cuser(  43    79a>      79         if (>iov_base))code=EGAULT class="sre49f3" class="line" name="L43">  43    79a>      79              = 0;
  43    79 * Copyri79-  43    79a>#inclu79ass="comment"> * Copyri79="L3796lass="line" name="L43">  43<79a>#inclu79ass="comment"> * Copyri79len"797_user" classswitcht_,
  37<79a>#inclu79ass="comment"> * Copyri79"L39798f="+code=EGAcas=a,
  37<799>#inclu7aass="comment"> * Copyri7giov"799_user" class="sr=EGA,
iof="+ =c,
en = 0;
sen = 0;
  43    80a> * Copyr8gcomp80_uptr_t" class="sssssbreak" name="L43">  43    801>  37<802>iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
  43    803>  43    804>  37<805> * Copyri805omp80ef="+code=EGAULT =EGA,
iof="+ =c,
en = 0;
sen = 0;
 en = 0;
  43    806> * Copyri806omp806f="+code=EGAULT ssssbreak" name="L43">  43    807> * Copyri807omp807_user" classcas=a,
  37<808> * Copyri808omp808f="+code=EGAULT =EGA,
iof="+ =c,
en = 0;
sen = 0;
  43    809> * Copyri809omp809_user" class="srclasbreak" name="L43">  43    8aa> * Copyr8ight 810_user" classcas=a,
  37<8a1> * Copyr8g1omp81_size_t" class="sref",
iof="+ =c,
en = 0;
sen = 0;
 en = 0;
en = 0;
  43    8a2> */
  43    8a3>  37<8a4>,
iof="+ =c,
en = 0;
sen = 0;
 en = 0;
en = 0;
  43    8a5>break" name="L43">  43    8a6>  37<8a7>iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
en = 0;
  43 37<8a8>  43    8a9>  37<8/a>#inclu8de <iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
uen = 0;
 en = 0;
  43 37<8/a>  43    8/a>#inclu8de <  37<8/3>iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
uen = 0;
  43    8/4>break" name="L43">  43    8/5>  37<8/6>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
uen = 0;
uen = 0;
 en = 0;
uen = 0;
  43    8/7>  43    8/8>  37<8/9>iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
uen = 0;
  43    8/a>#inclu8de <  43    8/a>  37<8/a>#inclu8ef="net/compat.c#L33" id8="L33832size_t" class="s=EGA,
iof="+ =c,
en = 0;
sen = 0;
 en = 0;
uen = 0;
="line" name="L37">  37<8/a>
_t" ef">>>>>>>>>>>>>"s=EGA,
en = 0;
uen = 0;
 en = 0;
  43 37<8/4>
break" name="L43">  43    8/a>#inclu8                        8     835f="+code=EGAcas=a,
  37<8/6>iof="+ =c,
en = 0;
sen = 0;
  43    8/a>#inclu8  int   43    8/8>#inclu8ef="net/compat.c#L39" id8="L39838f="+code=EGAcas=a,
  37<8/9>iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
="line" name="L37">  37<8/a>      8          en = 0;
uen = 0;
  43    8/a>      8            43    8/a>#inclu8ef="net/compat.c#L43" id8="L43842f="+code=EGAcas=a,
  37<8/a>
iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
="line" name="L37">  37<8/4>
s="sref""""""""",
en = 0;
uen = 0;
 en = 0;
  43    8/a>#inclu8                  return8 -break" name="L43">  43    8/a>#inclu8 ef="net/compat.c#L37" i84="L3846f="+code=EGAcas=a,
  37<8/a>#inclu84 int iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
  43    8/8>#inclu84f="net/compat.c#L39" id84"L39848f="+code=EGAULT =EGAbreak" name="L43">  43    8/9>#inclu84 while (  37<85a>      85         iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
uen = 0;
  43    85a>      85           43    85a>#inclu85f="net/compat.c#L43" id85"L43852f="+code=EGAcas=a,
  37<85a>
iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
  43    854>
break" name="L43">  43    85a>#inclu8aass="comment"> * Copyri8g-  37<85a>#inclu85ef="net/compat.c#L37" i85="L3856f="+code=EGAULT lass,
iof="+ =c,
en = 0;
sen = 0;
 en = 0;
uen = 0;
="line" name="L37">  37<85a>#inclu85 int en = 0;
  43    858>#inclu85f="net/compat.c#L39" id85"L39858f="+code=EGAULT =EGAbreak" name="L43">  43    859>#inclu85 while (  37<86a>      86         iocode=__user" cl>iof="+ =c,
en = 0;
sen = 0;
 en = 0;
en = 0;
 = 0;
  43    86a>      86           43    86a>#inclu86f="net/compat.c#L43" id86"L43862f="+code=EGAdefault:="line" name="L37">  37<86a>
,
iof="+ =cse))code=EGAUINVAL=buf" class="srUINVALline" name="L43">  43    864>
break" name="L43">  43    86a>#inclu86ass="comment"> * Copyri86-  42<86a>#inclu8ee <iocode=__user" cl>iof="+" name="L43">  43    86a>#inclu86 int   42<868>#inclu86f="net/compat.c#L39" id86"L39868f="+


The original LXR software by th=a, LXR L42munity_use>sthis experimental version by , lxr@patux.no_use.
lxr.patux.no kindly hosted by , Redpill Latpro AS_use>sprovider of Latux L4nsulting and operations services since 1995.