Begin forwarded message:
Date: Sat, 6 May 2006 08:24:25 -0700 From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Subject: [Bugme-new] [Bug 6502] New: SIOCSIFHWBROADCAST needs compat layer http://bugzilla.kernel.org/show_bug.cgi?id=6502 Summary: SIOCSIFHWBROADCAST needs compat layer Kernel Version: 2.6.15 Status: NEW Severity: normal Owner: [EMAIL PROTECTED] Submitter: [EMAIL PROTECTED] Most recent kernel where this bug did not occur: all kernels has this problem; I've tested 2.6.8, 2.6.9, 2.6.15 Distribution: Hardware Environment: ethernet interface Software Environment: 32-bit libc with 64-bit kernel Problem Description: 32-bit program running with 64-bit kernel fails to set hardware broadcast address via ioctl(SIOCSIFHWBROADCAST). Steps to reproduce: Compile the following sample program: #include <stdio.h> #include <errno.h> #include <sys/ioctl.h> #include <sys/types.h> #include <sys/socket.h> #include <linux/if.h> main() { int s = socket(AF_INET, SOCK_DGRAM, 0); struct ifreq req; int rc; if (s < 0) { perror("failed to open socket"); return -1; } strcpy(req.ifr_name, "eth0"); req.ifr_hwaddr.sa_family = AF_LOCAL; memset(req.ifr_hwaddr.sa_data, 0xff, 6); rc = ioctl(s, SIOCSIFHWBROADCAST, &req); if (rc != 0) { perror("ioctl failed"); return -1; } printf("ioctl(SIOCSIFHWBROADCAST) passed\n"); return 0; } When compiled to 64-bit binary, it works OK: ioctl(SIOCSIFHWBROADCAST) passed When compiled to 32-bit binary, it does not work: ioctl failed: Invalid argument ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html