Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Dec 2002 10:30:44 -0800 (PST)
From:      Ian Dowse <iedowse@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/compat/linux linux_file.c
Message-ID:  <200212081830.gB8IUiV1092690@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
iedowse     2002/12/08 10:30:44 PST

  Modified files:
    sys/compat/linux     linux_file.c 
  Log:
  Fix emulation of the fcntl64() syscall. In Linux, this is exactly
  the same as fcntl() except that it supports the new 64-bit file
  locking commands (LINUX_F_GETLK64 etc) that use the `flock64'
  structure. We had been interpreting all flock structures passed to
  fcntl64() as `struct flock64' instead of only the ones from F_*64
  commands.
  
  The glibc in linux_base-7 uses fcntl64() by default, but the bug
  was often non-fatal since the misinterpretation typically only
  causes junk to appear in the `l_len' field and most junk values are
  accepted as valid range lengths. The result is occasional EINVAL
  errors from F_SETLK and a few bytes after the supplied `struct
  flock' getting clobbered during F_GETLK.
  
  PR:             kern/37656
  Reviewed by:    marcel
  Approved by:    re
  MFC after:      1 week
  
  Revision  Changes    Path
  1.72      +33 -39    src/sys/compat/linux/linux_file.c

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200212081830.gB8IUiV1092690>